Communityコーディング&開発github.com

スキルインデックススニペット

AGENTS.md / CLAUDE.md スニペットインデックスを作成・管理し、タスクを適切な dotnet-skills スキルやエージェントにルーティングします(Vercel スタイルの圧縮インデックスを含む)。

スキルインデックススニペット とは?

このスキルは、開発アシスタント(Claude Code, Cursor, Codex など)が .NET 関連のタスクを効率的に処理できるように、`AGENTS.md` / `CLAUDE.md` に埋め込むルータースニペットの生成と保守を行います。スキルは、アシスタントが「覚えている」ことに頼るのではなく、明示的なインデックスを参照してタスクに最適なスキルやエージェントを呼び出すように誘導します。ソース情報は `.claude-plugin/plugin.json` で管理され、各スキルは `SKILL.md` の frontmatter にある name フィールドで識別されます。可読性の高い標準テンプレートと、コンテキスト消費を抑えた Vercel スタイルの圧縮テンプレートの 2 種類を提供し、また README 内のマーカーをもとに自動更新するスクリプトも用意されています。このスキルを利用することで、アシスタントのタスクルーティング精度が向上し、開発効率が大幅に改善されます。

対応✓Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/Aaronontheweb/dotnet-skills/tree/main/skills/skills-index-snippets

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

スキルインデックススニペットの管理(AGENTS.md / CLAUDE.md)

このスキルを使用するタイミング

以下の場合にこのスキルを使用します:

  • リポジトリ内でスキルやエージェントの追加、削除、名前変更を行う場合
  • .claude-plugin/plugin.json を更新する場合
  • 下流リポジトリ(OpenCode、Claude Code など)向けのコピー&ペーストスニペットを作成する場合
  • コンパクトで常に有効なインデックスを用意し、スキルの活用率を向上させたい場合

目標

決定のポイントを排除することで、コーディングアシスタントが容易にスキルやエージェントを使えるようにします。

アシスタントがスキルを「覚えて」呼び出すことを期待する代わりに、AGENTS.md / CLAUDE.md 内に小さなルータースニペットを用意します。これにより:

  1. アシスタントに検索優先の推論を促す
  2. タスク→スキル/エージェントのルーティングインデックスを提供する
  3. 軽量な品質ゲートを定義する(オプション)

信頼できる情報源

  • レジストリ: .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

スキル変更後にスニペットを更新する方法

  1. .claude-plugin/plugin.json を更新して、スキルとエージェントを追加/削除します。
  2. 各スキルに正しい frontmatter name:(OpenCode などで使用されます)があることを確認します。
  3. ./scripts/validate-marketplace.sh を実行します。
  4. スニペットのルーティングリストを更新します:
    • 新しいスキルを適切なカテゴリに追加します
    • 削除されたスキルを削除します
    • 名前が frontmatter ID と完全に一致するようにします
  5. 下流の AGENTS.md/CLAUDE.md スニペットを管理している場合は、再生成して依存リポジトリにコピーし直します。

推奨カテゴリ

これらはスニペットのカテゴリです(必ずしもリポジトリのフォルダ構造とは限りません):

  • C# / コード品質
  • ASP.NET Core / Web(Aspire 含む)
  • データ
  • DI / 設定
  • テスト
  • 品質ゲート
  • 専門エージェント

スニペットは小さく保ってください。ドキュメントではなく、ルーターであるべきです。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

akka-hosting-actor-patterns

Patterns for building entity actors with Akka.Hosting - GenericChildPerEntityParent, message extractors, cluster sharding abstraction, akka-reminders, and ITimeProvider. Supports both local testing and clustered production modes.

akka-net-aspire-configuration

Configure Akka.NET with .NET Aspire for local development and production deployments. Covers actor system setup, clustering, persistence, Akka.Management integration, and Aspire orchestration patterns.

akka-net-best-practices

Critical Akka.NET best practices including EventStream vs DistributedPubSub, supervision strategies, error handling, Props vs DependencyResolver, work distribution patterns, and cluster/local mode abstractions for testability.

akka-net-management

Akka.Management for cluster bootstrapping, service discovery (Kubernetes, Azure, Config), health checks, and dynamic cluster formation without static seed nodes.

akka-net-testing-patterns

Write unit and integration tests for Akka.NET actors using modern Akka.Hosting.TestKit patterns. Covers dependency injection, TestProbes, persistence testing, and actor interaction verification. Includes guidance on when to use traditional TestKit.

api-design

Design stable, compatible public APIs using extend-only design principles. Manage API compatibility, wire compatibility, and versioning for NuGet packages and distributed systems.

aspire-configuration

Configure Aspire AppHost to emit explicit app config via environment variables; keep app code free of Aspire clients and service discovery.

aspire-integration-testing

Write integration tests using .NET Aspire

aspire-service-defaults

Create a shared ServiceDefaults project for Aspire applications. Centralizes OpenTelemetry, health checks, resilience, and service discovery configuration across all services.

crap-analysis

Analyze code coverage and CRAP (Change Risk Anti-Patterns) scores to identify high-risk code. Use OpenCover format with ReportGenerator for Risk Hotspots showing cyclomatic complexity and untested code paths.

csharp-concurrency-patterns

Choosing the right concurrency abstraction in .NET - from async/await for I/O to Channels for producer/consumer to Akka.NET for stateful entity management. Avoid locks and manual synchronization unless absolutely necessary.

database-performance

Database access patterns for performance. Separate read/write models, avoid N+1 queries, use AsNoTracking, apply row limits, and never do application-side joins. Works with EF Core and Dapper.

dependency-injection-patterns

Organize DI registrations using IServiceCollection extension methods. Group related services into composable Add* methods for clean Program.cs and reusable configuration in tests.

dotnet-devcert-trust

Diagnose and fix .NET HTTPS dev certificate trust issues on Linux. Covers the full certificate lifecycle from generation to system CA bundle inclusion, with distro-specific guidance for Ubuntu, Fedora, Arch, and WSL2.

dotnet-local-tools

Managing local .NET tools with dotnet-tools.json for consistent tooling across development environments and CI/CD pipelines.

dotnet-project-structure

Modern .NET project structure including .slnx solution format, Directory.Build.props, central package management, SourceLink, version management with RELEASE_NOTES.md, and SDK pinning with global.json.

dotnet-slopwatch

Use Slopwatch to detect LLM reward hacking in .NET code changes. Run after every code modification to catch disabled tests, suppressed warnings, empty catch blocks, and other shortcuts that mask real problems.

efcore-patterns

Entity Framework Core best practices including NoTracking by default, query splitting for navigation collections, migration management, dedicated migration services, and common pitfalls to avoid.

ilspy-decompile

Understand implementation details of .NET code by decompiling assemblies. Use when you want to see how a .NET API works internally, inspect NuGet package source, view framework implementation, or understand compiled .NET binaries.

mailpit-integration

Test email sending locally using Mailpit with .NET Aspire. Captures all outgoing emails without sending them. View rendered HTML, inspect headers, and verify delivery in integration tests.

関連スキル