kyberforge: agent-audit skill (agent-author follow-ons) #11
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Follow-ons deferred from the
agent-authorworkstream. Both items were explicitly out of scope for the initial implementation shipped in8f7945b.Related: #10 (parent workstream) · ADR-0015 (
docs/adr/0015-agent-author-dual-provider-scaffold.md)1.
agent-auditskillA companion audit skill for agent definition files, analogous to how
skill-auditvalidatesSKILL.mdfiles.Why deferred: The agent definition spec is simpler than agentskills.io — fewer auditable rules. Inline validation in the
agent-authorclose step is sufficient for MVP. A dedicated audit skill becomes worthwhile onceagent-authoris in active use and producing files that need systematic review.Acceptance criteria:
agent-audit <path>validates a Claude Code.mdor Copilot.agent.mdagent filename,description, system prompt body), name format valid (kebab-case), no Claude Code-only fields in Copilot file, silently-ignored fields flagged (hooks/mcpServers/permissionModefor plugin agents)skill-auditagent-authorclose step updated to referenceagent-auditfeat(kyberforge): agent-audit skill and non-standard Copilot path override for agent-authorto kyberforge: agent-audit skill + non-standard Copilot path override for new-agent.shkyberforge: agent-audit skill + non-standard Copilot path override for new-agent.shto kyberforge: agent-audit skill + Copilot path override (agent-author follow-ons)kyberforge: agent-audit skill + Copilot path override (agent-author follow-ons)to kyberforge: agent-audit skill (agent-author follow-ons)Grill session design decisions
Invocation
agent-audit <path-to-either-file>— pass either the Claude Code.mdor Copilot.agent.mdfile. The skill derives the counterpart using scope detection. ADR-0018 documents this decision.Scope detection
Walk up the directory tree from the input file:
plugin.jsonpresent → plugin scope (both files flat inagents/).gitwithoutplugin.json→ project scope (CC in.claude/agents/, Copilot in.github/agents/)~→ user scopeScript (
scripts/validate.sh) — structural checks.agent.md→ Copilot,.md→ Claude Code)name,description, body non-emptynameis kebab-casenamematches filename stemFILL IN:placeholdersreferences/field-inventory.md)hooks,mcpServers,permissionMode) in a plugin-scoped CC file — FAILreferences/field-inventory.mdMachine-parseable markdown listing valid CC fields, CC-only fields, and silently-ignored plugin fields. Script reads this at runtime rather than hardcoding. ADR-0019 documents this decision.
Skill body — qualitative checks
namematches between pair, both bodies non-emptyYou are a [role].opening in system prompt (SUGGESTION if absent)Report format
Same as
skill-audit— coverage line, H3 dimensions, FAILs before SUGGESTIONs, Result block.Dimensions:
structure · provider-safety · description · body · pair-consistencyTests
tests/validate.batscovering: provider detection, scope detection, counterpart-not-found FAIL, CC-only field in Copilot FAIL, silently-ignored field in plugin agent FAIL, clean pair passes.Out of scope
Provenance/sources chain check deferred to #60.
agent-author update
Step 5 (close step) to reference
agent-audit— run/agent-auditon the created files before closing.