[release/13.3] Shorten Aspire skill description#17188
Merged
Merged
Conversation
Backport the Aspire skill metadata length fix and regression coverage for agent host description limits. Backport of #17183 to release/13.3 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 17188Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 17188" |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR backports the Aspire skill metadata shortening so aspire agent init installs an Aspire SKILL.md whose frontmatter description fits agent host limits.
Changes:
- Shortens the Aspire skill frontmatter description while keeping detailed guidance in the skill body.
- Adds regression coverage that installable bundled skill descriptions are present and no longer than 1024 characters.
- Adds small test helpers to load installable skill files and read YAML frontmatter values.
Show a summary per file
| File | Description |
|---|---|
.agents/skills/aspire/SKILL.md |
Shortens the Aspire skill description in YAML frontmatter. |
tests/Aspire.Cli.Tests/Agents/CommonAgentApplicatorsTests.cs |
Adds regression coverage for installable skill description length and helper parsing/loading code. |
Copilot's findings
- Files reviewed: 2/2 changed files
- Comments generated: 0
Contributor
|
❓ CLI E2E Tests unknown — 64 passed, 0 failed, 4 unknown (commit View all recordings
📹 Recordings uploaded automatically from CI run #25984706711 |
| --- | ||
| name: aspire | ||
| description: "Use this skill when the user is working with an Aspire distributed application and needs to operate the AppHost or its resources through the Aspire CLI: start, restart, stop, or wait on the app; inspect resources, logs, traces, docs, or health; add integrations; manage secrets or config; publish, deploy, or rerun a named pipeline step; initialize Aspire in an existing app; recover missing `.modules` files in a TypeScript AppHost; discover the right frontend URL for Playwright from Aspire state; expose custom dashboard/resource commands; or understand unfamiliar Aspire AppHost APIs in C# or TypeScript. Use it even if they describe the task in terms of an AppHost, resources, dashboard, existing app bootstrap, missing generated modules, Playwright URL discovery, C# API understanding, or local distributed app workflow without explicitly naming Aspire. Do not use it for non-Aspire .NET apps, container-only repos with no AppHost, or ordinary build and test tasks." | ||
| description: "Use when working with an Aspire distributed application: operate an AppHost or resources through the Aspire CLI; start, stop, restart, or wait for resources; inspect app state, logs, traces, docs, or health; add integrations; manage secrets/config; publish/deploy or run pipeline steps; initialize an existing app; recover TypeScript `.modules`; find frontend URLs for Playwright; expose custom dashboard/resource commands; or understand Aspire AppHost APIs in C# or TypeScript. Use even if the user says AppHost, resources, dashboard, bootstrap, Playwright URL, or local distributed app workflow without naming Aspire. Do not use for non-Aspire .NET apps, container-only repos without an AppHost, or ordinary build/test tasks." |
Member
There was a problem hiding this comment.
I'm extremely dubious this needs to be this long, but until we do focused evals we won't know for sure.
DamianEdwards
approved these changes
May 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #17183 to release/13.3
/cc @davidfowl
Customer Impact
Users running
aspire agent initcan get an AspireSKILL.mdthat agent hosts reject when the frontmatter description exceeds their 1024-character limit, causing the Aspire skill to fail to load in Codex or Copilot CLI.Testing
Validated the generated skill descriptions are under 1024 characters and ran
dotnet test --project tests/Aspire.Cli.Tests/Aspire.Cli.Tests.csproj --no-launch-profile -- --filter-class "*.CommonAgentApplicatorsTests" --filter-not-trait "quarantined=true" --filter-not-trait "outerloop=true"on the release/13.3 backport branch.Risk
Low. The change is limited to shortening bundled skill metadata and adding regression coverage; it does not change runtime app behavior or public API.
Regression?
No. Agent hosts such as Codex and Copilot CLI now enforce the existing 1024-character skill description limit.