.github/skills/apm-package-author/SKILL.md
Create, maintain, and troubleshoot APM (Agent Package Manager) manifests for distributing GitHub Copilot skills, agents, and MCP servers. USE FOR: creating apm.yml root manifests; creating packages/* sub-manifests; bundling MCP server config into a package; installing packages from a GitHub repo; troubleshooting APM install errors (missing .vscode/mcp.json, Codex CLI warnings, cached installs). DO NOT USE FOR: general GitHub Copilot customization questions; creating SKILL.md files (use skill-creator); writing MCP server code.
npx skillsauth add thomast1906/github-copilot-agent-skills apm-package-authorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
APM (docs · GitHub) distributes GitHub Copilot skills, agents, and MCP servers as versioned packages installable with one command. Use this skill to create manifests, wire MCP dependencies, or troubleshoot installs.
Use this skill when you need to:
apm.yml root manifest or packages/* sub-manifest for a GitHub Copilot skills/agents repository.vscode/mcp.json, Codex CLI warnings, 404 errors, cached installs)Do not use this skill for:
SKILL.md files (use the skill-creator skill)Identify which task applies and jump to that section:
curl -sSL https://aka.ms/apm-unix | sh # macOS / Linux
irm https://aka.ms/apm-windows | iex # Windows (PowerShell)
Verify: apm --version
Choose based on how consumers will install:
| Pattern | When to use |
|---|---|
| Single-concern package packages/<topic>/apm.yml | One cohesive domain (e.g. terraform, diagramming, architect). Preferred. |
| Meta-package | One package references other packages — lets users apm install everything at once. Good for a repo root apm.yml. |
For a typical skills repo, use one packages/<name>/ per domain plus a root apm.yml that pulls them all in. Read references/manifest-patterns.md for complete YAML examples of both patterns.
mkdir -p packages/<name>/.apm
touch packages/<name>/.apm/.gitkeep # APM writes its install cache here — directory must exist
The .apm/.gitkeep placeholder is mandatory — without the directory APM may fail to write the install cache.
apm.yml manifestMinimum required fields:
name: my-package-name # kebab-case, must be unique
version: 1.0.0
description: >
One sentence describing what this bundle installs.
author: github-username
license: MIT
target: vscode # always set for VS Code projects
dependencies:
apm:
- owner/repo/.github/agents/my-agent.agent.md
- owner/repo/.github/skills/my-skill
Key rules:
apm: paths must be full owner/repo/... virtual paths — relative paths do not work.# cost-optimization excluded — WIPtarget: vscode controls apm compile output format only — it does NOT suppress Codex CLI warnings about HTTP MCP servers (those are cosmetic; the install still succeeds).If skills require MCP servers, add an mcp: block. Read references/mcp-config.md for transport types, Docker examples, and the Azure MCP exception.
apm.ymlAdd the new package to the root manifest so apm install owner/repo installs everything:
dependencies:
apm:
- owner/repo/packages/my-new-package
- owner/repo/packages/existing-package
mkdir -p /tmp/apm-test/.vscode
cd /tmp/apm-test
apm install owner/repo/packages/<name>#your-branch --runtime vscode
Verify that .vscode/mcp.json was created (if the package has MCP deps) and that skills/agents landed in .github/. Then clean up:
rm -rf /tmp/apm-test
cd your-project
mkdir -p .vscode # required if 'code' is not on your PATH
apm install owner/repo/packages/<name> --runtime vscode
--runtime vscode tells APM to write .vscode/mcp.json even if VS Code isn't detected. Without it APM looks for code on PATH or an existing .vscode/ directory — if neither exists, MCP config is silently skipped.
apm install owner/repo/packages/<name>#branch-name --runtime vscode
apm install owner/repo/packages/<name> --update --runtime vscode
apm install owner/repo --runtime vscode # uses root apm.yml
| Symptom | Cause | Fix |
|---|---|---|
| .vscode/mcp.json not created | No .vscode/ dir and code not on PATH | mkdir -p .vscode then re-run, or add --runtime vscode |
| Codex CLI warnings about HTTP MCP servers | Codex is stdio-only; HTTP transports are incompatible with it | Cosmetic — install still succeeds. target: vscode does not suppress this. |
| 404 / package not found | Wrong path or branch not pushed to remote | Check path matches directory name exactly; confirm branch is pushed |
| Stale / cached install | APM caches installs locally | Add --update to force re-fetch |
| apm compile output wrong format | Missing target: field | Add target: vscode to the manifest |
| Skills installed but not appearing in Copilot | .github/ location not registered in copilot-instructions.md | Ensure the project's copilot-instructions.md references the skills directory |
packages/<name>/apm.yml created with all required fields and target: vscodepackages/<name>/.apm/.gitkeep created and committedapm: deps use full owner/repo/... virtual pathsmcp: block added if any skills require MCP serversapm.yml updated to reference the new package--runtime vscode in a clean temp directorydevelopment
Assess Azure architectures against Well-Architected Framework (WAF) five pillars - Reliability, Security, Cost Optimization, Operational Excellence, and Performance Efficiency. Provide scores and recommendations.
devops
Safe Terraform provider upgrades with automatic resource migration, breaking change detection, and state management using moved blocks. Use when upgrading provider versions, handling removed resources, migrating deprecated syntax, or performing major version upgrades.
development
Comprehensive skills for creating, compiling, debugging, and managing GitHub Agentic Workflows (gh-aw) with best practices and common patterns
tools
Create and edit diagrams on a live Excalidraw canvas using the Excalidraw MCP server. Use when asked to draw, diagram, sketch, or visualise architectures, workflows, data flows, system designs, flowcharts, mind maps, or sequence diagrams. Trigger phrases include "create an excalidraw", "draw me a diagram", "make a flowchart", "visualise the system", "diagram this architecture", "export to PNG/SVG". Can export to PNG, SVG, .excalidraw file, or a shareable URL. Do NOT use for Draw.io or diagrams.net output (use drawio-mcp-diagramming instead).