adr-drafting
重要なアーキテクチャ上の変更に対して、一貫したテンプレートとリポジトリに適した命名・保存ガイダンスを用いて、新しいArchitecture Decision Record(ADR)ドキュメントを作成します。ユーザーまたはエージェントがアーキテクチャの変更を決定した際、技術的な意思決定の根拠を文書化したい場合、またはプロジェクト履歴に新しいADRを追加したい場合に使用します。
description の原文を見る
Creates new Architecture Decision Record (ADR) documents for significant architectural changes using a consistent template and repository-aware naming and storage guidance. Use when a user or agent decides on an architectural change, needs to document technical rationale, or wants to add a new ADR to the project history.
SKILL.md 本文
ADR ドラフト作成
重要な技術的決定が行われた理由を明確に記録するため、主要な設計上の選択肢に関する Architecture Decision Record (ADR) ドキュメントを新規作成します。
概要
このスキルは、新しいADRを発見から最終的なマークダウンファイルまで作成する方法を支援します。決定の詳細を確認し、リポジトリの既存のADR慣例を検査し、標準的なセクション Title、Status、Context、Decision、Consequences を備えた新しいADRをドラフトします。
リポジトリにADR慣例がない場合は、ADRを docs/architecture/adr に保存し、0001-use-postgresql-for-primary-database.md のようなゼロパッドを付けたファイル名を使用します。
デフォルトのADRテンプレートは references/template.md を、ADRの例と命名パターンは references/examples.md を参照してください。
使用時期
ユーザーまたはエージェントが有意義な設計上の変更を決定し、新しいArchitecture Decision Recordで根拠、選択した方向、およびトレードオフを文書化する必要があります。ADRの作成、設計上の決定の文書化、決定記録の作成、または重要な技術選択の背景を保存するリクエストに適しています。
手順
フェーズ 1: ADRの入力内容を確認
新しいADRをドラフトするために必要な最小限の情報をユーザーに尋ねます:
- 決定のタイトル
- 決定のステータス(未確定の場合はデフォルトで
Proposed) - コンテキスト: 決定を促した問題、制約、または要因
- 決定: 選択されたアプローチ
- 結果: より簡単に、難しく、危険に、または高くなるもの
- このリクエストが既存のADRの編集ではなく、新しいADR であることを確認
- ドキュメント言語が不明確な場合は、希望するリポジトリ言語を確認
- 既存のADR命名規則を保持する必要があるかどうかを確認
ユーザーが実は既存のADRの更新、古いADRのステータス変更、または優先関係リンクの管理を望んでいる場合は、このスキルが新しいADRドキュメントのみをドラフトすることを説明し、代わりに新しいレコードで続行するかどうかを尋ねます。
フェーズ 2: リポジトリのADR慣例を発見
ドラフト作成前にリポジトリを検査します:
- 以下のような可能性の高いADRの場所を検索します:
docs/architecture/adrdocs/adradrarchitecture/adr
- ADRファイルが既に存在する場合は、1〜3つの例を読んで以下を推測します:
- 番号付けの形式
- ファイル名パターン
- タイトルの形式
- 言語とトーン
- ADRディレクトリが存在しない場合は、
docs/architecture/adrを推奨 - 既存ファイルから可能な限り次のADR番号を決定
- 以前のADRが存在しない場合は、
0001で開始
慣例が存在しない場合の推奨デフォルト命名:
- ディレクトリ:
docs/architecture/adr - ファイル名:
NNNN-short-kebab-title.md - タイトル:
# ADR-NNNN: <Decision Title>
フェーズ 3: ADRをドラフト
標準的な構造を使用してドラフトを作成します:
# ADR-NNNN: Decision Title
## Status
Proposed
## Context
What problem, constraints, or trade-offs led to this decision?
## Decision
What architectural choice was made?
## Consequences
What becomes easier, harder, riskier, or more expensive because of this decision?
ドラフト作成ルール:
- タイトルを具体的で決定指向にする
- なぜその決定が必要だったかを説明するのに十分なコンテキストをキャプチャ
- 選択された方向を明確かつ直接的に記録
- 既知の場合は肯定的および否定的な結果の両方を含める
- ユーザーが提供しなかった根拠、制約、または結果を作成しない
- 重要な情報が不足している場合は、簡潔なプレースホルダーを挿入するか、最終確定前に追加の質問をします
フェーズ 4: ユーザーとドラフトを確認
ファイルを作成する前に、以下を提示します:
- 提案されたファイルパス
- 提案されたタイトル
- ADRステータス
- ドラフト作成されたセクションの簡潔なプレビュー
ファイルを作成する前に承認を求めます。ユーザーが調整を望む場合は、最初にドラフトを修正します。
フェーズ 5: ADRファイルを作成
承認後:
- ADRディレクトリが存在しない場合は作成
- リポジトリの確立されたパターンが利用可能な場合は使用して、ADRマークダウンファイルを作成
- ドキュメントを簡潔に保ちながら、ユーザーの意思決定根拠の文言をできるだけ保存
- 最終的なファイルパスを報告し、作成された内容を要約
- スキルを単一の新しい決定記録に焦点を当てたままにするため、新しいADRファイル作成後に停止
例
例 1: 新しいデータベース決定
ユーザーリクエスト: 「SQLiteからPostgreSQLへの移行に関するADRを作成」
予想される流れ:
- タイトル、ステータス、変更の理由、および予想される結果を確認
- リポジトリに既にADRファイルがあるかどうかを確認
- 既存の慣例で新しいADRをドラフトするか、デフォルトで
docs/architecture/adr/0001-move-to-postgresql.mdにドラフト - ファイルを作成する前に承認を求める
例 2: 新しいサービス境界
ユーザーリクエスト: 「請求を専用サービスに分割する決定を文書化」
予想される流れ:
- 設計上のコンテキストと現在の設計が不十分な理由を尋ねる
- 選択された境界と運用上の結果を確認
- 標準的なセクションで新しいADRをドラフト
- ユーザー承認後にのみファイルを作成
より長いADRの例は references/examples.md を参照してください。
ベストプラクティス
- 各ADRを1つの設計上の決定に焦点を当てる
- ADRが既に存在する場合は、既存のリポジトリ命名、番号付け、および文書作成スタイルに一致させる
- 長いナラティブより簡潔な説明を推奨
- トレードオフを誠実にキャプチャ。デメリットと新しいリスクを含める
- ユーザーが別の状態を確認しない限り、ステータスをデフォルトで
Proposedにする - リポジトリの優先ドキュメント言語が明確な場合は使用
制約と警告
- このスキルは新しいADR作成のみ用です
- 既存のADRファイル、ステータス履歴、または優先関係チェーンを更新しないでください
- 不足している根拠または結果を作成しないでください
- リポジトリが既に別のADR場所を使用している場合は、
docs/architecture/adrを強制しないでください - 決定、コンテキスト、または結果があまりにも曖昧で責任を持って文書化できない場合は、明確化の質問をしてください
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- giuseppe-trisciuoglio
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/giuseppe-trisciuoglio/developer-kit / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。