@erclx/canon 5.52.0 → 5.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.md +11 -13
- package/claude/.claude-plugin/plugin.json +1 -1
- package/claude/skills/canon-cli/SKILL.md +5 -8
- package/claude/skills/context-fold/REQUIREMENT.md +0 -1
- package/claude/skills/design-identity/REQUIREMENT.md +2 -2
- package/claude/skills/design-identity/SKILL.md +6 -6
- package/claude/skills/design-record/REQUIREMENT.md +2 -2
- package/claude/skills/design-record/SKILL.md +4 -4
- package/claude/skills/design-record/references/folder.md +1 -1
- package/claude/skills/design-taste/REQUIREMENT.md +1 -1
- package/claude/skills/design-taste/references/kinds.md +0 -1
- package/claude/skills/draw-figure/REQUIREMENT.md +3 -4
- package/claude/skills/draw-figure/SKILL.md +5 -6
- package/claude/skills/draw-figure/references/figures.md +0 -1
- package/claude/skills/draw-figure/references/hand-drawn.md +1 -1
- package/claude/skills/pick-by-eye/REQUIREMENT.md +4 -5
- package/claude/skills/pick-by-eye/SKILL.md +34 -41
- package/claude/skills/pick-by-eye/references/board.md +42 -0
- package/claude/skills/pick-by-eye/references/live-arms.md +3 -3
- package/claude/skills/plan-groundwork/SKILL.md +1 -1
- package/claude/skills/teach-craft/REQUIREMENT.md +30 -0
- package/claude/skills/teach-craft/SKILL.md +70 -0
- package/claude/skills/teach-craft/references/adopted.md +113 -0
- package/claude/skills/teach-craft/references/lesson-craft.md +60 -0
- package/claude/skills/{teach-workspace → teach-craft}/references/pedagogy.md +41 -6
- package/docs/agents/audits.md +0 -1
- package/docs/agents/install-and-sync.md +0 -8
- package/docs/target/migrations.md +16 -2
- package/docs/target/projects.md +1 -1
- package/docs/workflow/parallel-features.md +1 -1
- package/docs/workflow/skill-map-on-request.md +10 -22
- package/docs/workflow/skill-map.md +11 -14
- package/docs/workflow/visual-design-workflow.md +1 -4
- package/governance/detect.toml +1 -6
- package/governance/renames.toml +0 -1
- package/package.json +2 -8
- package/scripts/core/regen-web-previews.ts +2 -67
- package/src/audits/catalog.ts +0 -1
- package/src/browser/engine.ts +3 -6
- package/src/capture/render.ts +1 -1
- package/src/claude/cases/authoring.ts +0 -12
- package/src/claude/cases/misc.ts +0 -22
- package/src/claude/cases/workflow.ts +2 -38
- package/src/claude/skills-audit.ts +1 -1
- package/src/cli/help.ts +0 -10
- package/src/cli.ts +0 -8
- package/src/commands/design.ts +16 -315
- package/src/commands/records.ts +0 -1
- package/src/commands/serve.ts +2 -2
- package/src/commands/sync.ts +4 -5
- package/src/design/components.ts +8 -1514
- package/src/design/css.ts +5 -6
- package/src/design/fonts.ts +3 -5
- package/src/design/regen.ts +5 -32
- package/src/design/render.ts +1 -1
- package/src/design/tokens.ts +3 -2
- package/src/driver/drive.ts +3 -4
- package/src/driver/steps.ts +2 -5
- package/src/gate/stages.ts +4 -10
- package/src/gov/audit.ts +1 -6
- package/src/inventory/walk.ts +1 -1
- package/src/markdown/scope.ts +6 -35
- package/src/records/validate.ts +4 -176
- package/src/sandbox/equivalence.ts +0 -5
- package/src/shipped/references.ts +1 -2
- package/src/sync/check.ts +4 -29
- package/src/sync/stamp.ts +6 -6
- package/src/sync/target.ts +1 -4
- package/tooling/claude/reference.md +1 -1
- package/tooling/claude/seeds/canon/DESIGN.md +1 -1
- package/claude/skills/canvas-board/REQUIREMENT.md +0 -35
- package/claude/skills/canvas-board/SKILL.md +0 -143
- package/claude/skills/canvas-board/references/canvas.md +0 -170
- package/claude/skills/draft-and-pick/REQUIREMENT.md +0 -26
- package/claude/skills/draft-and-pick/SKILL.md +0 -11
- package/claude/skills/draft-doc/REQUIREMENT.md +0 -26
- package/claude/skills/draft-doc/SKILL.md +0 -11
- package/claude/skills/draft-figure/REQUIREMENT.md +0 -26
- package/claude/skills/draft-figure/SKILL.md +0 -11
- package/claude/skills/draft-identity/REQUIREMENT.md +0 -26
- package/claude/skills/draft-identity/SKILL.md +0 -11
- package/claude/skills/draft-ready/REQUIREMENT.md +0 -26
- package/claude/skills/draft-ready/SKILL.md +0 -11
- package/claude/skills/draft-screencast/REQUIREMENT.md +0 -26
- package/claude/skills/draft-screencast/SKILL.md +0 -11
- package/claude/skills/draft-slides/REQUIREMENT.md +0 -26
- package/claude/skills/draft-slides/SKILL.md +0 -11
- package/claude/skills/make-deck/REQUIREMENT.md +0 -36
- package/claude/skills/make-deck/SKILL.md +0 -80
- package/claude/skills/make-deck/references/deck.md +0 -183
- package/claude/skills/read-frames/REQUIREMENT.md +0 -30
- package/claude/skills/read-frames/SKILL.md +0 -55
- package/claude/skills/record-screencast/REQUIREMENT.md +0 -35
- package/claude/skills/record-screencast/SKILL.md +0 -99
- package/claude/skills/script-screencast/REQUIREMENT.md +0 -34
- package/claude/skills/script-screencast/SKILL.md +0 -70
- package/claude/skills/script-screencast/references/beats-template.md +0 -119
- package/claude/skills/teach-workspace/REQUIREMENT.md +0 -34
- package/claude/skills/teach-workspace/SKILL.md +0 -196
- package/claude/skills/teach-workspace/references/glossary.md +0 -90
- package/claude/skills/teach-workspace/references/lesson-build.md +0 -106
- package/claude/skills/teach-workspace/references/lesson-craft.md +0 -135
- package/claude/skills/teach-workspace/references/promotion-fold.md +0 -35
- package/claude/skills/teach-workspace/references/promotion.md +0 -116
- package/claude/skills/teach-workspace/references/revisit.md +0 -28
- package/claude/skills/teach-workspace/references/teach.md +0 -211
- package/claude/skills/video-craft/REQUIREMENT.md +0 -35
- package/claude/skills/video-craft/SKILL.md +0 -96
- package/claude/skills/video-craft/references/adopted.md +0 -110
- package/governance/rules/ui/canvas.md +0 -13
- package/src/canvas/address.ts +0 -227
- package/src/canvas/arrange.ts +0 -66
- package/src/canvas/capture.ts +0 -391
- package/src/canvas/client/app.tsx +0 -188
- package/src/canvas/client/inspector/align-grid.tsx +0 -162
- package/src/canvas/client/inspector/color-field.tsx +0 -398
- package/src/canvas/client/inspector/color-inputs.tsx +0 -139
- package/src/canvas/client/inspector/color-picker.tsx +0 -668
- package/src/canvas/client/inspector/color-space.ts +0 -240
- package/src/canvas/client/inspector/field.tsx +0 -263
- package/src/canvas/client/inspector/fields.css +0 -763
- package/src/canvas/client/inspector/section.tsx +0 -27
- package/src/canvas/client/inspector/size-field.tsx +0 -69
- package/src/canvas/client/inspector/token-select.tsx +0 -109
- package/src/canvas/client/inspector/values.ts +0 -297
- package/src/canvas/client/inspector.tsx +0 -692
- package/src/canvas/client/keys.ts +0 -71
- package/src/canvas/client/layers.tsx +0 -118
- package/src/canvas/client/main.tsx +0 -71
- package/src/canvas/client/pages-panel.tsx +0 -212
- package/src/canvas/client/panel-handle.tsx +0 -90
- package/src/canvas/client/selection.tsx +0 -199
- package/src/canvas/client/shell.css +0 -762
- package/src/canvas/client/state.ts +0 -792
- package/src/canvas/client/surface.tsx +0 -803
- package/src/canvas/client/theme-panel.tsx +0 -55
- package/src/canvas/client/tools.tsx +0 -153
- package/src/canvas/content.ts +0 -781
- package/src/canvas/edit.ts +0 -575
- package/src/canvas/editing.ts +0 -203
- package/src/canvas/fit.ts +0 -238
- package/src/canvas/global.d.ts +0 -15
- package/src/canvas/history.ts +0 -116
- package/src/canvas/index.html +0 -20
- package/src/canvas/server.ts +0 -766
- package/src/canvas/tokens.ts +0 -221
- package/src/commands/canvas.ts +0 -1097
- package/src/commands/demo.ts +0 -542
- package/src/commands/slides.ts +0 -184
- package/src/commands/teach.ts +0 -1401
- package/src/demo/beats.ts +0 -135
- package/src/demo/compile.ts +0 -350
- package/src/demo/container.ts +0 -219
- package/src/demo/cursors.ts +0 -55
- package/src/demo/drive.ts +0 -442
- package/src/demo/pointer.ts +0 -178
- package/src/demo/theme.ts +0 -112
- package/src/demo/timeline.ts +0 -64
- package/src/design/adapter.ts +0 -59
- package/src/design/base.css +0 -203
- package/src/design/brand-favicon.ts +0 -18
- package/src/design/neutral.ts +0 -127
- package/src/design/project-fonts.ts +0 -392
- package/src/slides/convert/chart.ts +0 -165
- package/src/slides/convert/deck.ts +0 -244
- package/src/slides/convert/export.ts +0 -567
- package/src/slides/convert/master.ts +0 -198
- package/src/slides/convert/shapes.ts +0 -804
- package/src/slides/convert/svg.ts +0 -38
- package/src/slides/convert/walk.ts +0 -671
- package/src/slides/decks.ts +0 -110
- package/src/slides/open.ts +0 -18
- package/src/slides/package/fonts.ts +0 -301
- package/src/slides/package/motion.ts +0 -316
- package/src/slides/package/test-face.ts +0 -113
- package/src/teach/browser/compile.ts +0 -44
- package/src/teach/browser/dismiss.ts +0 -76
- package/src/teach/browser/focus-line.ts +0 -19
- package/src/teach/browser/glossary-filter.ts +0 -44
- package/src/teach/browser/head.ts +0 -30
- package/src/teach/browser/quiz.ts +0 -19
- package/src/teach/browser/reload.ts +0 -9
- package/src/teach/browser/sidebar.ts +0 -233
- package/src/teach/browser/theme.ts +0 -18
- package/src/teach/components/code.tsx +0 -24
- package/src/teach/components/heading.tsx +0 -11
- package/src/teach/components/list.tsx +0 -17
- package/src/teach/components/paragraph.tsx +0 -29
- package/src/teach/components/refs.tsx +0 -28
- package/src/teach/cross-references.ts +0 -78
- package/src/teach/fonts.ts +0 -16
- package/src/teach/highlight.ts +0 -71
- package/src/teach/html/jsx-dev-runtime.ts +0 -13
- package/src/teach/html/jsx-runtime.ts +0 -113
- package/src/teach/html/raw.ts +0 -28
- package/src/teach/lesson.ts +0 -178
- package/src/teach/nav.ts +0 -1337
- package/src/teach/render.ts +0 -240
- package/src/teach/workspace.ts +0 -1164
- package/src/teach/write-if-changed.ts +0 -17
|
@@ -5,7 +5,7 @@ Read when the surface under decision is a running app rather than a static mocku
|
|
|
5
5
|
## Lift from the app
|
|
6
6
|
|
|
7
7
|
- Dump the rendered markup of the surface under decision from the built page, after it has loaded, into a scratch file the run reads from. Strip scripts from the dump.
|
|
8
|
-
- Copy the built stylesheet and fonts
|
|
8
|
+
- Copy the built stylesheet and fonts into the page folder or the project's `assets/`, since a frame resolves nothing else. Each arm then differs from the shipped page only in what it names.
|
|
9
9
|
- Trim a large dump to the part the decision needs, and keep the wrapper classes intact so layout rules keyed to them still resolve.
|
|
10
10
|
- Set each frame's `--width` to the content width the decision names rather than the window width, since a container query reads the frame.
|
|
11
11
|
- Write copy an arm introduces with `write-human`, and take every other word from the dump.
|
|
@@ -13,7 +13,7 @@ Read when the surface under decision is a running app rather than a static mocku
|
|
|
13
13
|
## The frames
|
|
14
14
|
|
|
15
15
|
- Generate the frames with a short script, one per round, so a shared change is one edit and a rerun.
|
|
16
|
-
- Leave the theme to the
|
|
16
|
+
- Leave the theme to the board toggle, which sets the app's own `data-theme` switch on every frame's root. Name the attribute the stylesheet reads where it differs, as the toggle sets that one alone.
|
|
17
17
|
- Print each frame's measurement under it from a script in the frame, so the numbers the operator reads are the browser's.
|
|
18
18
|
- Draw an arm that is a whole page or a route as one frame at that page's width, so it still sits beside the other arms on the round's page.
|
|
19
|
-
- Name anything the
|
|
19
|
+
- Name anything the board cannot reproduce, such as an asset whose colors follow the browser rather than the frame's theme, rather than fixing the frame around it.
|
|
@@ -37,7 +37,7 @@ Write only inside `.canon/groundwork/<nn>-<slug>/`. A feature plan, source chang
|
|
|
37
37
|
|
|
38
38
|
What a spike produces stays inside the track, under `.canon/groundwork/<nn>-<slug>/evidence/`, which the first rule already permits. Mode detection matches only top-level entries, so a nested folder cannot be mistaken for a track, and scratch holds only what can be deleted without loss.
|
|
39
39
|
|
|
40
|
-
A `pick-by-eye` run invoked from inside a live track follows its own branch for this. It writes its renders to `evidence/` here, and drafts its candidates as
|
|
40
|
+
A `pick-by-eye` run invoked from inside a live track follows its own branch for this. It writes its renders to `evidence/` here, and drafts its candidates as pages on the Frameboard board at `.canon/canvas/` that its close deletes.
|
|
41
41
|
|
|
42
42
|
### Reading and backing
|
|
43
43
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: teach-craft
|
|
3
|
+
description: Scope boundary for the teaching judgment a session carries, and why it ships as knowledge rather than as a workspace
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Teach craft requirement
|
|
7
|
+
|
|
8
|
+
## Gap
|
|
9
|
+
|
|
10
|
+
Without this skill, a session asked to teach explains and calls a smooth reply a lesson. It teaches from recall, picks topics from the subject's order rather than the learner's errors, and asks nothing about what they know.
|
|
11
|
+
|
|
12
|
+
Its quizzes leak the answer through option length or position, and nothing tests the learner later, so fluency passes for retention.
|
|
13
|
+
|
|
14
|
+
## Must
|
|
15
|
+
|
|
16
|
+
- Carry retrieval, spacing, interleaving, and placement as rules a session applies before picking what to teach next
|
|
17
|
+
- Ask the learner's starting point and read the subject from sources, saying which claims rest on recall
|
|
18
|
+
- State quiz design that leaks no answer, and pair a quiz with a teach-back
|
|
19
|
+
- Hold that the wrong answer itself is what the next session places from
|
|
20
|
+
- Cite an opened source in the ledger for every kept rule, or label it house judgment with the reason it stays, then close on excuses, red flags, and a checklist
|
|
21
|
+
|
|
22
|
+
## Must not
|
|
23
|
+
|
|
24
|
+
- Name a verb, a folder, a markup contract, or a stylesheet, since the skill produces nothing of its own
|
|
25
|
+
- Fire on a request to answer one question
|
|
26
|
+
- Go unloaded when a session teaches across exchanges, since a craft body only its author types reaches no lesson
|
|
27
|
+
|
|
28
|
+
## Out of scope
|
|
29
|
+
|
|
30
|
+
- Where a lesson is stored or how it renders, which belongs to whatever surface the session writes to
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: teach-craft
|
|
3
|
+
description: Carries the judgment for teaching a subject so it sticks, being retrieval over review, spacing, interleaving, placing the learner just past what they can do unaided, quiz design that leaks no answer, the teach-back, and what makes a lesson worth returning to. Use before teaching a subject over more than one exchange, when writing a quiz, a lesson, or a study plan, or when asked "teach me X", "quiz me on this", "how should I learn X", or "is this a good quiz question". Do NOT use to answer one question, which is an ordinary reply, or to write project documentation, which belongs to the surface owning that document.
|
|
4
|
+
metadata:
|
|
5
|
+
family: answer
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Teach craft
|
|
9
|
+
|
|
10
|
+
A session asked to teach explains, and a smooth explanation reads as a lesson learned. It is fluency, which does not survive a delay. This skill carries what turns teaching into retention: test before telling, space the returns, and grade only what the learner produced unaided.
|
|
11
|
+
|
|
12
|
+
It produces nothing of its own. The lesson lands wherever the session already writes, being the conversation, a file, or a page.
|
|
13
|
+
|
|
14
|
+
## References
|
|
15
|
+
|
|
16
|
+
- `${CLAUDE_SKILL_DIR}/references/pedagogy.md`: fluency against storage strength, retrieval practice, spacing and its ladder, interleaving, where to place the learner, and where difficulty helps
|
|
17
|
+
- `${CLAUDE_SKILL_DIR}/references/lesson-craft.md`: restraint, quiz design, the teach-back, and what makes a lesson worth returning to
|
|
18
|
+
|
|
19
|
+
Read `pedagogy.md` before picking what to teach next, and `lesson-craft.md` before writing a quiz or a lesson.
|
|
20
|
+
|
|
21
|
+
Read `${CLAUDE_SKILL_DIR}/references/adopted.md` only when extending this guidance or arguing against a rule in it. It records the research each rule rests on, the passage relied on, and which rules stand as house judgment.
|
|
22
|
+
|
|
23
|
+
## Before teaching
|
|
24
|
+
|
|
25
|
+
- Ask what the learner already knows rather than assuming it. Difficulty with no floor under it teaches nobody.
|
|
26
|
+
- Read the subject from sources rather than from recall, and say which claims rest on recall where no source was reachable
|
|
27
|
+
- Open a returning learner on retrieval of what they got wrong last time, before anything new
|
|
28
|
+
|
|
29
|
+
## While teaching
|
|
30
|
+
|
|
31
|
+
- Place each step just past what the learner can do unaided, from what they got wrong rather than from the subject's own order
|
|
32
|
+
- Carry a quiz and a teach-back, since recognition and production fail differently
|
|
33
|
+
- Record the wrong answer itself rather than a count, since the next session places the learner from the misconception
|
|
34
|
+
|
|
35
|
+
## Excuses and rebuttals
|
|
36
|
+
|
|
37
|
+
| Excuse | Rebuttal |
|
|
38
|
+
| ----------------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
39
|
+
| They followed the explanation, so move on | Following is fluency. Advance on a retrieval the learner passed unaided. |
|
|
40
|
+
| Review the last lesson before testing it | Review rebuilds the fluency the test would have measured. Test first, then fill what missed. |
|
|
41
|
+
| The answer is obvious from the options | Then the distractors are not misconceptions anyone holds. Rewrite them. |
|
|
42
|
+
|
|
43
|
+
## Red flags
|
|
44
|
+
|
|
45
|
+
- You are about to explain a topic and the learner has not yet tried to answer anything on it.
|
|
46
|
+
- The learner said it makes sense and you are moving to the next topic.
|
|
47
|
+
- A returning learner's session opens on new material.
|
|
48
|
+
|
|
49
|
+
### Quizzes and records
|
|
50
|
+
|
|
51
|
+
These flags fire on what the session has written.
|
|
52
|
+
|
|
53
|
+
- The correct options in a quiz are the longest ones, or sit in the same slot.
|
|
54
|
+
- You are writing a claim about the subject with no source open.
|
|
55
|
+
- The learning record you are about to write holds a score and no wrong answer.
|
|
56
|
+
|
|
57
|
+
## Before handing over
|
|
58
|
+
|
|
59
|
+
Check each line against the lesson and the record the session produced.
|
|
60
|
+
|
|
61
|
+
- Every advance followed a retrieval the learner passed unaided, not a smooth explanation.
|
|
62
|
+
- The lesson carries a quiz and a teach-back with a named audience.
|
|
63
|
+
- Every quiz keeps its options to one length and rotates the correct slot by question number.
|
|
64
|
+
- Every claim names the source it was read from, or says it rests on recall.
|
|
65
|
+
- The learning record names each wrong answer and the next revisit from the ladder.
|
|
66
|
+
|
|
67
|
+
## What this delegates
|
|
68
|
+
|
|
69
|
+
- Finding and opening the sources a lesson is read from: `search-craft`
|
|
70
|
+
- Where a lesson is stored and how it renders, which belongs to the surface the session writes to
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Adopted and declined
|
|
3
|
+
description: Which learning-science sources this skill's rules rest on, the passage each one was taken from, what was declined, and which rules stand as house judgment with no opened source behind them
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Adopted and declined
|
|
7
|
+
|
|
8
|
+
The field is learning science and cognitive psychology, with educational measurement for quiz construction. Every source below was opened, the papers through the PubMed API and the practice guide as a PDF. Each entry quotes the passage relied on, and a later session extends this file rather than re-arguing an item settled here.
|
|
9
|
+
|
|
10
|
+
## Contents
|
|
11
|
+
|
|
12
|
+
- [Adopted](#adopted)
|
|
13
|
+
- [Declined](#declined)
|
|
14
|
+
- [House judgment](#house-judgment)
|
|
15
|
+
|
|
16
|
+
## Adopted
|
|
17
|
+
|
|
18
|
+
### Retrieval over restudy, and fluency against retention
|
|
19
|
+
|
|
20
|
+
[Roediger and Karpicke 2006, Test-enhanced learning](https://pubmed.ncbi.nlm.nih.gov/16507066/) backs testing before reviewing, and the rule that confidence says nothing about retention.
|
|
21
|
+
|
|
22
|
+
- Passage: "prior testing produced substantially greater retention than studying, even though repeated studying increased students' confidence in their ability to remember the material"
|
|
23
|
+
- The same abstract: "When the final test was given after 5 min, repeated studying improved recall relative to repeated testing"
|
|
24
|
+
- Adopted in `pedagogy.md` as the fluency and retrieval sections, and in the body's excuses table
|
|
25
|
+
|
|
26
|
+
### Failing an attempt before the answer
|
|
27
|
+
|
|
28
|
+
[Kornell, Hays and Bjork 2009, Unsuccessful retrieval attempts enhance subsequent learning](https://pubmed.ncbi.nlm.nih.gov/19586265/) backs asking before telling and letting the learner fail first.
|
|
29
|
+
|
|
30
|
+
- Passage: in the test condition "participants attempted to answer the question before being shown the answer", and "Unsuccessful retrieval attempts enhanced learning with both types of materials"
|
|
31
|
+
- The read-only condition it beat is "the question and answer were presented together"
|
|
32
|
+
- Adopted as the rule to open on the question, and in `lesson-craft.md` as feedback after the attempt rather than beside the question
|
|
33
|
+
|
|
34
|
+
### Spacing, and the gap growing with the interval
|
|
35
|
+
|
|
36
|
+
[Cepeda et al. 2006, Distributed practice in verbal recall tasks](https://pubmed.ncbi.nlm.nih.gov/16719566/) backs spacing, and the best gap growing with how long the material has to last.
|
|
37
|
+
|
|
38
|
+
- Passage: "the ISI producing maximal retention increased as retention interval increased"
|
|
39
|
+
- Adopted as the spacing section's principle. It names no schedule and reports no result for expanding gaps, so the ladder is house judgment.
|
|
40
|
+
|
|
41
|
+
[Pashler et al. 2007, IES practice guide NCER 2007-2004](https://ies.ed.gov/ncee/wwc/Docs/PracticeGuide/20072004.pdf) backs the same at classroom scale, and its panel rates the evidence moderate.
|
|
42
|
+
|
|
43
|
+
- Passage: key concepts seen on at least two occasions, "separated by a period of several weeks to several months"
|
|
44
|
+
- Adopted as the rule to revisit once forgetting has begun rather than while the material is fresh
|
|
45
|
+
|
|
46
|
+
### Quizzing at every phase
|
|
47
|
+
|
|
48
|
+
The same IES guide, in Recommendation 5, backs carrying a quiz in every lesson. Its panel rates quizzes that re-expose key content as strong evidence and pre-questions as low.
|
|
49
|
+
|
|
50
|
+
- Passage: "Use quizzing with active retrieval of information at all phases of the learning process"
|
|
51
|
+
- Adopted as the rule to carry a quiz. Opening on a question rests on Kornell, Hays and Bjork above, with this as weak support.
|
|
52
|
+
|
|
53
|
+
### Worked examples while acquiring
|
|
54
|
+
|
|
55
|
+
The IES guide's Recommendation 2 backs worked examples for a learner taking on a procedure, rated moderate.
|
|
56
|
+
|
|
57
|
+
- Passage: students "learn more by alternating between studying examples of worked-out problem solutions and solving similar problems on their own"
|
|
58
|
+
- Adopted as the clause introducing new material through worked examples. The wider split between skill and knowledge is house judgment below.
|
|
59
|
+
|
|
60
|
+
### Interleaving exemplars
|
|
61
|
+
|
|
62
|
+
[Kornell and Bjork 2008, Learning concepts and categories](https://pubmed.ncbi.nlm.nih.gov/18578849/) backs mixing related items within a session, and names the fluency trap of blocked practice.
|
|
63
|
+
|
|
64
|
+
- Passage: paintings "presented consecutively (massed) or interleaved with other artists' paintings (spaced)", and induction profited from the interleaved order
|
|
65
|
+
- The same abstract: "Participants rated massing as more effective than spacing"
|
|
66
|
+
- Adopted as the claim that blocked practice feels better and teaches less. The study mixes exemplars of categories, so mixing topics is an extension, recorded below.
|
|
67
|
+
|
|
68
|
+
### Feedback on a quiz
|
|
69
|
+
|
|
70
|
+
[Butler and Roediger 2008, Feedback and multiple-choice testing](https://pubmed.ncbi.nlm.nih.gov/18491500/) backs giving feedback on a multiple-choice quiz.
|
|
71
|
+
|
|
72
|
+
- Passage: "The selection of lures can lead students to acquire false knowledge", and feedback "reduced the proportion of intrusions"
|
|
73
|
+
- Adopted as the rule to write feedback for every question. It tests feedback against none, not where distractors come from or how feedback explains them.
|
|
74
|
+
- It found immediate and delayed feedback both help, so the timing rule rests on Kornell, Hays and Bjork instead
|
|
75
|
+
|
|
76
|
+
### The teach-back
|
|
77
|
+
|
|
78
|
+
[Nestojko et al. 2014, Expecting to teach](https://pubmed.ncbi.nlm.nih.gov/24845756/) backs asking the learner to explain to an audience.
|
|
79
|
+
|
|
80
|
+
- Passage: "Participants expecting to teach produced more complete and better organized free recall of the passage"
|
|
81
|
+
- Adopted as the teach-back block and its named audience
|
|
82
|
+
- The participants expected to teach and never taught. The finding backs framing the ask as teaching, not a gain from the explanation itself.
|
|
83
|
+
|
|
84
|
+
## Declined
|
|
85
|
+
|
|
86
|
+
### A fixed schedule from the literature
|
|
87
|
+
|
|
88
|
+
Cepeda's synthesis and the IES guide each tie the best gap to how long the material has to last, and neither names a sequence of days. Neither is cited for the ladder, so the ladder does not read as sourced.
|
|
89
|
+
|
|
90
|
+
### Dunlosky et al. 2013
|
|
91
|
+
|
|
92
|
+
[Improving students' learning](https://journals.sagepub.com/doi/10.1177/1529100612453266) refused with a 403. It stays a lead, never cited, and is the first source to open when extending the retrieval or spacing rules.
|
|
93
|
+
|
|
94
|
+
### Leads not opened
|
|
95
|
+
|
|
96
|
+
Bjork on desirable difficulties, Vygotsky on the zone of proximal development, and Haladyna, Downing and Rodriguez 2002 on item writing were each searched for and not opened. The item-writing review refused with a 403 at the publisher, and Crossref carries no abstract for it. Each rule it would back is labeled below.
|
|
97
|
+
|
|
98
|
+
## House judgment
|
|
99
|
+
|
|
100
|
+
These rules stay with no opened source behind them, each for the reason given.
|
|
101
|
+
|
|
102
|
+
- **The review ladder.** The 1, 3, 7, 16, and 35 day rungs, and moving a rung on each hit or miss, are a house schedule. An author told to widen a gap settles on whatever feels right.
|
|
103
|
+
- **Forgetting as the mechanism of spacing.** It explains why the gap matters, and no opened source tests it.
|
|
104
|
+
- **Production over selection, and no cue in the question.** Both studies above compare testing with restudy, and neither compares a recognition test.
|
|
105
|
+
- **Misconception distractors, explained one by one.** A distractor nobody holds removes itself, and Butler tests only feedback against none.
|
|
106
|
+
- **Interleaving topics rather than exemplars.** This extends Kornell and Bjork and the IES worked-example finding. It stays because working out which approach a problem calls for carries over.
|
|
107
|
+
- **Never interleaving an unseen topic.** Telling two things apart needs something on each side.
|
|
108
|
+
- **Where difficulty helps and hurts.** The split stays because it changes what a lesson withholds. Kornell, Hays and Bjork back difficulty at retrieval, and IES backs worked examples while acquiring.
|
|
109
|
+
- **The zone of proximal development.** Placing the learner just past what they can do unaided is how a session picks the next step from the learning record.
|
|
110
|
+
- **Equal option length.** A longer option reads as the considered one, and a session can check the rule by counting.
|
|
111
|
+
- **Rotating the correct slot.** An author varying position by judgment settles on the first slot.
|
|
112
|
+
- **Restraint and what makes a lesson worth returning to.** Both are editorial judgment about a page rather than claims about memory.
|
|
113
|
+
- **The sourcing ladder.** It is this toolkit's rule for what a lesson cites, not a finding about learning.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Lesson craft reference
|
|
3
|
+
description: Restraint, quiz design, teach back, and what makes a lesson worth returning to
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Lesson craft reference
|
|
7
|
+
|
|
8
|
+
Judgment rather than shape. This file covers what makes a lesson worth opening twice, whatever surface it renders on. Each section names its research or says it is house judgment, and `adopted.md` beside this file carries the passages.
|
|
9
|
+
|
|
10
|
+
## Contents
|
|
11
|
+
|
|
12
|
+
- [Restraint](#restraint)
|
|
13
|
+
- [Quiz design](#quiz-design)
|
|
14
|
+
- [Teach back](#teach-back)
|
|
15
|
+
- [What makes a lesson worth returning to](#what-makes-a-lesson-worth-returning-to)
|
|
16
|
+
|
|
17
|
+
## Restraint
|
|
18
|
+
|
|
19
|
+
Every element competes with the material for attention.
|
|
20
|
+
|
|
21
|
+
- Cut any decoration that carries no information
|
|
22
|
+
- Use at most one accent color, reserved for the thing the learner acts on
|
|
23
|
+
- Do not animate anything the learner did not trigger
|
|
24
|
+
- Prefer whitespace over rules and boxes to separate sections
|
|
25
|
+
|
|
26
|
+
This section is house judgment, an editorial call about a page rather than a claim about memory.
|
|
27
|
+
|
|
28
|
+
## Quiz design
|
|
29
|
+
|
|
30
|
+
The quiz is the retrieval, so a leak in its construction turns it into a reading test.
|
|
31
|
+
|
|
32
|
+
- Write every option to the same length, in words and in characters. A longer option reads as the considered one.
|
|
33
|
+
- Rotate the correct option's slot by question number, so question one puts it first, question two second, and so on. An author varying position by judgment settles on the first slot.
|
|
34
|
+
- Make each wrong option a misconception someone actually holds. An obviously wrong option removes itself and shrinks the question.
|
|
35
|
+
- Write one feedback block per question, covering the correct option and why each distractor fails, saying why rather than whether
|
|
36
|
+
- Give feedback after the attempt, never alongside the question
|
|
37
|
+
|
|
38
|
+
One feedback block reads as an explanation where a block per option reads as four verdicts, and only the explanation names what separates a wrong option from the answer. Name the correct option in the feedback text, since it is what a learner reads to find out whether they were right.
|
|
39
|
+
|
|
40
|
+
Butler and Roediger 2008 back giving feedback on a multiple-choice quiz, since its lures can teach false knowledge. Kornell, Hays and Bjork 2009 back giving it after the attempt. Misconception distractors, explaining each one, equal option length, and the slot rotation are house judgment.
|
|
41
|
+
|
|
42
|
+
## Teach back
|
|
43
|
+
|
|
44
|
+
A quiz is recognition and a teach-back is production, which this skill prefers as house judgment. Carry both: the quiz places the learner against options someone could hold, and the teach-back is where the learner finds out what they cannot say without help.
|
|
45
|
+
|
|
46
|
+
- Ask for an explanation to a named audience rather than for an answer. Telling a non-programmer why a lazy quantifier is not an optional one has a floor, and "explain lazy quantifiers" has none.
|
|
47
|
+
- Ask about the thing the lesson was for, not a detail beside it. A teach-back on a footnote tests attention rather than the material.
|
|
48
|
+
- Carry a self-check, hidden until the learner opens it, listing what a complete explanation covers. A learner with no session in the room otherwise cannot grade the ask, and hidden leaks nothing.
|
|
49
|
+
- Write the self-check as what the explanation has to cover rather than as the explanation itself. A model answer is read instead of produced, which turns the block back into reading.
|
|
50
|
+
|
|
51
|
+
Nestojko et al. 2014 back framing the ask as teaching a named audience. The self-check rules are house judgment.
|
|
52
|
+
|
|
53
|
+
## What makes a lesson worth returning to
|
|
54
|
+
|
|
55
|
+
- The worked example is complete. A learner returning for the example finds the whole thing rather than a fragment they have to reconstruct.
|
|
56
|
+
- The lesson states what it assumes. A returning reader can tell in one line whether they are in the right place.
|
|
57
|
+
- The hard part is named as the hard part. Material that flattens everything to one difficulty gives a returning reader nothing to navigate by.
|
|
58
|
+
- Nothing depends on the session it was written in. A lesson referring to what was discussed is unreadable a week later.
|
|
59
|
+
|
|
60
|
+
This section is house judgment, like restraint above.
|
|
@@ -5,17 +5,31 @@ description: Fluency against storage strength, retrieval practice, spacing, inte
|
|
|
5
5
|
|
|
6
6
|
# Pedagogy reference
|
|
7
7
|
|
|
8
|
-
The rules a lesson is built from. Read this before picking what to teach next
|
|
8
|
+
The rules a lesson is built from. Read this before picking what to teach next.
|
|
9
|
+
|
|
10
|
+
Each section names the research behind it or says it is house judgment. The passage each source was taken from, and the reason each house rule stays, sit in `adopted.md` beside this file.
|
|
11
|
+
|
|
12
|
+
## Contents
|
|
13
|
+
|
|
14
|
+
- [Fluency is not storage strength](#fluency-is-not-storage-strength)
|
|
15
|
+
- [Retrieval practice](#retrieval-practice)
|
|
16
|
+
- [Spacing](#spacing)
|
|
17
|
+
- [Interleaving](#interleaving)
|
|
18
|
+
- [The zone of proximal development](#the-zone-of-proximal-development)
|
|
19
|
+
- [Where difficulty helps and where it hurts](#where-difficulty-helps-and-where-it-hurts)
|
|
20
|
+
- [Sourcing](#sourcing)
|
|
9
21
|
|
|
10
22
|
## Fluency is not storage strength
|
|
11
23
|
|
|
12
|
-
A learner who follows an explanation smoothly has demonstrated that the explanation was clear. That is fluency, and it
|
|
24
|
+
A learner who follows an explanation smoothly has demonstrated that the explanation was clear. That is fluency, and it does not last. Storage strength is whether the material can be retrieved later without the explanation present, and the two move independently.
|
|
13
25
|
|
|
14
26
|
The practical consequence is that a lesson cannot report its own success. Only a later retrieval can, which is why the learning record exists and why every session opens by testing the last one rather than by reviewing it.
|
|
15
27
|
|
|
16
28
|
- Treat a learner's confidence as evidence about the lesson, never about their retention
|
|
17
29
|
- Never advance on the strength of a smooth session. Advance on a retrieval the learner passed unaided.
|
|
18
30
|
|
|
31
|
+
Roediger and Karpicke 2006 back this section. Restudying won on a test five minutes later and lost on the delayed tests, while it raised the learners' confidence.
|
|
32
|
+
|
|
19
33
|
## Retrieval practice
|
|
20
34
|
|
|
21
35
|
Pulling an answer out of memory strengthens it far more than reading it again. Recognition is the weak form: a learner who picks the right option from four has done less work than one who produced the answer from nothing.
|
|
@@ -24,6 +38,7 @@ Pulling an answer out of memory strengthens it far more than reading it again. R
|
|
|
24
38
|
- Prefer a question the learner has to produce an answer to over one they select from
|
|
25
39
|
- Let the learner fail an attempt before correcting it. A failed retrieval followed by the answer beats being told first.
|
|
26
40
|
- Do not cue the answer in the question. A question restating the material tests reading rather than memory.
|
|
41
|
+
- Asking first and the failed attempt rest on Kornell, Hays and Bjork 2009. Production over selection and the no-cue rule are house judgment, since no opened study compared a recognition test.
|
|
27
42
|
|
|
28
43
|
The teach-back block is the production form this section prefers, which is why a lesson carries one beside its quiz. A quiz is recognition, so a lesson offering only one tests the weak form and reports it as retrieval.
|
|
29
44
|
|
|
@@ -33,6 +48,8 @@ Explaining the material to somebody who lacks it makes the learner produce the w
|
|
|
33
48
|
- Name the audience the explanation is for, since an explanation with no reader has no floor to sit above
|
|
34
49
|
- Record what the explanation left out under what the learner got wrong. A missed production and a missed selection are both retrieval failures, and two sections would split one placement input.
|
|
35
50
|
|
|
51
|
+
Nestojko et al. 2014 found that expecting to teach produced fuller and better organized recall. Its participants never taught, so the finding backs framing the ask as teaching.
|
|
52
|
+
|
|
36
53
|
## Spacing
|
|
37
54
|
|
|
38
55
|
The same total time spread across days beats the same time in one sitting. Forgetting between sessions is the mechanism rather than the cost, because effortful retrieval is what strengthens the trace.
|
|
@@ -41,10 +58,13 @@ The same total time spread across days beats the same time in one sitting. Forge
|
|
|
41
58
|
- Widen the gap each time a topic is retrieved correctly, and shorten it after a miss
|
|
42
59
|
- Name what to revisit and when in the learning record, so the next session has a schedule rather than a guess
|
|
43
60
|
|
|
61
|
+
Cepeda et al. 2006 found the best gap grew with how long the material had to last, and the IES practice guide recommends spacing at classroom scale. Forgetting as the mechanism, and widening or shortening the gap after each retrieval, are house judgment.
|
|
62
|
+
|
|
44
63
|
The ladder is 1, 3, 7, 16, and 35 days. A topic retrieved unaided moves up a rung and a miss drops it back one, held inside the ladder at either end, so a topic the learner keeps missing stays on the shortest gap rather than restarting a sequence.
|
|
45
64
|
|
|
46
|
-
-
|
|
47
|
-
|
|
65
|
+
- Apply the ladder as written rather than picking a gap by judgment, since an author told to widen a gap settles on whatever feels right
|
|
66
|
+
|
|
67
|
+
The ladder is house judgment. No opened source names a sequence of days or tests a gap that widens after each correct retrieval.
|
|
48
68
|
|
|
49
69
|
## Interleaving
|
|
50
70
|
|
|
@@ -54,6 +74,8 @@ Mixing related topics within a session beats finishing one before starting the n
|
|
|
54
74
|
- Keep problems in a mixed set close enough that telling them apart is the work
|
|
55
75
|
- Do not interleave a topic the learner has never seen. Interleaving discriminates between things already known.
|
|
56
76
|
|
|
77
|
+
Kornell and Bjork 2008 found interleaved paintings taught each artist's style better, while learners rated blocked study as more effective. The study mixed exemplars of categories, so mixing topics and the unseen-topic clause are house judgment.
|
|
78
|
+
|
|
57
79
|
## The zone of proximal development
|
|
58
80
|
|
|
59
81
|
The productive band is what the learner cannot do alone and can do with support. Below it the session is review, and above it the support carries the whole task and nothing transfers.
|
|
@@ -63,6 +85,8 @@ The productive band is what the learner cannot do alone and can do with support.
|
|
|
63
85
|
- Withdraw support as the learner succeeds, and restore it on a miss rather than repeating the lesson
|
|
64
86
|
- Where the records show nothing, ask. A guessed starting point misses in both directions.
|
|
65
87
|
|
|
88
|
+
This section is house judgment. Vygotsky's account was not opened, so the band rests on how a session picks the next step from the record rather than on a citation.
|
|
89
|
+
|
|
66
90
|
## Where difficulty helps and where it hurts
|
|
67
91
|
|
|
68
92
|
Difficulty is not uniformly good. It helps skill acquisition, where the learner is building a procedure they will execute, and it hurts knowledge acquisition, where the learner is taking on facts and structure they do not have yet.
|
|
@@ -71,11 +95,22 @@ Difficulty is not uniformly good. It helps skill acquisition, where the learner
|
|
|
71
95
|
- Add difficulty once the learner is practicing rather than acquiring: withhold the worked step, vary the surface of the problem, delay the feedback
|
|
72
96
|
- Never confuse a hard explanation with a hard problem. A confusing explanation adds load that teaches nothing.
|
|
73
97
|
|
|
98
|
+
The split between skill and knowledge acquisition is house judgment. The IES guide backs worked examples while a learner acquires a procedure, and Kornell, Hays and Bjork back difficulty at retrieval.
|
|
99
|
+
|
|
74
100
|
## Sourcing
|
|
75
101
|
|
|
76
|
-
Parametric recall is confident where it is wrong, and a learner cannot audit it. Every claim in a lesson traces to something read.
|
|
102
|
+
Parametric recall is confident where it is wrong, and a learner cannot audit it. Every claim in a lesson traces to something read. This section is the toolkit's rule for what a lesson cites rather than a finding about memory.
|
|
77
103
|
|
|
78
104
|
- Read the subject from sources before teaching, and record each one with its link
|
|
79
105
|
- Mark any claim resting on recall as resting on recall, in the lesson itself
|
|
80
106
|
- List a source found and not opened as a lead, and never cite it
|
|
81
|
-
-
|
|
107
|
+
- Rest each general claim on the highest rung of the ladder below that covers it
|
|
108
|
+
- Never take the learner's own projects, or material specific to one employer, as proof of a general claim. Either may appear as a worked application labeled with whose it is.
|
|
109
|
+
|
|
110
|
+
The ladder runs in three rungs, highest first.
|
|
111
|
+
|
|
112
|
+
1. Documentation or a specification published by whoever owns the subject
|
|
113
|
+
2. A canonical work on the subject, such as the standard text, a reference book, or a primary paper
|
|
114
|
+
3. Other material, such as a tutorial, a course, or a post, and only for a claim the first two rungs do not cover
|
|
115
|
+
|
|
116
|
+
A subject nobody owns, such as a mathematical topic or a craft, has no first rung, so its list starts at the second. Record a third-rung source with the claim it covers and why no higher rung does, since that reason is what a later session checks the choice against.
|
package/docs/agents/audits.md
CHANGED
|
@@ -77,7 +77,6 @@ The placement entry runs pinned to `--backend off`, so its tally stays comparabl
|
|
|
77
77
|
| `records-plans` | `canon records validate plans` | Plan records against their shape | Reports |
|
|
78
78
|
| `records-groundwork` | `canon records validate groundwork` | Groundwork folders against their shape | Reports |
|
|
79
79
|
| `records-intake` | `canon records validate intake` | Intake folders against their shape | Reports |
|
|
80
|
-
| `records-teach` | `canon records validate teach` | Teach records against their shape | Reports |
|
|
81
80
|
| `comments` | `canon comments scan` | Comment density by language and kind, and `TODO`, `FIXME`, `HACK`, `XXX` | Reports |
|
|
82
81
|
| `test-order` | `canon gov test-order` | Implementations that reached branch history before their test | Reports |
|
|
83
82
|
| `secrets` | `canon secrets scan` | Credential-shaped values in the shipped tree | Gates |
|
|
@@ -70,14 +70,6 @@ After a rename the new name shows as `missing` when the stamp records a stack, a
|
|
|
70
70
|
|
|
71
71
|
`canon tooling inject` and `prune-gitignore` apply one stack with no scan or prompt, and the latter prints the number removed on stdout. Use `sync` unless scripting provisioning, and pass `--nested` inside an open frame.
|
|
72
72
|
|
|
73
|
-
## Design
|
|
74
|
-
|
|
75
|
-
- `canon design install` copies `base.css` to `.claude/design/` and creates no override
|
|
76
|
-
- Project overrides live in `.claude/design/project/`, which `design sync` never touches
|
|
77
|
-
- `canon design fonts add <file> --family <name>` copies a `woff2`, `woff`, `ttf`, or `otf` face into `project/fonts/` with its `fonts.css` rule, and refuses mismatched bytes as `invalid-font`
|
|
78
|
-
- `fonts list --json` flags a missing or out-of-folder file as a `problem`
|
|
79
|
-
- `canon sync` skips the domain where `design install` never ran
|
|
80
|
-
|
|
81
73
|
## Whole-project sync
|
|
82
74
|
|
|
83
75
|
`canon sync [path]` runs every installed domain sync, then offers a commit and pull request. Headlessly it applies the syncs, refuses the git workflow, reports what it would have made, and exits 0. It refuses a dirty working tree.
|
|
@@ -121,7 +121,7 @@ From the registry the walk reports `historyUnavailable`, so check both paths by
|
|
|
121
121
|
| ----------------- | ------------------------------------------------------------- |
|
|
122
122
|
| `task-board` | `board`, `tasks`, `tasks-decline` |
|
|
123
123
|
| `context-fold` | `context` |
|
|
124
|
-
| `canvas-board` | `canvas`, `design`
|
|
124
|
+
| `canvas-board` | `canvas`, `design` <!-- canon-keep-retired --> |
|
|
125
125
|
| `docs-sync` | `docs`, `readme` |
|
|
126
126
|
| `draw-figure` | `figures`, `mermaid` |
|
|
127
127
|
| `create-rule` | `rule` |
|
|
@@ -130,7 +130,7 @@ From the registry the walk reports `historyUnavailable`, so check both paths by
|
|
|
130
130
|
| `git-commit` | `commit`, `versioning` |
|
|
131
131
|
| `git-pr` | `pr`, `publish` |
|
|
132
132
|
| `markdown-craft` | `markdown` |
|
|
133
|
-
| `teach-workspace` | `glossary`, `teach`
|
|
133
|
+
| `teach-workspace` | `glossary`, `teach` <!-- canon-keep-retired --> |
|
|
134
134
|
| `plan-groundwork` | `groundwork`, `groundwork-spikes` |
|
|
135
135
|
| `plan-intake` | `intake` |
|
|
136
136
|
| `plan-feature` | `plan`, `plan-lifecycle` |
|
|
@@ -148,6 +148,20 @@ The wireframes record is retired, and nothing deletes what a project holds.
|
|
|
148
148
|
- Delete the `@canon/wireframes/index.md` line in your `CLAUDE.md` with the folder. `canon claude sync` does not rewrite it.
|
|
149
149
|
- `canon gov sync` removes `.claude/rules/canon/standards/wireframes.md`
|
|
150
150
|
|
|
151
|
+
## Keep or delete the retired product files, your call
|
|
152
|
+
|
|
153
|
+
The learning workspace, deck renderer, app recorder, canvas, and design install are retired with their verbs, and nothing deletes what a project holds.
|
|
154
|
+
|
|
155
|
+
- `.canon/teach/` holds HTML that opens as it is <!-- canon-keep-retired -->
|
|
156
|
+
- `.canon/slides/` and a `demos/` folder hold sources nothing renders any more, so delete them once nothing cites them <!-- canon-keep-retired -->
|
|
157
|
+
- Move the `.claude/design/project/` values, `fonts/`, and `fonts.css` to the stylesheet your `canon/DESIGN.md` lead names, then delete `.claude/design/`
|
|
158
|
+
|
|
159
|
+
A reference to a retired skill takes a hand edit.
|
|
160
|
+
|
|
161
|
+
- Replace a `canon:teach-workspace` reference with `canon:teach-craft` by hand, since `canon migrate skill-names` does not rewrite it <!-- canon-keep-retired -->
|
|
162
|
+
- Delete a `canon:make-deck`, `canon:script-screencast`, `canon:record-screencast`, `canon:read-frames`, or `canon:video-craft` reference, since none has a successor <!-- canon-keep-retired -->
|
|
163
|
+
- Delete a `canon:canvas-board` reference too. Frameboard, which `canon:pick-by-eye` drives, reads each `.canon/canvas/` folder as a project, so move a kept page under one <!-- canon-keep-retired -->
|
|
164
|
+
|
|
151
165
|
## Move decisions out of a held architecture record, once
|
|
152
166
|
|
|
153
167
|
The toolkit no longer seeds `canon/ARCHITECTURE.md`, and a held file and its `CLAUDE.md` import stay. Move a trap a session would hit into that domain's `## Gotchas`, then delete the file and its `@canon/ARCHITECTURE.md` line.
|
package/docs/target/projects.md
CHANGED
|
@@ -56,7 +56,7 @@ Keep the `## Scripts` table in `canon/context/development/local-loop.md` current
|
|
|
56
56
|
Before the first feature session:
|
|
57
57
|
|
|
58
58
|
1. Fill `canon/REQUIREMENTS.md` with the problem, goals, and non-goals. The seed's 600-word cap gates under `canon context audit`.
|
|
59
|
-
2. For a UI project, write `canon/DESIGN.md` from the seed and name the stylesheet in its lead, or work the direction out with `canon:
|
|
59
|
+
2. For a UI project, write `canon/DESIGN.md` from the seed and name the stylesheet in its lead, or work the direction out with `canon:pick-by-eye`
|
|
60
60
|
3. Optionally invoke `canon:draw-figure` for an architecture view. The Mermaid CLI downloads on first use.
|
|
61
61
|
4. Start the feature loop in [AI workflow](../workflow/ai-workflow.md)
|
|
62
62
|
|
|
@@ -32,7 +32,7 @@ Assert the orchestrator role in one warm session with `canon:role-orchestrator`.
|
|
|
32
32
|
|
|
33
33
|
- To pick otherwise, rewrite that line as `overridden at execution to <pick>,` plus the measurement, and add one line to the open task's `## Findings`
|
|
34
34
|
|
|
35
|
-
- `canon records validate plans [plan]` reports a plan breaking its standard, plus `structure` misses that never set the exit, and takes `groundwork
|
|
35
|
+
- `canon records validate plans [plan]` reports a plan breaking its standard, plus `structure` misses that never set the exit, and takes `groundwork` and `intake`
|
|
36
36
|
- `canon records push` and `canon records pull` carry `.canon/` to and from a private repository. See [records](../agents/records.md).
|
|
37
37
|
- `canon records size`, `canon records prune-tmp`, and `canon records stale canonical` report folder size, idle scratch, and releases since the requirements review
|
|
38
38
|
- `canon tasks archive` moves a shipped plan to `.canon/plans/archive/` and retargets the task's `Plan:` line
|
|
@@ -10,24 +10,15 @@ These skills serve a request rather than a moment. With the [skill map](skill-ma
|
|
|
10
10
|
|
|
11
11
|
## Generate an artifact on demand
|
|
12
12
|
|
|
13
|
-
| Skill
|
|
14
|
-
|
|
|
15
|
-
| `canon:create-rule`
|
|
16
|
-
| `canon:create-skill`
|
|
17
|
-
| `canon:write-doc`
|
|
18
|
-
| `canon:
|
|
19
|
-
| `canon:
|
|
20
|
-
| `canon:
|
|
21
|
-
| `canon:
|
|
22
|
-
| `canon:draft-figure` | Never on purpose. A pointer naming `draw-figure` <!-- canon-keep-retired --> |
|
|
23
|
-
| `canon:ci-workflow` | A GitHub Actions workflow file |
|
|
24
|
-
| `canon:make-deck` | A deck rendered to editable PowerPoint |
|
|
25
|
-
| `canon:draft-slides` | Never on purpose. A pointer naming `make-deck` <!-- canon-keep-retired --> |
|
|
26
|
-
| `canon:script-screencast` | A recording script with beats seeded |
|
|
27
|
-
| `canon:draft-screencast` | Never on purpose. A pointer naming `script-screencast` <!-- canon-keep-retired --> |
|
|
28
|
-
| `canon:record-screencast` | Recording a screencast draft into a finished mp4 |
|
|
29
|
-
| `canon:design-identity` | A logo mark and social card |
|
|
30
|
-
| `canon:draft-identity` | Never on purpose. A pointer naming `design-identity` <!-- canon-keep-retired --> |
|
|
13
|
+
| Skill | When to use |
|
|
14
|
+
| ----------------------- | ------------------------------------------------- |
|
|
15
|
+
| `canon:create-rule` | A project rule the toolkit does not ship |
|
|
16
|
+
| `canon:create-skill` | A new `SKILL.md` |
|
|
17
|
+
| `canon:write-doc` | A new `docs/` page, context entry, or `README.md` |
|
|
18
|
+
| `canon:plan-ready` | Finished files a worker should copy |
|
|
19
|
+
| `canon:draw-figure` | A figure or architecture view inside a doc |
|
|
20
|
+
| `canon:ci-workflow` | A GitHub Actions workflow file |
|
|
21
|
+
| `canon:design-identity` | A logo mark and social card |
|
|
31
22
|
|
|
32
23
|
## Answer a question at any point
|
|
33
24
|
|
|
@@ -35,9 +26,6 @@ These skills serve a request rather than a moment. With the [skill map](skill-ma
|
|
|
35
26
|
| --------------------------- | ----------------------------------------------------- |
|
|
36
27
|
| `canon:canon-cli` | To pick a `canon` verb, or learn which can lose edits |
|
|
37
28
|
| `canon:youtube-transcripts` | A video transcript wanted as context |
|
|
38
|
-
| `canon:
|
|
39
|
-
| `canon:teach-workspace` | To learn a subject across sessions |
|
|
29
|
+
| `canon:teach-craft` | To teach a subject so it sticks |
|
|
40
30
|
| `canon:markdown-craft` | Before a substantial markdown edit |
|
|
41
31
|
| `canon:write-human` | Before drafting or revising prose |
|
|
42
|
-
|
|
43
|
-
Ask `canon:teach-workspace` to promote a learning workspace's reference pages and glossaries. It proposes a destination per page and waits. An Anthropic-owned subject goes to the wiki, an internal one to the matching context entry, and the rest to the public docs. A project with no wiki folder gets a refusal naming the folder to create.
|
|
@@ -17,19 +17,17 @@ Groups run in the order a project meets them. Every name `canon claude skills li
|
|
|
17
17
|
|
|
18
18
|
## Decide what to build
|
|
19
19
|
|
|
20
|
-
| Skill | When to use
|
|
21
|
-
| -------------------------- |
|
|
22
|
-
| `canon:plan-intake` | The input is a pile of findings
|
|
23
|
-
| `canon:plan-intake-answer` | An intake folder holds unread slots
|
|
24
|
-
| `canon:backlog-triage` | The backlog needs pruning
|
|
25
|
-
| `canon:plan-groundwork` | The state is unmeasured and approaches compete
|
|
26
|
-
| `canon:decision-escalate` | Open decisions turn on your preference
|
|
27
|
-
| `canon:pick-by-eye` | The call is taste, wanting candidates side by side
|
|
28
|
-
| `canon:
|
|
29
|
-
| `canon:
|
|
30
|
-
| `canon:
|
|
31
|
-
| `canon:plan-feature` | The approach is settled and needs a plan |
|
|
32
|
-
| `canon:codebase-layout` | A change adds a file and needs a folder |
|
|
20
|
+
| Skill | When to use |
|
|
21
|
+
| -------------------------- | -------------------------------------------------- |
|
|
22
|
+
| `canon:plan-intake` | The input is a pile of findings |
|
|
23
|
+
| `canon:plan-intake-answer` | An intake folder holds unread slots |
|
|
24
|
+
| `canon:backlog-triage` | The backlog needs pruning |
|
|
25
|
+
| `canon:plan-groundwork` | The state is unmeasured and approaches compete |
|
|
26
|
+
| `canon:decision-escalate` | Open decisions turn on your preference |
|
|
27
|
+
| `canon:pick-by-eye` | The call is taste, wanting candidates side by side |
|
|
28
|
+
| `canon:task-board` | A decided item needs a file on the board |
|
|
29
|
+
| `canon:plan-feature` | The approach is settled and needs a plan |
|
|
30
|
+
| `canon:codebase-layout` | A change adds a file and needs a folder |
|
|
33
31
|
|
|
34
32
|
## Build the feature
|
|
35
33
|
|
|
@@ -47,7 +45,6 @@ Groups run in the order a project meets them. Every name `canon claude skills li
|
|
|
47
45
|
| `canon:search-craft` | Before searching outside the project |
|
|
48
46
|
| `canon:systematic-debugging` | A test fails or a bug surfaces |
|
|
49
47
|
| `canon:design-taste` | Drafting or judging an interface |
|
|
50
|
-
| `canon:video-craft` | Before composing or judging a video |
|
|
51
48
|
| `canon:ui-checklist` | After a UI change, to list what to check |
|
|
52
49
|
|
|
53
50
|
## Check the work before it leaves the branch
|
|
@@ -13,14 +13,11 @@ Three tiers run from prose-only design docs to a graphical source of truth, and
|
|
|
13
13
|
The default. `canon/DESIGN.md` holds visual intent as one Overview paragraph, at most three one-line rules a section, and a table naming each color and shape role, with a lead naming the stylesheet. Claude Code alone suffices, and [`test-craft`](../../claude/skills/test-craft/SKILL.md) says which layer a Playwright journey belongs at.
|
|
14
14
|
|
|
15
15
|
- The seed is `tooling/claude/seeds/canon/DESIGN.md`, and its column headers stay verbatim
|
|
16
|
-
- `canon design render` previews it in `.canon/tmp/render/design/`
|
|
17
|
-
- `canon design install` copies a neutral base to `.claude/design/base.css`, so override values in `.claude/design/project/`. See `canon/context/features/design.md`.
|
|
18
16
|
|
|
19
17
|
These skills cover the tier:
|
|
20
18
|
|
|
21
19
|
- `canon:ui-checklist`, `canon:ux-audit`, and `canon:ux-measure` review and measure a UI
|
|
22
|
-
- `canon:pick-by-eye` drafts candidates as frames on
|
|
23
|
-
- `canon:canvas-board` works a direction out as HTML frames you edit in the browser, and hands the pick on
|
|
20
|
+
- `canon:pick-by-eye` drafts candidates as frames on a [Frameboard](https://www.npmjs.com/package/frameboard) board and takes your pick
|
|
24
21
|
- `canon:design-record` lands a pick in `canon/design/` and carries its values into `canon/DESIGN.md`
|
|
25
22
|
- `canon:design-identity` drafts a logo mark and social card
|
|
26
23
|
|