From canonify
Load the canonical patterns relevant to the task being planned, by routing through CANONIFY.md. Run when the user types /canonify:build or signals plan-time intent - phrases like "let's plan this", "I want to add X", "what's the right pattern for Y", "starting work on Z". Bookend partner to /canonify:commit. Routing logic is identical to commit-time, but pointed at the task description instead of the diff.
How this skill is triggered — by the user, by Claude, or both
Slash command
/canonify:buildThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The **Build** gate of **Canonify** - the middle of three lifecycle gates, all routing through `CANONIFY.md`:
The Build gate of Canonify - the middle of three lifecycle gates, all routing through CANONIFY.md:
/canonify:plan): orient on the whole landscape (breadth, no sub-docs)./canonify:build): task -> match CANONIFY.md summary lines -> load implicated docs -> use the canonical patterns when writing code (depth on the task's slice)./canonify:commit): diff -> match the same summary lines -> audit the code against the docs' rules.This skill makes the plan-time read explicit and visible. Without it, the routing happens implicitly and silently - CANONIFY.md is just a markdown file someone is "supposed to" read. Running it as a skill makes the routing decision part of the planning conversation.
Read CANONIFY.md at the repo root. Note every one-line summary - those are the routing signals. By convention the manifest is CANONIFY.md and the canon corpus it points to lives under docs/.
Read the task. Use the user's stated task description. If unclear, ask for one sentence ("what are we building?") before continuing. Don't guess.
Walk every CANONIFY.md summary line and ask whether the task touches that area. For each doc-summary line (including any project-wide rules entry):
<feature>" -> the <feature> canon).Output a short routing table:
Implicated: <doc-a>.md, <doc-b>.md, <project-wide-rules>.md
Skipped: <doc-c>.md (one-line reason it doesn't apply)
<doc-d>.md (one-line reason)
<doc-e>.md (one-line reason)
The "Skipped" list proves the read covered every doc and consciously dropped it - not that the doc was forgotten.
Load the implicated docs in parallel. Read each one in full. Pay attention to:
Summarize the canonical pattern for the task. A few short paragraphs covering:
Hand off to coding. Once the routing + canonical pattern is laid out, proceed to writing the plan or implementation. The audit ends when the user has enough context to either commission the work or refine the task.
## /canonify:build - pattern routing
Task: <one-line restatement of what we're building>
### Routing - CANONIFY.md summary sweep
Implicated:
- <doc-a>.md - <one-line reason: which part of the task pulls this in>
- <doc-b>.md - <one-line reason>
Skipped:
- <doc-c>.md - <one-line reason it doesn't apply>
- <doc-d>.md - ...
### Canonical pattern for this task
**Reference implementations:**
- `path/to/file.ext:NN` - <what it does, why it's a good model>
- `path/to/other.ext:NN` - <what it does>
**Required imports / multi-step checklists:**
- ...
**Gotchas that will hit this task specifically:**
- <Gotcha 1> - <one-line from the doc>
- <Gotcha 2> - <one-line from the doc>
**Build order:**
1. <Step> - <why first>
2. <Step>
3. ...
Ready to write the implementation.
Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub ewebdzine/canonify --plugin canonify