mcpField
D
dotnet-advisor

dotnet-advisor

github.com/wshaddixエージェントワークフロー8671 回インストール35 週間前に更新
リポジトリ

dotnet-advisor について

dotnet-artisan のルーティング兼インデックススキルです。.NET 開発の質問を専門スキルに振り分け、最初にターゲットフレームワークを確認して、検出した .NET バージョンに合わせます。

主な機能

  1. 01質問を専門スキルへ振り分け
  2. 02案内前にターゲットフレームワークを検出
  3. 03.NET 開発スキルのカタログを索引化
  4. 04テストからデプロイまでの開発分野を網羅

活用シーン

  1. 01.NET タスクに適したスキルの選択
  2. 02フレームワーク別の案内要件の確認
  3. 03プロジェクト構築や保守のスキル検索

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wshaddix/dotnet-skills --skill dotnet-advisor

インストール後、Claude Code で/dotnet-advisorを入力して読み込まれたか確認します。

詳細

dotnet-advisor

dotnet-artisan 用のルーター兼インデックススキルです。常に読み込まれます。コンテキストに基づいて、.NET 開発に関するクエリを適切な専門スキルに振り分けます。

最初の手順:プロジェクトのバージョンを検出する

.NET に関するガイダンスを提供する前に、プロジェクトのターゲットフレームワークを特定します。

[skill:dotnet-version-detection] を読み込み、.csproj、Directory.Build.props、global.json から TFM を読み取ります。検出した .NET バージョン(net8.0、net9.0、net10.0、net11.0)に合わせて、すべてのガイダンスを調整します。


スキル一覧

1. 基盤とプラグインインフラ implemented
  • [skill:dotnet-advisor] -- このスキル(ルーター/インデックス)
  • [skill:dotnet-version-detection] -- TFM/SDK の検出、プレビュー機能
  • [skill:dotnet-project-analysis] -- ソリューション構造、プロジェクト参照、CPM
  • [skill:dotnet-file-based-apps] -- .NET 10 のファイルベースアプリ、#: ディレクティブ、.csproj なし
2. C# の基礎と言語パターン planned
  • [skill:dotnet-csharp-modern-patterns] -- C# 14/15 の機能、レコード、パターンマッチング
  • [skill:dotnet-csharp-coding-standards] -- 命名、規約、ファイル構成
  • [skill:dotnet-csharp-async-patterns] -- async/await のベストプラクティス、よくある間違い
  • [skill:dotnet-csharp-nullable-reference-types] -- NRT パターン、注釈、移行
  • [skill:dotnet-csharp-dependency-injection] -- MS DI、キー付きサービス、デコレーション
  • [skill:dotnet-csharp-configuration] -- オプションパターン、機能フラグ、シークレット
  • [skill:dotnet-csharp-source-generators] -- IIncrementalGenerator、コード生成パターン
  • [skill:dotnet-csharp-code-smells] -- コードスメル、アンチパターン、よくある落とし穴
  • [skill:dotnet-roslyn-analyzers] -- カスタム DiagnosticAnalyzer、CodeFixProvider、テスト、NuGet パッケージ化
  • [skill:dotnet-file-io] -- FileStream、RandomAccess、FileSystemWatcher、MemoryMappedFile、パス処理
  • [skill:dotnet-io-pipelines] -- System.IO.Pipelines:PipeReader/PipeWriter、バックプレッシャー、プロトコル解析
  • [skill:dotnet-linq-optimization] -- IQueryable と IEnumerable、コンパイル済みクエリ、遅延実行
  • [skill:dotnet-native-interop] -- P/Invoke、LibraryImport、マーシャリング、クロスプラットフォームのネイティブ呼び出し
3. プロジェクト構造とスキャフォールディング planned
  • [skill:dotnet-project-structure] -- .slnx、Directory.Build.props、CPM、アナライザー
  • [skill:dotnet-artifacts-output] -- UseArtifactsOutput、ArtifactsPath、CI と Docker への影響
  • [skill:dotnet-scaffold-project] -- ベストプラクティスに沿ったプロジェクトのスキャフォールディング
  • [skill:dotnet-add-analyzers] -- Roslyn アナライザー、nullable、トリミング、AOT 互換性
  • [skill:dotnet-add-ci] -- 既存プロジェクトへの CI/CD の追加
  • [skill:dotnet-add-testing] -- テスト基盤の追加
  • [skill:dotnet-modernize] -- コードのモダン化の機会を分析
4. アーキテクチャパターン planned
  • [skill:dotnet-architecture-patterns] -- Minimal API の構成、垂直スライス、エラー処理
  • [skill:dotnet-background-services] -- BackgroundService、Channels、プロデューサー/コンシューマー
  • [skill:dotnet-resilience] -- Polly v8 + MS.Extensions.Resilience(Http.Polly は使用しない)
  • [skill:dotnet-http-client] -- IHttpClientFactory、型指定/名前付きクライアント、レジリエンス
  • [skill:dotnet-observability] -- OpenTelemetry、構造化ログ、ヘルスチェック
  • [skill:dotnet-efcore-patterns] -- DbContext のライフサイクル、マイグレーション、インターセプター
  • [skill:dotnet-efcore-architecture] -- 読み取り/書き込みモデル、N+1 の回避
  • [skill:dotnet-data-access-strategy] -- EF Core、Dapper、ADO.NET の選択
  • [skill:dotnet-containers] -- マルチステージ Dockerfile、ルートレス、ヘルスチェック
  • [skill:dotnet-container-deployment] -- Kubernetes、Docker Compose、レジストリ
  • [skill:dotnet-messaging-patterns] -- パブリッシュ/サブスクライブ、競合するコンシューマー、DLQ、サーガ、配信保証
  • [skill:dotnet-domain-modeling] -- DDD の集約、値オブジェクト、ドメインイベント、リポジトリの契約
  • [skill:dotnet-structured-logging] -- ログ集約、構造化クエリ、サンプリング、PII の除去
  • [skill:dotnet-aspire-patterns] -- .NET Aspire:AppHost、サービス検出、コンポーネント、ダッシュボード
5. シリアライゼーションと通信 planned
  • [skill:dotnet-serialization] -- AOT ソース生成:STJ、Protobuf、MessagePack
  • [skill:dotnet-grpc] -- サービス定義、ストリーミング、認証、ヘルスチェック
  • [skill:dotnet-realtime-communication] -- SignalR、JSON-RPC、SSE、gRPC ストリーミング
  • [skill:dotnet-service-communication] -- gRPC、リアルタイム通信、REST へのルーティング
6. API 開発 planned
  • [skill:dotnet-minimal-apis] -- ルートグループ、フィルター、検証、OpenAPI 3.1
  • [skill:dotnet-api-versioning] -- URL バージョニング、Asp.Versioning.Http/Mvc
  • [skill:dotnet-openapi] -- OpenAPI:MS.AspNetCore.OpenApi(.NET 9 以降に組み込み)、Swashbuckle からの移行、NSwag、トランスフォーマー
  • [skill:dotnet-api-security] -- Identity、OAuth/OIDC、JWT、パスキー(WebAuthn)、CORS、CSP、レート制限
  • [skill:dotnet-input-validation] -- .NET 10 AddValidation、FluentValidation、Data Annotations、エンドポイントフィルター、ProblemDetails
  • [skill:dotnet-library-api-compat] -- バイナリ/ソース互換性のルール、型フォワーダー、SemVer への影響
  • [skill:dotnet-api-surface-validation] -- PublicApiAnalyzers、Verify スナップショットパターン、ApiCompat による CI での適用
7. セキュリティ planned
  • [skill:dotnet-security-owasp] -- .NET 向け OWASP Top 10
  • [skill:dotnet-secrets-management] -- ユーザーシークレット、安全な構成パターン
  • [skill:dotnet-cryptography] -- ポスト量子暗号を含む最新の暗号技術(.NET 10)
8. テスト planned
  • [skill:dotnet-testing-strategy] -- 単体テストと統合テスト、E2E テストの使い分けと構成
  • [skill:dotnet-xunit] -- xUnit v3、理論、フィクスチャ、並列実行
  • [skill:dotnet-integration-testing] -- WebApplicationFactory、Testcontainers
  • [skill:dotnet-ui-testing-core] -- UI テストの基本パターン
  • [skill:dotnet-blazor-testing] -- Blazor コンポーネント向け bUnit
  • [skill:dotnet-maui-testing] -- MAUI 向け Appium、XHarness
  • [skill:dotnet-uno-testing] -- Uno WASM 向け Playwright
  • [skill:dotnet-playwright] -- ブラウザーの自動化、E2E テスト
  • [skill:dotnet-snapshot-testing] -- スナップショットテスト向け Verify
  • [skill:dotnet-test-quality] -- カバレッジ、CRAP 分析、ミューテーションテスト
9. パフォーマンスとベンチマーク implemented
  • [skill:dotnet-benchmarkdotnet] -- BenchmarkDotNet のセットアップ、構成、CI
  • [skill:dotnet-performance-patterns] -- Span、プーリング、アロケーションゼロ、sealed
  • [skill:dotnet-profiling] -- dotnet-counters、trace、dump、メモリ
  • [skill:dotnet-ci-benchmarking] -- 継続的なベンチマーク、リグレッションの検出
  • [skill:dotnet-gc-memory] -- GC モード、LOH/POH、Gen0/1/2 のチューニング、Span/Memory、ArrayPool、プロファイリング
10. Native AOT とトリミング planned
  • [skill:dotnet-native-aot] -- トリミング、RD.xml、リフレクション不使用、サイズ最適化
  • [skill:dotnet-aot-architecture] -- 最初から AOT を前提に設計
  • [skill:dotnet-trimming] -- トリミングセーフな注釈、リンカー構成、テスト
  • [skill:dotnet-aot-wasm] -- Blazor と Uno 向け WASM AOT
11. CLI ツール開発
  • [skill:dotnet-system-commandline] -- System.CommandLine、ミドルウェア、ホスティング
  • [skill:dotnet-cli-architecture] -- レイヤー化された CLI 設計、テスト容易性
  • [skill:dotnet-cli-distribution] -- Native AOT とクロスプラットフォーム配布戦略
  • [skill:dotnet-cli-packaging] -- Homebrew、apt/deb、winget、Scoop、Chocolatey、dotnet tool
  • [skill:dotnet-cli-release-pipeline] -- マルチプラットフォームの CI/CD リリースワークフローを統一
  • [skill:dotnet-tool-management] -- グローバル/ローカル .NET ツールのインストール、管理、復元
12. UI フレームワーク planned
  • [skill:dotnet-blazor-patterns] -- Server、WASM、Hybrid、自動/ストリーミング
  • [skill:dotnet-blazor-components] -- コンポーネントアーキテクチャ、JS 相互運用
  • [skill:dotnet-blazor-auth] -- ホスティングモデルをまたいだ認証
  • [skill:dotnet-uno-platform] -- Extensions、MVUX、Toolkit、テーマ
  • [skill:dotnet-uno-targets] -- Web/WASM、モバイル、デスクトップ、組み込み
  • [skill:dotnet-uno-mcp] -- ライブドキュメント用の Uno MCP サーバー
  • [skill:dotnet-maui-development] -- MAUI のパターン、現状
  • [skill:dotnet-maui-aot] -- iOS/Mac Catalyst 上の MAUI Native AOT
  • [skill:dotnet-winui] -- WinUI 3/Windows App SDK、XAML、MSIX、UWP からの移行
  • [skill:dotnet-wpf-modern] -- .NET 8 以降の WPF、Host builder、MVVM Toolkit、Fluent テーマ
  • [skill:dotnet-wpf-migration] -- WPF/WinForms から .NET 8 以降への移行、WPF から WinUI または Uno への移行、UWP からの移行
  • [skill:dotnet-winforms-basics] -- .NET 8 以降の WinForms、高 DPI、ダークモード、DI
  • [skill:dotnet-accessibility] -- クロスプラットフォームのアクセシビリティ:SemanticProperties、ARIA、AutomationPeer、テストツール
  • [skill:dotnet-ui-chooser] -- UI フレームワーク選択のための決定ツリー
13. マルチターゲティングとポリフィル planned
  • [skill:dotnet-multi-targeting] -- PolySharp、Polyfill、条件付きコンパイル
  • [skill:dotnet-version-upgrade] -- .NET 8 -> 10 -> 11 のアップグレードガイダンス
14. ローカライズと国際化 implemented
  • [skill:dotnet-localization] -- i18n:.resx、IStringLocalizer、RTL、複数形
15. パッケージ化と公開 implemented
  • [skill:dotnet-nuget-authoring] -- NuGet パッケージの作成、署名、検証、ソースジェネレーター
  • [skill:dotnet-msix] -- MSIX の作成、署名、配布、自動更新
  • [skill:dotnet-github-releases] -- リリースノート付きの GitHub Releases
16. リリース管理 implemented
  • [skill:dotnet-release-management] -- NBGV、変更履歴、SemVer 戦略
17. CI/CD implemented
  • [skill:dotnet-gha-patterns] -- 再利用可能なワークフロー、複合アクション、マトリックス
  • [skill:dotnet-gha-build-test] -- .NET のビルドとテストのワークフロー
  • [skill:dotnet-gha-publish] -- NuGet/コンテナーの公開ワークフロー
  • [skill:dotnet-gha-deploy] -- デプロイパターン(Pages、レジストリ)
  • [skill:dotnet-ado-patterns] -- ADO YAML パイプライン、Environments、Gates
  • [skill:dotnet-ado-build-test] -- ADO のビルドとテストのパイプライン
  • [skill:dotnet-ado-publish] -- ADO の公開パイプライン
  • [skill:dotnet-ado-unique] -- ADO 固有の機能:クラシックパイプライン、サービス接続
18. ドキュメント implemented
  • [skill:dotnet-documentation-strategy] -- Starlight、Docusaurus、DocFX
  • [skill:dotnet-mermaid-diagrams] -- アーキテクチャ図/シーケンス図/クラス図
  • [skill:dotnet-github-docs] -- README、CONTRIBUTING、Issue テンプレート
  • [skill:dotnet-xml-docs] -- XML ドキュメントコメント
  • [skill:dotnet-api-docs] -- API ドキュメントの生成、OpenAPI 仕様
19. エージェントのメタスキル planned
  • [skill:dotnet-agent-gotchas] -- .NET でエージェントがよく犯す間違い
  • [skill:dotnet-build-analysis] -- ビルド出力、MSBuild エラーの理解
  • [skill:dotnet-csproj-reading] -- .csproj、MSBuild プロパティの読み取りと変更
  • [skill:dotnet-solution-navigation] -- ソリューション内の移動、エントリポイントの検索
20. AI と LLM の統合
  • [skill:dotnet-semantic-kernel] -- Semantic Kernel:プラグイン、プロンプトテンプレート、メモリ、エージェント

ルーティングロジック

この決定ツリーを使って、現在のタスクに適したスキルを読み込みます。

新しいプロジェクトを開始する
  1. [skill:dotnet-version-detection] -- ターゲットフレームワークの検出または選択
  2. [skill:dotnet-project-analysis] -- 既存のソリューションがあれば、その内容を把握
  3. [skill:dotnet-project-structure], [skill:dotnet-scaffold-project] -- プロジェクトをスキャフォールド
  4. [skill:dotnet-architecture-patterns] -- 設計上の判断
  • ファイルベースのアプリ(.csproj なし、.NET 10 以降) -> [skill:dotnet-file-based-apps]
  • ビルド出力のレイアウト(UseArtifactsOutput、.NET 8 以降) -> [skill:dotnet-artifacts-output]
C# コードの記述または変更
  • モダンな C# パターン -> [skill:dotnet-csharp-modern-patterns]
  • コーディング規約 -> [skill:dotnet-csharp-coding-standards]
  • NRT -> [skill:dotnet-csharp-nullable-reference-types]
  • DI -> [skill:dotnet-csharp-dependency-injection]
  • 構成 -> [skill:dotnet-csharp-configuration]
  • Async/await、並行処理 -> [skill:dotnet-csharp-async-patterns]
  • ソースジェネレーター -> [skill:dotnet-csharp-source-generators]
  • コードレビュー、コード品質、アンチパターン -> [skill:dotnet-csharp-code-smells]
  • カスタムアナライザー/コード修正 -> [skill:dotnet-roslyn-analyzers]
  • ファイル I/O、FileStream、RandomAccess、FileSystemWatcher、MemoryMappedFile、パス処理 -> [skill:dotnet-file-io]
  • IO.Pipelines、高性能ネットワーク I/O -> [skill:dotnet-io-pipelines]
  • LINQ の最適化、IQueryable の落とし穴 -> [skill:dotnet-linq-optimization]
  • P/Invoke、ネイティブ相互運用、LibraryImport、マーシャリング -> [skill:dotnet-native-interop]
API の構築
  • Minimal API(新規作成時のデフォルト) -> [skill:dotnet-minimal-apis]
  • API のバージョン管理 -> [skill:dotnet-api-versioning]
  • OpenAPI/Swagger、Swashbuckle の移行 -> [skill:dotnet-openapi]
  • 認証、CORS、レート制限、CSP -> [skill:dotnet-api-security]
  • 入力検証、FluentValidation、Data Annotations -> [skill:dotnet-input-validation]
  • ライブラリのバイナリ/ソース互換性 -> [skill:dotnet-library-api-compat]
  • API サーフェスの追跡、PublicApiAnalyzers -> [skill:dotnet-api-surface-validation]
  • レジリエンス/HTTP クライアント -> [skill:dotnet-resilience]、[skill:dotnet-http-client]
データの操作
  • EF Core の使用 -> [skill:dotnet-efcore-patterns]、[skill:dotnet-efcore-architecture]
  • データアクセス方式の選択 -> [skill:dotnet-data-access-strategy]
  • シリアル化(JSON、Protobuf) -> [skill:dotnet-serialization]
  • ドメインモデリング、DDD パターン -> [skill:dotnet-domain-modeling]
UI の構築
  • フレームワークの選択 -> [skill:dotnet-ui-chooser]
  • アクセシビリティ(任意の UI フレームワーク) -> [skill:dotnet-accessibility]
  • Blazor -> [skill:dotnet-blazor-patterns]、[skill:dotnet-blazor-components]、[skill:dotnet-blazor-auth]
  • Uno Platform -> [skill:dotnet-uno-platform]、[skill:dotnet-uno-targets]、[skill:dotnet-uno-mcp]
  • MAUI -> [skill:dotnet-maui-development]、[skill:dotnet-maui-aot]
  • WPF -> [skill:dotnet-wpf-modern](移行: [skill:dotnet-wpf-migration])
  • WinUI -> [skill:dotnet-winui]
  • WinForms -> [skill:dotnet-winforms-basics]
テスト
  • 戦略/テスト対象 -> [skill:dotnet-testing-strategy]
  • xUnit v3 -> [skill:dotnet-xunit]
  • 統合テスト -> [skill:dotnet-integration-testing]
  • UI テスト -> [skill:dotnet-ui-testing-core] + フレームワーク固有のスキル
  • スナップショットテスト -> [skill:dotnet-snapshot-testing]
  • カバレッジ/品質 -> [skill:dotnet-test-quality]
パフォーマンス作業
  • ベンチマーク -> [skill:dotnet-benchmarkdotnet]
  • 最適化パターン -> [skill:dotnet-performance-patterns]
  • プロファイリング -> [skill:dotnet-profiling]
  • CI ベンチマーク -> [skill:dotnet-ci-benchmarking]
  • GC チューニング、メモリ管理 -> [skill:dotnet-gc-memory]
Native AOT/トリミング
  • AOT コンパイル -> [skill:dotnet-native-aot]
  • AOT を考慮したアーキテクチャ設計 -> [skill:dotnet-aot-architecture]
  • トリミング -> [skill:dotnet-trimming]
  • WASM AOT -> [skill:dotnet-aot-wasm]
CLI ツール
  • System.CommandLine -> [skill:dotnet-system-commandline]
  • CLI 設計 -> [skill:dotnet-cli-architecture]
  • 配布 -> [skill:dotnet-cli-distribution]、[skill:dotnet-cli-packaging]、[skill:dotnet-cli-release-pipeline]
  • ツールのインストール、マニフェスト、復元 -> [skill:dotnet-tool-management]
コンテナーとデプロイ
  • Dockerfile -> [skill:dotnet-containers]
  • Kubernetes/Compose -> [skill:dotnet-container-deployment]
セキュリティ
  • OWASP 準拠 -> [skill:dotnet-security-owasp]
  • シークレット管理 -> [skill:dotnet-secrets-management]
  • 暗号化 -> [skill:dotnet-cryptography]
通信パターン
  • gRPC -> [skill:dotnet-grpc]
  • リアルタイム通信(SignalR、SSE) -> [skill:dotnet-realtime-communication]
  • プロトコルの選択 -> [skill:dotnet-service-communication]
  • メッセージング、イベント駆動(Service Bus、RabbitMQ) -> [skill:dotnet-messaging-patterns]
CI/CD のセットアップ
  • GitHub Actions -> [skill:dotnet-gha-patterns], [skill:dotnet-gha-build-test], [skill:dotnet-gha-publish], [skill:dotnet-gha-deploy]
  • Azure DevOps -> [skill:dotnet-ado-patterns], [skill:dotnet-ado-build-test], [skill:dotnet-ado-publish], [skill:dotnet-ado-unique]
パッケージ化とリリース
  • NuGet の公開 -> [skill:dotnet-nuget-authoring]
  • MSIX -> [skill:dotnet-msix]
  • GitHub Releases -> [skill:dotnet-github-releases]
  • バージョン管理 -> [skill:dotnet-release-management]
マルチターゲティング
  • マルチ TFM ビルド -> [skill:dotnet-multi-targeting]
  • バージョンのアップグレード -> [skill:dotnet-version-upgrade]
ローカライズ
  • i18n/l10n -> [skill:dotnet-localization]
ドキュメント
  • ドキュメント戦略 -> [skill:dotnet-documentation-strategy]
  • 図表 -> [skill:dotnet-mermaid-diagrams]
  • GitHub のドキュメント -> [skill:dotnet-github-docs]
  • XML ドキュメント -> [skill:dotnet-xml-docs]
  • API ドキュメント -> [skill:dotnet-api-docs]
エージェントの支援
  • エージェントが .NET で誤りを犯す場合 -> [skill:dotnet-agent-gotchas]
  • ビルドエラー -> [skill:dotnet-build-analysis]
  • .csproj の読み取り -> [skill:dotnet-csproj-reading]
  • ソリューション内の移動 -> [skill:dotnet-solution-navigation]
バックグラウンド処理
  • バックグラウンドサービス、キュー -> [skill:dotnet-background-services]
  • オブザーバビリティ/ロギング -> [skill:dotnet-observability]
  • ログパイプラインの設計、集約、PII の除去 -> [skill:dotnet-structured-logging]
クラウドとオーケストレーション
  • .NET Aspire、サービスディスカバリー、AppHost -> [skill:dotnet-aspire-patterns]
AI と LLM の統合
  • Semantic Kernel、LLM オーケストレーション、プラグイン -> [skill:dotnet-semantic-kernel]
専門エージェントへのルーティング

ドメインの専門知識が役立つ複雑な分析は、専門エージェントに委任します。

  • Async/await のパフォーマンス、ValueTask、ConfigureAwait、IO.Pipelines -> dotnet-async-performance-specialist
  • ASP.NET Core ミドルウェア、リクエストパイプライン、DI のライフタイム、診断シナリオ -> dotnet-aspnetcore-specialist
  • テストアーキテクチャ、テスト種別の選択、テストデータ管理、マイクロサービスのテスト -> dotnet-testing-specialist
  • クラウドへのデプロイ、.NET Aspire、AKS、CI/CD パイプライン、分散トレーシング -> dotnet-cloud-specialist
  • 一般的なコードレビュー(正確性、パフォーマンス、セキュリティ、アーキテクチャ) -> dotnet-code-review-agent

コメント