@erclx/canon 4.66.0 → 4.68.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 (156) hide show
  1. package/claude/.claude-plugin/plugin.json +1 -1
  2. package/claude/skills/{claude-autoship → auto-ship}/REQUIREMENT.md +3 -3
  3. package/claude/skills/{claude-autoship → auto-ship}/SKILL.md +36 -36
  4. package/claude/skills/canon-cli/REQUIREMENT.md +2 -2
  5. package/claude/skills/canon-cli/SKILL.md +2 -2
  6. package/claude/skills/canon-feedback-triage/REQUIREMENT.md +1 -1
  7. package/claude/skills/canon-feedback-triage/SKILL.md +3 -3
  8. package/claude/skills/canon-operator/REQUIREMENT.md +1 -1
  9. package/claude/skills/canon-operator/SKILL.md +4 -4
  10. package/claude/skills/canon-rollout/REQUIREMENT.md +6 -6
  11. package/claude/skills/canon-rollout/SKILL.md +7 -7
  12. package/claude/skills/{claude-design-extract → design-extract}/REQUIREMENT.md +4 -4
  13. package/claude/skills/{claude-design-extract → design-extract}/SKILL.md +1 -1
  14. package/claude/skills/{claude-docs → docs-fold}/REQUIREMENT.md +3 -3
  15. package/claude/skills/{claude-docs → docs-fold}/SKILL.md +14 -14
  16. package/claude/skills/{claude-docs → docs-fold}/references/anchor-sweep.md +1 -1
  17. package/claude/skills/{claude-docs → docs-fold}/references/wireframe-sweep.md +1 -1
  18. package/claude/skills/docs-sync/REQUIREMENT.md +3 -3
  19. package/claude/skills/docs-sync/SKILL.md +1 -1
  20. package/claude/skills/draft-and-pick/REQUIREMENT.md +4 -4
  21. package/claude/skills/draft-and-pick/SKILL.md +6 -6
  22. package/claude/skills/draft-context/REQUIREMENT.md +2 -2
  23. package/claude/skills/draft-context/SKILL.md +3 -3
  24. package/claude/skills/{claude-diagram → draft-diagram}/REQUIREMENT.md +4 -4
  25. package/claude/skills/{claude-diagram → draft-diagram}/SKILL.md +3 -3
  26. package/claude/skills/draft-docs/REQUIREMENT.md +1 -1
  27. package/claude/skills/draft-wireframes/REQUIREMENT.md +1 -1
  28. package/claude/skills/draft-wireframes/SKILL.md +2 -2
  29. package/claude/skills/git-followup/REQUIREMENT.md +1 -1
  30. package/claude/skills/git-followup/SKILL.md +1 -1
  31. package/claude/skills/git-pr/SKILL.md +3 -3
  32. package/claude/skills/git-ship/REQUIREMENT.md +2 -2
  33. package/claude/skills/git-ship/SKILL.md +8 -8
  34. package/claude/skills/git-worktree/REQUIREMENT.md +2 -2
  35. package/claude/skills/git-worktree/SKILL.md +3 -3
  36. package/claude/skills/identity/REQUIREMENT.md +2 -2
  37. package/claude/skills/identity/SKILL.md +3 -3
  38. package/claude/skills/{claude-markdown-propose → markdown-propose}/REQUIREMENT.md +8 -8
  39. package/claude/skills/{claude-markdown-propose → markdown-propose}/SKILL.md +5 -5
  40. package/claude/skills/{claude-markdown-propose → markdown-propose}/references/format.md +1 -1
  41. package/claude/skills/{claude-memory-capture → memory-capture}/REQUIREMENT.md +5 -5
  42. package/claude/skills/{claude-memory-capture → memory-capture}/SKILL.md +13 -13
  43. package/claude/skills/{claude-memory-review → memory-review}/REQUIREMENT.md +4 -4
  44. package/claude/skills/{claude-memory-review → memory-review}/SKILL.md +10 -10
  45. package/claude/skills/migration-context/SKILL.md +1 -1
  46. package/claude/skills/migration-standards-drop/REQUIREMENT.md +1 -1
  47. package/claude/skills/migration-superseded/REQUIREMENT.md +1 -1
  48. package/claude/skills/{claude-feature → plan-feature}/REQUIREMENT.md +4 -4
  49. package/claude/skills/{claude-feature → plan-feature}/SKILL.md +4 -4
  50. package/claude/skills/{claude-groundwork → plan-groundwork}/REQUIREMENT.md +5 -5
  51. package/claude/skills/{claude-groundwork → plan-groundwork}/SKILL.md +8 -8
  52. package/claude/skills/{claude-intake → plan-intake}/REQUIREMENT.md +6 -6
  53. package/claude/skills/{claude-intake → plan-intake}/SKILL.md +10 -10
  54. package/claude/skills/{claude-intake-answer → plan-intake-answer}/REQUIREMENT.md +4 -4
  55. package/claude/skills/{claude-intake-answer → plan-intake-answer}/SKILL.md +5 -5
  56. package/claude/skills/{claude-address-review → review-address}/REQUIREMENT.md +5 -5
  57. package/claude/skills/{claude-address-review → review-address}/SKILL.md +6 -6
  58. package/claude/skills/{claude-address-review → review-address}/references/rebase-conflicts.md +1 -1
  59. package/claude/skills/{claude-review → review-branch}/REQUIREMENT.md +4 -4
  60. package/claude/skills/{claude-review → review-branch}/SKILL.md +4 -4
  61. package/claude/skills/{claude-pr-review → review-pr}/REQUIREMENT.md +5 -5
  62. package/claude/skills/{claude-pr-review → review-pr}/SKILL.md +11 -11
  63. package/claude/skills/{claude-orchestrate → role-orchestrator}/REQUIREMENT.md +5 -5
  64. package/claude/skills/{claude-orchestrate → role-orchestrator}/SKILL.md +20 -20
  65. package/claude/skills/{claude-orchestrate → role-orchestrator}/references/orchestrator-dispatch.md +30 -30
  66. package/claude/skills/{claude-orchestrate → role-orchestrator}/references/orchestrator-handoff.md +2 -2
  67. package/claude/skills/{claude-orchestrate → role-orchestrator}/references/orchestrator-parked.md +8 -8
  68. package/claude/skills/{claude-orchestrate → role-orchestrator}/references/orchestrator-poll.md +8 -8
  69. package/claude/skills/{claude-orchestrate → role-orchestrator}/references/orchestrator-resume.md +1 -1
  70. package/claude/skills/{claude-orchestrate → role-orchestrator}/references/orchestrator-sweep.md +1 -1
  71. package/claude/skills/{claude-orchestrate → role-orchestrator}/scripts/poll.sh +6 -6
  72. package/claude/skills/{claude-planner → role-planner}/REQUIREMENT.md +12 -12
  73. package/claude/skills/{claude-planner → role-planner}/SKILL.md +4 -4
  74. package/claude/skills/{claude-worker → role-worker}/REQUIREMENT.md +8 -8
  75. package/claude/skills/{claude-worker → role-worker}/SKILL.md +6 -6
  76. package/claude/skills/{claude-seed-sync → seed-sync}/REQUIREMENT.md +2 -2
  77. package/claude/skills/{claude-seed-sync → seed-sync}/SKILL.md +3 -3
  78. package/claude/skills/session-map/REQUIREMENT.md +2 -2
  79. package/claude/skills/session-map/SKILL.md +2 -2
  80. package/claude/skills/session-resume/REQUIREMENT.md +2 -2
  81. package/claude/skills/session-resume/SKILL.md +2 -2
  82. package/claude/skills/{claude-worktree → session-worktree}/REQUIREMENT.md +3 -3
  83. package/claude/skills/{claude-worktree → session-worktree}/SKILL.md +6 -6
  84. package/claude/skills/setup-plugins/references/plugin-catalog.md +1 -1
  85. package/claude/skills/{claude-standards-audit → standards-audit}/REQUIREMENT.md +2 -2
  86. package/claude/skills/{claude-standards-audit → standards-audit}/SKILL.md +2 -2
  87. package/claude/skills/systematic-debugging/REQUIREMENT.md +1 -1
  88. package/claude/skills/{claude-tasks → task-board}/REQUIREMENT.md +3 -3
  89. package/claude/skills/{claude-tasks → task-board}/SKILL.md +7 -7
  90. package/claude/skills/{claude-teach → teach-workspace}/REQUIREMENT.md +2 -2
  91. package/claude/skills/{claude-teach → teach-workspace}/SKILL.md +4 -4
  92. package/claude/skills/test-first/REQUIREMENT.md +2 -2
  93. package/claude/skills/{claude-ui-test → ui-test}/REQUIREMENT.md +3 -3
  94. package/claude/skills/{claude-ui-test → ui-test}/SKILL.md +3 -3
  95. package/claude/skills/{claude-ux-audit → ux-audit}/REQUIREMENT.md +6 -6
  96. package/claude/skills/{claude-ux-audit → ux-audit}/SKILL.md +5 -5
  97. package/claude/skills/{claude-ux-measure → ux-measure}/REQUIREMENT.md +5 -5
  98. package/claude/skills/{claude-ux-measure → ux-measure}/SKILL.md +5 -5
  99. package/docs/agents/commands.md +4 -1
  100. package/docs/agents/install-and-sync.md +1 -1
  101. package/docs/agents/key-changes.md +3 -3
  102. package/docs/agents/markdown-audit.md +1 -1
  103. package/docs/agents/restated.md +1 -1
  104. package/docs/agents/review-classification.md +1 -1
  105. package/docs/agents/sessions.md +1 -1
  106. package/docs/agents/state-scoped-risk.md +1 -1
  107. package/docs/agents/targets.md +1 -1
  108. package/docs/agents/tasks.md +4 -4
  109. package/docs/agents/teach.md +1 -1
  110. package/docs/target-projects.md +28 -9
  111. package/docs/workflow/ai-workflow.md +84 -84
  112. package/docs/workflow/operating-model.md +17 -17
  113. package/docs/workflow/visual-design-workflow.md +6 -6
  114. package/governance/rules/core/045-memory.md +1 -1
  115. package/governance/rules/core/085-worktrees.md +1 -1
  116. package/package.json +1 -1
  117. package/scripts/core/regen-agent-fixture.sh +1 -1
  118. package/scripts/core/regen-hero.sh +7 -7
  119. package/snippets/claude/decision-memo.md +1 -1
  120. package/src/autoship/paths.ts +1 -1
  121. package/src/claude/cases/all.ts +2 -2
  122. package/src/claude/cases/{claude-workflow.ts → workflow.ts} +33 -33
  123. package/src/commands/migrate.ts +90 -13
  124. package/src/commands/sync.ts +3 -3
  125. package/src/design/components.ts +1157 -4
  126. package/src/design/css.ts +44 -17
  127. package/src/design/tokens.ts +1 -1
  128. package/src/gov/restated.ts +2 -2
  129. package/src/markdown/structure.ts +1 -1
  130. package/src/migrate/plan.ts +13 -5
  131. package/src/migrate/rename.ts +210 -94
  132. package/src/migrate/skill-names.ts +89 -0
  133. package/src/pr/bijection.ts +1 -1
  134. package/src/pr/paths.ts +2 -2
  135. package/src/shipped/references.ts +1 -1
  136. package/src/sync/seeds-report.ts +1 -1
  137. package/src/targets/pulls.ts +2 -2
  138. package/src/tasks/answers.ts +1 -1
  139. package/src/tasks/archive.ts +4 -4
  140. package/src/tasks/record.ts +2 -2
  141. package/src/tasks/validate.ts +1 -1
  142. package/src/teach/fonts.ts +28 -0
  143. package/src/teach/nav.ts +11 -1
  144. package/src/teach/workspace.ts +4 -1
  145. package/standards/groundwork.md +1 -1
  146. package/standards/snippets.md +1 -1
  147. package/standards/tasks.md +3 -3
  148. package/standards/teach.md +2 -2
  149. package/tooling/base/configs/.husky/post-merge +3 -3
  150. package/tooling/claude/reference.md +5 -5
  151. package/tooling/claude/seeds/.claude/hooks/pr-create-log.sh +2 -2
  152. /package/claude/skills/{claude-memory-review → memory-review}/references/receipt-format.md +0 -0
  153. /package/claude/skills/{claude-orchestrate → role-orchestrator}/scripts/watch.sh +0 -0
  154. /package/claude/skills/{claude-teach → teach-workspace}/references/lesson-craft.md +0 -0
  155. /package/claude/skills/{claude-teach → teach-workspace}/references/pedagogy.md +0 -0
  156. /package/claude/skills/{claude-teach → teach-workspace}/references/promotion.md +0 -0
package/src/teach/nav.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  import { existsSync } from 'node:fs'
2
2
  import { readFile, writeFile } from 'node:fs/promises'
3
3
  import { join, relative } from 'node:path'
4
+ import { TEACH_STYLESHEET_COMPONENTS } from '@/design/components'
4
5
  import { buildDesignCss } from '@/design/css'
5
6
  import { parseFrontmatter, readField } from '@/indexes/frontmatter'
7
+ import { TEACH_FONT_FACES } from '@/teach/fonts'
6
8
  import {
7
9
  listWorkspaces,
8
10
  readWorkspace,
@@ -500,7 +502,7 @@ function renderRootPage(workspaces: readonly WorkspaceSummary[]): string {
500
502
  })
501
503
  .join('')
502
504
 
503
- return `${pageHead('Learning workspaces', undefined, buildDesignCss(undefined, { embedFonts: true }))}<body>
505
+ return `${pageHead('Learning workspaces', TEACH_STYLESHEET, undefined)}<body>
504
506
  ${renderHeader(segments, track)}
505
507
  <main class="wide-body">
506
508
 
@@ -784,6 +786,14 @@ export async function generateNav(
784
786
  const rootPath = join(dir, 'index.html')
785
787
  await writeFile(rootPath, renderRootPage(listed.workspaces))
786
788
 
789
+ await writeFile(
790
+ join(dir, TEACH_STYLESHEET),
791
+ buildDesignCss(undefined, {
792
+ embedFonts: TEACH_FONT_FACES,
793
+ components: TEACH_STYLESHEET_COMPONENTS,
794
+ }),
795
+ )
796
+
787
797
  const contents: string[] = []
788
798
  const skipped: LessonSkipped[] = []
789
799
  let lessons = 0
@@ -1,10 +1,12 @@
1
1
  import { existsSync } from 'node:fs'
2
2
  import { mkdir, readdir, readFile, writeFile } from 'node:fs/promises'
3
3
  import { join, relative } from 'node:path'
4
+ import { TEACH_STYLESHEET_COMPONENTS } from '@/design/components'
4
5
  import { buildDesignCss } from '@/design/css'
5
6
  import { parseFrontmatter, readField } from '@/indexes/frontmatter'
6
7
  import { type BodyLine, bodyLines } from '@/markdown/scan'
7
8
  import { recordDir } from '@/record-root'
9
+ import { TEACH_FONT_FACES } from '@/teach/fonts'
8
10
 
9
11
  export const TEACH_REFUSALS = [
10
12
  'no-teach',
@@ -1046,7 +1048,8 @@ export async function writeStylesheet(
1046
1048
  path,
1047
1049
  buildDesignCss(undefined, {
1048
1050
  banner: STYLESHEET_BANNER,
1049
- embedFonts: true,
1051
+ embedFonts: TEACH_FONT_FACES,
1052
+ components: TEACH_STYLESHEET_COMPONENTS,
1050
1053
  }),
1051
1054
  )
1052
1055
 
@@ -156,7 +156,7 @@ A lean is weaker than the suggestion a plan file carries. It records the current
156
156
  ## Conventions
157
157
 
158
158
  - State a number with what it settles. The strongest sections are the ones where a measurement answers a named question and says so.
159
- - Route a finding that would change an existing standard or rule through `claude-intake`. Only a demonstrated failure changes one.
159
+ - Route a finding that would change an existing standard or rule through `plan-intake`. Only a demonstrated failure changes one.
160
160
  - Let the file count follow the number of genuinely separable questions, not the importance of the topic. A large topic with one question is a small folder.
161
161
 
162
162
  ## Anti-patterns
@@ -38,7 +38,7 @@ Overlapping a skill that does the same job is not disqualifying on its own. A sn
38
38
  ## Use patterns
39
39
 
40
40
  - Run-as-is: invoke and send immediately. The snippet is self-contained and needs no extra context.
41
- - Invoke-then-add-context: invoke the snippet, then append specifics in the same message (e.g. invoke `claude-feature`, then add the feature name or extra constraints)
41
+ - Invoke-then-add-context: invoke the snippet, then append specifics in the same message (e.g. invoke `plan-feature`, then add the feature name or extra constraints)
42
42
  - Invoke-on-history: invoke after a discussion. The snippet uses prior conversation as implicit context with no additional input needed (e.g. invoke `claude-figma` after discussing a design).
43
43
 
44
44
  ## Authoring
@@ -47,7 +47,7 @@ The handoff takes one file per session for the reason a task does. A single shar
47
47
 
48
48
  The catalog is the one reader that filters nothing, so it carries a row per sibling alongside the tasks. That is what a folder catalog is for, and the handoffs are what make it worth stating: a board accumulates one row per session that ever wrote one, with nothing pruning them. Anything reading the catalog as the backlog therefore does its own filtering, and a reader that takes every row as a task reports the handoffs as queued work.
49
49
 
50
- The `claude-tasks` skill creates and archives task files, and the archive carries the task's plan with it. `claude-docs` marks outcomes `[x]` in an existing file. Neither does the other's job.
50
+ The `task-board` skill creates and archives task files, and the archive carries the task's plan with it. `docs-fold` marks outcomes `[x]` in an existing file. Neither does the other's job.
51
51
 
52
52
  ## Ordering
53
53
 
@@ -219,9 +219,9 @@ A project that archived plans before the folder nested under `.canon/plans/` hol
219
219
 
220
220
  One plan per task. A plan cited by two tasks is a misfile rather than a shape to design for, which is why the sweep counts citations before archiving: the count is a guard against the misfile stranding a pointer, not support for the shape.
221
221
 
222
- `canon tasks plan-link <task> <plan>` writes or corrects the `Plan:` line, mirroring how `canon tasks pull-request` writes its own. `claude-feature` calls it right after the plan file lands, when an existing task names the feature, so the line is a mechanical write rather than hand-edited markdown.
222
+ `canon tasks plan-link <task> <plan>` writes or corrects the `Plan:` line, mirroring how `canon tasks pull-request` writes its own. `plan-feature` calls it right after the plan file lands, when an existing task names the feature, so the line is a mechanical write rather than hand-edited markdown.
223
223
 
224
- `Groundwork:` points at `../groundwork/<slug>/`, the folder `claude-groundwork` fills. It names the surface it points at the way `Plan:` does. Use this key alone. `Research record` and `Decision record` are earlier spellings of the same thing and both convert to it.
224
+ `Groundwork:` points at `../groundwork/<slug>/`, the folder `plan-groundwork` fills. It names the surface it points at the way `Plan:` does. Use this key alone. `Research record` and `Decision record` are earlier spellings of the same thing and both convert to it.
225
225
 
226
226
  `Intake:` points at `../intake/<slug>/`, the folder an intake pass fills. Use it rather than `Groundwork:`, because a groundwork track measures one question in depth while an intake dispositions many across a tree, and one key covering both loses which kind of pass produced the task. The line names the folder rather than an item inside it. A task routinely promotes several items at once, so an anchored line would name one and drop the rest, and the item numbers belong in that task's `## Findings`.
227
227
 
@@ -15,7 +15,7 @@ Governs a learning workspace under `.canon/teach/<nn>-<topic>/`: folder layout,
15
15
 
16
16
  Does not govern:
17
17
 
18
- - The frontmatter, entry shape, and ordering of the glossary the workspace holds: the `claude-teach` skill, which carries that reference
18
+ - The frontmatter, entry shape, and ordering of the glossary the workspace holds: the `teach-workspace` skill, which carries that reference
19
19
  - What a lesson teaches, how it sequences difficulty, and what makes one worth returning to, which belong to the surface driving the workspace
20
20
  - Where a durable page goes once it leaves the workspace, which belongs to the routing test the destination surface states
21
21
  - One question measured in depth before anyone can plan against it: `groundwork.md`
@@ -113,7 +113,7 @@ Take the date and the rung from what the surface driving the workspace reports r
113
113
 
114
114
  ## GLOSSARY.md
115
115
 
116
- Required in every workspace, holding one entry per term the subject defines. The glossary reference the `canon:claude-teach` skill carries fixes what an entry looks like, how the file orders and groups them, and which terms it carries, so this standard states only that the file exists and sits at the workspace root. That reference ships with the plugin rather than installing here, because a promoted glossary keeps its shape wherever it lands and no project folder covers every destination. Say so and stop rather than working the shape from memory when the project has no plugin to read it from.
116
+ Required in every workspace, holding one entry per term the subject defines. The glossary reference the `canon:teach-workspace` skill carries fixes what an entry looks like, how the file orders and groups them, and which terms it carries, so this standard states only that the file exists and sits at the workspace root. That reference ships with the plugin rather than installing here, because a promoted glossary keeps its shape wherever it lands and no project folder covers every destination. Say so and stop rather than working the shape from memory when the project has no plugin to read it from.
117
117
 
118
118
  Name the lesson or reference page a term first appears in as that reference requires. A workspace is the case it was written for, so a glossary here has a first appearance to name.
119
119
 
@@ -7,10 +7,10 @@
7
7
  # to hand a worker. This is the only event that lands after a merge.
8
8
  #
9
9
  # Candidates rather than closed tasks, because an all-`[x]` board entry does not
10
- # mean the work merged. `claude-docs` marks outcomes on the branch as step 1 of
10
+ # mean the work merged. `docs-fold` marks outcomes on the branch as step 1 of
11
11
  # the ship chain, so a task can read closed while its pull request is still open
12
12
  # or already abandoned. The board is gitignored and an archived task has nothing
13
- # to recover it, so `claude-tasks` confirms the work is on `main` before moving
13
+ # to recover it, so `task-board` confirms the work is on `main` before moving
14
14
  # anything and this output says so rather than implying the check is done.
15
15
  #
16
16
  # It announces and never moves a file. The board is gitignored, so a shell-side
@@ -58,4 +58,4 @@ done
58
58
 
59
59
  printf '\n📋 %s archive candidate(s) on the board:\n%s\n' "$count" "$closed"
60
60
  printf 'Outcomes are marked on the branch, so each still needs its work confirmed\n'
61
- printf 'on main. Run /claude-tasks, which checks that and sweeps the plan first.\n\n'
61
+ printf 'on main. Run /task-board, which checks that and sweeps the plan first.\n\n'
@@ -20,8 +20,8 @@ The claude stack installs the `.claude/` workflow directory into a project. Stat
20
20
  .canon/
21
21
  ├── tasks/ ← seeded. One file per task plus a generated index.md, local scratch only. `archive/` holds the tasks that shipped.
22
22
  ├── diagrams/ ← seeded. Per-kind Mermaid views. `index.md` is the discovery anchor. `<kind>.md` files hold one diagram each, grouped by the `category` frontmatter field.
23
- ├── plans/ ← execution detail for multi-step tasks. `feature-*.md` entries swept by claude-docs into `archive/`.
24
- ├── review/ ← one subfolder per producer. `branch/` for claude-review, `feedback/` for canon feedback, `memory/` for claude-memory-review with its own `archive/`, `design/` for canon design render.
23
+ ├── plans/ ← execution detail for multi-step tasks. `feature-*.md` entries swept by docs-fold into `archive/`.
24
+ ├── review/ ← one subfolder per producer. `branch/` for review-branch, `feedback/` for canon feedback, `memory/` for memory-review with its own `archive/`, `design/` for canon design render.
25
25
  ├── tmp/ ← ephemeral scratch space, safe to delete without loss
26
26
  └── memory/ ← session facts no context entry owns. `index.md` regenerated by a hook.
27
27
  ```
@@ -48,7 +48,7 @@ Convert by hand, once per project:
48
48
 
49
49
  ## Upgrading a hand-appended memory index
50
50
 
51
- A project installed before the memory folder gained a generated index still holds `.canon/memory/MEMORY.md`, and its entries still carry `name` and `type` frontmatter. Nothing migrates it. `claude-memory-capture` stops appending rows once the new seed lands, so the old file freezes at whatever it held while the folder keeps growing past it.
51
+ A project installed before the memory folder gained a generated index still holds `.canon/memory/MEMORY.md`, and its entries still carry `name` and `type` frontmatter. Nothing migrates it. `memory-capture` stops appending rows once the new seed lands, so the old file freezes at whatever it held while the folder keeps growing past it.
52
52
 
53
53
  Convert by hand, once per project:
54
54
 
@@ -58,7 +58,7 @@ Convert by hand, once per project:
58
58
 
59
59
  ## Upgrading from a single-file diagram set
60
60
 
61
- A project installed before the diagram surface became a folder still holds `.claude/DIAGRAMS.md`. Unlike the board, this one migrates itself. The `claude-diagram` skill reads the flat file when `.canon/diagrams/` holds no entries, splits it by kind into the folder, and reports what it wrote. The old file stays on disk so the split can be compared against its source, and deleting it is a manual step once that check passes.
61
+ A project installed before the diagram surface became a folder still holds `.claude/DIAGRAMS.md`. Unlike the board, this one migrates itself. The `draft-diagram` skill reads the flat file when `.canon/diagrams/` holds no entries, splits it by kind into the folder, and reports what it wrote. The old file stays on disk so the split can be compared against its source, and deleting it is a manual step once that check passes.
62
62
 
63
63
  ## Gitignore
64
64
 
@@ -79,7 +79,7 @@ The first entry covers the whole record root, so a record folder added later nee
79
79
  - Ships as a seed with placeholder project name, description, and key paths. Fill these in after init.
80
80
  - Section layout: `Context`, `Indexes`, `Markdown`, `Key paths`, `Spelling`, `Snippets`, `Tasks`, `Memory`. Each section groups rules that share a surface so skills can detect, extend, or skip by heading.
81
81
  - The memory rules favor signal over volume. Saving only after a second occurrence or an explicit user correction keeps entries focused on patterns worth preventing, not first-occurrence slips. The 3-line cap stops the built-in auto-memory from drifting into narrative writeups that bury the rule underneath the recovery story.
82
- - The `Context` section points at `.claude/` state docs one line. `claude-feature` does the parallel read when invoked. The seed intentionally does not re-list every file.
82
+ - The `Context` section points at `.claude/` state docs one line. `plan-feature` does the parallel read when invoked. The seed intentionally does not re-list every file.
83
83
 
84
84
  ## Seed docs
85
85
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  # Reminds a worker session of the pull-request announcement it owes and logs
4
- # the creation as a denominator for the miss rate `claude-worker` cannot
4
+ # the creation as a denominator for the miss rate `role-worker` cannot
5
5
  # measure on its own. Follows path-form.sh's precedent: a PostToolUse hook
6
6
  # returning hookSpecificOutput.additionalContext is the shipped route back
7
7
  # into a session's own turn.
@@ -51,5 +51,5 @@ mkdir -p "$log_dir"
51
51
  session=$(printf '%s' "$input" | jq -r '.session_id // "unknown"')
52
52
  printf -- '- %s session=%s pr=%s\n' "$(date -u +%Y-%m-%dT%H:%M:%SZ)" "$session" "$url" >>"$log_dir/log.md"
53
53
 
54
- msg="Pull request $url just opened. If this session holds a worker's channel obligation, announce it to the controller now, per claude-worker."
54
+ msg="Pull request $url just opened. If this session holds a worker's channel obligation, announce it to the controller now, per role-worker."
55
55
  jq -nc --arg msg "$msg" '{hookSpecificOutput:{hookEventName:"PostToolUse",additionalContext:$msg}}'