adrlisted
Install: claude install-skill MasashiFukuzawa/agent-toolbox
# ADR — 意思決定の記録と保守
## ガードレール
1. **決定の捏造禁止**: 会話・PR・コードから読み取れない「理由」「却下案」を創作しない。不明な項目はユーザーに1問だけ確認するか「記録なし」と書く
2. 既存 ADR と矛盾する変更を実装する場合、**実装より先に ADR の更新(supersede)を提案**する
3. repo に既存の ADR 規約(テンプレート・番号体系・置き場)があればそれに従う。無い場合のみ下記の既定を使う
## Step 1: 起票判断
ADR にする(いずれか該当): 後から「なぜこうなってる?」と聞かれる選択 / 複数の実行可能な案から選んだ / 元に戻すコストが高い / チーム・将来の自分への制約になる。
ADR にしない: 実装詳細でコードを読めば自明 / いつでも無コストで変えられる / 好みの問題。
## Step 2: 置き場と番号
1. 既存 ADR を探す: `docs/adr/`, `docs/architecture/decisions/`, `adr/` の順に確認
2. 無���れば `docs/adr/` を作成し `README.md`(index)を置く
3. 番号は既存の最大値 +1(ゼロ埋めは既存規約に合わせる)
## Step 3: 本文(既定テンプレート)
```markdown
# ADR-NNNN: <決定を1行で(名詞句でなく決定文)>
- Status: Accepted | Proposed | Superseded by ADR-MMMM
- Date: YYYY-MM-DD
- Deciders: <人/セッション>
## Context
<この決定を迫った状況・制約。3-6行。将来の読者が当時の前提を再構築できる程度に>
## Decision
<何をどうすると決めたか。曖昧語(適切に・柔軟に)を使わない>
## Alternatives Considered
| 案 | 却下理由 |
|---|---|
## Consequences
- 良い影響: <>
- 受け入れたトレードオフ・リスク: <>
- この決定を見直すトリガー: <どういう状況になったら再検討するか>
```
## Step 4: 整合性の維持(起票と同時に必ず)
1. **index 追記**: `docs/adr/README.md`(または規約の index)に1行追加
2. **changelog**: repo に ADR changelog の慣習があれば追記
3. **相互参照**: 関連 ADR に「Related: ADR-NNNN」を追記。supersede 時は旧 ADR の Status を更新
4. **矛盾検出**: 新 ADR がコード・CI・既存 ADR と矛盾しないか grep で確認し、矛盾があれば所見として報告する
## 既存 ADR 群の保守(依頼されたら)
- index と実ファイルの突合(欠番・index 漏れ・Status 不整合)
- 「実装と乖離した ADR」の検出: Decision ��書かれたパス・コマンド・構成が現存するか確認し、乖離一覧を提示(勝手に書き換えず、supersede か更新かをユーザーに確認)