Use more packages
Browse the consumer guide: search marketplaces, pin versions, manage transitive dependencies, and wire MCP servers into every harness. Dependencies
You will install APM, scaffold a project, install a package, and run an agent script. Five minutes, four commands. This is the consumer path — you are running someone else’s package, not authoring one.
If you want to publish a package, jump to the pack and distribute guide. If you are rolling APM out across an org, start with the governance guide.
macOS / Linux:
curl -sSL https://aka.ms/apm-unix | shWindows (PowerShell):
irm https://aka.ms/apm-windows | iexVerify:
apm --versionFor Homebrew, Scoop, pip, air-gapped mirrors, or signed-archive install, see Installation.
apm init my-agentcd my-agentapm init writes one file — the manifest:
my-agent/+-- apm.ymlOpen apm.yml. It looks like this:
name: my-agentversion: 1.0.0description: APM project for my-agentauthor: your-handle# Which agent platforms to deploy to (uncomment to pin):# targets:# - copilot# - claude
dependencies: apm: [] mcp: []includes: autoscripts: {}Three fields matter day one:
dependencies.apm — the packages you install. Empty until step 3.dependencies.mcp — MCP servers, wired into every detected harness.scripts — optional named shell commands you run with the
experimental apm run (see Run scripts).includes: auto ships any local .apm/ content you author. The
targets: block is commented out so APM auto-detects the harnesses
present in your repo (.github/, .claude/, .cursor/, etc.). For the
full schema, see Package anatomy.
apm install microsoft/apm-sample-package#v1.0.0 --target copilot--target copilot is shown explicitly because a fresh project has no
harness markers yet. Once any .github/ content exists, APM detects it
and the flag becomes optional.
Output (abridged):
[+] microsoft/apm-sample-package #v1.0.0 @fb285168|-- 2 prompts integrated -> .github/prompts/|-- 1 agents integrated -> .github/agents/|-- 1 instruction(s) integrated -> .github/instructions/|-- 1 skill(s) integrated -> .agents/skills/[+] github.com/github/awesome-copilot/skills/review-and-refactor|-- Skill integrated -> .agents/skills/[*] Installed 2 APM dependencies in 1.4s.Three things were written:
my-agent/+-- apm.yml # updated: package added under dependencies.apm+-- apm.lock.yaml # NEW: pins resolved sources + content hashes+-- apm_modules/ # NEW: package cache (gitignored automatically)+-- .agents/skills/ # NEW: harness-neutral skills+-- .github/ # NEW: prompts, agents, instructions for CopilotThe package’s transitive dependency (review-and-refactor) was
resolved and installed in the same pass. apm.lock.yaml records the
exact commit and content hash for both, so every teammate who runs
apm install after cloning gets the identical tree.
Your project is ready: dependencies pinned, primitives deployed, every detected harness configured. The package’s prompts and skills are already discoverable from your AI tool of choice — start a Copilot chat, open Claude Code, or invoke the agent from any harness that read its instructions on disk.
Use more packages
Browse the consumer guide: search marketplaces, pin versions, manage transitive dependencies, and wire MCP servers into every harness. Dependencies
Author your own
Build a primitive others can install — skills, prompts, agents, plugins — and pack it for distribution. Pack and distribute
Govern installs at scale
Ship apm-policy.yml, gate CI with apm audit --ci, and pin a
private registry for your org.
Governance guide
If something failed along the way, check Troubleshooting.