All skills

architecture-decision-records

Official
by Api.AirforcePrepends a system promptAI & Agent Building000 uses202,700

コーディングセッション中にアーキテクチャ決定を構造化ADRとして記録し、自動的に決定の瞬間を検出し、コンテキスト、検討された代替案、根拠を記録します。今後の開発者がコードベースの形成理由を理解するためのADRログを維持します。

open-sourceclaude-codeai-agent-buildingaffaan-m
Share

What this skill does

When applied, it prepends a system prompt before your request is sent — no extra calls and no change to how you are billed beyond the added tokens.

---
name: architecture-decision-records
description: コーディングセッション中にアーキテクチャ決定を構造化ADRとして記録し、自動的に決定の瞬間を検出し、コンテキスト、検討された代替案、根拠を記録します。今後の開発者がコードベースの形成理由を理解するためのADRログを維持します。
origin: ECC
---

# アーキテクチャ決定記録

コーディングセッション中にアーキテクチャ決定を構造化ドキュメントとして記録します。決定がSlackスレッド、PRコメント、または誰かの記憶にのみ存在する代わりに、このスキルはコードと並行して存在する構造化ADRドキュメントを生成します。

## アクティベーション時期

- ユーザーが明示的に「この決定を記録しよう」または「このADRを作成しよう」と言う
- 重要な代替案の選択(フレームワーク、ライブラリ、パターン、データベース、API設計)
- ユーザーが「私たちは...を選択した」または「YではなくXをしている理由は...です」と言う
- ユーザーが「なぜXを選んだのか」と尋ねる(既存のADRを読む)
- アーキテクチャ上のトレードオフが検討される計画段階

## ADR形式

Michael Nygardによって提案されたADR形式を、AI支援開発向けに調整したものを使用します:

```markdown
# ADR-NNNN: [決定タイトル]

**Date**: YYYY-MM-DD
**Status**: proposed | accepted | deprecated | superseded by ADR-NNNN
**Deciders**: [関係者]

## Context

この決定または変更を促すどのような問題や状況が見られるのか?

[2~5文で状況、制約条件、作用する力について説明]

## Decision

提案または実施する変更は何か?

[決定を明確に述べる1~3文]

## Alternatives Considered(検討された代替案)

### Alternative 1: [名前]
- **Pros**: [利点]
- **Cons**: [欠点]
- **Why not**: [この選択肢が拒否された特定の理由]

### Alternative 2: [名前]
- **Pros**: [利点]
- **Cons**: [欠点]
- **Why not**: [この選択肢が拒否された特定の理由]

## Consequences(結果)

この変更により、何がより簡単になり、何がより難しくなるか?

### Positive
- [利点1]
- [利点2]

### Negative
- [トレードオフ1]
- [トレードオフ2]

### Risks
- [リスクと軽減策]
```

## ワークフロー

### 新しいADRをキャプチャする

決定の瞬間が検出されたとき:

1. **初期化(初回のみ)** — `docs/adr/`が存在しない場合、ユーザーの確認を得た上でディレクトリ、インデックステーブルヘッダーでシードされた`README.md`(下記のADRインデックス形式を参照)、手動使用用の空白の`template.md`を作成します。明示的な同意なしにファイルを作成しないでください。
2. **決定を特定する** — 行われている中核的なアーキテクチャの選択を抽出する
3. **コンテキストを収集する** — この問題を起こした背景は?存在する制約条件は?
4. **代替案をドキュメント化する** — どの他のオプションが検討されたか? なぜ拒否されたか?
5. **結果を述べる** — トレードオフは何か?何がより簡単/難しくなるか?
6. **番号を割り当てる** — `docs/adr/`内の既存のADRをスキャンして増分する
7. **確認して書き込む** — レビュー用のドラフトADRをユーザーに提示します。明示的な承認後にのみ`docs/adr/NNNN-decision-title.md`に書き込みます。ユーザーが辞退した場合、ファイルを書き込まずにドラフトを破棄します。
8. **インデックスを更新する** — `docs/adr/README.md`に追記する

### 既存のADRを読む

ユーザーが「なぜXを選んだのか」と尋ねたとき:

1. `docs/adr/`が存在するかチェック — 存在しない場合、「このプロジェクトでADRが見つかりません。アーキテクチャ決定の記録を始めたいですか?」と応答
2. 存在する場合、関連エントリの`docs/a

Use this skill

Per request

Add a "skill" field with the skill’s ID to your chat completion request. It is applied server-side before your prompt is sent — no extra calls.

{
  "model": "gpt-4o-mini",
  "skill": "imp-1ecd571c-2b77-441b-9253-c4a49153742b",
  "messages": [{ "role": "user", "content": "…" }]
}
Always on — no field to send

Install the skill, enable it in your dashboard and (optionally) limit it to specific models. It then applies automatically to every matching request — with no "skill" field to send each time.

Set it up in your dashboard