Skip to content

Configure native agent plugins and independent assets - #20287

Merged
Ella Hathaway (ellahathaway) merged 0 commit into
ellahathaway-hook-only-maintenancefrom
ellahathaway-native-agent-plugin-setup
Oct 13, 2026
Merged

Ella Hathaway (ellahathaway) merged 0 commit into
ellahathaway-hook-only-maintenancefrom
ellahathaway-native-agent-plugin-setup

Conversation

@ellahathaway

@ellahathaway Ella Hathaway (ellahathaway) commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Description

Replace copied Aspire skills with native plugin/catalog registration for Copilot, Claude Code, and OpenCode. aspire agent init offers independent assets, explicit agent/scope selection, portable MCP configuration, user hooks, and read-only local-conflict warnings.

Depends on #20283. Fixes #20247.

Follow-ups: Doctor/explicit --migrate integration is removed from this PR and preserved on ellahathaway-local-skills-migration. ellahathaway-agent-registration-maintenance is a starting branch for #19726, not an implementation. No new PRs were opened. No ownership/version inference or automatic local-file cleanup.

Merge gate: Keep draft until microsoft/aspire-skills#72 is complete and released-main SHA, hook hashes, and catalogs are synchronized. 0.0.3 has shipped; embedded hook provenance remains truthful 0.0.2 pending verification.

Validation: Cleaned core: 828 passed, 23 platform/privilege skips; CLI/tests and E2E builds passed. Known Windows-incompatible Bash and two Unix self-update cases excluded. Docker E2E execution and updated UI recording remain pending.

Checklist

Review checklist
  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No

@ellahathaway Ella Hathaway (ellahathaway) added the breaking-change Issue or PR that represents a breaking API or functional change over a prerelease. label Sep 21, 2026
@ellahathaway
Ella Hathaway (ellahathaway) added this pull request to stack #20288 September 21, 2026 19:03
@github-actions

This comment has been minimized.

@ellahathaway
Ella Hathaway (ellahathaway) force-pushed the ellahathaway-native-agent-plugin-setup branch from 16e3309 to 5df3977 Compare September 21, 2026 19:29
@github-actions

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 20287

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 20287"

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@ellahathaway
Ella Hathaway (ellahathaway) force-pushed the ellahathaway-native-agent-plugin-setup branch from cc50a67 to 03e87ea Compare September 23, 2026 20:49
@ellahathaway

Ella Hathaway (ellahathaway) commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor Author

Setup checklist

  • Add a plugin risk warning before confirmation and for explicit/noninteractive opt-in.
  • Show the direct-install alternative from microsoft/aspire-skills, including when users decline the plugin.
  • Keep shared read-only local-skill discovery for the selected agents' project and user locations. Names identify possible collisions, not verified ownership/version.
  • Warn about local conflicts during agent init without modifying existing files.
  • Localize and cover core setup, warnings, independent assets, selected agents/scope, no-write behavior, and offline registration outcomes.

Follow-up branches (no new PRs)

  • ellahathaway-local-skills-migration: the existing doctor guidance and optional aspire update --migrate integration, adapter, migration-specific guidance, help/localization, documentation, and tests are moved here and removed from Configure native agent plugins and independent assets #20287. This branch is based on the cleaned core and reconstructs the verified pre-split source tree. Local files remain intact; registration does not prove client acquisition or activation.
  • ellahathaway-agent-registration-maintenance: a starting branch at the cleaned core for Maintain agent registrations during aspire update #19726; no implementation yet. The work is maintaining known existing native registrations after an ordinary successful aspire update, preserving pins, disabled choices, policy, unrelated settings, and unattended behavior. Reuse native configuration services, report unchanged/updated/blocked/failed outcomes, and leave payload delivery to the client. Do not rerun interactive init, enable additional clients/assets, or depend on local SKILL.md collisions.

The doctor/explicit migration flow is an optional transition aid, not the fix for #19726. Neither follow-up has a PR; the existing #20283 -> #20287 native stack is unchanged.

Scope decisions

  • Do not infer legacy ownership/version. The previous CLI copied Markdown without a destination ownership/version receipt. Matching names or historical content cannot distinguish CLI copies from intentional standalone installs or authorize removing customized supporting files.
  • Do not automatically retire local copies. Offline registration does not verify acquisition or activation. Users verify replacement content, review duplicate files manually, and retain customizations. Direct installation remains supported.
  • Keep outcomes advisory. Configured/skipped/disabled results never authorize cleanup. No historical fingerprint catalog, cleanup state machine, or client-cache probing is introduced.

Remaining merge/validation work

  • Complete microsoft/aspire-skills#72 and verify released-main catalog publication.
  • Synchronize actual released-main SHA, telemetry hook hashes/provenance, and native catalog endpoints. v0.0.3 has shipped; embedded hook provenance remains truthful 0.0.2 until synchronization is verified.
  • Run Docker CLI E2E scenarios; local Docker execution has been unavailable.
  • Update the UI recording.

#20287 remains draft. It keeps core native setup and local-conflict warnings; doctor/explicit migration and #19726 maintenance are outside its scope.

@github-actions

Copy link
Copy Markdown
Contributor

Tests selector

Selects the full PR test matrix + all PR-gated jobs (ALL) — run-all fallback: '.devcontainer/devcontainer.json' is neither Layer-1-owned nor matched by a Layer 2 rule


Selection computed for commit 1edda7d.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change Issue or PR that represents a breaking API or functional change over a prerelease.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Redesign agent init around independent assets and selected clients

1 participant