mcpField
S
senior-architect

senior-architect

github.com/pixel-process-ug開発383 回インストール33 週間前に更新
リポジトリ

senior-architect について

システム設計とアーキテクチャの意思決定を支援するスキルです。要件を整理して選択肢とトレードオフを比較し、定量的な非機能要件と決定内容を記録します。

主な機能

  1. 01機能・非機能要件の分析
  2. 02アーキテクチャ案とトレードオフの比較
  3. 03アーキテクチャ決定記録(ADR)の作成
  4. 04C4モデル図の作成
  5. 05スケーラビリティ計画の策定

活用シーン

  1. 01モノリスとマイクロサービス案の評価
  2. 02システム設計のSLO設定
  3. 03重要なアーキテクチャ決定の記録

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pixel-process-ug/superkit-agents --skill senior-architect

インストール後、Claude Code で/senior-architectを入力して読み込まれたか確認します。

詳細

シニアアーキテクト

概要

システム設計の意思決定に関するアーキテクチャレベルのガイダンスを提供します。このスキルでは、アーキテクチャ決定記録(ADR)、トレードオフ分析、スケーラビリティの設計図、非機能要件仕様を作成します。すべての推奨事項にはトレードオフを明記し、実証済みのパターンに基づいています。

開始時に伝える: 「システム設計とアーキテクチャの意思決定に senior-architect スキルを使用しています。」


フェーズ 1:要件分析

目標: 設計を始める前に、機能要件と非機能要件をすべて把握します。

アクション
  1. 機能要件(機能)を特定します
  2. 非機能要件(品質特性)を定義します
  3. 制約(予算、チーム、スケジュール、コンプライアンス)を特定します
  4. 既存システムとの統合ポイントを整理します
  5. 成功基準と SLO を設定します
STOP — フェーズ 2 に進む前に、以下を満たしてください:
  • 機能要件が列挙されている
  • 非機能要件が定量化されている(曖昧でない)
  • 制約が明確になっている
  • 成功基準が測定可能である

フェーズ 2:アーキテクチャ設計

目標: 選択肢を評価し、最適なトレードオフ特性を持つアプローチを選択します。

アクション
  1. アーキテクチャスタイル(モノリス、マイクロサービス、イベント駆動型)を評価します
  2. コンポーネントの境界とインターフェースを設計します
  3. データアーキテクチャ(ストレージ、フロー、一貫性)を定義します
  4. インフラストラクチャとデプロイのトポロジーを計画します
  5. 横断的関心事(認証、ロギング、モニタリング)に対処します
アーキテクチャスタイルの決定表
要素モノリスモジュラーモノリスマイクロサービスサーバーレス
チーム規模 < 10推奨適合性が高い過剰負荷変動が激しい場合に適する
チーム規模 > 30難しい良い推奨状況による
ドメインが十分に理解されている適合性が高い適合性が高いまだ不要適合性が高い
ドメインが急速に変化しているまず始めるには問題ない適合性が高いまだ早い適合性が高い
独立したデプロイが必要不可能限定的主な利点標準で備わっている
運用成熟度が低い適合性が高い適合性が高いリスクが高いリスクを管理しやすい
変動の大きい/突発的な負荷過剰にプロビジョニング過剰にプロビジョニング可能適合性が高い
デフォルトの推奨事項

モジュラーモノリスから始めます。明確なモジュール境界を設け、デプロイは単一にします。独立したスケーリング、デプロイ、またはチームの自律性が必要だと実証されてから、マイクロサービスに切り出してください。

トレードオフ分析:よくある組み合わせ
改善する項目低下する可能性がある項目
一貫性可用性、レイテンシー
パフォーマンス保守性、コスト
セキュリティユーザビリティ、パフォーマンス
スケーラビリティシンプルさ、コスト
柔軟性パフォーマンス、複雑さ
市場投入までの時間品質、スケーラビリティ
決定マトリックスのテンプレート
Weight each quality attribute (1-5), score each option (1-5), multiply and sum.

| Quality Attribute  | Weight | Option A | Option B | Option C |
|--------------------|--------|----------|----------|----------|
| Performance        |   4    |  4 (16)  |  3 (12)  |  5 (20)  |
| Maintainability    |   5    |  5 (25)  |  4 (20)  |  2 (10)  |
| Scalability        |   3    |  3 (9)   |  5 (15)  |  4 (12)  |
| Cost               |   4    |  4 (16)  |  2 (8)   |  3 (12)  |
| Total              |        |    66    |    55    |    54    |
STOP — フェーズ 3 に進む前に、以下を満たしてください:
  • 2 つ以上のアーキテクチャ選択肢を評価している
  • トレードオフが明示的に記録されている
  • 決定マトリックスのスコアが推奨事項を裏付けている
  • データアーキテクチャが定義されている

フェーズ 3:ドキュメント作成と検証

目標: 意思決定を記録し、要件に照らして検証します。

アクション
  1. 重要な意思決定についてアーキテクチャ決定記録を作成します
  2. システムコンテキスト図とコンテナ図を作成します(C4 モデル)
  3. 非機能要件に照らして検証します
  4. リスクと緩和策を特定します
  5. 進化的アーキテクチャのガードレールを定義します
ADR の形式
# ADR-{number}: {Title}

## Status
Proposed | Accepted | Deprecated | Superseded by ADR-{number}

## Context
What is the issue motivating this decision?

## Decision
What change are we proposing?

## Consequences

### Positive
- [Benefit 1]
- [Benefit 2]

### Negative
- [Trade-off 1]
- [Trade-off 2]

### Risks
- [Risk and mitigation]

## Alternatives Considered
| Option | Pros | Cons | Verdict |
|--------|------|------|---------|
| Option A | ... | ... | Chosen |
| Option B | ... | ... | Rejected because... |
C4 モデルのレベル
レベル表示内容使用するタイミング
レベル 1:システムコンテキストユーザーと外部システム常に
レベル 2:コンテナ主要な技術的構成要素常に
レベル 3:コンポーネントコンテナ内のコンポーネント複雑なサービス
レベル 4:コードクラスレベルの詳細重要または複雑な領域のみ
STOP — 以下を満たした時点でドキュメント作成は完了です:
  • すべての重要な意思決定について ADR を作成している
  • システムコンテキスト図を作成している
  • 設計に照らして NFR を検証している
  • リスクと緩和策を記録している

スケーラビリティのパターン

水平スケーリングの判断表
パターン使用する状況実装
負荷分散同じサービスのインスタンスが複数ある場合ラウンドロビン、最小接続数、IP ハッシュ
ステートレスサービスインスタンスを自由に追加・削除する必要がある場合JWT/外部セッションストア
オートスケーリング負荷の変動パターンがある場合CPU/メモリ/リクエスト率をトリガーとする
読み取りレプリカ読み取り中心のワークロード読み取りをレプリカに、書き込みをプライマリにルーティング
シャーディング戦略の判断表
戦略方法適している用途
ハッシュベースキーの一貫性ハッシュ均等な分散
範囲ベース日付範囲、ID 範囲時系列データ
地理ベース地域/国別データのローカリティ
テナントベース顧客ごとマルチテナント SaaS
キャッシュレイヤー
Client Cache (browser) -> CDN Cache -> API Gateway Cache ->
Application Cache (Redis) -> Database Query Cache -> Database

非機能要件テンプレート

## Performance
- Response time: p95 < 200ms, p99 < 500ms for API calls
- Throughput: 1000 RPS sustained, 5000 RPS peak
- Batch processing: 1M records/hour

## Availability
- Target: 99.9% (8.76h downtime/year)
- RTO (Recovery Time Objective): < 15 minutes
- RPO (Recovery Point Objective): < 5 minutes

## Scalability
- Current: 10K DAU
- 12-month target: 100K DAU
- Scale dimension: users, data volume, request rate

## Security
- Authentication: OAuth 2.0 / OIDC
- Authorization: RBAC with resource-level permissions
- Data encryption: at rest (AES-256) and in transit (TLS 1.3)

## Observability
- Logging: structured JSON, 30-day retention
- Metrics: RED method, custom business metrics
- Tracing: distributed tracing across all services
- Alerting: PagerDuty integration, tiered severity
SLO/SLA/SLI フレームワーク
用語定義例
SLI測定可能な指標リクエストのレイテンシ、エラー率
SLO目標値可用性 99.9%
SLA契約上のコミットメント99.5%、ペナルティ条項付き
エラーバジェット1 - SLO0.1% = 年間 8.76 時間

アンチパターン/よくある間違い

アンチパターン問題点適切なアプローチ
履歴書映えを重視したアーキテクチャメリットのない複雑さ機能する中で最もシンプルなソリューションを選ぶ
分散モノリス両方の欠点をすべて抱える真のモノリスか、真のマイクロサービスのいずれかを選ぶ
時期尚早な最適化ユーザーが 100 人なのに 100 万人向けにスケーリングする1000 倍ではなく、現状とその 10 倍を想定して設計する
万能のハンマーあらゆる用途にひとつの技術を使う問題ごとに適切なツールを選ぶ
検証なしのアーキテクチャ未検証の前提負荷テスト、障害テストを行い、検証する
反復のない大規模な初期設計要件は変化するガードレールを設けた進化型アーキテクチャ
曖昧な非機能要件(「速い」「スケーラブル」)検証できない測定可能な定量目標を設定する

サブエージェントへの委任機会

タスクのパターン委任先タイミング
異なるアーキテクチャレイヤーの分析Agent ツールで subagent_type="Explore" を指定(レイヤーごとに 1 つ)フロントエンド、バックエンド、インフラを個別にレビューする場合
アーキテクチャのセキュリティ評価Agent ツールで security-review スキルを呼び出すアーキテクチャに認証、データフロー、外部 API が関わる場合
パフォーマンスへの影響分析Agent ツールで performance-optimization スキルを呼び出すアーキテクチャの決定がレイテンシやスループットに影響する場合
既存パターンのコード品質レビューAgent ツールで code-reviewer エージェントに委任するリファクタリングに向けて現在のコードベースを評価する場合

委任する際は、dispatching-parallel-agents スキルのプロトコルに従ってください。


統合ポイント

スキル関係
senior-backendバックエンドの実装はアーキテクチャの決定に従います
senior-fullstackフルスタックアーキテクチャはサービス境界に従います
security-reviewセキュリティはアーキテクチャ全体に関わる課題です
performance-optimizationパフォーマンスの非機能要件が最適化目標を決定します
planningアーキテクチャの決定が実装計画に反映されます
code-reviewレビューでアーキテクチャの一貫性を検証します
acceptance-testing非機能要件が受け入れ基準になります

主要原則

  • 機能する可能性のある最もシンプルなアーキテクチャから始める
  • 可能な限り、決定を元に戻せるようにする
  • 障害を前提に設計する(いずれすべてが失敗する)
  • 技術的な優雅さではなく、チームの認知負荷を最適化する
  • 結果だけでなく、決定も文書化する
  • 重要な処理経路には、実績のある技術を優先する
  • すべてのアーキテクチャ上の決定にはコストが伴うため、それを明確にする

スキルの種類

柔軟 — アーキテクチャに関する推奨事項は、具体的な状況に合わせて調整します。重要な意思決定には、ADR を強く推奨します。トレードオフの分析は必須です。NFR は曖昧な表現ではなく、数値で定量化する必要があります。

コメント