Docs menu

Use with APM

Read a Microsoft APM manifest into pegboard.yaml, and how the two tools fit together.

APM is a package manager for agent configuration. It resolves the packages a project declares in apm.yml (instructions, prompts, agents, hooks, and skills) and compiles them for each agent.

Pegboard reconciles. It reads what each agent already has, shows a plan against those live files, writes only what it owns, and detects drift. The two don’t compete. Keep apm.yml for packages, and use Pegboard when you want plan, state, and drift across agents.

Import an apm.yml

pegboard import --from apm.yml

This adds what Pegboard can manage to the scope’s pegboard.yaml. It doesn’t apply anything, so review the result with pegboard plan.

In apm.yml In pegboard.yaml
owner/repo, owner/repo#v1.0.0, owner/repo/sub/path The same source. Pegboard reads APM’s shorthand as is
gitlab.com/acme/repo#main The same source
{git, path, ref} url//path?ref=ref
{git: owner/repo, skills: [a, b]} owner/repo@a and owner/repo@b
./local/path The path, relative to pegboard.yaml
An MCP with registry: false An MCP. ${VAR}, ${{ secrets.X }}, and <X> become ${env:X}

Pegboard installs the skills inside APM packages, meaning the folders with a SKILL.md. Instructions, prompts, agents, and hooks stay with apm.

What’s skipped

Everything skipped is listed with a reason:

skipped: mcp io.github.github/github-mcp-server: registry servers are resolved by apm; declare it with registry: false, or add it with `pegboard add mcp`
skipped: contoso/prompts/review.prompt.md: a single prompt or agent file is not a skill
Entry Why
MCPs from the registry APM resolves them. Add the server with pegboard add mcp instead
Marketplace and registry packages APM resolves them
Semver ranges such as ^1.2.0 Pin a tag or commit instead
Single .prompt.md or .agent.md files They aren’t skills
${input:…} Pegboard has no prompt for values. Use ${env:…}