aspire-orchestration

Manages Aspire AppHost lifecycle and recovers from file locks, port conflicts, and orphaned processes.

Updated Jul 2, 2026
One-click install
npx skills add https://github.com/ecoDriverltd/FoundryAgentsExperiment --skill aspire-orchestration-ecodriverltd
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: aspire-orchestration
Source: https://github.com/ecoDriverltd/FoundryAgentsExperiment/tree/main/.agents/skills/aspire-orchestration
Command: npx skills add https://github.com/ecoDriverltd/FoundryAgentsExperiment --skill aspire-orchestration-ecodriverltd

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? AI agents working in Aspire projects frequently cause file locks, port conflicts, and orphaned processes by running dotnet run or dotnet build against a live AppHost. This Skill enforces safe Aspire CLI workflows so agents start, stop, wait on, and inspect distributed applications without corrupting builds or leaving stray processes behind. ## Core Features & Use Cases - Lifecycle Management: Start, stop, wait, and inspect Aspire AppHosts and individual resources using the Aspire CLI (aspire start, aspire stop, aspire wait, aspire ps, aspire describe). - Error Recovery: Diagnose and recover from file-lock errors (MSB3491, CS2012), port conflicts, JSON parsing issues, and hidden-resource confusion with documented recovery sequences. - Project Detection: Identify C#, file-based C#, and TypeScript AppHosts via SDK references, apphost.ts, aspire.config.json, and .aspire/ directories. - Use Case: An agent editing a .NET service while Aspire is running hits error MSB3491. Instead of concluding the build is broken, the Skill directs it to run aspire stop, rebuild, then aspire start again. ## Quick Start Ask the agent to start your Aspire app in the background and wait until the API resource is ready before running any requests against it.

Frequently Asked Questions about aspire-orchestration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I start an Aspire AppHost from an AI agent?▼

Use `aspire start` to run the AppHost in the background, which is the preferred mode for agents. Avoid `dotnet run` on the AppHost and avoid `aspire run`, which blocks the terminal in foreground interactive mode.

How do I fix MSB3491 or CS2012 file lock errors in Aspire?▼

These errors mean Aspire is running and holding locks on build outputs. Run `aspire stop` first to release the locks, then rebuild or restart with `aspire start`. Never delete bin/obj folders or kill dotnet processes manually.

How do I detect whether a project uses Aspire?▼

Look for `Aspire.AppHost.Sdk` in a .csproj file, an `apphost.cs` file with a `#:sdk Aspire.AppHost.Sdk` directive, an `apphost.ts` file, or `aspire.config.json` and `.aspire/` directories in the project root.

Should I use curl polling to check if an Aspire resource is ready?▼

No. Use `aspire wait <resource>` instead, since Aspire tracks readiness through health checks and dependency ordering. Curl polling can produce false results because ports are dynamically assigned and dependencies may not be ready.

Why are some resources missing from aspire ps output?▼

The CLI filters out hidden resources such as proxies, helper containers, and migration jobs by default. Add `--include-hidden` to `aspire ps` or `aspire describe` to see the full resource graph when debugging.

When should I restart the whole AppHost versus a single resource?▼

Restart the full AppHost only when AppHost code, integrations, or resource definitions change. If only one service's implementation changed, use resource-scoped commands like `aspire resource <name> rebuild` or rely on the framework's hot reload.