mcpField
A
architecture-design-review

architecture-design-review

github.com/dauquangthanh開発1771 回インストール40 週間前に更新
リポジトリ

architecture-design-review について

実装前にシステムアーキテクチャを体系的に評価するスキルです。アーキテクトや開発チーム向けに、品質特性、技術選定、リスク、具体的な指摘を整理します。

主な機能

  1. 01アーキテクチャ文書の確認
  2. 02スタイルとパターンの評価
  3. 03品質特性の評価
  4. 04技術スタックとデータ設計の確認
  5. 05リスクと指摘事項の報告

活用シーン

  1. 01提案されたシステム設計の評価
  2. 02セキュリティや拡張性の不足の特定
  3. 03アーキテクチャ案の比較
  4. 04優先順位付きレビュー報告の作成

インストール

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

$npx skills add https://github.com/dauquangthanh/hanoi-rainbow --skill architecture-design-review

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
anti-patterns.md
api-design.md
application-security.md
architecture-review-process.md
authentication-and-authorization.md
best-practices-for-architecture-reviews.md
caching-strategy.md
common-patterns-to-validate.md
cost-analysis.md
data-consistency.md
data-management.md
data-scalability.md
data-storage-strategy.md
database-selection.md
disaster-recovery.md
external-integrations.md
fault-tolerance.md
high-availability-design.md
horizontal-scalability.md
infrastructure-costs.md
infrastructure.md
monitoring-and-observability.md
operational-readiness.md
quality-attributes.md
review-checklists.md
review-report-template.md
review-severity-levels.md
risk-assessment.md
service-boundaries-microservices.md
testing-strategy.md

詳細

アーキテクチャ設計レビュー

体系的なアーキテクチャ設計レビューを実施し、システム設計を検証し、品質特性を評価し、技術選定を評価して、実装前にリスクを特定します。

レビュープロセス

包括的なアーキテクチャレビューを実施するため、以下の手順に従います。

1. アーキテクチャドキュメントの収集

必要な資料を収集します。

必須ドキュメント:

  • アーキテクチャ図(C4:コンテキスト、コンテナー、コンポーネント)
  • アーキテクチャ決定記録(ADR):判断の根拠と代替案を含むもの
  • 技術仕様と非機能要件(パフォーマンス、スケーラビリティ、セキュリティ)
  • データモデル、スキーマ、API 仕様
  • 技術スタックとその選定理由
  • デプロイメント図とインフラストラクチャ図

コンテキスト情報:

  • ビジネス上の制約(予算、タイムライン、コンプライアンス要件)
  • パフォーマンス目標(レスポンスタイム、スループットを定量化)
  • スケーラビリティの目標(ユーザー増加率、データ量の予測)
  • セキュリティ要件(認証モデル、データ保護、コンプライアンス)
  • 統合要件(内部/外部システム、API)
2. アーキテクチャスタイルとパターンの評価

アーキテクチャスタイルの適切性を検証します。

スタイルと要件の適合性:

  • モノリシック:小規模なチーム(10 人未満)、単純なドメイン、ユーザー数 1,000 人未満
  • マイクロサービス:大規模なチーム(20 人超)、複雑なドメイン、ユーザー数 10 万人超
  • サーバーレス:イベント駆動型、負荷の変動が大きい、ステートレスな処理
  • イベント駆動型:非同期ワークフロー、疎結合、高スループット

パターンの評価:

☐ Architecture style matches requirements (scale, team, complexity)
☐ Service boundaries align with business domains (DDD)
☐ Communication patterns appropriate (sync vs async)
☐ Data management strategy clear (per-service vs shared DB)
☐ Integration patterns documented (gateway, mesh, events)
☐ Deployment model specified (containers, VMs, serverless)

アンチパターンの検出:

  • ビッグボールオブマッド:構造がなく、密結合で、データベースを共有している
  • ゴッドサービス:単一のサービスが複数のドメインを処理する
  • チャッティ通信:サービス間の呼び出しが過剰(リクエストあたり 5 回超)
  • 分散モノリス:共有データベースを介してサービスが結合している
  • ゴールデンハンマー:すべての問題に同じ技術を適用する
3. 品質特性の評価

スケーラビリティ評価:

  • 水平スケーリング:ロードバランサー、ステートレスサービス、自動スケーリング
  • データベースのスケーリング:シャーディング、リードレプリカ、キャッシュ層
  • キャパシティプランニング:現在の負荷 → 予測される負荷(成長戦略を文書化)
  • コストへの影響:インフラストラクチャの通常時およびピーク時のコスト

パフォーマンスの検証:

  • 各レイヤーに割り当てられたレスポンスタイムの予算
  • キャッシュ戦略(CDN、Redis、アプリケーションキャッシュ)
  • データベースの最適化(インデックス、コネクションプーリング、クエリ分析)
  • 長時間実行タスクの非同期処理(キュー、バックグラウンドジョブ)

セキュリティレビュー:

☐ Authentication mechanism (OAuth 2.0, JWT, SAML)
☐ Authorization model (RBAC, ABAC, policy-based)
☐ API security (rate limiting, input validation, CORS)
☐ Data encryption (at-rest: AES-256, in-transit: TLS 1.3)
☐ Secret management (AWS Secrets Manager, HashiCorp Vault)
☐ Network security (VPC, security groups, WAF)
☐ Security headers (HSTS, CSP, X-Frame-Options)

可用性と信頼性:

  • 高可用性を実現するマルチ AZ/リージョンへのデプロイ
  • サーキットブレーカーによる連鎖障害の防止
  • ヘルスチェックと自動復旧の設定
  • バックアップ/DR 手順(RPO < 1 時間、RTO < 4 時間)
  • 重要度の低い機能のグレースフルデグラデーション
4. 技術スタックのレビュー

技術適合性の検証:

  • バックエンドフレームワークがユースケースに適合している(Spring Boot、Node.js、Django、Go)
  • データベースの選定に根拠がある(PostgreSQL、MongoDB、Cassandra、Redis)
  • デプロイメントプラットフォームが適切である(Kubernetes、ECS、Cloud Run)
  • 検討した代替案が ADR に記録されているか評価する

技術リスクの評価:

  • ベンダーロックイン:移植性と移行の複雑さを評価する
  • チームのスキル:必要なトレーニングと期間を記録する
  • コミュニティサポート:エコシステムの成熟度と長期的な存続可能性を確認する
  • パフォーマンス:技術が要件を満たすことを検証する
  • ライセンス:商用利用のコンプライアンスを確認する
5. データアーキテクチャの分析

データ戦略の検証:

  • サービスごとのデータベースか共有データベースか(選択の根拠を示す)
  • SQL と NoSQL の選定とその根拠
  • データのパーティショニングおよびシャーディング戦略
  • データ整合性モデル(強整合性か結果整合性か)
  • データの所有者が明確に割り当てられている
  • サービス間クエリを最小限に抑える
6. モニタリングとオブザーバビリティのレビュー

オブザーバビリティのチェックリスト:

☐ Metrics: Application, infrastructure, business metrics
☐ Logging: Centralized aggregation with correlation IDs
☐ Tracing: Distributed tracing across services
☐ Alerting: Error rate, latency, availability thresholds
☐ Dashboards: Real-time visibility into system health
☐ On-call: Rotation and escalation procedures
7. レビューレポートの作成

レポートの構成:

  1. エグゼクティブサマリー:アーキテクチャスタイル、全体評価(承認/条件付き承認/不承認)、主な強みと懸念事項

  2. 指摘事項:重大度(重大/高/中/低)ごとに整理し、以下を記載します。

    • 説明と影響
    • 工数の見積もりを含む推奨事項
    • 優先度(必ず修正/修正を推奨/検討)
  3. リスク評価:技術、リソース、スケジュール、運用上のリスクと軽減策

指摘事項の形式:

Finding: [Clear description]
Severity: Critical | High | Medium | Low
Impact: [Specific consequences]
Recommendation: [Actionable solution]
Effort: [Time estimate]
Priority: Must Fix | Should Fix | Consider

参考ドキュメント

特定のレビュー領域に関する詳細なガイダンスを読み込みます。

コアレビューリソース:

API と統合:

データアーキテクチャ:

セキュリティ:

スケーラビリティとパフォーマンス:

信頼性と運用:

マイクロサービス:

その他のトピック:

注:技術選定(フレームワーク、データベース、クラウドプラットフォーム)のガイダンスについては、architecture-design スキルを参照してください。

重要なレビュー原則

実装ではなく、アーキテクチャに注目する:

  • コード品質ではなく、設計とパターンをレビューします
  • 構文ではなく、判断とトレードオフを検証します
  • 変数名ではなく、構造と境界を評価します

指摘事項を具体的に示す: ✅ 「Order→Payment の呼び出し(平均 50 calls/sec)にサーキットブレーカーがありません。エラーしきい値を 50% に設定した Resilience4j を追加してください。」 ❌ 「エラー処理を改善する必要があります」

パフォーマンス要件を数値化する: ✅ 「API の応答時間は、1000 req/s の負荷で 95 パーセンタイルが <200ms である必要があります」 ❌ 「API は高速であるべきです」

実行可能な推奨事項を提示する: ✅ 「UserService を認証(ID)サービスとプロフィール(データ)サービスに分割してください。推定作業期間は 3 週間です。同期にはイベントバスを使用してください。」 ❌ 「サービスの境界の改善を検討してください」

コンテキストに基づいて評価する:

  • スタートアップの MVP とエンタープライズシステムでは要件が異なります
  • ユーザー数が 100 人のシステムに、マイクロサービスの複雑さは必要ありません
  • 規模、チーム、スケジュールに適しているか評価します

コメント