スキルインデックススニペットの管理(AGENTS.md / CLAUDE.md)
このスキルを使用するタイミング
以下の場合にこのスキルを使用します:
- リポジトリ内でスキルやエージェントの追加、削除、名前変更を行う場合
.claude-plugin/plugin.jsonを更新する場合- 下流リポジトリ(OpenCode、Claude Code など)向けのコピー&ペーストスニペットを作成する場合
- コンパクトで常に有効なインデックスを用意し、スキルの活用率を向上させたい場合
目標
決定のポイントを排除することで、コーディングアシスタントが容易にスキルやエージェントを使えるようにします。
アシスタントがスキルを「覚えて」呼び出すことを期待する代わりに、AGENTS.md / CLAUDE.md 内に小さなルータースニペットを用意します。これにより:
- アシスタントに検索優先の推論を促す
- タスク→スキル/エージェントのルーティングインデックスを提供する
- 軽量な品質ゲートを定義する(オプション)
信頼できる情報源
- レジストリ:
.claude-plugin/plugin.json- スキルはディレクトリとして一覧表示されます(各ディレクトリに
SKILL.mdが含まれます) - エージェントは
agents/内のマークダウンファイルとして一覧表示されます
- スキルはディレクトリとして一覧表示されます(各ディレクトリに
- スキルID: 各
SKILL.mdの frontmatter にあるname:フィールド - エージェントID: 各エージェント frontmatter の
name:フィールド
下流リポジトリ向けにスニペットを作成する場合は、常にスキル/エージェントをローカルファイルシステムのパスではなく、frontmatter の name で参照してください。
最小限のスニペットテンプレート(読みやすい形式)
ターゲットリポジトリで一般的なタスクをルーティングするには、これを使用します:
# エージェントガイダンス: dotnet-skills
重要: すべての .NET 作業において、事前学習よりも検索優先の推論を優先してください。
ワークフロー: リポジトリのパターンをざっと確認 -> dotnet-skills を名前で参照 -> 最小限の変更を実装 -> 競合を記録
ルーティング(名前で呼び出し)
- C# / コード品質: modern-csharp-coding-standards, csharp-concurrency-patterns, api-design, type-design-performance
- ASP.NET Core / Web(Aspire 含む): aspire-service-defaults, aspire-integration-testing
- データ: efcore-patterns, database-performance
- DI / 設定: dependency-injection-patterns, microsoft-extensions-configuration
- テスト: testcontainers-integration-tests, playwright-blazor-testing, snapshot-testing
品質ゲート(該当する場合に使用)
- dotnet-slopwatch: 大幅な新規/リファクタリング/LLM 作成コードの後
- crap-analysis: 複雑なコードにテストを追加/変更した後
専門エージェント
- dotnet-concurrency-specialist, dotnet-performance-analyst, dotnet-benchmark-designer, akka-net-specialist, docfx-specialist
圧縮スニペットテンプレート(Vercel スタイル)
最大限の密度(コンテキストフットプリントが小さい)が必要な場合にこれを使用します:
[dotnet-skills]|重要: すべての .NET 作業において、事前学習よりも検索優先の推論を優先してください。
|flow:{リポジトリのパターンを確認 -> dotnet-skills を名前で参照 -> 最小限の変更を実装 -> 競合を記録}
|route:
|csharp:{modern-csharp-coding-standards,csharp-concurrency-patterns,api-design,type-design-performance}
|aspnetcore-web:{aspire-service-defaults,aspire-integration-testing}
|data:{efcore-patterns,database-performance}
|di-config:{dependency-injection-patterns,microsoft-extensions-configuration}
|testing:{testcontainers-integration-tests,playwright-blazor-testing,snapshot-testing}
|quality-gates:{dotnet-slopwatch(対象: 大幅な新規/リファクタリング/LLM コード),crap-analysis(対象: 複雑なコードへのテスト追加/変更後)}
|agents:{dotnet-concurrency-specialist,dotnet-performance-analyst,dotnet-benchmark-designer,akka-net-specialist,docfx-specialist}
README ブロックの再生成
README に以下のマーカーが含まれている場合、ジェネレーターが自動的に更新できます:
<!-- BEGIN DOTNET-SKILLS COMPRESSED INDEX -->
...圧縮スニペット...
<!-- END DOTNET-SKILLS COMPRESSED INDEX -->
実行:
./scripts/generate-skill-index-snippets.sh --update-readme
スキル変更後にスニペットを更新する方法
.claude-plugin/plugin.jsonを更新して、スキルとエージェントを追加/削除します。- 各スキルに正しい frontmatter
name:(OpenCode などで使用されます)があることを確認します。 ./scripts/validate-marketplace.shを実行します。- スニペットのルーティングリストを更新します:
- 新しいスキルを適切なカテゴリに追加します
- 削除されたスキルを削除します
- 名前が frontmatter ID と完全に一致するようにします
- 下流の
AGENTS.md/CLAUDE.mdスニペットを管理している場合は、再生成して依存リポジトリにコピーし直します。
推奨カテゴリ
これらはスニペットのカテゴリです(必ずしもリポジトリのフォルダ構造とは限りません):
- C# / コード品質
- ASP.NET Core / Web(Aspire 含む)
- データ
- DI / 設定
- テスト
- 品質ゲート
- 専門エージェント
スニペットは小さく保ってください。ドキュメントではなく、ルーターであるべきです。