mcpField
C
canon

canon

github.com/davidleeAgent workflows2145 installsUpdated 3d ago
Repository

About canon

canon is a skill that guides agents to check project governance, design intent, and implementation guidance before making changes. It uses the doctrine CLI to consult relevant sources and calls for clarification when rules are missing or conflicting.

Key features

  1. 01Check project instructions and governance
  2. 02Find and read guidance with doctrine commands
  3. 03Select authoritative sources relevant to a task
  4. 04Pause for clarification when governance is unclear

Use cases

  1. 01Confirm project conventions before editing code
  2. 02Use design documents and ADRs to guide implementation
  3. 03Find file-specific constraints and established patterns

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/davidlee/doctrine --skill canon

After installing, type/canonin Claude Code to confirm it loaded.

Details

From the project README

Canon

Understand project governance before you act, so you do not spread heresy.

Articles of truth

Identify the authorities that bear on your task, then read the ones that carry meaning for it — not all of them, every time. The CLI is the source of truth — see [[mem.fact.doctrine.cli-source-of-truth]].

  • CLAUDE.md, AGENTS.md — standing instructions and conventions. Project conventions are documented in [[mem.pattern.doctrine.conventions]].
  • project governance - list each of these; read any which are potentially relevant in full, with doctrine <kind> show <id>:
    • doctrine spec list - specs describing product intent / technical architecture
    • doctrine adr list - architecture decision records
    • doctrine policy list - policies
    • doctrine standard list - standards of practice
    • or jump straight to the ones bearing on your task: doctrine search "<keywords>" -k governance. Policies and standards sit outside the default kind scope, so a bare search misses exactly the rules you came for — lib:reference/using-doctrine.md has the scope and the widening flags.
  • the governing slice's design.md — canon for this change's design intent.

For implementation truth (gotchas, patterns, invariants tied to files or commands), /retrieve-memory rather than rediscovering it.

Read entities tier-aware — via show, never a single raw file. The storage rule + read-via-show discipline are resident in the boot digest and detailed in lib:reference/using-doctrine.md. The storage model and storage rule are documented in [[mem.concept.doctrine.storage-model]]; storage tiers: authored, runtime, derived — see [[mem.fact.doctrine.storage-tiers]]. Reading one tier and concluding "empty" is false witness.

The mortal sins

Beware — and refuse to commit:

  • assumption — acting on what you guessed instead of what you confirmed.
  • guesswork — inventing ids, command shapes, or file locations.
  • duplication — a parallel implementation where a seam already exists.
  • architectural infidelity — violating the design or an ADR.
  • heretical coupling — new imports or dependencies that breach boundaries.

If governance is missing, contradictory, or ambiguous on a choice that matters, stop and /consult rather than normalizing around a guess.

Comments

Markdown supported