adr-creatorlisted
Install: claude install-skill Suntory-N-Water/claude-code-changelog-viewer
# ADR Creator
ADR(Architecture Decision Record)を一定品質で作成するためのスキル。
## ワークフロー
### Step 1: 情報収集
ADR の品質は、書き手がどれだけ背景を理解しているかで決まる。以下の情報を集める。
ユーザーが既に十分な情報を提供している場合は、不足分だけを確認する。
1. **何を決めたのか?** — 意思決定の内容を一文で言えるレベルまで明確にする
2. **なぜその判断に至ったのか?** — 背景の課題・制約・動機
3. **他にどんな選択肢を検討したか?** — 少なくとも2つ以上の代替案とその評価
4. **この判断で何が良くなり、何が犠牲になるか?** — トレードオフ
5. **参考リンクはあるか?** — Slack の議論URL、技術ドキュメント、書籍など
### Step 2: 連番の決定
`docs/adr/` ディレクトリを確認し、既存 ADR の最大番号 + 1 を新しい番号とする。
ディレクトリが存在しない場合は `mkdir -p docs/adr` で作成する。
```bash
ls docs/adr/*.md 2>/dev/null | sort | tail -1
```
ファイルが1件も存在しない場合は `0001` から開始する。
### Step 3: ADR の執筆
以下のフォーマットとガイドラインに従って ADR を作成する。
#### ファイル命名規則
```
docs/adr/{NNNN}-{kebab-case-name}.md
```
- `{NNNN}`: ゼロ埋め4桁の連番(例: `0019`)
- `{kebab-case-name}`: ADR の内容を端的に示す英語のケバブケース名
**例:**
- `0024-adopt-redis-for-caching.md`
- `0025-frontend-state-management-with-zustand.md`
#### ADR フォーマット
```markdown
# ADR {NNNN}: {日本語のタイトル}
## Status
{Proposed | Accepted | Deprecated | Superseded}
## Context
{背景と課題を価値中立的に記述する}
### 解決したい課題
{箇条書きまたは説明文で、具体的な課題を挙げる}
### 検討した選択肢
{少なくとも2つ以上の選択肢を列挙する}
### 各選択肢の評価
{比較表で客観的に評価する}
| 観点 | 選択肢A | 選択肢B | 選択肢C |
|------|---------|---------|---------|
| ... | ... | ... | ... |
## Decision
**{決定内容を太字で一文にまとめる。}**
### 1. {決定の詳細1}
{必要に応じてコード例、図、設定例を含める}
### 2. {決定の詳細2}
{...}
## Consequences
### Positive
- {ポジティブな結果}
### Negative
- {ネガティブな結果}
- → {緩和策}
### Risks
- {リスク}
- → {対策}
## 決めていないこと(任意)
{スコープ外とした事項がある場合に記載する}
| 項目