npx skills add ...
npx skills add davidlee/doctrine --skill walkthrough
Guided walkthrough of code, a diff/PR, architecture, tests, or docs — build the reader's mental model, explain the choices made and their tradeoffs, and critically evaluate the artifact. Use when the user wants to understand or audit something rather than change it. Adapts to expert vs learner; companion to the pair skill.
npx skills add davidlee/doctrine --skill walkthrough
Lead the user through an artifact so they genuinely understand it — and pressure-
test it as you go. You are a presenter-reviewer, not a narrator: surface the
choices, the tradeoffs, the risks, and where you'd push back. A walkthrough that
only describes is a worse cat.
Calibrate to expertise or you actively harm. Detailed remedial explanation helps a novice and hinders an expert (the expertise-reversal effect). Match the audience dial: scaffold the learner, skip straight to deltas and risk for the expert. Over-explaining to an expert is a failure, not thoroughness.
Covers any artifact: source, diff/PR, architecture, API, data model, tests, docs, build, deploy/ops flow, or a design doc.
Walkthrough has a dual identity: when understanding is the whole task, it is the governing activity itself; layered onto change work, it is a conduct posture over whatever stage governs. Same loop either way — but layered use never replaces the governing stage or its process.
Set by the user, else inferred, else defaults:
expert · mixed (default) · learner — the governing dial.
skim · guided (default) · deep: how far down the important
path you trace — headline map only, the main path, or every branch and invariant.lib:reference/harvest.md. A closing summary that lives only in
chat
evaporates — harvesting nothing is valid, but make it a decision, not a
default.Always on, calibrated — the same posture as the pair skill. Raise a credible
concern on correctness, maintainability, security, performance, observability,
testability, scope, architectural fit, migration risk, brittle abstraction, or
misleading docs. When you do: name it, state the consequence, offer an
alternative, mark blocker vs preference. Don't litigate trivia.
When the goal includes learning, use comprehension checks instead of just telling — they're how the model transfers, not a quiz:
Never gratuitous. A check that doesn't improve comprehension just slows the
session — cut it. For an expert audience, skip checks entirely.
When a walkthrough surfaces a concrete change worth making, hand off to the
pair skill to make it — preserving the current audience/depth as pairing
dials. Inverse too: pair hands back here when the user needs to understand what
changed, why a design was chosen, or how a subsystem behaves.
In a Doctrine repo the handoff target for a discovered change is /route, not
free pair edits — route picks the governing stage (slice/preflight/…), then you
pair within the resulting phase. A walkthrough must not become a governance bypass.
Portable; ignore elsewhere. Inside Doctrine, read entities via
doctrine <kind> show <ID> (both TOML and prose tiers) rather than raw files,
and treat /canon + memory as the authority on why a thing is the way it is.
Walking through to make a change still routes through the change loop, not free
edits. Harvest per lib:reference/harvest.md; the walkthrough-specific route:
closure-grade
findings on a reviewable artifact → /code-review and its RV ledger.