[docs] Update aspire agent init docs: embedded fallback and installation summary#1099
Conversation
Documents changes from microsoft/aspire#17548: - aspire agent init now shows a consolidated installation summary instead of per-skill messages - Added documentation for the three-tier skill bundle acquisition strategy (local cache → GitHub release asset → embedded fallback) so users know the command works in air-gapped/offline environments Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates the aspire agent init CLI documentation to reflect recent behavior changes in the Aspire CLI (installation output summary and skills bundle acquisition fallback behavior).
Changes:
- Updates the “Apply selections” step to describe the new single installation summary output and adds an example.
- Adds a “Skill bundle acquisition” subsection documenting the cache → GitHub release asset → embedded fallback sequence.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
IEvangelist
left a comment
There was a problem hiding this comment.
Docs accuracy review
Source of truth: microsoft/aspire@cc4b7eaf (release/13.4, fetched 2026-05-29)
PR head: 9d92524b90a7633a8fa1450010f40b4e2cea3f48
| Verdict | Count |
|---|---|
| verified | 4 |
| verified-with-nuance | 2 |
| unverifiable | 0 |
| contradicted | 0 |
Verdict: COMMENT. The acquisition order is exact and the summary header is the right text. Two presentational nuances on the example output worth surfacing: the actual terminal output is emoji-prefixed (🤖) and the Skills: / Locations: lines are indented under the header.
Doc-tester (UX) notes
The acquisition-order section gives a user the right mental model for what happens when aspire agent init runs offline or behind a proxy — and it lines up with the source. The example output block is close to faithful but a user comparing it to their actual terminal will see the 🤖 prefix and a leading indent that the doc strips out. PR #1087 (also open) shows the emoji-prefixed form on the same page; consider keeping the two consistent.
Verified claims (with evidence)
| # | Claim | Evidence |
|---|---|---|
| 1 | "On completion, the command prints a single installation summary..." | src/Aspire.Cli/Commands/AgentInitCommand.cs:364 calls DisplayInstalledSkillsSummary(installedSkills) once after the per-skill install loop. Helper at :496-511. |
| 2 | Acquisition order #1 — Local cache is checked first. | src/Aspire.Cli/Agents/AspireSkills/AspireSkillsInstaller.cs:66-71 — TryLoadCachedBundleAsync(cacheRoot, effectiveVersion, ...) runs before any network or embedded path; on cache hit, returns immediately. |
| 3 | Acquisition order #2 — GitHub release asset is tried next, with verification, and cached locally. | :75-80 InstallFromGitHubAsync(...); :138-156 GitHub artifact attestation via IGitHubArtifactAttestationVerifier.VerifyAsync(...); :161-164 CacheArchiveAsync(...) stores the validated extract under <aspire-home>/cache/aspire-skills/{version}. |
| 4 | Acquisition order #3 — Embedded fallback is used when neither the cache nor GitHub is available; "ensuring that aspire agent init can always complete successfully". |
:87-91 InstallFromEmbeddedAsync(...) runs only after the cache+GitHub paths returned Unavailable/Failed. Body at :183-251 opens the embedded archive shipped in the CLI binary (EmbeddedAspireSkillsBundleProvider), validates SHA-256, and caches it. Air-gapped / offline use is exactly the scenario this branch was designed for. |
Verified-with-nuance
| # | Claim | Nuance |
|---|---|---|
| 5 | Example output block: Installed Aspire agent skills: / Skills: aspire, playwright-cli / Locations: .agents/skills. |
Strings are correct (AgentCommandStrings.resx:111-118), but the actual output is 🤖 Installed Aspire agent skills: (per AgentInitCommand.cs:510 DisplayMessage(KnownEmojis.Robot, message)) and the Skills: / Locations: lines are indented with two spaces in the message (:507-508), which Spectre's Grid then visually aligns under the first character after the emoji (ConsoleInteractionService.cs:459-485). PR #1087 reproduces this correctly on the same page. |
| 6 | Implicit: a successful run with Skills: aspire, playwright-cli and Locations: .agents/skills is achievable. |
Realizable when the user picks only aspire + playwright-cli in the Standard location. Because both aspireify and aspire-deployment are also isDefault: true (SkillDefinition.cs:25,36,72), this output would not appear from accepting the defaults — the user has to actively deselect those two. Worth a note if the example is meant to represent a default run. |
- PRRT_kwDOQK_VN86FMnh-: Use a titled text output block and match the robot-prefixed summary output. - PRRT_kwDOQK_VN86FMnif: Scope the embedded fallback claim to bundle availability. Verified against microsoft/aspire@565af53 on branch release/13.4. Edited per the doc-writer skill. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Documents changes from microsoft/aspire#17548 by
@IEvangelist.Targeting
release/13.4based on the source PR milestone13.4(exact match).Why this PR is needed
microsoft/aspire#17548 made two user-visible changes to
aspire agent init:Installation output changed — instead of printing a separate message for each installed skill, the command now emits a single summary at the end ("Installed Aspire agent skills: / Skills: ... / Locations: ..."). The resx key
InitCommand_InstalledSkillwas replaced byInitCommand_InstalledSkillsSummary,InitCommand_InstalledSkillsSummarySkills, andInitCommand_InstalledSkillsSummaryLocations.Embedded skills bundle fallback added — the
AspireSkillsInstallernow has a third acquisition source: a validated snapshot of the skills bundle embedded directly in the CLI binary. When both the local cache and the GitHub release asset are unavailable (air-gapped / offline environments), the embedded bundle is used soaspire agent initcan always complete. The error message was updated accordingly from "no valid cached bundle" to "no valid cached or embedded bundle".Documentation changes
src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx:Files modified
src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx(updated)