Files
holocron/plugins/kyberforge/skills/agent-author/assets/templates/copilot.agent.md
Defame1297 1333d2c1b1 feat(kyberforge): add agent-audit provenance chain validation (closes #60)
## Why

agent-author produces agents/sources.md at plugin scope to record which
research sources informed which agent files. agent-audit had no way to
validate this chain, leaving stale or missing provenance undetected.

## Implementation Notes

Validation is per-pair (the given agent file + its counterpart) rather
than plugin-wide, keeping the scope consistent with validate.sh. The
script exits 0 silently for non-plugin-scope agents.

source_keys is top-level in both CC .md and Copilot .agent.md files
(not under metadata:) to avoid conflict with Copilot's own metadata
field semantics. Checks 0, 1, 2, 4, 5, 6 mirror the skill provenance
set; upstream research-doc cross-reference checks (7, 8) are deferred.

agent-author Steps 2, 3, and 4 updated to formally specify the
agents/sources.md format and instruct authors to add source_keys to
both files when research sources are in context.

Refs: #60

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0147vXtL5sP6vorDdqXGJJU9
2026-07-04 10:37:44 +00:00

2.5 KiB

# GitHub Copilot CLI agent definition # File extension MUST be .agent.md — a plain .md file is not picked up by Copilot. # Fill in all FILL IN: placeholders. Remove or uncomment optional fields as needed. name: AGENT_NAME # Required. Kebab-case identifier. Home-directory version wins on name collision. description: FILL IN: Action-first description of what this agent does and when to invoke it. # Required. Used by the runtime for automatic agent selection — quality matters. # Start with a verb: "Reviews...", "Analyzes...", "Generates..." # Example: "Reviews pull request diffs for security issues." # tools: ["read", "search", "edit"] # Optional. Array of tool names. Omit = all available tools. [] = no tools. # Copilot tool aliases (use these, not Claude Code names): # execute — run shell commands (aliases: shell, Bash, powershell) # read — read file contents (aliases: Read, NotebookRead) # edit — modify files (aliases: Edit, MultiEdit, Write, NotebookEdit) # search — search files (aliases: Grep, Glob) # agent — invoke sub-agents (aliases: custom-agent, Task) # web — web search and fetch (aliases: WebSearch, WebFetch) # For MCP tools: "server-name/tool-name" or "server-name/*" # target: github-copilot # Optional. Which runtime loads this file. # vscode — VS Code Copilot only # github-copilot — Copilot CLI / cloud agents only # both (default) — loaded by both runtimes # user-invocable: true # Optional. Set false to hide from manual invocation (auto-select only). # disable-model-invocation: false # Optional. Set true to require explicit user invocation; prevents auto-selection. # model: claude-sonnet-4-5 # Optional. Model to run this agent on. # source_keys: # - slug-name # Development-only. Add when research sources informed this agent (slugs must match agents/sources.md). # Omit when no research was used. Not a Copilot runtime field — silently ignored. # DO NOT include these Claude Code-only fields: # maxTurns, isolation, memory, permissionMode, effort, hooks, mcpServers

FILL IN: System prompt body. Should match the Claude Code version — the agent's task is the same across providers.

You are a FILL IN: role description. When invoked, FILL IN: primary action.

Inputs

FILL IN: What inputs does this agent expect? (files, context, parameters)

Process

FILL IN: Steps the agent takes. Be specific about ordering if it matters.

Output

FILL IN: What does the agent produce? Format, location, structure.