From 28a6770e1562b776596bcdaeef5decf92262e3f9 Mon Sep 17 00:00:00 2001 From: "aspire-repo-bot[bot]" <268009190+aspire-repo-bot[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 19:12:49 +0000 Subject: [PATCH 1/2] docs: update aspire agent init to reflect bundle-manifest-driven skills catalog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Documents the changes from microsoft/aspire#17553: - Skills catalog is now loaded from the bundle manifest (skill-manifest.json) instead of a hardcoded list, exposing previously invisible bundle-only skills (aspire-init, aspire-monitoring, aspire-orchestration). - Clarifies which skills come from the bundle vs. from the CLI directly. - Documents the aspireify pre-selection difference between aspire init and aspire new. - Documents the aspireSkillsRemoteFetchEnabled feature flag (default off) and the bundle resolution order (cache → GitHub release → embedded snapshot). - Updates --skills option description to list valid bundle and CLI skill names. - Adds examples for installing bundle-only skills and enabling remote fetch. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../cli/commands/aspire-agent-init.mdx | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx index 2b89972ec..a683fa50d 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx @@ -24,11 +24,27 @@ aspire agent init [options] The `aspire agent init` command initializes skill files and MCP (Model Context Protocol) server configuration for your development environment. It presents an interactive multi-step flow to configure AI coding agent support: 1. **Select skill locations** — choose where skill files are installed (Standard `.agents/skills/`, Claude Code `.claude/skills/`, GitHub Skills `.github/skills/`, OpenCode `.opencode/skill/`). The **Standard** location is the only option that defaults as pre-selected. -2. **Select skills and tools** — choose which skills to install (Aspire skill, Playwright CLI, dotnet-inspect skill). All options are pre-selected by default. +2. **Select skills and tools** — choose which skills to install. The available skills are loaded from the Aspire skills bundle manifest (`skill-manifest.json`), so the catalog automatically reflects the current set of bundle-provided skills alongside CLI-defined skills such as `playwright-cli` and `dotnet-inspect`. All skills are pre-selected by default. 3. **Apply selections** — installs the chosen skills into each selected location and sets up the MCP server connection. The command also removes skill files from any locations that were deselected, keeping your workspace clean. +### Skills catalog + +The list of available skills is driven by the resolved Aspire skills bundle. Bundle-provided skills currently include `aspire`, `aspireify`, `aspire-init`, `aspire-monitoring`, and `aspire-orchestration`. The CLI also contributes `playwright-cli` and `dotnet-inspect`, which are not part of the bundle. CLI-defined skills take precedence when their name matches a bundle skill name. + +When running `aspire init`, the `aspireify` skill is pre-selected alongside the bundle defaults because the workspace was just created. When running `aspire new` (which already produced the project skeleton), `aspireify` is not pre-selected to avoid redundant scaffolding. + +### Bundle resolution and remote fetch + +By default, the CLI resolves the skills bundle from a local cache or the embedded snapshot baked into the CLI build — no network call is made to `github.com/microsoft/aspire-skills`. To enable fetching the latest bundle release from GitHub, opt in with: + +```bash title="Aspire CLI" +aspire config set features:aspireSkillsRemoteFetchEnabled true +``` + +When remote fetch is enabled, resolution follows the order: **versioned cache → GitHub release → embedded snapshot**. When disabled (the default), the order is: **versioned cache → embedded snapshot**. Cached bundles from a previous successful fetch continue to work in either mode. + ## Options The following options are available: @@ -43,7 +59,7 @@ The following options are available: - **`--skills `** - Comma-separated list of skills to enable, such as `aspire`, `aspireify`, `playwright-cli`, or `dotnet-inspect`. Use `all` to enable all available skills or `none` to skip skill installation. When not specified, the command prompts interactively. + Comma-separated list of skills to enable. Bundle-provided skill names (such as `aspire`, `aspireify`, `aspire-init`, `aspire-monitoring`, `aspire-orchestration`) and CLI-defined skills (`playwright-cli`, `dotnet-inspect`) are all valid values. Use `all` to enable all available skills or `none` to skip skill installation. When not specified, the command prompts interactively. - @@ -77,6 +93,19 @@ The following options are available: aspire agent init --workspace-root ./src ``` +- Install specific bundle skills non-interactively: + + ```bash title="Aspire CLI" + aspire agent init --skills aspire,aspire-monitoring,aspire-orchestration --skill-locations standard + ``` + +- Enable remote bundle fetching so the CLI picks up the latest skills release from GitHub: + + ```bash title="Aspire CLI" + aspire config set features:aspireSkillsRemoteFetchEnabled true + aspire agent init + ``` + ## See also - [aspire agent command](../aspire-agent/) From 1f20c6a492553af39174c6495fb7b07afbcbba1e Mon Sep 17 00:00:00 2001 From: David Pine <7679720+IEvangelist@users.noreply.github.com> Date: Sat, 30 May 2026 03:54:46 -0500 Subject: [PATCH 2/2] Address review feedback (6 threads) - Add aspire-deployment to the bundle skill catalog and --skills docs (threads PRRT_kwDOQK_VN86Fx3FY, PRRT_kwDOQK_VN86FyWJe, PRRT_kwDOQK_VN86FyWJl) - Clarify standalone and chained default skill pre-selection (threads PRRT_kwDOQK_VN86FyWJq, PRRT_kwDOQK_VN86FyWJv) - Define the skills bundle cache and remote-fetch population behavior (thread PRRT_kwDOQK_VN86FyWJx) - Keep related agent-init guidance consistent (thread PRRT_kwDOQK_VN86Fx3FY) Verified against microsoft/aspire@11bea2eb9fbb655614bcf9814c55c88a3fdd1126 on branch release/13.4. Edited per the doc-writer skill. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../content/docs/get-started/ai-coding-agents.mdx | 6 +++--- .../reference/cli/commands/aspire-agent-init.mdx | 14 +++++++------- .../src/content/docs/whats-new/aspire-13-3.mdx | 5 +++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/frontend/src/content/docs/get-started/ai-coding-agents.mdx b/src/frontend/src/content/docs/get-started/ai-coding-agents.mdx index 357d421bd..784cff042 100644 --- a/src/frontend/src/content/docs/get-started/ai-coding-agents.mdx +++ b/src/frontend/src/content/docs/get-started/ai-coding-agents.mdx @@ -44,11 +44,11 @@ When you create a new Aspire project with `aspire new` or `aspire init`, you're | **GitHub Skills** | `.github/skills/` | VS Code / GitHub Copilot specific | | **OpenCode** | `.opencode/skill/` | OpenCode specific | -1. Select the **skills and tools** to install into those locations. All options are pre-selected by default: +1. Select the **skills and tools** to install into those locations. The catalog is loaded from the Aspire skills bundle plus CLI-defined tools. Standalone `aspire agent init` pre-selects `aspire`, `aspire-deployment`, `aspire-init`, `aspire-monitoring`, and `aspire-orchestration`; `aspireify`, `playwright-cli`, and `dotnet-inspect` remain available but opt-in. - - **Aspire skill** — teaches your AI agent how to use Aspire CLI commands + - **Bundle-provided skills** — `aspire`, `aspire-deployment`, `aspire-init`, `aspire-monitoring`, `aspire-orchestration`, and `aspireify` - **Playwright CLI** — enables browser automation for testing web resources - - **dotnet-inspect skill** — teaches your AI agent to query .NET API surfaces + - **dotnet-inspect skill** — teaches your AI agent to query .NET API surfaces when a C# AppHost is detected diff --git a/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx b/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx index a683fa50d..0cb1e4854 100644 --- a/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx +++ b/src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx @@ -24,26 +24,26 @@ aspire agent init [options] The `aspire agent init` command initializes skill files and MCP (Model Context Protocol) server configuration for your development environment. It presents an interactive multi-step flow to configure AI coding agent support: 1. **Select skill locations** — choose where skill files are installed (Standard `.agents/skills/`, Claude Code `.claude/skills/`, GitHub Skills `.github/skills/`, OpenCode `.opencode/skill/`). The **Standard** location is the only option that defaults as pre-selected. -2. **Select skills and tools** — choose which skills to install. The available skills are loaded from the Aspire skills bundle manifest (`skill-manifest.json`), so the catalog automatically reflects the current set of bundle-provided skills alongside CLI-defined skills such as `playwright-cli` and `dotnet-inspect`. All skills are pre-selected by default. +2. **Select skills and tools** — choose which skills to install. The available skills are loaded from the Aspire skills bundle manifest (`skill-manifest.json`), so the catalog automatically reflects the current set of bundle-provided skills alongside CLI-defined skills such as `playwright-cli` and `dotnet-inspect`. Standalone `aspire agent init` pre-selects `aspire`, `aspire-deployment`, `aspire-init`, `aspire-monitoring`, and `aspire-orchestration`; `aspireify`, `playwright-cli`, and `dotnet-inspect` remain available but opt-in. 3. **Apply selections** — installs the chosen skills into each selected location and sets up the MCP server connection. The command also removes skill files from any locations that were deselected, keeping your workspace clean. ### Skills catalog -The list of available skills is driven by the resolved Aspire skills bundle. Bundle-provided skills currently include `aspire`, `aspireify`, `aspire-init`, `aspire-monitoring`, and `aspire-orchestration`. The CLI also contributes `playwright-cli` and `dotnet-inspect`, which are not part of the bundle. CLI-defined skills take precedence when their name matches a bundle skill name. +The list of available skills is driven by the resolved Aspire skills bundle. Bundle-provided skills currently include `aspire`, `aspire-deployment`, `aspire-init`, `aspire-monitoring`, `aspire-orchestration`, and `aspireify`. The CLI also contributes `playwright-cli` and `dotnet-inspect`, which are not part of the bundle. CLI-defined skills take precedence when their name matches a bundle skill name. -When running `aspire init`, the `aspireify` skill is pre-selected alongside the bundle defaults because the workspace was just created. When running `aspire new` (which already produced the project skeleton), `aspireify` is not pre-selected to avoid redundant scaffolding. +Standalone `aspire agent init` and `aspire new` do not pre-select `aspireify` because they normally run after a project or template already exists. When `aspire init` chains into agent setup, it pre-selects `aspireify` alongside the bundle defaults because `aspire init` adds a new AppHost to an existing repository and `aspireify` is the natural follow-up wiring skill. ### Bundle resolution and remote fetch -By default, the CLI resolves the skills bundle from a local cache or the embedded snapshot baked into the CLI build — no network call is made to `github.com/microsoft/aspire-skills`. To enable fetching the latest bundle release from GitHub, opt in with: +By default, the CLI resolves the skills bundle from a local cache or the embedded snapshot baked into the CLI build — no network call is made to `github.com/microsoft/aspire-skills`. To enable fetching the latest bundle release from GitHub, opt in with [`aspire config set`](/reference/cli/commands/aspire-config-set/): ```bash title="Aspire CLI" aspire config set features:aspireSkillsRemoteFetchEnabled true ``` -When remote fetch is enabled, resolution follows the order: **versioned cache → GitHub release → embedded snapshot**. When disabled (the default), the order is: **versioned cache → embedded snapshot**. Cached bundles from a previous successful fetch continue to work in either mode. +When remote fetch is enabled, resolution follows the order: **versioned cache → GitHub release → embedded snapshot**. When disabled (the default), the order is: **versioned cache → embedded snapshot**. The versioned cache lives under the Aspire home cache directory at `.aspire/cache/aspire-skills/` by default, or `/cache/aspire-skills/` when `ASPIRE_HOME` is set. A successful GitHub fetch or embedded fallback writes the bundle into that cache; later runs reuse it before falling back to GitHub (when enabled) or the embedded snapshot. Stale cache entries for other bundle versions are cleaned up after seven days of inactivity, and [`aspire cache clear`](/reference/cli/commands/aspire-cache-clear/) purges the Aspire CLI caches if you need to force a fresh resolution. ## Options @@ -59,7 +59,7 @@ The following options are available: - **`--skills `** - Comma-separated list of skills to enable. Bundle-provided skill names (such as `aspire`, `aspireify`, `aspire-init`, `aspire-monitoring`, `aspire-orchestration`) and CLI-defined skills (`playwright-cli`, `dotnet-inspect`) are all valid values. Use `all` to enable all available skills or `none` to skip skill installation. When not specified, the command prompts interactively. + Comma-separated list of skills to enable. Bundle-provided skill names (such as `aspire`, `aspire-deployment`, `aspire-init`, `aspire-monitoring`, `aspire-orchestration`, and `aspireify`) and CLI-defined skills (`playwright-cli`, `dotnet-inspect`) are all valid values. Use `all` to enable all available skills or `none` to skip skill installation. When not specified, the command prompts interactively. - @@ -96,7 +96,7 @@ The following options are available: - Install specific bundle skills non-interactively: ```bash title="Aspire CLI" - aspire agent init --skills aspire,aspire-monitoring,aspire-orchestration --skill-locations standard + aspire agent init --skills aspire,aspire-deployment,aspire-monitoring,aspire-orchestration --skill-locations standard ``` - Enable remote bundle fetching so the CLI picks up the latest skills release from GitHub: diff --git a/src/frontend/src/content/docs/whats-new/aspire-13-3.mdx b/src/frontend/src/content/docs/whats-new/aspire-13-3.mdx index 74ceb4594..1920a85da 100644 --- a/src/frontend/src/content/docs/whats-new/aspire-13-3.mdx +++ b/src/frontend/src/content/docs/whats-new/aspire-13-3.mdx @@ -227,13 +227,14 @@ Steps Summary: ### Improved AI agent init -`aspire agent init` gained a **location selection** step and now installs a refreshed standard skill set: +`aspire agent init` gained a **location selection** step and now offers a bundle-driven skill catalog: - The **`aspire` skill** orchestrates Aspire apps via the CLI — starting and stopping the AppHost, inspecting resources, viewing logs and telemetry, and adding integrations. - The **`aspireify` skill** completes the one-time AppHost wiring after `aspire init` drops a skeleton into an existing repository. +- Additional bundle-provided skills cover deployment, initialization, monitoring, and orchestration workflows. - Pair these with `playwright-cli` and `dotnet-inspect` for browser testing and .NET API discovery. -Pick which skills to install with `--skills aspire,aspireify,...` or run `aspire agent init` interactively. +Pick which skills to install with `--skills aspire,aspire-deployment,aspireify,...` or run `aspire agent init` interactively. ### CLI quality-of-life