Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
microsoft avatar

Aspire

  • 151 installs
  • 74 repo stars
  • Updated July 27, 2026
  • microsoft/aspire-skills

aspire is a workflow router skill that detects Aspire AppHosts and routes CLI tasks to orchestration, deployment, monitoring, or bootstrap sub-skills.

About

The aspire skill is a workflow router for Aspire 13.4 distributed applications. It detects AppHosts via Aspire.AppHost.Sdk in csproj, file-based apphost.cs, TypeScript apphost.ts, aspire.config.json, or .aspire directories, then routes bootstrap repos without AppHosts to aspire-init or unwired stubs to aspireify. Wired AppHosts follow a default workflow: aspire start with optional --isolated, aspire wait before resource interaction, inspection via describe logs and otel traces, integration search before aspire add, and selective restarts instead of full AppHost stops. Safety guardrails forbid dotnet run on AppHosts, manual HTTP polling, editing generated .aspire/modules, and the obsolete Aspire workload. Sub-skills cover orchestration, deployment to Azure Container Apps AKS and Docker Compose, and monitoring with dashboard and Playwright handoff. Project-local .agents/skills overrides take precedence while plugin guardrails still apply. Use when operating Aspire distributed apps through the CLI rather than ad-hoc dotnet docker or shell workflows.

  • Detects C#, file-based, and TypeScript AppHosts with confidence scoring.
  • Enforces aspire start, aspire wait, and --non-interactive agent execution.
  • Routes to aspire-init, aspireify, orchestration, deployment, and monitoring sub-skills.
  • Blocks dotnet run on AppHosts and direct .aspire/modules edits.
  • Defers to project-local .agents/skills overrides when present.

Aspire by the numbers

  • 151 all-time installs (skills.sh)
  • Ranked #452 of 1,453 DevOps & CI/CD skills by installs in the Skillselion catalog
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

aspire capabilities & compatibility

Capabilities
apphost detection across c# and typescript · bootstrap routing to aspire init and aspireify · cli safety guardrails for agent execution · sub skill delegation for orchestration deploymen · project local skill override precedence handling
Works with
azure · docker · kubernetes
Use cases
devops · ci cd · orchestration
npx skills add https://github.com/microsoft/aspire-skills --skill aspire

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs151
repo stars74
Last updatedJuly 27, 2026
Repositorymicrosoft/aspire-skills

How should an agent operate an Aspire distributed app without unsafe dotnet run or ad-hoc shell workflows?

Route Aspire 13.4 distributed app tasks through the top-level Aspire CLI router with detection, safety guardrails, and sub-skill delegation.

Who is it for?

Developers and agents working on Aspire 13.4 distributed apps with AppHost detection and CLI lifecycle tasks.

Skip if: Skip for non-Aspire .NET projects, container-only repos without AppHost, or ordinary build and test tasks.

When should I use this skill?

User mentions Aspire AppHost, aspire CLI, distributed app start deploy, or aspire dashboard logs.

What you get

Correct sub-skill routing with aspire start, aspire wait, and guardrail-compliant CLI operations.

Files

SKILL.mdMarkdownGitHub ↗

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 dotnet, docker, or shell workflows.

Detection

Activate when ANY signal is present. Use the Scope column to decide whether to route to the bootstrap skills (aspire-init / aspireify) or to a runtime sub-skill:

SignalHow to DetectConfidenceScope
C# AppHost.csproj containing Aspire.AppHost.Sdk✅ DefinitiveAppHost present → orchestration / deployment / monitoring
File-based C# AppHostapphost.cs with #:sdk Aspire.AppHost.Sdk✅ DefinitiveAppHost present → orchestration / deployment / monitoring
TypeScript AppHostapphost.ts file in project✅ DefinitiveAppHost present → orchestration / deployment / monitoring
Aspire config without AppHostaspire.config.json present and no AppHost aboveHighBootstrap → aspireify (skeleton dropped, needs wiring)
Aspire config with AppHostaspire.config.json present and AppHost aboveHighAppHost present → orchestration / deployment / monitoring
Aspire settings.aspire/ directory presentHighAppHost present (usually)
Generated TS modules.aspire/modules/ directory presentHighAppHost present (TS)
Service defaultsAspire.ServiceDefaults in project referencesMediumAppHost present
No AppHost, no `aspire.config.json`None of the above and user asks to add Aspiren/aBootstrap → aspire-init (skeleton drop)

Default Workflow

0. Bootstrap branch — if no AppHost exists in the repo, route to `aspire-init` for the skeleton drop. If an AppHost stub exists but is unwired (no resources declared), route to `aspireify`. Only continue with the steps below once a wired AppHost is present. 1. Confirm workspace is Aspire — identify the AppHost 2. aspire start (or aspire start --isolated in worktrees or whenever shared local state is risky) 3. aspire wait <resource> before interacting with any resource 4. Inspect state with aspire describe, aspire otel logs, aspire logs, aspire otel traces, and aspire export before making code changes 5. Before adding integrations, use aspire integration search <query> when the package is unknown, then aspire add <package> when ready to mutate the AppHost 6. When code changes, decide whether the AppHost model changed or only one resource changed. Re-run aspire start after AppHost changes; otherwise prefer resource commands, runtime watch/HMR, dashboard actions, or IDE-managed debugging as appropriate.

Key Rules

  • Always aspire start, never dotnet run on AppHosts
  • Always aspire wait <resource>, never manual HTTP polling
  • Use aspire resource <resource-name> <command> for resource operations such as stop, start, or rebuild 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 --non-interactive 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 .aspire/modules/ directly in TypeScript AppHosts

Routing

TaskRoute To
Start, stop, wait, restart, rebuildaspire-orchestration
Create a new Aspire project from a template (aspire new)aspire-init (in-plugin)
Add Aspire to an existing repo (aspire init, drop skeleton)aspire-init (in-plugin)
Wire AppHost / scaffold resource graph / add integrations after aspire initaspireify (in-plugin)
Deploy, publish, destroy, pipeline stepsaspire-deployment
Logs, traces, metrics, dashboard, browser logsaspire-monitoring
Deployed app monitoring (Azure)azure-diagnostics skill (azure-skills plugin)

Sub-Skills

aspire-init

First-run flow only. Owns the skeleton drop for repos that do not yet have an AppHost — picks aspire new <template> (greenfield) or aspire init (existing repo), runs the CLI, and hands off to aspireify 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 aspire init lands the skeleton. Scans the repo, proposes a resource graph (Postgres / Redis / Rabbit / etc.), edits the AppHost (C#, file-based C#, or TypeScript), wires Aspire.ServiceDefaults + OTel, validates with aspire start, then self-deactivates. Owns current AppHost authoring patterns (AddNextJsApp, AddViteApp, WithBrowserLogs(), generated .aspire/modules/, unified TS withEnvironment, 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 aspire ps / aspire describe / --include-hidden inspection and CLI upgrades (aspire update --self). Does not edit AppHost code — defers to aspireify for wiring.

aspire-deployment

Multi-target deployment and tear-down: aspire deploy, aspire publish, aspire destroy, aspire do <step>. Targets: Azure Container Apps, App Service, AKS, Kubernetes (Helm), Docker Compose. Owns current deployment surfaces (Front Door, NSP, AKS hosting, Foundry AddPromptAgent, JS PublishAs*, --pipeline-log-level) and 13.4 API naming.

aspire-monitoring

Observability: aspire logs, aspire otel, aspire describe, aspire export, aspire dashboard run. 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 aspire agent init or Aspire aspire init), 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 filePrecedence
.agents/skills/aspire/SKILL.mdThis file (top-level router) defers to it for deeper C# / TS AppHost editing, Playwright handoff, investigation workflows.
.agents/skills/aspireify/SKILL.mdThe in-plugin aspireify sibling defers to it for AppHost wiring.
.agents/skills/aspire-init/SKILL.mdThe in-plugin aspire-init 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

RequirementInstall
.NET 10.0 SDKhttps://dotnet.microsoft.com/download
Aspire CLI (curl/PowerShell)`curl -sSL https://aspire.dev/install.sh \
Aspire CLI (NativeAOT global tool, .NET 10)dotnet tool install -g Aspire.Cli

Either install method works. The dotnet tool install 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 --log-level, dashboard MCP removal, NameOutputNameOutputReference, AddAndPublishPromptAgent removal, TS withEnvironment* deprecation, and the full 13.2 → 13.3 migration checklist).

Related skills

FAQ

What does the aspire skill produce?

Routed CLI workflows with detection, safety guardrails, and delegation to the correct Aspire sub-skill.

When should I use the aspire skill?

When an Aspire AppHost is detected and tasks involve start, deploy, monitoring, or bootstrap via the Aspire CLI.

Is the aspire skill safe to install?

Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.