.NET Aspireのaspire agent init更新まとめ:dotnet-inspect非表示化とPlaywright選択変更の確認ポイント

2026年5月5日付の .NET documentation update で確認すべきポイントは、aspire agent init のスキル選択が「より安全な初期状態」に寄せられたことです。非.NET AppHost、たとえばTypeScript AppHostでは dotnet-inspect が候補に出にくくなり、Playwright CLIも最初から選択済みにならず、必要な人が明示的に選ぶ挙動へ変わります。AIコーディングエージェント向けにAspireを設定しているチームは、aspire agent init の再実行時に「どのスキルが表示され、どれが選択済みか」を確認するのが最優先です。関連PRは2026年4月2日にmainへマージされ、Aspire 13.3の変更ログにも aspire agent init のスキル事前選択修正として反映されています。(GitHub)

目次

.NET documentation updateで変わったこと

今回の更新は、.NET AspireのAIエージェント連携を初期化する aspire agent init に関する修正です。aspire agent init は、AIコーディングエージェント向けのスキルファイルとMCPサーバー設定をワークスペースへ作成・更新するコマンドです。公式リファレンスでは、スキルのインストール先、利用するスキル、MCPサーバー構成などを対話的に設定するコマンドとして説明されています。(Aspire)

特に重要なのは、次の3点です。

変更点以前の問題変更後の見方確認すべき人
dotnet-inspect の表示条件TypeScriptなど非.NET AppHostでも候補に出ることがあったC#/.NET AppHost向けのスキルとして扱われ、非.NET AppHostでは表示対象から外れるTypeScript AppHost、Python/Javaなどポリグロット構成の利用者
Playwright CLIの初期選択ユーザーが不要でも選択済みになり、手動で外す必要があったデフォルトでは選択されず、必要な場合に明示的に選ぶE2Eテストやブラウザ自動化を使うチーム
言語検出の共通化呼び出し元ごとに検出ロジックが分散し、結果のばらつきが起きやすかったLanguageInfo などの共通ヘルパーに寄せられ、再帰的なAppHost検出も整理モノレポ、深いディレクトリ構成、CIで利用するチーム

PRの説明では、dotnet-inspect は applicableLanguages: [KnownLanguageId.CSharp] を持つスキルとして扱われ、ワークスペースに.NET AppHostがある場合だけ提示されるようになっています。また、Playwright CLIと dotnet-inspect は isDefault: false へ変更され、ユーザーが明示的に選ぶ「オプトイン」の扱いになりました。(GitHub)

aspire agent initとは何を設定するコマンドか

aspire agent init は、AspireプロジェクトをAIコーディングエージェントで扱いやすくするための初期化コマンドです。GitHub Copilot、Claude Code、OpenCodeなどの環境に対して、Aspireの操作ルールを教えるスキルファイルや、実行中のAspireアプリケーションへ接続するMCP設定を作成します。(Aspire)

たとえば、AIエージェントが次のような作業をしやすくなります。

  • aspire start や aspire describe を使ってアプリケーションの状態を確認する
  • リソース一覧、ログ、分散トレースを参照して不具合の原因を探す
  • Aspireのホスティング統合やドキュメントを検索する
  • 必要に応じてブラウザ自動化や.NET API調査を補助する

MCPサーバーは aspire agent mcp コマンドを通じて起動され、AIエージェントがリソース状態、コンソールログ、構造化ログ、トレース、ドキュメント検索などへアクセスできる仕組みです。公式ドキュメントでは、list_resources、list_console_logs、list_traces、search_docs などのツールが提供されると説明されています。(Aspire)

変更点:非.NET AppHostではdotnet-inspectが表示されにくくなる

今回の修正で最も分かりやすい影響は、非.NET AppHostで dotnet-inspect が候補に出ないようになった点です。

dotnet-inspect は、.NETライブラリやNuGetパッケージのメタデータ、API、依存関係、バージョン差分などを調査するCLIツールです。READMEでは、.NET向けに docker inspect や kubectl describe のような確認を行うツールとして説明されています。(GitHub)

つまり、TypeScript AppHostやPython AppHostのプロジェクトで dotnet-inspect が最初から提示されると、次のような混乱が起きます。

起きやすい混乱実務上の影響
TypeScript中心のプロジェクトなのに.NET API調査スキルが出る初心者が「このスキルも必要なのか」と誤解しやすい
不要なスキルファイルがリポジトリに追加されるレビュー時に「なぜ入ったのか」が分かりにくい
AIエージェントが関係の薄い調査方法を選ぶデバッグや調査の方向がずれる可能性がある
CIやセットアップ手順に不要な依存が増える初期化手順が複雑になる

今回の修正では、SkillDefinition に ApplicableLanguages が追加され、言語に依存するスキルは検出されたAppHost言語に応じて候補へ出すかどうかが判断されます。言語が検出できない場合、言語制限のあるスキルは除外される設計です。(GitHub)

対応が必要なケース

TypeScript AppHostを使っているチームは、aspire agent init を再実行したときに dotnet-inspect が不要な候補として表示されないかを確認してください。すでに過去の実行で .agents/skills/dotnet-inspect/ や .github/skills/dotnet-inspect/ などが追加されている場合は、チームの方針に合わせて残すか削除するかを判断します。

判断基準はシンプルです。

プロジェクト構成dotnet-inspect の扱い
C# AppHostで、.NET APIやNuGetパッケージ調査をAIに任せたい有効化を検討する
TypeScript AppHostのみ原則として不要
TypeScript AppHostだが、配下に.NETサービスが多いAppHost言語だけでなく、調査対象の.NETコードがあるかで判断する
非.NET中心で、.NET SDKも標準導入していない入れないほうが運用が簡単

変更点:Playwright CLIはデフォルト選択されない

もう一つの重要な変更は、Playwright CLIが初期状態で選択済みにならない点です。PRの差分では、Playwright CLIの isDefault が true から false に変更されています。E2Eテスト側のコメントにも、Playwrightと dotnet-inspect は事前選択されなくなり、デフォルトではAspireスキルのみが選択されることが示されています。(GitHub)

これは小さなUI変更に見えますが、実務では意味があります。Playwright CLIはブラウザ自動化やWebリソースのテストに役立つ一方、すべてのAspireプロジェクトで必要とは限りません。不要なプロジェクトで最初から選ばれていると、依存関係の追加、セットアップ時間、CIでの失敗要因が増えます。

Playwright CLIを選ぶべきケース

Playwright CLIは、次のようなプロジェクトでは有効化を検討できます。

利用シーン選ぶ理由
フロントエンド付きのWebアプリをAspireで動かしているAIエージェントに画面操作や確認を任せやすい
E2EテストをすでにPlaywrightで運用している既存のテスト資産と相性がよい
ログだけでは再現しにくいUI不具合を調査したいブラウザ操作を含む検証に向いている
開発環境でブラウザ自動化を許可しているチームのセキュリティ・運用ルールに合う

反対に、API中心のバックエンド、バッチ処理、社内ツールの初期検証段階では、最初は選ばずに進めても問題ありません。必要になった時点で aspire agent init を再実行し、Playwright CLIを追加するほうが設定を小さく保てます。

変更点:言語検出ロジックが共通化された

今回の修正では、スキル選択だけでなく、AppHost言語を検出するための内部処理も整理されています。PRでは、LanguageInfo に MatchesFile、FindInDirectory、MatchesPattern などの共通ヘルパーが追加され、DefaultLanguageDiscovery、TestLanguageDiscovery、DotNetSdkCheck が同じコードパスを使うようになったと説明されています。(GitHub)

また、言語検出には2種類の使い分けがあります。

検出方法探す範囲向いている用途
DetectLanguageAsync直下ディレクトリのみ既存の挙動を保ちたい軽量な検出
DetectLanguageRecursiveAsync最大5階層まで再帰的に検索AppHostが src/MyAppHost/MyAppHost.csproj のように下位フォルダにある構成

実務で重要なのは、aspire agent init が workspaceRoot を基準にAppHost言語を検出する点です。PRでは、作業ディレクトリではなく workspaceRoot に対して再帰的な検出を行うことが説明されています。モノレポや src/ 配下にAppHostを置く構成では、この修正によって候補スキルの判定がより自然になります。(GitHub)

ただし、再帰検索には深さの上限があります。差分では DetectionRecurseLimit が5階層として定義されています。AppHostを極端に深い階層へ置いている場合は、--workspace-root をAppHostに近い場所へ指定するほうが安全です。(GitHub)

影響範囲:誰が確認すべきか

今回の変更は破壊的変更というより、初期設定の誤選択を減らす修正です。ただし、AIエージェント用の設定ファイルはリポジトリに残るため、過去に生成済みのファイルがあるチームは確認が必要です。

対象者・チーム影響推奨アクション
TypeScript AppHost利用者dotnet-inspect が不要候補として出にくくなる再実行後のスキル一覧と既存ファイルを確認
C# AppHost利用者dotnet-inspect は候補になり得るが、デフォルト選択ではない必要なら明示的に選択
Playwrightを使うWeb開発チームPlaywright CLIが自動選択されない初期化時に明示的に選ぶ
CIで aspire agent init を実行するチーム事前選択の前提が変わる--skills などで明示指定する
モノレポ利用者AppHost検出結果がスキル候補に影響する--workspace-root の指定を見直す
既存のAIエージェント設定を持つチーム古いスキルファイルが残っている可能性.agents/skills/ などを棚卸しする

特に注意したいのは、「以前は何も考えずEnterで進めればPlaywrightや dotnet-inspect も入っていた」という運用です。今後は、必要なスキルを選ぶ前提で手順書やオンボーディング資料を更新してください。

移行・設定確認の手順

以下の順番で確認すると、不要なスキルを残さず、安全に更新できます。

手順コマンド・確認内容目的
1aspire --version利用しているAspire CLIのバージョンを確認する
2aspire agent init --workspace-root .ワークスペースルートを明示して初期化する
3表示されるスキル候補を確認AppHost言語に合わない候補が出ていないか確認する
4.agents/skills/、.github/skills/、.claude/skills/ を確認不要な古いスキルファイルが残っていないか見る
5CIやセットアップ手順を確認--skills all のような指定が不要なスキルを入れていないか確認する

公式リファレンスでは、--workspace-root、--skill-locations、--skills、--non-interactive などのオプションが説明されています。対話式に頼らず再現性を高めたい場合は、これらのオプションで明示的に設定するのが実務向きです。(Aspire)

例:標準のスキル配置だけを設定する

aspire agent init --skill-locations standard

標準の .agents/skills/ を中心に運用したい場合の例です。複数のAIエージェントを使っていないチームでは、最初からすべての配置先を選ぶより、標準の配置に寄せたほうがレビューしやすくなります。

例:C# AppHostでdotnet-inspectを明示的に有効化する

aspire agent init --skills aspire,dotnet-inspect

.NET APIやNuGetパッケージの調査をAIエージェントに任せたいC# AppHostでは、dotnet-inspect を明示的に選びます。非.NET AppHostでは候補や指定可否が実際のCLIバージョンによって異なる可能性があるため、コマンドのヘルプと実行結果を確認してください。

例:Web UI検証のためにPlaywright CLIを追加する

aspire agent init --skills aspire,playwright-cli

フロントエンド付きのAspireアプリで、AIエージェントにブラウザ操作やE2Eテスト支援をさせたい場合の例です。Playwright CLIは今後「必要なときに選ぶ」扱いになるため、手順書にはこの明示指定を入れておくと迷いにくくなります。

既存リポジトリで見るべきファイル

aspire agent init を過去に実行している場合、以下のようなファイルやディレクトリがリポジトリに存在することがあります。

場所確認ポイント
.agents/skills/aspire/Aspireスキルの標準配置。基本的には残してよい
.agents/skills/dotnet-inspect/非.NET AppHostで不要なら削除候補
.github/skills/aspire/GitHub Copilot向けに使っているか確認
.claude/skills/aspire/Claude Codeを使っている場合に必要
.opencode/skill/aspire/OpenCodeを使っている場合に必要
.vscode/mcp.jsonVS Code向けMCP設定。チームで共有するか判断
.mcp.jsonClaude Codeなどで使うMCP設定。共有範囲に注意

公式ドキュメントでは、aspire agent init が検出したAI開発環境向けに .vscode/mcp.json、.mcp.json、~/.copilot/mcp-config.json、opencode.jsonc などを作成または更新する例が示されています。MCP設定はAIエージェントがローカルのAspire CLIを起動するための設定なので、リポジトリに含めるファイルと個人環境に置くファイルを分けて考える必要があります。(Aspire)

CI・非対話モードでの注意点

CIやセットアップスクリプトで aspire agent init を使う場合、対話式の「その場で選ぶ」前提を避けてください。今回の変更により、デフォルト選択の内容が以前と変わるため、Enter任せの操作を自動化していると期待したスキルが入らない可能性があります。

確認すべきポイントは3つです。

確認項目失敗しやすい例対策
スキル指定Playwright CLIが入る前提で後続処理を書いている--skills aspire,playwright-cli のように明示する
ワークスペースルートCIの作業ディレクトリがリポジトリ直下ではない--workspace-root を指定する
AppHostの階層AppHostが深い階層にあり検出されないAppHostに近いディレクトリをルートにする

また、--skills all は便利ですが、最小構成を保ちたいチームでは慎重に使うべきです。特に非.NET AppHostやUIテストを使わないプロジェクトでは、all よりも必要なスキルを列挙するほうが、将来の変更にも強くなります。

よくある疑問

TypeScript AppHostではdotnet-inspectを完全に使えないのか

必ずしも「使えない」という意味ではありません。今回の変更は、AppHost言語に合わないスキルを初期候補として出さないためのものです。TypeScript AppHostでも、配下にC#サービスや.NETライブラリがあり、AIエージェントにAPI調査をさせたい場合は、プロジェクト構成やCLIの実際の挙動を見て判断します。

ただし、標準のオンボーディングでは、TypeScript AppHostに dotnet-inspect を入れる必要性は低いでしょう。初心者向けの手順では「C# AppHostまたは.NET API調査が必要な場合のみ追加」と書くのが安全です。

Playwright CLIを選ばないとAIエージェントは使えないのか

使えます。Playwright CLIはブラウザ自動化やWeb UI検証を支援するための追加スキルです。Aspire自体の操作、リソース確認、ログ調査、トレース確認にはAspireスキルやMCPサーバーが中心になります。MCPサーバーは、実行中のAspireアプリケーションの状態、ログ、トレース、コマンド実行などをAIエージェントへ提供します。(Aspire)

既存のdotnet-inspectスキルファイルは自動で消えるのか

aspire agent init は、選択から外したスキル配置を整理する仕組みを持っていますが、既存ファイルの扱いは実行時の選択、配置先、CLIバージョンに依存します。更新後は、コマンドを再実行したうえで、Gitの差分とスキルディレクトリを目視確認してください。

実務では、次のように判断すると安全です。

状況判断
C# AppHostで.NET API調査に使う残す
TypeScript AppHostで使っていない削除候補
どのエージェントも参照していない削除候補
チームの手順書に用途が書かれていない用途を確認してから整理

公式ドキュメントと実際のCLI表示が違う場合はどうするか

更新直後は、リファレンス、ヘルプ、変更ログ、実際のCLI挙動に一時的なズレが残ることがあります。今回のようにスキルのデフォルト選択が変わる更新では、最終的には実際に使っているAspire CLIで aspire agent init --help と aspire agent init の表示を確認してください。公式リファレンスはコマンドの概要とオプション確認に使い、スキルの初期選択は利用中バージョンの実行結果で判断するのが確実です。(Aspire)

チームで更新するときの実務チェックリスト

今回の変更は、コード修正よりも「開発環境の初期化手順」に影響します。以下をチーム内で確認しておくと、オンボーディングやCIでのつまずきを減らせます。

チェック項目確認内容
AppHost言語C#、TypeScript、Python、Javaなど、どのAppHostを使っているか
必要なスキルAspireのみでよいか、Playwright CLIや dotnet-inspect も必要か
スキル配置先.agents/skills/ を標準にするか、.github/skills/ や .claude/skills/ も使うか
MCP設定.vscode/mcp.json や .mcp.json を共有するか
CI設定--skills と --workspace-root を明示しているか
古いファイル不要な dotnet-inspect スキルが残っていないか
手順書「Playwrightは必要な場合に選ぶ」と書かれているか

まず取るべき行動

この更新で最初にやるべきことは、aspire agent init を最新のAspire CLIで再実行し、表示されるスキル候補と初期選択を確認することです。C# AppHostなら dotnet-inspect を使うかどうか、Web UI検証が必要ならPlaywright CLIを入れるかどうかを判断します。TypeScriptなど非.NET AppHostでは、不要な dotnet-inspect がリポジトリに残っていないかを確認してください。

設定を小さく保つなら、基本はAspireスキルとMCP設定から始め、Playwright CLIや dotnet-inspect は目的が明確になってから追加するのがおすすめです。今回の .NET documentation update は、AIエージェント連携を「全部入り」ではなく「プロジェクトに合う最小構成」で始めるための修正と捉えると、移行判断がしやすくなります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次