From canon
Full spec audit: scan codebase for implementation evidence, update spec statuses, sync to ticket system, and commit. Combines canon-update + sync into a single workflow. Use periodically to keep specs accurate.
How this skill is triggered — by the user, by Claude, or both
Slash command
/canon:canon-auditThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are running a full spec audit: scanning the codebase for implementation evidence, updating spec statuses, syncing to the ticket system, and committing.
You are running a full spec audit: scanning the codebase for implementation evidence, updating spec statuses, syncing to the ticket system, and committing.
Find every spec file:
mcp__canon__list_specs to get all specsGlob for docs/specs/*.mdFor each spec, launch a Task agent (subagent_type=Explore) that:
Important: Launch agents in parallel (multiple Task calls in one message) to audit specs concurrently. Group into batches of 4-5 if there are many specs.
Background sections (§1 "Background" with only context, no ACs) should be marked done since they are informational — they should never generate tickets.
Compile results into a summary table:
| Spec | Section | Current | Proposed | Evidence |
|---|---|---|---|---|
| auth-hardening | §2 Login Providers | todo | done | LoginView.vue, routes.py |
| auth-hardening | §5 RBAC | todo | todo | org_members table missing |
Show totals: X sections to update, Y already correct, Z unchanged.
After user confirms (or immediately if they said "just do it"):
<!-- canon:system:N status:done --> for completed sections<!-- canon:system:N status:in_progress --> for partial implementations<!-- status: todo --> → <!-- canon:system:N status:todo -->)- [ ] → - [x]) and inserts a realization evidence comment (<!-- canon:realized-in:audit file:PATH:LINES -->). Use --no-ac-updates to skip this.status: if appropriate (all sections done → spec done)Run the sync CLI to create/update GitHub Issues:
uv run canon sync --dry-run
Show the dry-run output to the user. If it looks right:
uv run canon sync
This creates issues only for todo and in_progress sections — done/draft/deprecated sections are skipped.
Stage the updated spec files and commit:
git add docs/specs/*.md
git commit -m "docs: update spec statuses based on codebase audit
<summary of changes>"
git push
draft → todo → in_progress → doneblocked (with reason), deprecateddonedonein_progresstodo sections that have no implementation yet — they're correctly queued for workmcp__canon__sync_spec_status for bulk updatescanon sync CLI respects ticket_project in spec frontmatter for routing<!-- canon:ticket:github:123 -->) get updated, not duplicated--dry-run on sync to preview before creating issuesnpx claudepluginhub canonhq/canon --plugin canonProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.