setup-agent-skills について
setup-agent-skillsは、エンジニアリングスキルが参照するリポジトリ規約を整える、プロンプト駆動型スキルです。リポジトリを調査してユーザーに選択を確認し、課題管理、トリアージラベル、ドメイン文書の指針を記録します。
主な機能
- 01リポジトリ設定と文書の調査
- 02課題管理の指針を設定
- 03トリアージラベルの語彙を設定
- 04ドメイン文書のルールを記録
- 05書き込み前に調査結果を確認
活用シーン
- 01新しいリポジトリでエンジニアリングスキルを設定
- 02GitHub、GitLab、ローカルの課題管理方法を記録
- 03リポジトリのドメイン文書にスキルの指針を合わせる
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nstaab1/ nathan-agent-skills --skill setup-agent-skillsインストール後、Claude Code で/setup-agent-skillsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
domain.mdissue-tracker-github.mdissue-tracker-gitlab.mdissue-tracker-local.mdtriage-labels.mdagents/openai.yaml詳細
エージェントスキルのセットアップ
エンジニアリングスキルが前提とする、リポジトリごとの設定をひな形として作成します。
- 課題トラッカー:課題が管理されている場所(デフォルトは GitHub。ローカルの Markdown も標準でサポートされています)
- トリアージラベル:5 つの標準的なトリアージ役割に使われる文字列
- ドメインドキュメント:
GLOSSARY.mdと ADR の配置場所、およびそれらを読み取る際の利用側のルール
これはプロンプト駆動のスキルであり、決定論的なスクリプトではありません。調査し、見つかった内容を提示し、ユーザーに確認してから書き込みます。
プロセス
1. 調査
現在のリポジトリを確認し、初期状態を把握します。存在するものを読み、決めつけないでください。
git remote -vと.git/config:GitHub リポジトリですか?どのリポジトリですか?- リポジトリルートの
AGENTS.mdとCLAUDE.md:どちらかが存在しますか?どちらかに## Agent skillsセクションはすでにありますか? - リポジトリルートの
GLOSSARY.mdとGLOSSARY-MAP.md docs/adr/と、src/*/docs/adr/ディレクトリdocs/agents/:このスキルの過去の出力はすでに存在しますか?.scratch/:ローカル Markdown の課題トラッカー規約がすでに使われていることを示すものですtriageスキルがインストールされていますか?(このスキルと同じ場所にあるtriageスキルフォルダー、または利用可能なスキルにあるtriage)。これによってセクション B を実行するかどうかが決まります。- モノレポの兆候:
pnpm-workspace.yaml、package.jsonのworkspacesフィールド、または独自のsrc/を持つ、内容が入ったpackages/*。これらがあるのは、実際に大規模なマルチパッケージリポジトリの場合だけです。存在しない場合は単一コンテキストであり、ほとんどのリポジトリが該当します。
2. 調査結果を提示して確認する
何があるか、何が不足しているかをまとめます。その後、セクションを順番に進めます。1つのセクションについて回答を1つ受け取ってから、次に進みます。
各セクションの冒頭で推奨する回答を提示し、選択肢が実際に分かれる場合に限り、1行で説明を添えます。調査の時点ですでに結論が出ている場合は、そのセクションを丸ごと省略します(triage がインストールされていない場合のセクション B、モノレポがない場合のセクション C)。
セクション A:課題トラッカー。
説明:このリポジトリの「課題トラッカー」とは、課題を管理する場所です。
to-tickets、triage、to-specなどのスキルは、課題トラッカーから読み取ったり、課題トラッカーに書き込んだりします。gh issue createを呼び出すのか、.scratch/の下に Markdown ファイルを書き込むのか、あるいは別のワークフローに従うのかを把握する必要があります。このリポジトリで実際に作業を追跡している場所を選んでください。
基本方針:これらのスキルは GitHub 向けに設計されています。git remote が GitHub を指している場合は、GitHub を提案します。git remote が GitLab(gitlab.com またはセルフホストのホスト)を指している場合は、GitLab を提案します。それ以外の場合(またはユーザーが希望する場合)は、次の選択肢を提示します。
- GitHub:課題はリポジトリの GitHub Issues で管理します(
ghCLI を使用) - GitLab:課題はリポジトリの GitLab Issues で管理します(
glabCLI を使用) - ローカル Markdown:課題はこのリポジトリの
.scratch/<feature>/の下にファイルとして保存します(個人プロジェクトやリモートのないリポジトリに適しています) - その他(Jira、Linear など):ワークフローを1段落で説明してもらいます。スキルはそれを自由記述の文章として記録します
選択内容を docs/agents/issue-tracker.md に記録します。GitHub と GitLab のテンプレートには、「PR をリクエストの受付窓口にする」フラグがあり、デフォルトではオフになっています。オフのままにし、この項目を持ち出さないでください。トリアージキューに外部からの PR を入れたいユーザーは、後でファイル内のフラグを切り替えられます。
セクション B:トリアージのラベル語彙。 triage スキルがインストールされていない場合は、このセクションを丸ごと省略します(調査で確認済みです)。インストールされていないスキルにはラベルが不要なためです。
インストールされている場合は、質問を1つだけ、次のとおりに尋ねます。
デフォルトのトリアージラベルを使い続けますか?(推奨:はい)
デフォルトは5つの標準的な役割で、それぞれのラベル文字列は役割名と同じです:needs-triage、needs-info、ready-for-agent、ready-for-human、wontfix。はいの場合は、そのまま記述します。ユーザーが「いいえ」と答えた場合に限り、通常はトラッカーですでに別の名前を使っているため(例:needs-triage に対して bug:triage)、既存のラベルを適用して重複を作成しないように、上書きするラベルを確認します。
セクション C:ドメイン文書。 デフォルトでは単一コンテキスト(リポジトリのルートに GLOSSARY.md と docs/adr/ を1つずつ)にします。ほとんどすべてのリポジトリに適しているため、確認せずに作成します。
複数コンテキスト(ルートの GLOSSARY-MAP.md から、コンテキストごとの GLOSSARY.md ファイルを参照する構成)は、調査でモノレポの兆候が見つかった場合に限り提案します。その場合は、どちらの構成にするか確認します。
3. 確認して編集する
次の内容のドラフトをユーザーに提示します。
- 編集対象の
CLAUDE.md/AGENTS.mdのいずれかに追加する## Agent skillsブロック(選択ルールについてはステップ4を参照) docs/agents/issue-tracker.md、docs/agents/domain.md、docs/agents/triage-labels.mdの内容(最後のファイルはtriageがインストールされている場合のみ)
書き込む前に、ユーザーが編集できるようにします。
4. 書き込む
編集するファイルを選びます:
CLAUDE.mdが存在する場合は、これを編集します。- それ以外で
AGENTS.mdが存在する場合は、これを編集します。 - どちらも存在しない場合は、どちらを作成するかユーザーに尋ねます。こちらで選んではいけません。
CLAUDE.md がすでに存在する場合(または AGENTS.md がすでに存在する場合)は、もう一方のファイルを作成してはいけません。すでに存在するファイルを必ず編集してください。
選んだファイルに ## Agent skills ブロックがすでに存在する場合は、重複して追加せず、その内容をブロック内で更新します。周囲のセクションに対するユーザーの編集内容は上書きしないでください。
ブロック:
## Agent skills
### Issue tracker
[one-line summary of where issues are tracked]. See `docs/agents/issue-tracker.md`.
### Triage labels
[one-line summary of the label vocabulary]. See `docs/agents/triage-labels.md`.
### Domain docs
[one-line summary of layout: "single-context" or "multi-context"]. See `docs/agents/domain.md`.
triage がインストールされていて、セクション B が実行された場合に限り、### Triage labels サブブロックを含め、docs/agents/triage-labels.md を作成します。それ以外の場合は、どちらも省略します。
次に、このスキルフォルダー内のシードテンプレートを出発点として、ドキュメントファイルを作成します。
- issue-tracker-github.md:GitHub の課題トラッカー
- issue-tracker-gitlab.md:GitLab の課題トラッカー
- issue-tracker-local.md:ローカルの Markdown 課題トラッカー
- triage-labels.md:ラベルのマッピング(
triageがインストールされている場合のみ) - domain.md:ドメインドキュメントの利用ルールと構成
「その他」の課題トラッカーの場合は、ユーザーの説明をもとに docs/agents/issue-tracker.md を一から作成します。
5. 完了
セットアップが完了したことと、今後どのエンジニアリングスキルがこれらのファイルを参照するかをユーザーに伝えます。後から docs/agents/*.md を直接編集できることも伝えてください。課題トラッカーを切り替える場合や、最初からやり直す場合にのみ、このスキルを再実行する必要があります。