architecture-decision-records
Claude Codeのセッション中に行われたアーキテクチャ上の意思決定を、構造化されたADR(Architecture Decision Record)として自動的に記録します。決定のタイミングを検知し、背景・検討した代替案・採用理由をドキュメント化することで、将来の開発者がコードベースの設計意図を理解できるADRログを維持します。
description の原文を見る
在Claude Code会话期间,将做出的架构决策捕获为结构化的架构决策记录(ADR)。自动检测决策时刻,记录上下文、考虑的替代方案和理由。维护一个ADR日志,以便未来的开发人员理解代码库为何以当前方式构建。
SKILL.md 本文
アーキテクチャ決定記録
コーディングセッション中にアーキテクチャ決定をキャプチャします。決定が Slack スレッド、PR コメント、または誰かの記憶の中だけに存在するのではなく、このスキルは構造化されたADRドキュメントを生成し、コードと並存させます。
いつ有効化するか
- ユーザーが明確に「この決定をログに記録しましょう」または「これについて ADR を作成しましょう」と言った場合
- ユーザーが重要な代替案(フレームワーク、ライブラリ、パターン、データベース、API 設計)の間で選択をした場合
- ユーザーが「われわれは決定した...」または「X を Y の代わりに選んだ理由は...」と言った場合
- ユーザーが「なぜ X を選んだのか?」と尋ねた場合(既存の ADR を読む)
- アーキテクチャトレードオフについて議論する計画段階で
ADR フォーマット
Michael Nygard が提唱した軽量な ADR フォーマットを使用し、AI 支援開発向けに調整したものです:
# ADR-NNNN: [決定のタイトル]
**日付**: YYYY-MM-DD
**状態**: 提案中 | 受理済み | 非推奨 | ADR-NNNN に取って代わられた
**決定者**: [関係者]
## 背景
この決定または変更を促した、われわれが観察した問題は何か?
[現在の状況、制約、影響を受ける要因を 2~5 文で説明]
## 決定
われわれが提案しているまたは実行している変更は何か?
[決定を明確に 1~3 文で記述]
## 検討した代替案
### 代替案 1: [名前]
- **利点**: [メリット]
- **欠点**: [デメリット]
- **選ばなかった理由**: [却下された具体的な理由]
### 代替案 2: [名前]
- **利点**: [メリット]
- **欠点**: [デメリット]
- **選ばなかった理由**: [却下された具体的な理由]
## 影響
この変更により、何がより簡単または困難になるか?
### 積極的な影響
- [メリット 1]
- [メリット 2]
### 消極的な影響
- [トレードオフ 1]
- [トレードオフ 2]
### リスク
- [リスクと軽減策]
ワークフロー
新しい ADR をキャプチャする
決定の瞬間が検出されたら:
- 初期化(初回のみ) —
docs/adr/が存在しない場合、ディレクトリを作成し、索引表ヘッダーを含むREADME.md(下記の ADR 索引フォーマットを参照)と手動使用用の空白テンプレートファイルtemplate.mdを作成する前に、ユーザーに確認を求めてください。明示的な同意なしにファイルを作成しないでください。 - 決定の識別 — 実施されている核となるアーキテクチャ選択を抽出する
- コンテキストの収集 — この決定を促した問題は何か?どのような制約が存在するか?
- 代替案の記録 — どの他のオプションが検討されたか?なぜそれらが却下されたか?
- 結果の記述 — トレードオフは何か?何がより簡単/困難になるか?
- 番号の割り当て —
docs/adr/内の既存 ADR をスキャンしてインクリメントする - 確認と書き込み — ユーザーに確認するため ADR ドラフトを表示します。明示的な承認後のみ
docs/adr/NNNN-decision-title.mdに書き込みます。ユーザーが拒否した場合、ドラフトを破棄し、ファイルを書き込まないでください。 - 索引を更新 —
docs/adr/README.mdに追加する
既存の ADR を読む
ユーザーが「なぜ X を選んだのか?」と尋ねた場合:
docs/adr/が存在するかチェック — 存在しない場合、「このプロジェクトでは ADR が見つかりません。アーキテクチャ決定のログ記録を開始しますか?」と返信- 存在する場合、
docs/adr/README.md索引をスキャンして関連エントリを探す - 一致する ADR ファイルを読み、コンテキストと決定セクションを提示する
- 一致するものが見つからない場合、「その決定についての ADR が見つかりません。今すぐ記録しますか?」と返信
ADR ディレクトリ構造
docs/
└── adr/
├── README.md ← すべての ADR の索引
├── 0001-use-nextjs.md
├── 0002-postgres-over-mongo.md
├── 0003-rest-over-graphql.md
└── template.md ← 手動使用用の空白テンプレート
ADR 索引フォーマット
# アーキテクチャ決定記録
| ADR | タイトル | 状態 | 日付 |
|-----|--------|--------|------|
| [0001](0001-use-nextjs.md) | フロントエンドフレームワークとして Next.js を使用 | 受理済み | 2026-01-15 |
| [0002](0002-postgres-over-mongo.md) | プライマリデータストアに MongoDB ではなく PostgreSQL を選択 | 受理済み | 2026-01-20 |
| [0003](0003-rest-over-graphql.md) | GraphQL ではなく REST API を選択 | 受理済み | 2026-02-01 |
決定検出シグナル
会話内でアーキテクチャ決定を示す以下のパターンに注意してください:
明示的シグナル
- 「X を選びましょう」
- 「Y の代わりに X を使うべきです」
- 「トレードオフは価値がある、なぜなら...」
- 「これを ADR として記録してください」
暗黙的シグナル(ADR を記録することを提案 — ユーザー確認なしで自動作成しないこと)
- 2 つのフレームワークまたはライブラリを比較して結論に至る
- データベーススキーマ設計決定を実施し、理由を記述する
- アーキテクチャパターン間で選択(モノリシック対マイクロサービス、REST 対 GraphQL)
- 認証/認可戦略を決定する
- 代替案を評価した後、デプロイメントインフラを選択する
優れた ADR の要素
すべきこと
- 具体的かつ明確 — 「ORM を使う」ではなく「Prisma ORM を使う」
- 理由を記録する — 内容よりも根拠が重要
- 却下された代替案を含める — 将来の開発者は検討されたオプションを知る必要があります
- 結果を誠実に記述する — すべての決定にトレードオフがあります
- 簡潔に保つ — ADR は 2 分で読める必要があります
- 現在形を使う — 「X を使う予定」ではなく「X を使う」
してはいけないこと
- 細かい決定を記録する — 変数の命名やフォーマット選択は ADR を必要としません
- 論文として書く — コンテキストセクションが 10 行を超える場合は長すぎます
- 代替案を省く — 「単に選んだ」は有効な理由ではありません
- マークなしで過去の決定を遡及的に記録する — 過去の決定を記録する場合は、元の日付を注釈してください
- ADR を陳腐化させておく — 取って代わられた決定は代替品にリンクする必要があります
ADR ライフサイクル
proposed → accepted → [deprecated | superseded by ADR-NNNN]
- proposed: 決定は議論中であり、まだ確定していません
- accepted: 決定は有効で、従われています
- deprecated: 決定はもはや関連性がありません(例:機能が削除された)
- superseded: より新しい ADR がこの決定に取って代わりました(常に代替品にリンク)
記録する価値のある決定カテゴリ
| カテゴリ | 例 |
|---|---|
| 技術的選択 | フレームワーク、言語、データベース、クラウドプロバイダ |
| アーキテクチャパターン | モノリシック対マイクロサービス、イベント駆動、CQRS |
| API 設計 | REST 対 GraphQL、バージョニング戦略、認証メカニズム |
| データモデリング | スキーマ設計、正規化の決定、キャッシング戦略 |
| インフラストラクチャ | デプロイメントモデル、CI/CD パイプライン、監視スタック |
| セキュリティ | 認証戦略、暗号化方法、キー管理 |
| テスト | テストフレームワーク、カバレッジ目標、E2E 対統合テストのバランス |
| プロセス | ブランチング戦略、レビュープロセス、リリースペース |
他のスキルとの統合
- プランニングエージェント: プランナーがアーキテクチャ変更を提案するときは、ADR の作成を提案してください
- コードレビューエージェント: アーキテクチャ変更を導入しているが対応する ADR がない PR にフラグを立ててください
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- affaan-m
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/affaan-m/everything-claude-code / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。