Skip to content
Back to skills

Canon

ASecurity

Use before making architectural or workflow choices, when correctness depends on project governance, or when entering an unfamiliar subsystem — to load the project's authoritative rules before you act on assumptions.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 19, 2026
developmentgo

Works with

  • cli

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add davidlee/doctrine --skill canon --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Canon?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Canon
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/davidlee-canon/badge)](https://www.skillsdirectory.com/skills/davidlee-canon)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: canon
description: Use before making architectural or workflow choices, when correctness depends on project governance, or when entering an unfamiliar subsystem — to load the project's authoritative rules before you act on assumptions.
---

# 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.