field-inventory.md's apm-agent-allowlist and validate.sh's runtime check already included source_keys as a 4th allowed field, and the apm-agent.md template already instructed authors to add it for provenance tracking — but SKILL.md (x2), README.md, ADR-0016, and deployment-modes.md still described the allowlist as name/description/ model, "nothing else". The template itself even contradicted its own source_keys guidance with a header claiming "ONLY the three fields below — full stop" directly above it. Updates all six locations to document source_keys as the intentional 4th field, resolving the contradiction.
assets/
templates/
Annotated agent definition templates copied by scripts/new-agent.sh when scaffolding a new agent.
claude-code.md— Claude Code agent definition template (project/user scope). Includes all supported frontmatter fields (required and optional) with inline guidance comments andFILL IN:placeholders.copilot.agent.md— Copilot CLI agent definition template (CLI format, project/user scope). Excludes cloud/IDE-only fields (target,user-invocable,disable-model-invocation,mcp-servers) and Claude Code-only fields. Uses Copilot tool aliases (execute,read,edit,search,agent,web).apm-agent.md— Vendor-neutral APM agent definition template (plugin/APM scope). Onlyname,description, optionalmodel, and optionalsource_keys(provenance metadata, not a runtime field) in frontmatter — notoolsand no Claude-only fields, sinceapm compilecopies frontmatter verbatim to both the Claude Code and Copilot CLI targets with no per-target integrator (ADR-0016).