docs: clarify APM's role for skills, unify plugins-as-packages, add ADO sub-path examples, state stability#1127
Merged
danielmeppiel merged 5 commits intomainfrom May 4, 2026
Conversation
…DO sub-path examples, state stability Customer feedback audit: - guides/skills.md: defer SKILL.md authoring to agentskills.io as the canonical source; APM owns distribution and governance, not the spec. Replace marketing copy with concrete responsibilities. Fix the apm init tree (only writes apm.yml; never scaffolds .apm/). Replace emoji checkmarks/x with ASCII bracket form per encoding rule. - guides/plugins.md: drop the misleading 'Three modes' framing. A plugin is a package, a package is a plugin. apm pack now emits plugin-compatible bundles by default. The only authoring choice is whether to keep an apm.yml. - guides/pack-distribute.md: add 'Without APM: what you give up' section. Frame as a value tradeoff (npx vs npm), not a doc gap. Cover the consumer install path for Claude Code and other hosts. - guides/dependencies.md, getting-started/authentication.md: add ADO sub-path + ref examples in shorthand and object form. Note the failing https://...repo/sub-path URL form (parser bug, tracked separately). - introduction/what-is-apm.md: explicit Stability section. State apm run / apm runtime as experimental, vendor-neutral (npx-for-npm analog), not currently prioritized. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Section was renamed to 'Authoring workflow' in this PR; update the self-link in plugins.md and the cross-link from anatomy-of-an-apm-package.md to the new slug. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Doc-only update that responds to customer-reported documentation gaps by clarifying APM's role (package manager vs skill spec), unifying the plugins-as-packages story, documenting Azure DevOps sub-path usage, and explicitly labeling stable vs experimental surfaces.
Changes:
- Reframe skills docs to defer
SKILL.mdauthoring guidance to agentskills.io and correctapm initscaffolding expectations. - Clarify that plugins and packages are the same artifact in APM, and add a “Without APM” consumer trade-off section for plugin bundles.
- Add Azure DevOps sub-path + ref examples (and document the currently-broken full-
https://.../<sub-path>URL shape) plus a Stability section in the intro docs.
Show a summary per file
| File | Description |
|---|---|
| docs/src/content/docs/introduction/what-is-apm.md | Adds a Stability section distinguishing stable vs experimental CLI/integrations. |
| docs/src/content/docs/guides/skills.md | Reframes skills positioning, corrects apm init output tree, replaces emoji markers with ASCII status tokens. |
| docs/src/content/docs/guides/plugins.md | Removes “three modes” framing and states plugins/packages are the same artifact with apm.yml as the main authoring choice. |
| docs/src/content/docs/guides/pack-distribute.md | Adds “Without APM: what you give up” section describing consumer trade-offs and host placement notes. |
| docs/src/content/docs/guides/dependencies.md | Adds Azure DevOps object-form sub-path + ref example and a note documenting the unsupported full-URL-with-sub-path form. |
| docs/src/content/docs/getting-started/authentication.md | Adds Azure DevOps _git sub-path + ref install example. |
Copilot's findings
- Files reviewed: 7/7 changed files
- Comments generated: 3
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This was referenced May 4, 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.
TL;DR
A user audited our docs against actual behavior and surfaced six high-signal gaps. This PR ships all six in a single doc-only change. A separate parser-fix issue tracks the one underlying bug we found while validating the ADO write-up (full https URL with sub-path).
Why
User feedback (verbatim quotes; full thread held privately):
3a. "The documentation states that plugins can be used 'instead of' packages... Are plugins simply an alternative distribution format, or do they have strategic advantages over packages?"
3b. "There is no documented mechanism explaining how such users are expected to load or activate the plugin after extraction... no native loader outside APM."
apm run/ Copilot CLI runtime)Maintainer reframings applied:
apm packdefaults to plugin-compatible output. The "Three modes" framing in the docs was the bug.npx skills addvsapm install.apm runis fully experimental, vendor-neutral, modeled onnpx-for-npm, not currently prioritized.What
guides/skills.mdapm inittree (no.apm/is scaffolded). Replace emoji checkmarks with[+]/[x].guides/plugins.mdapm.yml.guides/pack-distribute.mdguides/dependencies.mdhttps://...repo/sub-pathURL form is rejected today.getting-started/authentication.mdintroduction/what-is-apm.mdapm run, Cowork).Validation
DependencyReference.parse()andparse_from_dict()for all 8 URL shapes:dev.azure.com/...[/sub-path][#ref]) and all object-form variants.https://dev.azure.com///_git//with or without#refraisesInvalid Azure DevOps repository path. Tracked in a separate issue with a failing test as repro.docs/only - no source or CI touched.docs/; the project encoding rule scopes Markdown to.github/).How to test
Verify the user-cited contradictions are gone:
guides/skills.mdno longer claimsapm initcreates.apm/.guides/plugins.mdno longer frames plugins as an alternative to packages.guides/pack-distribute.mdnow answers "what happens for non-APM consumers."guides/dependencies.mddocuments ADO sub-path + ref with the exact two forms that work today.Trade-offs
guides/skills.md. We lose some aspirational framing but stop overlapping with what agentskills.io owns.guides/plugins.mdrather than restructuring the whole page; downstream sections (Overview, Installation, Examples) still reflect the old framing in places and can be tightened in a follow-up.https://...sub-pathwarning links to the parser-fix issue but ships before the fix lands. We can drop the warning in a follow-up PR once the parser is fixed.Related
https://URL form with sub-path (filed as a separate issue with a failing test as repro).