「設計判断を記録して」「ADRを作成して」「アーキテクチャ決定を記録して」などの依頼、 または「ADR」「設計判断記録」「アーキテクチャ決定記録」「設計の経緯」「なぜこの設計にしたか」 というキーワードが含まれる場合にこのスキルを使用する。 Architecture Decision Records (ADR) を作成・管理し、設計判断のコンテキスト・根拠・影響を記録する。 引数は省略可能: /adr <判断タイトル or 指示>
アーキテクチャ上の重要な判断を Nygard 形式 で記録・追跡するスキル。
「なぜこの設計にしたか」「どんな代替案を検討したか」「どんなトレードオフがあるか」を 将来の開発者(人間・AI 問わず)が理解できる形で残す。
既存スキルとの棲み分け:
/architecture: システム全体の構造設計文書を生成 → 設計そのもの/adr(本スキル): 個々の設計判断の「経緯と根拠」を記録 → 判断の記録/plan: 実装計画のタスク分解 → 実行計画
| 参照ファイル | 用途 |
|---|---|
project-config.md §4 | アーキテクチャ基本方針 |
docs/architecture.md | 現行のアーキテクチャ構成 |
output/design/ | /architecture スキルの出力(あれば) |
/adr # 対話的に判断内容を確認して ADR を作成
/adr 認証方式をJWTからセッションに変更 # タイトル指定で ADR を作成
/adr --list # 既存 ADR の一覧表示
/adr --update ADR_003 # 既存 ADR のステータス更新
output/design/ADR_NNN_<title>.mdoutput/design/ADR_INDEX.md以下のいずれかに該当する場合、ADR を作成する:
| 判断カテゴリ | 例 |
|---|---|
| 技術選定 | フレームワーク、ライブラリ、データベースの選択 |
| アーキテクチャパターン | レイヤー構成、API設計方式、状態管理方式 |
| 品質特性のトレードオフ | パフォーマンス vs 保守性、一貫性 vs 可用性 |
| 規約の策定 | 命名規則、ディレクトリ構成、エラーハンドリング方針 |
| 既存設計の変更 | 既存アーキテクチャの方針転換 |
サブエージェントで並行調査:
project-config.md の制約事項を確認output/design/ADR_INDEX.md で関連する過去の判断を確認最低2つの代替案を検討し、それぞれについて:
以下のテンプレートに従って記述:
# ADR-NNN: [判断タイトル]
## ステータス
[Proposed | Accepted | Deprecated | Superseded by ADR-XXX]
## コンテキスト
[この判断が必要になった背景・状況・課題を記述]
## 判断
[選択した方針を明確に1文で記述]
[判断の詳細な説明]
## 検討した代替案
### 代替案 A: [案の名前]
- **メリット**: ...
- **デメリット**: ...
- **不採用理由**: ...
### 代替案 B: [案の名前]
- **メリット**: ...
- **デメリット**: ...
- **不採用理由**: ...
## 影響
### ポジティブな影響
- ...
### ネガティブな影響・リスク
- ...
### 関連する判断
- [ADR-XXX](ADR_XXX_title.md): [関連の説明]
## 参考
- [参考資料へのリンクや文献]
output/design/ADR_INDEX.md に新しいエントリを追加:
# Architecture Decision Records
| # | タイトル | ステータス | 日付 |
|---|---------|-----------|------|
| ADR-001 | [タイトル](ADR_001_title.md) | Accepted | YYYY-MM-DD |
| ADR-002 | [タイトル](ADR_002_title.md) | Proposed | YYYY-MM-DD |
Proposed → Accepted → (Deprecated | Superseded by ADR-XXX)
| ステータス | 意味 |
|---|---|
| Proposed | 提案中。レビュー待ち |
| Accepted | 承認済み。現行の方針 |
| Deprecated | 非推奨。もはや適用しない |
| Superseded | 後続の ADR に置き換えられた |
ステータス変更時は、変更理由と日付をADR本文に追記する。
| セクション | 必須 | 制約 |
|---|---|---|
| ステータス | ✅ | Proposed / Accepted / Deprecated / Superseded |
| コンテキスト | ✅ | 背景・課題が第三者に伝わる詳細さ |
| 判断 | ✅ | 1文で明確に。詳細は続けて記述 |
| 代替案 | ✅ | 最低2案。各案にメリット・デメリット |
| 影響 | ✅ | ポジティブ・ネガティブ両面 |
| インデックス更新 | ✅ | ADR_INDEX.md に追加 |
--no-verify によるフック迂回--force によるプッシュ