mcpField
D
dotnet

dotnet

github.com/managedcode開発50071 回インストール2 日前に更新
リポジトリ

dotnet について

C# と .NET のプロジェクト向けに、作業の振り分けを行う汎用スキルです。リポジトリのフレームワーク、SDK、テストツールを検出して専門スキルへ引き継ぎ、横断的な作業の分類や実際のワークフローに沿った検証も扱います。

主な機能

  1. 01プロジェクト技術スタックの検出
  2. 02専門スキルへの振り分け
  3. 03横断的な作業の分類
  4. 04実際のテスト・品質手順の適用
  5. 05テスト診断出力の制限

活用シーン

  1. 01.NET 作業に適したスキルの選定
  2. 02複数フレームワークのリポジトリでの振り分け
  3. 03テストやコード品質作業の分類
  4. 04プロジェクト設定に沿った変更検証

インストール

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

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

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

manifest.json
references/
detection.md
routing.md

詳細

.NET ルータースキル

次の場合に適用

  • ユーザーが、より限定されたフレームワークやツールを指定せずに、一般的な .NET のサポートを求めている
  • 複数のアプリモデルやフレームワークが混在するリポジトリで、C# または .NET コードの実装、デバッグ、レビュー、リファクタリングを行う
  • コードを編集する前に、どの .NET スキルがタスクを担当するか判断する
  • プラットフォーム作業と、テスト、品質、アーキテクチャ、セットアップ、移行に関する判断が組み合わさったタスク

ワークフロー

  1. まず実際のスタックを特定します。
    • ターゲットフレームワークと SDK のバージョン
    • LangVersion
    • プロジェクト SDK とワークロードの手掛かり
    • ホスティングモデルとアプリのエントリーポイント
    • テストフレームワークとランナー
    • アナライザー、フォーマッター、カバレッジ、CI の品質ゲート
  2. スタックが判明したら、できるだけ早く最も対象を絞ったプラットフォームスキルに振り分けます。
    • Web:aspnet-core、minimal-apis、web-api、blazor、signalr、grpc
    • クラウドとホスティング:aspire、azure-functions、worker-services
    • デスクトップとクライアント:maui、wpf、winforms、winui
    • データと分散処理:entity-framework-core、entity-framework6、orleans
    • AI とエージェント:semantic-kernel、microsoft-extensions-ai、microsoft-agent-framework、mlnet、mixed-reality、または.NET での AI エージェントの構築にあるアーキテクチャガイダンス
    • レガシー:legacy-aspnet、wcf、workflow-foundation
  3. 横断的な作業は、一般的な .NET のアドバイスに含めず、関連する補完スキルに振り分けます。
    • プロジェクトの初期設定やリポジトリ構成:project-setup、architecture
    • .NET と Node が混在するリポジトリでのフロントエンドアセットの分析:eslint、stylelint、htmlhint、webhint、biome、sonarjs、metalint、chous
    • コードレビュー:code-review
    • 言語機能:modern-csharp
    • テスト:tunit、xunit、mstest
    • フォーマット、アナライザー、カバレッジ、CI:format、code-analysis、quality-ci、coverlet、reportgenerator
    • 保守性とアーキテクチャルール:complexity、netarchtest、archunitnet
  4. 複数の専門スキルが該当する場合は、まずユーザーから見える動作に最も近いスキルを優先し、次に品質またはツールのスキルを追加します。
  5. より対象を絞ったスキルが見つかったら、このスキルだけで対応を終えないでください。このスキルの役割は分類して引き継ぐことであり、一般的な助言の寄せ集めにすることではありません。
  6. コードを変更した後は、一般的な .NET コマンドではなく、リポジトリで実際に使われているビルド、テスト、品質確認の手順で検証します。

テスト出力の予算

  • ネイティブランナーの進捗表示と ANSI を有効にしてください(対応する MTP/TUnit ランナーでは --progress on --ansi on を指定)。ローカルでは PTY を使用してください。進捗表示の再描画をモデルのコンテキストに再出力しないでください。MTP のスイッチを VSTest に使わず、検出したランナーのフラグを使用してください。
  • 警告とエラーに加え、最終サマリーを 1 つ(件数、所要時間、終了コード)だけ表示してください。テスト側で管理するコンソールログのログレベルは Warning に設定し、Information/Debug/Trace、成功したテストの出力、想定内の否定テストのノイズはコンテキストに含めないでください。ビルドの詳細度を下げても、アプリケーションログはフィルタリングされません。
  • 失敗、クラッシュ、起動エラー、タイムアウトが発生した場合は、失敗したテスト/リソース、根本例外、関連するスタックフレームを表示してください。重複を除去し、診断ツールの各応答は 80 行または 8 KiB のいずれか小さい方を上限としてください。stdout/stderr、ホストログ、ブラウザーコンソールの履歴、DOM/HTML、TRX、クラッシュアーティファクトを自動的にすべて出力してはいけません。
  • 必要な診断情報は、サイズ制限付きまたはローテーションするアーティファクトに保存し、リンクしてください。失敗/相関を正確に検索し、範囲を限定した抜粋を読み、ログ全体は読まないでください。出力が多い場合はツールに渡す前に取得・フィルタリングし、実際の終了コードを保持して、切り詰めた場合はその旨を明記してください。実際の動作状況を監視してください。出力がないだけではハングした証拠になりません。

現在のアップストリームに関するメモ

  • .NET 10.0.11 ランタイムと ASP.NET Core のリリースは、サービス更新です。cgroup-v2 のメモリ制限、Mono のネイティブライブラリ解決、Windows のディレクトリ列挙、WASM の AOT/遅延読み込みの起動、スレッド静的初期化、Blazor の永続化された回路、OpenAPI 生成など、影響を受ける経路を再テストしてください。デフォルトではアーキテクチャを変更しないでください。
  • .NET SDK 10.0.400 は、現在の 10.0.4xx 機能バンドです。ファイルベースのアプリのサポートが拡張され、dotnet test で Microsoft.Testing.Platform によるプロジェクト/ソリューションの選択が追加され、dotnet new のオプション区切り文字として @ が使用可能になり、ハードリンクと最新状態のビルドに関する修正も含まれています。新しいバンドを採用する前に、global.json、ワークロード、CI イメージが揃っていることを確認してください。
  • 2026 年 8 月の「Build apps with .NET」Learn 概要は、Web、クラウド、デスクトップ、モバイル、AI、コンソールの各ワークロードを幅広く案内しています。アプリモデルが判明したら、project-setup、worker-services、aspnet-core、modern-csharp、または別の専門性の高いスキルに引き継いでください。

ルーティングのヒューリスティック

  • リポジトリに Microsoft.NET.Sdk.Web が含まれている場合は、汎用の .NET ではなく、Web スキルから始めてください。
  • リポジトリに Blazor、Razor Components、または .razor ページが含まれている場合は、blazor を優先してください。
  • .NET ソリューション内に package.json、フロントエンドの lint 設定、またはブラウザー向けアセットのパイプラインが含まれている場合は、汎用の .NET ではなく、専用のフロントエンド分析スキルを優先してください。
  • リポジトリに Orleans のグレインまたはサイロホスティングが含まれている場合は、orleans を優先してください。
  • リポジトリの主な作業がアナライザー、CI、またはカバレッジに関するものである場合は、品質スキルを直接使用してください。
  • ユーザーが「どのスキルを使えばよいですか?」と尋ねた場合は、最も適合する範囲の狭いスキルを回答し、その理由を短い一文で説明してください。
  • それより範囲の狭いスキルが見つからない場合は、ここで作業を続け、専門分野が不足していることを明示してください。

提供内容

  • タスクに適した専門スキルの選択
  • 検出されたスタックに沿い、リポジトリと互換性のあるコードまたはドキュメントの変更
  • 実際のプロジェクトランナーと品質ツールチェーンに即した検証の証拠

検証

  • 選択した下流スキルがカタログに実在すること
  • プラットフォームに関する前提が、プロジェクトの SDK、パッケージ、ワークロードと一致すること
  • 可能な限り、汎用的なガイダンスがフレームワーク固有のガイダンスに置き換えられていること
  • ランナー固有のコマンドが不適切に混在していないこと
  • 言語またはランタイムの機能が、リポジトリでサポートされている場合にのみ使用されていること

ドキュメント

参考資料

  • references/routing.md - アプリモデルの分類や横断的な関心事への対応を含む、タスクを専門的な .NET スキルに振り分けるための判断ツリー。
  • references/detection.md - SDK の種類、ターゲットフレームワーク、ワークロード、言語バージョン、アプリモデルを特定するためのプロジェクト検出パターン。
  • .NET で AI エージェントを構築する - .NET 上で本番環境向けの AI エージェントを構築するためのアーキテクチャと実装パターン。
  • .NET AI エージェント開発チーム - 本番環境向け .NET AI エージェントのエンジニアリングおよびデリバリーサービス。

コメント