Skip to content

[docs] Update aspire agent init docs: embedded fallback and installation summary#1099

Open
aspire-repo-bot[bot] wants to merge 2 commits into
release/13.4from
docs/aspire-17548-embedded-skills-fallback-ea123fc74de52c87
Open

[docs] Update aspire agent init docs: embedded fallback and installation summary#1099
aspire-repo-bot[bot] wants to merge 2 commits into
release/13.4from
docs/aspire-17548-embedded-skills-fallback-ea123fc74de52c87

Conversation

@aspire-repo-bot
Copy link
Copy Markdown
Contributor

Documents changes from microsoft/aspire#17548 by @IEvangelist.

Targeting release/13.4 based on the source PR milestone 13.4 (exact match).

Why this PR is needed

microsoft/aspire#17548 made two user-visible changes to aspire agent init:

  1. 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_InstalledSkill was replaced by InitCommand_InstalledSkillsSummary, InitCommand_InstalledSkillsSummarySkills, and InitCommand_InstalledSkillsSummaryLocations.

  2. Embedded skills bundle fallback added — the AspireSkillsInstaller now 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 so aspire agent init can always complete. The error message was updated accordingly from "no valid cached bundle" to "no valid cached or embedded bundle".

Documentation changes

  • Updated src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx:
    • Updated the "Apply selections" step description to show the new summary output format.
    • Added a new "Skill bundle acquisition" subsection explaining the three-tier acquisition strategy (local cache → GitHub release asset → embedded fallback).

Files modified

  • src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx (updated)

Generated by PR Documentation Check for issue #17548 · ● 12.3M ·

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>
@aspire-repo-bot aspire-repo-bot Bot added the docs-from-code Copilot initiated issue from dotnet/aspire repo label May 27, 2026
@aspire-repo-bot aspire-repo-bot Bot requested a review from davidfowl May 27, 2026 18:02
@IEvangelist IEvangelist marked this pull request as ready for review May 27, 2026 18:44
@IEvangelist IEvangelist self-requested a review as a code owner May 27, 2026 18:44
Copilot AI review requested due to automatic review settings May 27, 2026 18:44
@IEvangelist IEvangelist requested a review from mitchdenny as a code owner May 27, 2026 18:44
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/frontend/src/content/docs/reference/cli/commands/aspire-agent-init.mdx Outdated
@joperezr joperezr added this to the 13.4 milestone May 28, 2026
Copy link
Copy Markdown
Member

@IEvangelist IEvangelist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 #1Local cache is checked first. src/Aspire.Cli/Agents/AspireSkills/AspireSkillsInstaller.cs:66-71TryLoadCachedBundleAsync(cacheRoot, effectiveVersion, ...) runs before any network or embedded path; on cache hit, returns immediately.
3 Acquisition order #2GitHub 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 #3Embedded 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.

@IEvangelist IEvangelist self-requested a review May 29, 2026 16:55
- 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-from-code Copilot initiated issue from dotnet/aspire repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants