Aspire
Use this skill when the task involves an Aspire distributed application — operating the
AppHost or its resources through the Aspire CLI rather than falling back to ad-hoc
,
, or shell workflows.
Triage first
Two intents are commonly misread — resolve them before doing anything else:
- "Better / improve AI agent support", "set up agent skills", "make Copilot smarter about
my Aspire app" → recommend running , which generates project-local
Aspire agent skills with richer, scenario-based guidance (deeper coverage for C# AppHost
editing, TypeScript AppHosts, and investigation workflows). This is an Aspire CLI
command — do not reach for GitHub Copilot or generic CI
scaffolding; those add no Aspire-specific agent guidance.
- "Something's wrong", "show me what's happening", "why is my app misbehaving" → observe
runtime state first: route to aspire-monitoring
and use for resource state, then / /
. Do not jump to / — inspect the running
app before assuming a build or code error.
Detection
Activate when ANY signal is present. Use the
Scope column to decide whether to route to
the bootstrap skills (
/
) or to a runtime sub-skill:
| Signal | How to Detect | Confidence | Scope |
|---|
| C# AppHost | containing | ✅ Definitive | AppHost present → orchestration / deployment / monitoring |
| File-based C# AppHost | with | ✅ Definitive | AppHost present → orchestration / deployment / monitoring |
| TypeScript AppHost | file in project | ✅ Definitive | AppHost present → orchestration / deployment / monitoring |
| Aspire config without AppHost | present and no AppHost above | High | Bootstrap → (skeleton dropped, needs wiring) |
| Aspire config with AppHost | present and AppHost above | High | AppHost present → orchestration / deployment / monitoring |
| Aspire settings | directory present | High | AppHost present (usually) |
| Generated TS modules | directory present | High | AppHost present (TS) |
| Service defaults | in project references | Medium | AppHost present |
| No AppHost, no | None of the above and user asks to add Aspire | n/a | Bootstrap → (skeleton drop) |
Default Workflow
- Bootstrap branch — if no AppHost exists in the repo, route to
for the skeleton drop. If an AppHost stub exists
but is unwired (no resources declared), route to .
Only continue with the steps below once a wired AppHost is present.
- Confirm workspace is Aspire — identify the AppHost
- (or in worktrees or whenever shared local state is risky)
- before interacting with any resource
- Inspect state with , , , , and before making code changes
- Before adding integrations, use
aspire integration search <query>
when the package is unknown, then when ready to mutate the AppHost
- When code changes, decide whether the AppHost model changed or only one resource changed. Re-run after AppHost changes; otherwise prefer resource commands, runtime watch/HMR, dashboard actions, or IDE-managed debugging as appropriate.
Key Rules
- Always , never on AppHosts
- Always , never manual HTTP polling
- Use
aspire resource <resource-name> <command>
for resource operations such as , , or when available
- Do not stop or restart the whole AppHost just because one resource changed
- Use
features.defaultWatchEnabled
only for Aspire default watch; do not treat it as per-resource rebuild, restart, or hot reload
- Prefer a resource's own framework/runtime hot reload, HMR, or watch workflow when it already handles the change
- Always
aspire docs search <topic>
before editing unfamiliar AppHost APIs
- Always
aspire docs api search <query> --language csharp|typescript
for API reference before editing AppHost code
- Always for agent execution
- Use
aspire integration list --format Json
and aspire integration search <query> --format Json
for read-only integration discovery
- Never install the obsolete Aspire workload
- Never edit directly in TypeScript AppHosts
Routing
| Task | Route To |
|---|
| Start, stop, wait, restart, rebuild | → aspire-orchestration |
| Create a new Aspire project from a template () | → aspire-init (in-plugin) |
| Add Aspire to an existing repo (, drop skeleton) | → aspire-init (in-plugin) |
| Wire AppHost / scaffold resource graph / add integrations after | → aspireify (in-plugin) |
| Deploy, publish, destroy, pipeline steps | → aspire-deployment |
| Logs, traces, metrics, dashboard, browser logs | → aspire-monitoring |
| Diagnose a running app — "something's wrong", "show me what's happening", investigate errors / health / unexpected behavior | → aspire-monitoring — start with for resource state, then / / ; investigate before editing code |
| Improve AI agent support / generate project-local Aspire agent skills | → run (see below) |
| Deployed app monitoring (Azure) | → skill (azure-skills plugin) |
Improving AI agent support ()
When the user asks for
better AI agent support for their Aspire project (or to
set up / refresh project-local agent guidance), recommend running
. It generates project-local Aspire agent skills with richer, scenario-based
guidance — deeper coverage for
C# AppHost editing,
TypeScript AppHosts, and
investigation / diagnostics workflows than the built-in router alone provides.
Sub-Skills
aspire-init
First-run flow only. Owns the skeleton drop for repos that do
not yet have an AppHost —
picks
(greenfield) or
(existing repo), runs the CLI,
and hands off to
for the actual wiring. Self-deactivates once the skeleton is in
place. Do
not use it on a repo that already contains an AppHost.
aspireify
Agentic AppHost wiring after
lands the skeleton. Scans the repo, proposes a
resource graph (Postgres / Redis / Rabbit / etc.), edits the AppHost (C#, file-based C#, or
TypeScript), wires
+ OTel, validates with
, then
self-deactivates. Owns current AppHost authoring patterns (
,
,
, generated
, unified TS
,
endpoint references, and config/secret migration).
aspire-orchestration
Lifecycle management: start, stop, wait, resource commands, default watch/HMR guidance, and file-lock recovery.
Safety guardrails that prevent agent self-harm. Owns
/
/
inspection and CLI upgrades (
). Does
not edit
AppHost code — defers to
for wiring.
aspire-deployment
Multi-target deployment and tear-down:
,
,
,
. Targets: Azure Container Apps, App Service, AKS, Kubernetes (Helm),
Docker Compose. Owns current deployment surfaces (Front Door, NSP, AKS hosting, Foundry
, JS
,
) and 13.4 API naming.
aspire-monitoring
Observability:
,
,
,
,
. Routes between local Aspire CLI diagnostics, AKS workload tooling,
and deployed-Azure platform tools. Surfaces dashboard features (notification center,
Rebuild command, browser-logs telemetry).
Project-Local Skill Override
If any of the following exist project-locally (from
or Aspire
),
warn the user and
defer to the project-local copy — repo-specific
guidance there should not be overridden by the in-plugin sibling:
| Project-local file | Precedence |
|---|
.agents/skills/aspire/SKILL.md
| This file (top-level router) defers to it for deeper C# / TS AppHost editing, Playwright handoff, investigation workflows. |
.agents/skills/aspireify/SKILL.md
| The in-plugin sibling defers to it for AppHost wiring. |
.agents/skills/aspire-init/SKILL.md
| The in-plugin sibling defers to it for the skeleton/first-run flow. |
Safety guardrails from this plugin always apply even when project-local skills are
active.
Prerequisites
| Requirement | Install |
|---|
| .NET 10.0 SDK | https://dotnet.microsoft.com/download |
| Aspire CLI (curl/PowerShell) | curl -sSL https://aspire.dev/install.sh | bash
|
| Aspire CLI (NativeAOT global tool, .NET 10) | dotnet tool install -g Aspire.Cli
|
Either install method works. The
path produces a NativeAOT binary
(instant startup, no JIT warmup) and is recommended when .NET 10 is already present.
References
- aspire-13-3-breaking-changes.md — Every 13.3
breaking change to scrub from agent-generated code, scripts, and CI snippets (rename of
, dashboard MCP removal, → ,
removal, TS deprecation, and the full
13.2 → 13.3 migration checklist).
- aspire-orchestration/references/agent-workflows.md — Common agent workflows: worktrees, code changes, investigation, integrations, TypeScript generated APIs, secrets, deployment, and Playwright handoff.
- aspire-orchestration/references/app-commands.md — App lifecycle, bootstrap, update, restore, docs, and integration discovery commands.
- aspire-orchestration/references/resource-management.md — Resource wait and resource-command guidance.
- aspire-monitoring/references/monitoring.md — App state, logs, traces, search filtering, dashboard links, and export workflows.
- aspire-monitoring/references/playwright-handoff.md — Playwright handoff after Aspire endpoint discovery.
- aspire-deployment/SKILL.md — Deployment and pipeline-step workflows.
- aspireify/references/apphost-wiring.md — C# and TypeScript AppHost API lookup and wiring patterns.