Source · docs
APM: Agent Package Manager
Summary
APM is Microsoft's open-source dependency manager for agent context, described as "like
npm for agent context". A project lists the skills, prompts, instructions, plugins, and
MCP servers it needs in apm.yml, and apm install deploys them to each developer's
coding agents, with a lockfile that pins exact content. The docs page has no publication
date; it is noted now because GitHub added Dependabot support for it on 2026-11-03.
Key points
-
Install the CLI: Homebrew, a shell script (Linux/macOS), PowerShell (Windows), pip, or Scoop; see the install page linked from the docs.
-
Use it: add an
apm.ymlat the repo root and runapm install, or install one package directly withapm install <owner>/<repo>. Example manifest:name: my-project version: 1.0.0 dependencies: apm: - anthropics/skills/skills/frontend-design - github/awesome-copilot/plugins/context-engineering#v2.1 - git: https://gitlab.com/acme/coding-standards.git path: instructions/security ref: v2.0 mcp: - io.github.github/github-mcp-server -
Targets: GitHub Copilot, Claude Code, Codex, Cursor, Gemini, OpenCode, Windsurf, Kiro, and Grok Build; each gets the parts it supports.
-
Sources: GitHub, GitLab, Azure DevOps, Bitbucket, Gitea, or any git server, pinned to a tag or ref. MCP servers can be named by registry ID.
-
Lockfile:
apm.lock.yamlpins versions and content hashes so a fresh clone gets byte-identical content. -
Security: every install scans for hidden Unicode, MCP servers are checked against policy, and an
apm-policy.ymlcan enforce rules at install time. -
Good for: sharing one set of team skills and MCP servers across several agents and keeping them updated, now including Dependabot PRs (see Dependabot APM support).
Why it matters
Skills and MCP servers have been installed per agent and per machine. APM treats them as versioned, locked project dependencies, which makes them reproducible and reviewable like code.