mcpField
R
recording-architecture-decisions

recording-architecture-decisions

github.com/ganyuanran開発1.4k55 回インストール4 日前に更新
リポジトリ

recording-architecture-decisions について

アーキテクチャ決定記録(ADR)の作成・変更・評価と、現状文書との同期確認を支援するタスク別ワークフローです。判断基準、記録先、ベースラインの確認を案内しますが、完了の承認権限は付与しません。

主な機能

  1. 01可逆性・意外性・トレードオフで判断を評価
  2. 02作成・改訂・置換・見送りを選択
  3. 03権威ある ADR の保存先を選定
  4. 04ADR 変更後のベースライン同期を確認
  5. 05対応する書き込み経路で補助コマンドを使用

活用シーン

  1. 01長期的なアーキテクチャ判断に ADR が必要か決定
  2. 02決定変更後に既存 ADR を更新
  3. 03現状文書が ADR を反映しているか確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ganyuanran/aegis --skill recording-architecture-decisions

インストール後、Claude Code で/recording-architecture-decisionsを入力して読み込まれたか確認します。

詳細

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

目的

現在の状態のベースラインを閉じずに、長期にわたって有効なアーキテクチャ決定を記録します。ADR は決定に至った理由を記録し、ベースラインはその決定後のアーキテクチャを記録します。

このスキルは、必要に応じて利用するタスク固有のワークフローです。verification-before-completion に代わるものではなく、完了を承認する権限を与えるものでも、権威ある GateDecision や PolicySnapshot の出力を生成するものでもありません。

必須の参照資料

判断または記述を行う前に、次の資料から関連する最小限の範囲を読みます。

  • docs/adr/ADR-CREATION-GATE.md
  • docs/current/AEGIS_ADR_AUTO_BACKFILL.md
  • 影響を受けるアーキテクチャ領域を管理する、対象プロジェクトの現在の ADR、ベースライン、または権威あるドキュメント

Aegis リポジトリに変更を加える場合は、このリポジトリの docs/adr/ と docs/current/ の権威性の順序に従います。対象プロジェクトに独自の ADR システムがある場合は、同じ決定を docs/aegis/adr/ に重複して記録せず、そのプロジェクトの管理者に従います。

使用する場面

次のことをユーザーから求められた場合に、このスキルを使用します。

  • ADR の作成、記述、更新、修正、置き換え、または評価
  • アーキテクチャ決定記録が必要かどうかの判断
  • 長期にわたって有効なアーキテクチャ決定または決定ログの記録
  • ADR に関連するアーキテクチャ変更後のベースライン同期の完了
  • ADR に関する対応によってアーキテクチャのベースラインが古くなっていないことの確認

単純な文言の編集、通常の README の整理、テストのみのカバレッジ改善、リスクの低い単一ファイルの変更、既存のベースラインを復元するだけのバグ修正には使用しないでください。

判断の流れ

  1. 決定候補と根拠となる情報源を特定します。
  2. ADR 作成ゲートを実行します。
    • 取り消しが困難
    • 背景がなければ意外に感じられる
    • 実質的なトレードオフがある
  3. 遡及/記憶フィルターを適用します。
    • 実行済みの長期的な決定は、ADR またはベースラインの記録にできます。
    • 未実行のアイデアは、承認済みのアーキテクチャ記録に含めません。
    • 現在のアーキテクチャ状態を変更しないプロセス上のメモには、より簡易な記録を使用できます。
  4. ADR に関する対応を「作成」「修正」「置き換え」「スキップ」から必ず 1 つ選びます。
  5. 管理対象の領域を選びます。プロジェクトの docs/adr/、docs/aegis/adr/、既存の ADR、または簡易な記録のいずれかです。
  6. ベースライン同期の完了処理を実行します。
  7. ファイルを記述する場合は、その場で定められている ADR の規約に従い、構成を確認します。

ヘルパーを使った書き込み手順

管理対象の領域が対象プロジェクトの docs/aegis/adr/ の場合、場当たり的にファイルを作成せず、共有ワークスペースヘルパーを使用します。

  • create -> <aegis-workspace-helper> new-adr --root <target-project-root> ...
  • amend -> <aegis-workspace-helper> amend-adr --root <target-project-root> --path docs/aegis/adr/ADR-####-<slug>.md ...
  • supersede -> <aegis-workspace-helper> supersede-adr --root <target-project-root> --path docs/aegis/adr/ADR-####-<slug>.md ...

ヘルパーで書き込みを行った後、次を実行します。

  • <aegis-workspace-helper> check --root <target-project-root>

ヘルパーが管理するのは、ファイル形式、ADR の番号、置き換えを示すマーカー、INDEX.md での網羅性のみです。アーキテクチャ上の正しさ、ADR ゲートを通過したかどうか、ベースライン同期が意味的に十分かどうかは判断しません。

ADR ゲートまたは管理対象の領域に関する判断が「スキップ」であれば、ヘルパーがあるというだけで ADR ファイルを作成または修正しないでください。設計や計画にある ADR のシグナルは、後で完了するためのメモであり、ADR ファイルではありません。実行済みの長期的な決定に対してのみ ADR を作成、修正、または置き換えます。既存の ADR がすでにその決定領域を扱っている場合は、関連する ADR を新たに作成せず、既存の ADR を修正します。

ベースライン同期の締めくくり

ADR のアクションが作成、修正、または置換の場合は、ベースライン同期を確認する必要があります。

判断によって以下のいずれかが変更または確認される場合、ベースライン同期が必要です。

  • 正規の所有者または所有権マップ
  • パブリック API、スキーマ、成果物の形状、または動作契約
  • 依存関係の方向、または許可されるモジュール間の関係
  • 信頼できる情報源の所有者
  • ホスト互換性戦略、またはインストール/検出の契約
  • メソッドパックとランタイムコアの境界
  • ランタイム対応成果物の境界、またはエビデンスモデル
  • 維持されるフォールバック、アダプター、互換性経路、重複する所有者、または廃止 スケジュール
  • アーキテクチャ範囲の実装ドリフトとして受け入れたもの
  • 今後の貢献者が誤解する可能性のあるリリースまたは配布戦略

ベースラインへの書き戻しを行わない場合は、既存のベースラインが引き続き有効である理由を明記してください。 作成、修正、または置換の後に、ベースライン同期を暗黙のままにしないでください。

簡潔な出力要件

Aegis Visibility:
- Why executed-decision filtering, ADR gate, owner surface, or baseline sync matters now:

Decision Candidate:
- Summary:
- Evidence source:

ADR Gate:
- Hard to reverse: yes | no | unknown
- Surprising without context: yes | no | unknown
- Real trade-off: yes | no | unknown

Retro / Memory Filter:
- Classification: executed durable decision | unexecuted idea | process note
- Memory action: record | skip | lighter record
- Reason:

ADR Action:
- create | amend | supersede | skip
- Reason:

Owner Surface:
- Target:
- Existing ADR / baseline checked:

Baseline Sync:
- Required: yes | no | unknown
- Target:
- Action: create snapshot | update baseline | cite unchanged | blocked
- Reason:

Boundary:
- Advisory method-pack signal only; not completion authority.

よくある間違い

  • ゲートを通過しないにもかかわらず、トピックが重要に感じられるという理由で ADR を作成する。
  • ADR に理由を記録する一方で、ベースラインに記載された現在の状態を古いままにする。
  • ドリフトが意図的で ADR に値するかを判断する前に、ドリフトに合わせてベースラインを更新する。
  • 明示的なミラー関係がないまま、同じ判断をプロジェクトの docs/adr/ と docs/aegis/adr/ の両方に重複して記録する。
  • ADR またはベースライン同期を、作業が完了した証拠として扱う。

コメント