AGENTS.md の初期化
リポジトリのルートまたは既存のディレクトリに、コントリビューター向けガイドを作成します。出力形式と推奨セクションの唯一の正規ソースは references/agents-md-prompt.md です。このスキルは、この固定された指示を安全に正しいスコープに適用する責任を負います。
入力とスコープ
- 0個または1個のディレクトリアルゴメンを引数として受け入れます。相対パスは現在のワーキングディレクトリから解決されます。引数がない場合は、
git rev-parse --show-toplevelで見つかった Git ルートディレクトリを使用します。 - 明示的なディレクトリは Git リポジトリ内にある必要はありません。引数がなく Git ルートも見つからない場合は、ユーザーにディレクトリを指定するよう要求し、停止します。パスは読み取り可能なディレクトリに解決される必要があります。存在しないパス、ファイル、読み取り不可能なディレクトリ、または複数のディレクトリアルゴメンがある場合は停止します。
- デフォルトの出力候補先は、そのディレクトリの
AGENTS.mdです。一度に処理するスコープは1つだけです。ディレクトリを作成したり、他のファイルを変更したり、ステージ、コミット、ブランチを作成したりしません。 - 本文はローカルドキュメントの主要言語に従います。手がかりが不十分な場合は英語を使用します。選択されたディレクトリがリポジトリルートでない場合、出力の先頭に
## Scopeセクションを追加し、相対ディレクトリと適用可能な親ガイドを説明し、ローカルに新しく追加されたルールまたは狭められたルールのみを記述します。
まず調査、次に生成
- 下書きを作成する前に、対象と必要なプロジェクトコンテキスト(ディレクトリ構造、マニフェスト/ロックファイル、スクリプト、ビルド/テスト/リント設定、CI、README/CONTRIBUTING、Git が利用可能な場合は最大30件の関連コミット)を読み取ります。モノレポのパッケージ境界、パッケージマネージャー、ローカルドキュメントの主要言語を特定します。
- 関連するすべての
AGENTS.mdを見つけます。対象ファイル、リポジトリルートから対象の親ディレクトリまでの祖先ファイル、および対象サブツリー内のネストされたファイル。非 Git ディレクトリの場合は、祖先チェーンに従ってチェックします。サブツリーは最初に直接のサブディレクトリをチェックし、マニフェスト、パッケージ境界、または既存のガイドがより深い場所を指している場合にのみ拡張します。.git、依存関係/ベンダー、ビルド/カバレッジ出力、キャッシュ、および無視されたシークレットストアはスキップします。 - マッチしたファイルに
target、ancestor、nestedのラベルを付け、CLAUDE.md、CONTRIBUTING.mdなどの関連ガイドを制約として読み取ります。ネストされたガイドは読み取り、保持し、必要に応じてリンクします。マージや変更は行いません。 - 潜在的なシークレットファイルの名前とメタデータのみを確認します。キー、トークン、資格情報、または
.envの内容を絶対に読み取ったり書き込んだりしません。 - 各コマンドと規則は、スクリプト、設定、既存ファイル、または履歴によって検証可能でなければなりません。観察されたリポジトリルールと一般的なデフォルトの推奨事項を区別します。証拠のないセクション、コマンド、アサーションは直接省略します。
マッチングガイドの確認
下書きを生成する前に、すべてのマッチ、それぞれのスコープ、および出力候補パスを表示し、大文字小文字の競合(例:agents.md)をチェックします。これはハードなゲートです。
- 出力候補が既に存在する場合、それを読み取り、ユーザーに
merge、replace、またはabortを選択するよう要求します。 - 出力候補は存在しないが、祖先ガイドまたはネストされたガイドが見つかった場合、ユーザーに「このスコープの新しいガイドを作成する」または「名前の付いた既存のガイドを更新する」を明示的に選択するよう要求します。新しい子ファイルをサイレントに追加してはいけません。別の既存ファイルを選択した場合、そのファイルのディレクトリを再度調査してからモードを選択します。
- マッチがない場合は、元の対象に対して新しいファイルの下書きを続行します。
- 選択された
AGENTS.mdがシンボリックリンク、ディレクトリ、特別なファイル、または書き込み不可能な通常ファイルである場合は停止し、理由を報告します。
未回答、あいまいな選択、または CLAUDE.md などのガイドとの競合がある場合は、ワークスペースを変更せずに維持します。
固定指示の読み取り
下書きを開始する前に、references/agents-md-prompt.md を完全に読み取ります。これがタイトル、ドキュメント要件、推奨セクション、単語数目標、表現スタイルの正規の所有者です。通常の運用時はこれを書き換えず、このスキル内で本文を複製もしません。
マージ、プレビュー、書き込み
merge は Markdown の見出しセマンティクスに従ってマージします。既存の事実とカスタムセクションは保持し、不足しているが証拠がある内容のみを補います。すべてのコマンド、パス、優先順位、または事実の競合をテーブルにリストし、ユーザーが既存のものを保持するか、証拠を採用するか、カスタムテキストを提供するかを項目ごとに選択できるようにします。未解決の競合がある場合は書き込んではいけません。replace は選択された単一のファイルのみに影響し、自動的にバックアップは生成しません。
新しいファイルの場合は完全な下書きを表示します。更新の場合は unified diff を表示し、パス、スコープ、セクション、単語数、証拠のギャップ、モードの概要を添付します。ユーザーが最終書き込みを明示的に確認するまでは、ファイルを作成または変更しません。変更が要求された場合は、下書きとプレビューの段階に戻ります。書き込む直前にターゲットを再読み取りし、内容が外部で変更されている場合は、確認プロセスを再度実行します。
検証と完了
書き込み前に、見出し、見出しレベル、ネストされたガイドへのスコープリンク、参照されるパス/スクリプト、プレースホルダー、機密値、Markdown の空白をチェックします。ルートガイドは固定指示の単語数目標に対してチェックし、ネストされた増分は約100~300ワードに対してチェックします。末尾のスペースや連続する空行などの機械的な問題のみを自動修正し、再度プレビューします。意味的または事実的な問題はユーザーの判断に委ねます。ターゲットが Git 内にある場合は git diff --check を実行し、そうでない場合は同等の空白チェックを実行します。このスキルのデフォルトとして完全なビルド、テスト、リントを実行してはいけません。
完了条件:確認済みの AGENTS.md が選択されたパスに存在し、静的チェックに合格し、承認されたプレビューと一致していること。最終報告では、モード、スコープ、検証済みコマンド、欠落/不確実な項目、検証結果を報告します。ユーザーが abort した場合、または検証に合格できない場合は、理由を報告し、ターゲットを変更せずに維持します。