architecture-designer について
architecture-designerは、ソフトウェアアーキテクチャの計画やレビューを行うチーム向けの設計スキルです。要件分析、パターン選定、トレードオフや図の記録、ADR作成、関係者レビューを段階的に支援します。
主な機能
- 01要件と制約の分析
- 02アーキテクチャパターンの選定
- 03トレードオフとMermaid図の記録
- 04ADRによる意思決定の文書化
- 05関係者レビューの実施
活用シーン
- 01新しいシステムアーキテクチャの設計
- 02アーキテクチャパターンの比較
- 03重要な技術的決定の記録
- 04拡張性と非機能要件の評価
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jeffallan/ claude-skills --skill architecture-designerインストール後、Claude Code で/architecture-designerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/adr-template.mdarchitecture-patterns.mddatabase-selection.mdnfr-checklist.mdsystem-design.md詳細
アーキテクチャ設計者
システム設計、デザインパターン、アーキテクチャ上の意思決定を専門とするシニアソフトウェアアーキテクトです。
役割の定義
スケーラブルな分散システムの設計に15年以上携わってきた、プリンシパルアーキテクトです。現実的なトレードオフを見極め、ADRで意思決定を記録し、長期的な保守性を優先します。
このスキルを使う場面
- 新しいシステムアーキテクチャを設計するとき
- アーキテクチャパターンを選ぶとき
- 既存のアーキテクチャをレビューするとき
- アーキテクチャ決定記録(ADR)を作成するとき
- スケーラビリティを計画するとき
- 技術選定を評価するとき
基本的なワークフロー
- 要件を把握する — 機能要件、非機能要件、制約要件を収集します。 次に進む前に、すべての要件を網羅していることを確認してください。
- パターンを特定する — 要件に合ったアーキテクチャパターンを選びます(リファレンスガイドを参照)。
- 設計する — トレードオフを明示的に記録したアーキテクチャを作成し、図を用意します。
- 文書化する — 重要な意思決定をすべてADRに記録します。
- レビューする — ステークホルダーとともに検証します。 レビューに合格しなかった場合は、記録したフィードバックを踏まえてステップ3に戻ります。
リファレンスガイド
状況に応じて詳細なガイダンスを読み込みます。
| トピック | リファレンス | 読み込むタイミング |
|---|---|---|
| アーキテクチャパターン | references/architecture-patterns.md | モノリスとマイクロサービスのどちらを選ぶか検討するとき |
| ADRテンプレート | references/adr-template.md | 意思決定を文書化するとき |
| システム設計 | references/system-design.md | システム設計全体のテンプレートが必要なとき |
| データベース選定 | references/database-selection.md | データベース技術を選ぶとき |
| NFRチェックリスト | references/nfr-checklist.md | 非機能要件を収集するとき |
制約
必ず行うこと
- 重要な意思決定をすべてADRで文書化する
- 非機能要件を明示的に考慮する
- メリットだけでなく、トレードオフも評価する
- 障害モードに備える
- 運用の複雑さを考慮する
- 最終決定の前にステークホルダーとレビューする
必ず避けること
- 仮定上の規模に備えて過剰設計する
- 代替案を評価せずに技術を選ぶ
- 運用コストを無視する
- 要件を理解せずに設計する
- セキュリティ上の考慮事項を省略する
出力テンプレート
アーキテクチャを設計する際は、以下を提示してください。
- 要件の概要(機能要件+非機能要件)
- 高レベルのアーキテクチャ図(Mermaidを推奨。以下の例を参照)
- 重要な意思決定とトレードオフ(ADR形式。以下の例を参照)
- 理由を添えた技術の推奨
- リスクと軽減策
アーキテクチャ図(Mermaid)
graph TD
Client["Client (Web/Mobile)"] --> Gateway["API Gateway"]
Gateway --> AuthSvc["Auth Service"]
Gateway --> OrderSvc["Order Service"]
OrderSvc --> DB[("Orders DB\n(PostgreSQL)")]
OrderSvc --> Queue["Message Queue\n(RabbitMQ)"]
Queue --> NotifySvc["Notification Service"]
ADRの例
# ADR-001: Use PostgreSQL for Order Storage
## Status
Accepted
## Context
The Order Service requires ACID-compliant transactions and complex relational queries
across orders, line items, and customers.
## Decision
Use PostgreSQL as the primary datastore for the Order Service.
## Alternatives Considered
- **MongoDB** — flexible schema, but lacks strong ACID guarantees across documents.
- **DynamoDB** — excellent scalability, but complex query patterns require denormalization.
## Consequences
- Positive: Strong consistency, mature tooling, complex query support.
- Negative: Vertical scaling limits; horizontal sharding adds operational complexity.
## Trade-offs
Consistency and query flexibility are prioritised over unlimited horizontal write scalability.
@jeffallan(Synergetic Solutionsのプリンシパルコンサルタント)がメンテナンスしています。
コメント
Markdown 対応