aspire-orchestration

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

1|Updated Jul 7, 2026
One-click install
npx skills add https://github.com/seiggy/maf-copilot-studio-demo --skill aspire-orchestration-seiggy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: aspire-orchestration
Source: https://github.com/seiggy/maf-copilot-studio-demo/tree/main/.agents/skills/aspire-orchestration
Command: npx skills add https://github.com/seiggy/maf-copilot-studio-demo --skill aspire-orchestration-seiggy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? AI agents working in Aspire projects frequently cause file locks (MSB3491, CS2012), port conflicts, and orphaned processes by using dotnet run or dotnet build against a running AppHost. This Skill enforces safe Aspire CLI workflows so agents start, wait, inspect, and stop orchestrated apps without breaking the developer environment. ## Core Features & Use Cases - Safe Lifecycle Management: Enforces aspire start, aspire wait, aspire stop, and aspire ps instead of dotnet run, curl polling loops, or manual process kills. - File-Lock Recovery: Provides a deterministic recovery sequence (aspire stop first) for MSB3491/CS2012 build errors caused by Aspire holding output assemblies. - Project Detection & Routing: Detects C#, file-based C#, and TypeScript AppHosts via SDK references, apphost.ts, aspire.config.json, and .aspire/ directories, then hands off wiring work to sibling skills like aspireify. - Use Case: An agent hits "error MSB3491: Could not write to output file" while building a service. Instead of deleting bin/ or declaring the project broken, it runs aspire stop, rebuilds, and restarts with aspire start. ## 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 app from an AI agent?

Use `aspire start` to run the AppHost in the background, never `dotnet run`. In git worktrees, add `--isolated` to avoid port conflicts, and add `--non-interactive` since agents lack an interactive terminal.

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

Run `aspire stop` first — Aspire is holding locks on the resource's output assemblies. Then rebuild or use `aspire resource <name> rebuild`, and restart with `aspire start` if AppHost code changed. Never delete bin/obj or kill processes.

Should I use aspire run or aspire start?

Use `aspire start` for AI agents and automation because it runs detached in the background. Use `aspire run` only for interactive human sessions since it blocks the terminal with the dashboard.

How do I detect whether a project uses Aspire?

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

Why does aspire ps not show my proxy or migration containers?

Aspire hides proxies, helper containers, and migration jobs by default. Run `aspire ps --include-hidden --format Json` to see the full resource graph before assuming the AppHost is misconfigured.

When should I not restart the whole Aspire AppHost?

When only one resource's implementation changed, prefer resource-scoped commands like `aspire resource <name> rebuild` or the framework's own watch/HMR workflow. Full restarts are only needed for AppHost model or configuration changes.