@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.
Files changed (201) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +11 -13
  3. package/claude/.claude-plugin/plugin.json +1 -1
  4. package/claude/skills/canon-cli/SKILL.md +5 -8
  5. package/claude/skills/context-fold/REQUIREMENT.md +0 -1
  6. package/claude/skills/design-identity/REQUIREMENT.md +2 -2
  7. package/claude/skills/design-identity/SKILL.md +6 -6
  8. package/claude/skills/design-record/REQUIREMENT.md +2 -2
  9. package/claude/skills/design-record/SKILL.md +4 -4
  10. package/claude/skills/design-record/references/folder.md +1 -1
  11. package/claude/skills/design-taste/REQUIREMENT.md +1 -1
  12. package/claude/skills/design-taste/references/kinds.md +0 -1
  13. package/claude/skills/draw-figure/REQUIREMENT.md +3 -4
  14. package/claude/skills/draw-figure/SKILL.md +5 -6
  15. package/claude/skills/draw-figure/references/figures.md +0 -1
  16. package/claude/skills/draw-figure/references/hand-drawn.md +1 -1
  17. package/claude/skills/pick-by-eye/REQUIREMENT.md +4 -5
  18. package/claude/skills/pick-by-eye/SKILL.md +34 -41
  19. package/claude/skills/pick-by-eye/references/board.md +42 -0
  20. package/claude/skills/pick-by-eye/references/live-arms.md +3 -3
  21. package/claude/skills/plan-groundwork/SKILL.md +1 -1
  22. package/claude/skills/teach-craft/REQUIREMENT.md +30 -0
  23. package/claude/skills/teach-craft/SKILL.md +70 -0
  24. package/claude/skills/teach-craft/references/adopted.md +113 -0
  25. package/claude/skills/teach-craft/references/lesson-craft.md +60 -0
  26. package/claude/skills/{teach-workspace → teach-craft}/references/pedagogy.md +41 -6
  27. package/docs/agents/audits.md +0 -1
  28. package/docs/agents/install-and-sync.md +0 -8
  29. package/docs/target/migrations.md +16 -2
  30. package/docs/target/projects.md +1 -1
  31. package/docs/workflow/parallel-features.md +1 -1
  32. package/docs/workflow/skill-map-on-request.md +10 -22
  33. package/docs/workflow/skill-map.md +11 -14
  34. package/docs/workflow/visual-design-workflow.md +1 -4
  35. package/governance/detect.toml +1 -6
  36. package/governance/renames.toml +0 -1
  37. package/package.json +2 -8
  38. package/scripts/core/regen-web-previews.ts +2 -67
  39. package/src/audits/catalog.ts +0 -1
  40. package/src/browser/engine.ts +3 -6
  41. package/src/capture/render.ts +1 -1
  42. package/src/claude/cases/authoring.ts +0 -12
  43. package/src/claude/cases/misc.ts +0 -22
  44. package/src/claude/cases/workflow.ts +2 -38
  45. package/src/claude/skills-audit.ts +1 -1
  46. package/src/cli/help.ts +0 -10
  47. package/src/cli.ts +0 -8
  48. package/src/commands/design.ts +16 -315
  49. package/src/commands/records.ts +0 -1
  50. package/src/commands/serve.ts +2 -2
  51. package/src/commands/sync.ts +4 -5
  52. package/src/design/components.ts +8 -1514
  53. package/src/design/css.ts +5 -6
  54. package/src/design/fonts.ts +3 -5
  55. package/src/design/regen.ts +5 -32
  56. package/src/design/render.ts +1 -1
  57. package/src/design/tokens.ts +3 -2
  58. package/src/driver/drive.ts +3 -4
  59. package/src/driver/steps.ts +2 -5
  60. package/src/gate/stages.ts +4 -10
  61. package/src/gov/audit.ts +1 -6
  62. package/src/inventory/walk.ts +1 -1
  63. package/src/markdown/scope.ts +6 -35
  64. package/src/records/validate.ts +4 -176
  65. package/src/sandbox/equivalence.ts +0 -5
  66. package/src/shipped/references.ts +1 -2
  67. package/src/sync/check.ts +4 -29
  68. package/src/sync/stamp.ts +6 -6
  69. package/src/sync/target.ts +1 -4
  70. package/tooling/claude/reference.md +1 -1
  71. package/tooling/claude/seeds/canon/DESIGN.md +1 -1
  72. package/claude/skills/canvas-board/REQUIREMENT.md +0 -35
  73. package/claude/skills/canvas-board/SKILL.md +0 -143
  74. package/claude/skills/canvas-board/references/canvas.md +0 -170
  75. package/claude/skills/draft-and-pick/REQUIREMENT.md +0 -26
  76. package/claude/skills/draft-and-pick/SKILL.md +0 -11
  77. package/claude/skills/draft-doc/REQUIREMENT.md +0 -26
  78. package/claude/skills/draft-doc/SKILL.md +0 -11
  79. package/claude/skills/draft-figure/REQUIREMENT.md +0 -26
  80. package/claude/skills/draft-figure/SKILL.md +0 -11
  81. package/claude/skills/draft-identity/REQUIREMENT.md +0 -26
  82. package/claude/skills/draft-identity/SKILL.md +0 -11
  83. package/claude/skills/draft-ready/REQUIREMENT.md +0 -26
  84. package/claude/skills/draft-ready/SKILL.md +0 -11
  85. package/claude/skills/draft-screencast/REQUIREMENT.md +0 -26
  86. package/claude/skills/draft-screencast/SKILL.md +0 -11
  87. package/claude/skills/draft-slides/REQUIREMENT.md +0 -26
  88. package/claude/skills/draft-slides/SKILL.md +0 -11
  89. package/claude/skills/make-deck/REQUIREMENT.md +0 -36
  90. package/claude/skills/make-deck/SKILL.md +0 -80
  91. package/claude/skills/make-deck/references/deck.md +0 -183
  92. package/claude/skills/read-frames/REQUIREMENT.md +0 -30
  93. package/claude/skills/read-frames/SKILL.md +0 -55
  94. package/claude/skills/record-screencast/REQUIREMENT.md +0 -35
  95. package/claude/skills/record-screencast/SKILL.md +0 -99
  96. package/claude/skills/script-screencast/REQUIREMENT.md +0 -34
  97. package/claude/skills/script-screencast/SKILL.md +0 -70
  98. package/claude/skills/script-screencast/references/beats-template.md +0 -119
  99. package/claude/skills/teach-workspace/REQUIREMENT.md +0 -34
  100. package/claude/skills/teach-workspace/SKILL.md +0 -196
  101. package/claude/skills/teach-workspace/references/glossary.md +0 -90
  102. package/claude/skills/teach-workspace/references/lesson-build.md +0 -106
  103. package/claude/skills/teach-workspace/references/lesson-craft.md +0 -135
  104. package/claude/skills/teach-workspace/references/promotion-fold.md +0 -35
  105. package/claude/skills/teach-workspace/references/promotion.md +0 -116
  106. package/claude/skills/teach-workspace/references/revisit.md +0 -28
  107. package/claude/skills/teach-workspace/references/teach.md +0 -211
  108. package/claude/skills/video-craft/REQUIREMENT.md +0 -35
  109. package/claude/skills/video-craft/SKILL.md +0 -96
  110. package/claude/skills/video-craft/references/adopted.md +0 -110
  111. package/governance/rules/ui/canvas.md +0 -13
  112. package/src/canvas/address.ts +0 -227
  113. package/src/canvas/arrange.ts +0 -66
  114. package/src/canvas/capture.ts +0 -391
  115. package/src/canvas/client/app.tsx +0 -188
  116. package/src/canvas/client/inspector/align-grid.tsx +0 -162
  117. package/src/canvas/client/inspector/color-field.tsx +0 -398
  118. package/src/canvas/client/inspector/color-inputs.tsx +0 -139
  119. package/src/canvas/client/inspector/color-picker.tsx +0 -668
  120. package/src/canvas/client/inspector/color-space.ts +0 -240
  121. package/src/canvas/client/inspector/field.tsx +0 -263
  122. package/src/canvas/client/inspector/fields.css +0 -763
  123. package/src/canvas/client/inspector/section.tsx +0 -27
  124. package/src/canvas/client/inspector/size-field.tsx +0 -69
  125. package/src/canvas/client/inspector/token-select.tsx +0 -109
  126. package/src/canvas/client/inspector/values.ts +0 -297
  127. package/src/canvas/client/inspector.tsx +0 -692
  128. package/src/canvas/client/keys.ts +0 -71
  129. package/src/canvas/client/layers.tsx +0 -118
  130. package/src/canvas/client/main.tsx +0 -71
  131. package/src/canvas/client/pages-panel.tsx +0 -212
  132. package/src/canvas/client/panel-handle.tsx +0 -90
  133. package/src/canvas/client/selection.tsx +0 -199
  134. package/src/canvas/client/shell.css +0 -762
  135. package/src/canvas/client/state.ts +0 -792
  136. package/src/canvas/client/surface.tsx +0 -803
  137. package/src/canvas/client/theme-panel.tsx +0 -55
  138. package/src/canvas/client/tools.tsx +0 -153
  139. package/src/canvas/content.ts +0 -781
  140. package/src/canvas/edit.ts +0 -575
  141. package/src/canvas/editing.ts +0 -203
  142. package/src/canvas/fit.ts +0 -238
  143. package/src/canvas/global.d.ts +0 -15
  144. package/src/canvas/history.ts +0 -116
  145. package/src/canvas/index.html +0 -20
  146. package/src/canvas/server.ts +0 -766
  147. package/src/canvas/tokens.ts +0 -221
  148. package/src/commands/canvas.ts +0 -1097
  149. package/src/commands/demo.ts +0 -542
  150. package/src/commands/slides.ts +0 -184
  151. package/src/commands/teach.ts +0 -1401
  152. package/src/demo/beats.ts +0 -135
  153. package/src/demo/compile.ts +0 -350
  154. package/src/demo/container.ts +0 -219
  155. package/src/demo/cursors.ts +0 -55
  156. package/src/demo/drive.ts +0 -442
  157. package/src/demo/pointer.ts +0 -178
  158. package/src/demo/theme.ts +0 -112
  159. package/src/demo/timeline.ts +0 -64
  160. package/src/design/adapter.ts +0 -59
  161. package/src/design/base.css +0 -203
  162. package/src/design/brand-favicon.ts +0 -18
  163. package/src/design/neutral.ts +0 -127
  164. package/src/design/project-fonts.ts +0 -392
  165. package/src/slides/convert/chart.ts +0 -165
  166. package/src/slides/convert/deck.ts +0 -244
  167. package/src/slides/convert/export.ts +0 -567
  168. package/src/slides/convert/master.ts +0 -198
  169. package/src/slides/convert/shapes.ts +0 -804
  170. package/src/slides/convert/svg.ts +0 -38
  171. package/src/slides/convert/walk.ts +0 -671
  172. package/src/slides/decks.ts +0 -110
  173. package/src/slides/open.ts +0 -18
  174. package/src/slides/package/fonts.ts +0 -301
  175. package/src/slides/package/motion.ts +0 -316
  176. package/src/slides/package/test-face.ts +0 -113
  177. package/src/teach/browser/compile.ts +0 -44
  178. package/src/teach/browser/dismiss.ts +0 -76
  179. package/src/teach/browser/focus-line.ts +0 -19
  180. package/src/teach/browser/glossary-filter.ts +0 -44
  181. package/src/teach/browser/head.ts +0 -30
  182. package/src/teach/browser/quiz.ts +0 -19
  183. package/src/teach/browser/reload.ts +0 -9
  184. package/src/teach/browser/sidebar.ts +0 -233
  185. package/src/teach/browser/theme.ts +0 -18
  186. package/src/teach/components/code.tsx +0 -24
  187. package/src/teach/components/heading.tsx +0 -11
  188. package/src/teach/components/list.tsx +0 -17
  189. package/src/teach/components/paragraph.tsx +0 -29
  190. package/src/teach/components/refs.tsx +0 -28
  191. package/src/teach/cross-references.ts +0 -78
  192. package/src/teach/fonts.ts +0 -16
  193. package/src/teach/highlight.ts +0 -71
  194. package/src/teach/html/jsx-dev-runtime.ts +0 -13
  195. package/src/teach/html/jsx-runtime.ts +0 -113
  196. package/src/teach/html/raw.ts +0 -28
  197. package/src/teach/lesson.ts +0 -178
  198. package/src/teach/nav.ts +0 -1337
  199. package/src/teach/render.ts +0 -240
  200. package/src/teach/workspace.ts +0 -1164
  201. 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 to the canvas page folder at the path each frame links, since a frame resolves only its own page. Each arm then differs from the shipped page only in what it names.
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 canvas 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.
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 canvas cannot reproduce, such as an asset whose colors follow the browser rather than the frame's theme, rather than fixing the frame around it.
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 canvas pages under `.canon/canvas/` that its close deletes.
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, not while writing the markup.
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 decays within days. Storage strength is whether the material can be retrieved later without the explanation present, and the two move independently.
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
- - Do not compute a date from that ladder by hand. `canon teach list <topic> --json` reports both dates resolved for every item, a number to copy rather than a rule to apply.
47
- - An author told to widen a gap still picks it by judgment, the same reason quiz option order is drawn by a verb rather than stated here
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
- - Choose which sources to read by the ladder under `### Choosing sources` in the teach standard, which also rules out the learner's own work as proof of a general claim
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.
@@ -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.
@@ -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:canvas-board`
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`, `intake`, and `teach`
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 | 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:draft-doc` | Never on purpose. A pointer naming `write-doc` <!-- canon-keep-retired --> |
19
- | `canon:plan-ready` | Finished files a worker should copy |
20
- | `canon:draft-ready` | Never on purpose. A pointer naming `plan-ready` <!-- canon-keep-retired --> |
21
- | `canon:draw-figure` | A figure or architecture view inside a doc |
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:read-frames` | To read a recorded demo back frame by frame |
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:draft-and-pick` | Never on purpose. A pointer naming `pick-by-eye` <!-- canon-keep-retired --> |
29
- | `canon:canvas-board` | A direction should be drawn as editable frames |
30
- | `canon:task-board` | A decided item needs a file on the board |
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 the canvas and takes your pick
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