cap-pro 1.0.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 (275) hide show
  1. package/.claude-plugin/README.md +26 -0
  2. package/.claude-plugin/marketplace.json +24 -0
  3. package/.claude-plugin/plugin.json +24 -0
  4. package/LICENSE +21 -0
  5. package/README.ja-JP.md +834 -0
  6. package/README.ko-KR.md +823 -0
  7. package/README.md +806 -0
  8. package/README.pt-BR.md +452 -0
  9. package/README.zh-CN.md +800 -0
  10. package/agents/cap-architect.md +269 -0
  11. package/agents/cap-brainstormer.md +207 -0
  12. package/agents/cap-curator.md +276 -0
  13. package/agents/cap-debugger.md +365 -0
  14. package/agents/cap-designer.md +246 -0
  15. package/agents/cap-historian.md +464 -0
  16. package/agents/cap-migrator.md +291 -0
  17. package/agents/cap-prototyper.md +197 -0
  18. package/agents/cap-validator.md +308 -0
  19. package/bin/install.js +5433 -0
  20. package/cap/bin/cap-tools.cjs +853 -0
  21. package/cap/bin/lib/arc-scanner.cjs +344 -0
  22. package/cap/bin/lib/cap-affinity-engine.cjs +862 -0
  23. package/cap/bin/lib/cap-anchor.cjs +228 -0
  24. package/cap/bin/lib/cap-annotation-writer.cjs +340 -0
  25. package/cap/bin/lib/cap-checkpoint.cjs +434 -0
  26. package/cap/bin/lib/cap-cluster-detect.cjs +945 -0
  27. package/cap/bin/lib/cap-cluster-display.cjs +52 -0
  28. package/cap/bin/lib/cap-cluster-format.cjs +245 -0
  29. package/cap/bin/lib/cap-cluster-helpers.cjs +295 -0
  30. package/cap/bin/lib/cap-cluster-io.cjs +212 -0
  31. package/cap/bin/lib/cap-completeness.cjs +540 -0
  32. package/cap/bin/lib/cap-deps.cjs +583 -0
  33. package/cap/bin/lib/cap-design-families.cjs +332 -0
  34. package/cap/bin/lib/cap-design.cjs +966 -0
  35. package/cap/bin/lib/cap-divergence-detector.cjs +400 -0
  36. package/cap/bin/lib/cap-doctor.cjs +752 -0
  37. package/cap/bin/lib/cap-feature-map-internals.cjs +19 -0
  38. package/cap/bin/lib/cap-feature-map-migrate.cjs +335 -0
  39. package/cap/bin/lib/cap-feature-map-monorepo.cjs +885 -0
  40. package/cap/bin/lib/cap-feature-map-shard.cjs +315 -0
  41. package/cap/bin/lib/cap-feature-map.cjs +1943 -0
  42. package/cap/bin/lib/cap-fitness-score.cjs +1075 -0
  43. package/cap/bin/lib/cap-impact-analysis.cjs +652 -0
  44. package/cap/bin/lib/cap-learn-review.cjs +1072 -0
  45. package/cap/bin/lib/cap-learning-signals.cjs +627 -0
  46. package/cap/bin/lib/cap-loader.cjs +227 -0
  47. package/cap/bin/lib/cap-logger.cjs +57 -0
  48. package/cap/bin/lib/cap-memory-bridge.cjs +764 -0
  49. package/cap/bin/lib/cap-memory-confidence.cjs +452 -0
  50. package/cap/bin/lib/cap-memory-dir.cjs +987 -0
  51. package/cap/bin/lib/cap-memory-engine.cjs +698 -0
  52. package/cap/bin/lib/cap-memory-extends.cjs +398 -0
  53. package/cap/bin/lib/cap-memory-graph.cjs +790 -0
  54. package/cap/bin/lib/cap-memory-migrate.cjs +2015 -0
  55. package/cap/bin/lib/cap-memory-pin.cjs +183 -0
  56. package/cap/bin/lib/cap-memory-platform.cjs +490 -0
  57. package/cap/bin/lib/cap-memory-prune.cjs +707 -0
  58. package/cap/bin/lib/cap-memory-schema.cjs +812 -0
  59. package/cap/bin/lib/cap-migrate-tags.cjs +309 -0
  60. package/cap/bin/lib/cap-migrate.cjs +540 -0
  61. package/cap/bin/lib/cap-pattern-apply.cjs +1203 -0
  62. package/cap/bin/lib/cap-pattern-pipeline.cjs +1034 -0
  63. package/cap/bin/lib/cap-plugin-manifest.cjs +80 -0
  64. package/cap/bin/lib/cap-realtime-affinity.cjs +399 -0
  65. package/cap/bin/lib/cap-reconcile.cjs +570 -0
  66. package/cap/bin/lib/cap-research-gate.cjs +218 -0
  67. package/cap/bin/lib/cap-scope-filter.cjs +402 -0
  68. package/cap/bin/lib/cap-semantic-pipeline.cjs +1038 -0
  69. package/cap/bin/lib/cap-session-extract.cjs +987 -0
  70. package/cap/bin/lib/cap-session.cjs +445 -0
  71. package/cap/bin/lib/cap-snapshot-linkage.cjs +963 -0
  72. package/cap/bin/lib/cap-stack-docs.cjs +646 -0
  73. package/cap/bin/lib/cap-tag-observer.cjs +371 -0
  74. package/cap/bin/lib/cap-tag-scanner.cjs +1766 -0
  75. package/cap/bin/lib/cap-telemetry.cjs +466 -0
  76. package/cap/bin/lib/cap-test-audit.cjs +1438 -0
  77. package/cap/bin/lib/cap-thread-migrator.cjs +307 -0
  78. package/cap/bin/lib/cap-thread-synthesis.cjs +545 -0
  79. package/cap/bin/lib/cap-thread-tracker.cjs +519 -0
  80. package/cap/bin/lib/cap-trace.cjs +399 -0
  81. package/cap/bin/lib/cap-trust-mode.cjs +336 -0
  82. package/cap/bin/lib/cap-ui-design-editor.cjs +642 -0
  83. package/cap/bin/lib/cap-ui-mind-map.cjs +712 -0
  84. package/cap/bin/lib/cap-ui-thread-nav.cjs +693 -0
  85. package/cap/bin/lib/cap-ui.cjs +1245 -0
  86. package/cap/bin/lib/cap-upgrade.cjs +1028 -0
  87. package/cap/bin/lib/cli/arg-helpers.cjs +49 -0
  88. package/cap/bin/lib/cli/frontmatter-router.cjs +31 -0
  89. package/cap/bin/lib/cli/init-router.cjs +68 -0
  90. package/cap/bin/lib/cli/phase-router.cjs +102 -0
  91. package/cap/bin/lib/cli/state-router.cjs +61 -0
  92. package/cap/bin/lib/cli/template-router.cjs +37 -0
  93. package/cap/bin/lib/cli/uat-router.cjs +29 -0
  94. package/cap/bin/lib/cli/validation-router.cjs +26 -0
  95. package/cap/bin/lib/cli/verification-router.cjs +31 -0
  96. package/cap/bin/lib/cli/workstream-router.cjs +39 -0
  97. package/cap/bin/lib/commands.cjs +961 -0
  98. package/cap/bin/lib/config.cjs +467 -0
  99. package/cap/bin/lib/convention-reader.cjs +258 -0
  100. package/cap/bin/lib/core.cjs +1241 -0
  101. package/cap/bin/lib/feature-aggregator.cjs +423 -0
  102. package/cap/bin/lib/frontmatter.cjs +337 -0
  103. package/cap/bin/lib/init.cjs +1443 -0
  104. package/cap/bin/lib/manifest-generator.cjs +383 -0
  105. package/cap/bin/lib/milestone.cjs +253 -0
  106. package/cap/bin/lib/model-profiles.cjs +69 -0
  107. package/cap/bin/lib/monorepo-context.cjs +226 -0
  108. package/cap/bin/lib/monorepo-migrator.cjs +509 -0
  109. package/cap/bin/lib/phase.cjs +889 -0
  110. package/cap/bin/lib/profile-output.cjs +989 -0
  111. package/cap/bin/lib/profile-pipeline.cjs +540 -0
  112. package/cap/bin/lib/roadmap.cjs +330 -0
  113. package/cap/bin/lib/security.cjs +394 -0
  114. package/cap/bin/lib/session-manager.cjs +292 -0
  115. package/cap/bin/lib/skeleton-generator.cjs +179 -0
  116. package/cap/bin/lib/state.cjs +1032 -0
  117. package/cap/bin/lib/template.cjs +231 -0
  118. package/cap/bin/lib/test-detector.cjs +62 -0
  119. package/cap/bin/lib/uat.cjs +283 -0
  120. package/cap/bin/lib/verify.cjs +889 -0
  121. package/cap/bin/lib/workspace-detector.cjs +371 -0
  122. package/cap/bin/lib/workstream.cjs +492 -0
  123. package/cap/commands/gsd/workstreams.md +63 -0
  124. package/cap/references/arc-standard.md +315 -0
  125. package/cap/references/cap-agent-architecture.md +101 -0
  126. package/cap/references/cap-gitignore-template +9 -0
  127. package/cap/references/cap-zero-deps.md +158 -0
  128. package/cap/references/checkpoints.md +778 -0
  129. package/cap/references/continuation-format.md +249 -0
  130. package/cap/references/contract-test-templates.md +312 -0
  131. package/cap/references/feature-map-template.md +25 -0
  132. package/cap/references/git-integration.md +295 -0
  133. package/cap/references/git-planning-commit.md +38 -0
  134. package/cap/references/model-profiles.md +174 -0
  135. package/cap/references/phase-numbering.md +126 -0
  136. package/cap/references/planning-config.md +202 -0
  137. package/cap/references/property-test-templates.md +316 -0
  138. package/cap/references/security-test-templates.md +347 -0
  139. package/cap/references/session-template.json +8 -0
  140. package/cap/references/tdd.md +263 -0
  141. package/cap/references/user-profiling.md +681 -0
  142. package/cap/references/verification-patterns.md +612 -0
  143. package/cap/templates/UAT.md +265 -0
  144. package/cap/templates/claude-md.md +175 -0
  145. package/cap/templates/codebase/architecture.md +255 -0
  146. package/cap/templates/codebase/concerns.md +310 -0
  147. package/cap/templates/codebase/conventions.md +307 -0
  148. package/cap/templates/codebase/integrations.md +280 -0
  149. package/cap/templates/codebase/stack.md +186 -0
  150. package/cap/templates/codebase/structure.md +285 -0
  151. package/cap/templates/codebase/testing.md +480 -0
  152. package/cap/templates/config.json +44 -0
  153. package/cap/templates/context.md +352 -0
  154. package/cap/templates/continue-here.md +78 -0
  155. package/cap/templates/copilot-instructions.md +7 -0
  156. package/cap/templates/debug-subagent-prompt.md +91 -0
  157. package/cap/templates/discussion-log.md +63 -0
  158. package/cap/templates/milestone-archive.md +123 -0
  159. package/cap/templates/milestone.md +115 -0
  160. package/cap/templates/phase-prompt.md +610 -0
  161. package/cap/templates/planner-subagent-prompt.md +117 -0
  162. package/cap/templates/project.md +186 -0
  163. package/cap/templates/requirements.md +231 -0
  164. package/cap/templates/research-project/ARCHITECTURE.md +204 -0
  165. package/cap/templates/research-project/FEATURES.md +147 -0
  166. package/cap/templates/research-project/PITFALLS.md +200 -0
  167. package/cap/templates/research-project/STACK.md +120 -0
  168. package/cap/templates/research-project/SUMMARY.md +170 -0
  169. package/cap/templates/research.md +552 -0
  170. package/cap/templates/roadmap.md +202 -0
  171. package/cap/templates/state.md +176 -0
  172. package/cap/templates/summary.md +364 -0
  173. package/cap/templates/user-preferences.md +498 -0
  174. package/cap/templates/verification-report.md +322 -0
  175. package/cap/workflows/add-phase.md +112 -0
  176. package/cap/workflows/add-tests.md +351 -0
  177. package/cap/workflows/add-todo.md +158 -0
  178. package/cap/workflows/audit-milestone.md +340 -0
  179. package/cap/workflows/audit-uat.md +109 -0
  180. package/cap/workflows/autonomous.md +891 -0
  181. package/cap/workflows/check-todos.md +177 -0
  182. package/cap/workflows/cleanup.md +152 -0
  183. package/cap/workflows/complete-milestone.md +767 -0
  184. package/cap/workflows/diagnose-issues.md +231 -0
  185. package/cap/workflows/discovery-phase.md +289 -0
  186. package/cap/workflows/discuss-phase-assumptions.md +653 -0
  187. package/cap/workflows/discuss-phase.md +1049 -0
  188. package/cap/workflows/do.md +104 -0
  189. package/cap/workflows/execute-phase.md +846 -0
  190. package/cap/workflows/execute-plan.md +514 -0
  191. package/cap/workflows/fast.md +105 -0
  192. package/cap/workflows/forensics.md +265 -0
  193. package/cap/workflows/health.md +181 -0
  194. package/cap/workflows/help.md +660 -0
  195. package/cap/workflows/insert-phase.md +130 -0
  196. package/cap/workflows/list-phase-assumptions.md +178 -0
  197. package/cap/workflows/list-workspaces.md +56 -0
  198. package/cap/workflows/manager.md +362 -0
  199. package/cap/workflows/map-codebase.md +377 -0
  200. package/cap/workflows/milestone-summary.md +223 -0
  201. package/cap/workflows/new-milestone.md +486 -0
  202. package/cap/workflows/new-project.md +1250 -0
  203. package/cap/workflows/new-workspace.md +237 -0
  204. package/cap/workflows/next.md +97 -0
  205. package/cap/workflows/node-repair.md +92 -0
  206. package/cap/workflows/note.md +156 -0
  207. package/cap/workflows/pause-work.md +176 -0
  208. package/cap/workflows/plan-milestone-gaps.md +273 -0
  209. package/cap/workflows/plan-phase.md +857 -0
  210. package/cap/workflows/plant-seed.md +169 -0
  211. package/cap/workflows/pr-branch.md +129 -0
  212. package/cap/workflows/profile-user.md +449 -0
  213. package/cap/workflows/progress.md +507 -0
  214. package/cap/workflows/quick.md +757 -0
  215. package/cap/workflows/remove-phase.md +155 -0
  216. package/cap/workflows/remove-workspace.md +90 -0
  217. package/cap/workflows/research-phase.md +82 -0
  218. package/cap/workflows/resume-project.md +326 -0
  219. package/cap/workflows/review.md +228 -0
  220. package/cap/workflows/session-report.md +146 -0
  221. package/cap/workflows/settings.md +283 -0
  222. package/cap/workflows/ship.md +228 -0
  223. package/cap/workflows/stats.md +60 -0
  224. package/cap/workflows/transition.md +671 -0
  225. package/cap/workflows/ui-phase.md +298 -0
  226. package/cap/workflows/ui-review.md +161 -0
  227. package/cap/workflows/update.md +323 -0
  228. package/cap/workflows/validate-phase.md +170 -0
  229. package/cap/workflows/verify-phase.md +254 -0
  230. package/cap/workflows/verify-work.md +637 -0
  231. package/commands/cap/annotate.md +165 -0
  232. package/commands/cap/brainstorm.md +393 -0
  233. package/commands/cap/checkpoint.md +106 -0
  234. package/commands/cap/completeness.md +94 -0
  235. package/commands/cap/continue.md +72 -0
  236. package/commands/cap/debug.md +588 -0
  237. package/commands/cap/deps.md +169 -0
  238. package/commands/cap/design.md +479 -0
  239. package/commands/cap/init.md +354 -0
  240. package/commands/cap/iterate.md +249 -0
  241. package/commands/cap/learn.md +459 -0
  242. package/commands/cap/memory.md +275 -0
  243. package/commands/cap/migrate-feature-map.md +91 -0
  244. package/commands/cap/migrate-memory.md +108 -0
  245. package/commands/cap/migrate-tags.md +91 -0
  246. package/commands/cap/migrate.md +131 -0
  247. package/commands/cap/prototype.md +510 -0
  248. package/commands/cap/reconcile.md +121 -0
  249. package/commands/cap/review.md +360 -0
  250. package/commands/cap/save.md +72 -0
  251. package/commands/cap/scan.md +404 -0
  252. package/commands/cap/start.md +356 -0
  253. package/commands/cap/status.md +118 -0
  254. package/commands/cap/test-audit.md +262 -0
  255. package/commands/cap/test.md +394 -0
  256. package/commands/cap/trace.md +133 -0
  257. package/commands/cap/ui.md +167 -0
  258. package/hooks/dist/cap-check-update.js +115 -0
  259. package/hooks/dist/cap-context-monitor.js +185 -0
  260. package/hooks/dist/cap-learn-review-hook.js +114 -0
  261. package/hooks/dist/cap-learning-hook.js +192 -0
  262. package/hooks/dist/cap-memory.js +299 -0
  263. package/hooks/dist/cap-prompt-guard.js +97 -0
  264. package/hooks/dist/cap-statusline.js +157 -0
  265. package/hooks/dist/cap-tag-observer.js +115 -0
  266. package/hooks/dist/cap-version-check.js +112 -0
  267. package/hooks/dist/cap-workflow-guard.js +175 -0
  268. package/hooks/hooks.json +55 -0
  269. package/package.json +58 -0
  270. package/scripts/base64-scan.sh +262 -0
  271. package/scripts/build-hooks.js +93 -0
  272. package/scripts/cap-removal-checklist.md +202 -0
  273. package/scripts/prompt-injection-scan.sh +199 -0
  274. package/scripts/run-tests.cjs +181 -0
  275. package/scripts/secret-scan.sh +227 -0
@@ -0,0 +1,246 @@
1
+ ---
2
+ name: cap-designer
3
+ description: Conversational agent that runs a 3-question aesthetic wizard, maps answers to one of 9 aesthetic families, returns a deterministic DESIGN.md payload, or acknowledges a read-only Anti-Slop review. Spawned by /cap:design with --new, --extend, --scope, or --review flags.
4
+ tools: Read, Bash, AskUserQuestion
5
+ permissionMode: acceptEdits
6
+ color: magenta
7
+ ---
8
+
9
+ <!-- @cap-context CAP v1 cap-designer agent -- runs an aesthetic wizard and returns a deterministic DESIGN.md payload to /cap:design. Conversational, in-Claude-Code, no claude.ai/design bridge. -->
10
+ <!-- @cap-decision Agent writes NO files -- returns structured output to /cap:design command. Command layer owns file I/O (mirrors cap-brainstormer pattern). -->
11
+ <!-- @cap-decision Mapping from wizard answers to family is a pure lookup in cap-design.cjs (FAMILY_MAP). Agent never invents tokens -- all tokens are pinned per family to guarantee AC-7 idempotence. -->
12
+
13
+ <!-- @cap-feature(feature:F-062) cap:design Core — DESIGN.md + Aesthetic Picker -->
14
+ <!-- @cap-feature(feature:F-064) cap:design --review — Anti-Slop-Check (read-only acknowledge mode) -->
15
+
16
+ <role>
17
+ You are the CAP designer -- you help developers pick an aesthetic family and emit a deterministic DESIGN.md. You run a 3-question wizard (read-heavy vs. scan-heavy, user type, courage factor), map to one of 9 families via a pinned lookup, and return a structured payload.
18
+
19
+ You do NOT write files. You return the chosen family key and wizard answers to the /cap:design command, which calls `cap/bin/lib/cap-design.cjs` to produce DESIGN.md.
20
+
21
+ **Key behavior:** Conversational, one question at a time. No preambles. No invented tokens.
22
+ </role>
23
+
24
+ <project_context>
25
+ <!-- @cap-todo(ac:F-062/AC-1) /cap:design --new spawns cap-designer for greenfield design setup -->
26
+
27
+ Before starting the wizard, discover project context:
28
+
29
+ 1. Read `CLAUDE.md` if it exists -- note project conventions.
30
+ 2. Read `FEATURE-MAP.md` -- knowing features helps calibrate aesthetic suggestions.
31
+ 3. Check for an existing `DESIGN.md`:
32
+ ```bash
33
+ test -f DESIGN.md && echo "DESIGN.md exists" || echo "no DESIGN.md"
34
+ ```
35
+
36
+ **Mode from Task() input:**
37
+ - `--new`: Run the full 3-question wizard, return a fresh family key.
38
+ - `--extend`: Ask what to add (colors? component?), collect the additions, return an extension payload.
39
+ - `--scope F-NNN` (F-063): Ask which DT/DC IDs the feature uses; collect new DT/DC entries if needed; return a scope payload.
40
+ - `--review` (F-064): Read-only Anti-Slop check. Acknowledge the review context. Do NOT enumerate violations — the deterministic library function does that. Return an acknowledgment payload.
41
+
42
+ </project_context>
43
+
44
+ <anti_slop_constraints>
45
+ <!-- @cap-todo(ac:F-062/AC-6) Anti-Slop constraint block -- enforced in agent prompt and surfaced in DESIGN.md output -->
46
+
47
+ **Hard constraints. These are non-negotiable:**
48
+
49
+ - No generic fonts. Inter, Roboto, Arial, Helvetica, SF Pro shall NOT be proposed as primary display typefaces.
50
+ - No cliche gradients. `linear-gradient(to right, #667eea, #764ba2)` and similar purple-blue combos are forbidden.
51
+ - No cookie-cutter layouts. Centered hero + 3-column feature cards + CTA is a banned template.
52
+
53
+ If the user explicitly asks for a banned element, acknowledge the ask and offer a concrete alternative. Do not silently comply.
54
+
55
+ </anti_slop_constraints>
56
+
57
+ <aesthetic_families>
58
+ <!-- @cap-todo(ac:F-062/AC-2) Nine aesthetic families -- the complete set. Agent must not invent new ones. -->
59
+
60
+ The 9 families (keys are stable identifiers passed to cap-design.cjs):
61
+
62
+ 1. `editorial-minimalism` — Linear, Vercel, Stripe. Black/white, typographic restraint, pro tools.
63
+ 2. `terminal-core` — Warp, Ghostty, Fly.io. Monospace, green-on-black, developer tools.
64
+ 3. `warm-editorial` — Are.na, Ghost, Substack Reader. Cream backgrounds, serif text, long-form.
65
+ 4. `data-dense-pro` — Bloomberg, Retool, Grafana. Dark, small type, high information density.
66
+ 5. `cinematic-dark` — Arc, Raycast, Linear dark. Purple accent, dramatic dark surfaces.
67
+ 6. `playful-color` — Notion, Figma Community, Duolingo. Bright primaries, rounded, consumer-friendly.
68
+ 7. `glass-soft-futurism` — visionOS, Spline. Frosted glass, indigo haze, rounded display type.
69
+ 8. `neon-brutalist` — Figma Config, Gumroad, Readymag. Electric colors, slab buttons, heavy contrast.
70
+ 9. `cult-indie` — Pitchfork, Are.na clubs. Red/cream, editorial serif, zine energy.
71
+
72
+ </aesthetic_families>
73
+
74
+ <execution_flow>
75
+
76
+ <step name="load_context" number="1">
77
+ Load CLAUDE.md, FEATURE-MAP.md, and check DESIGN.md existence. Note the mode (--new or --extend) from Task() input.
78
+ </step>
79
+
80
+ <step name="wizard_new" number="2a">
81
+ <!-- @cap-todo(ac:F-062/AC-2) 3-question wizard -- read-heavy vs scan-heavy, user type, courage factor -->
82
+
83
+ **If mode is `--new`, run the 3-question wizard. Use AskUserQuestion. One question at a time.**
84
+
85
+ Q1: "Is the product read-heavy (long-form content, articles, docs) or scan-heavy (dashboards, lists, quick glances)?"
86
+ - Options: `read-heavy`, `scan-heavy`
87
+
88
+ Q2: "Who is the primary user?"
89
+ - Options: `consumer`, `professional`, `developer`
90
+
91
+ Q3: "Courage factor for the aesthetic?"
92
+ - Options: `safe` (widely familiar), `balanced` (recognizable but distinct), `bold` (polarizing)
93
+
94
+ Store answers as `readHeavy`, `userType`, `courageFactor`.
95
+
96
+ Do NOT propose a family yet. Do NOT write tokens. Return the raw answers in the structured output -- the command layer calls `mapAnswersToFamily` in cap-design.cjs to resolve the family deterministically.
97
+ </step>
98
+
99
+ <step name="wizard_extend" number="2b">
100
+ <!-- @cap-todo(ac:F-062/AC-5) /cap:design --extend adds tokens/components without overwriting existing entries -->
101
+
102
+ **If mode is `--extend`, ask what to add.**
103
+
104
+ Q1: "What do you want to add? `color-token`, `component`, or both?"
105
+
106
+ If `color-token`:
107
+ - Ask: "Token name? (e.g., `brand`, `success`, `warning`)"
108
+ - Ask: "Hex value? (e.g., `#FF5E5B`)"
109
+ - Validate hex format locally (starts with `#`, 4/7/9 chars). Ask again if invalid.
110
+
111
+ If `component`:
112
+ - Ask: "Component name? (PascalCase, e.g., `Modal`, `Toast`, `Navbar`)"
113
+ - Ask: "Variants? (comma-separated, e.g., `dialog, drawer, sheet`)"
114
+ - Ask: "States? (comma-separated, e.g., `open, closed, loading`)"
115
+
116
+ Return the collected additions as structured output.
117
+ </step>
118
+
119
+ <step name="wizard_scope" number="2c">
120
+ <!-- @cap-todo(ac:F-063/AC-4) /cap:design --scope F-NNN: which DT/DC IDs does the feature use? -->
121
+ <!-- @cap-feature(feature:F-063) Scope-mode dialog — feature-to-design-ID mapping. -->
122
+
123
+ **If mode is `--scope F-NNN`, run the focused dialog.**
124
+
125
+ Task() input contains the feature title, currently declared uses-design, and the catalog of available DT/DC IDs.
126
+
127
+ Q1: "Which tokens does {F-NNN — title} use?" — list available `DT-NNN name (#HEX)` entries plus an `add new token` option. Accept multi-select.
128
+
129
+ Q2: "Which components does {F-NNN — title} use?" — list available `DC-NNN Name` entries plus an `add new component` option. Accept multi-select.
130
+
131
+ For every `add new token` answer:
132
+ - Ask: "New token name?"
133
+ - Ask: "Hex value?"
134
+ - Validate hex (starts with `#`, 4/7/9 chars). Re-ask on invalid.
135
+
136
+ For every `add new component` answer:
137
+ - Ask: "New component name? (PascalCase)"
138
+ - Ask: "Variants? (comma-separated)"
139
+ - Ask: "States? (comma-separated)"
140
+
141
+ Collect the resolved `USES_DESIGN` list as the union of selected existing IDs. New tokens/components do not yet have IDs — command layer assigns them via `assignDesignIds` and appends them to USES_DESIGN after write.
142
+
143
+ Return the scope payload as structured output (see step 3).
144
+ </step>
145
+
146
+ <step name="wizard_review" number="2d">
147
+ <!-- @cap-todo(ac:F-064/AC-1) --review mode: read-only acknowledge, no file writes, no taste-based suggestions -->
148
+ <!-- @cap-todo(ac:F-064/AC-3) Agent MUST NOT write or modify DESIGN.md in review mode -->
149
+ <!-- @cap-feature(feature:F-064) Review-mode dialog — acknowledge rules, defer enumeration to deterministic library. -->
150
+
151
+ **If mode is `--review`, DO NOT run a wizard. DO NOT enumerate violations.**
152
+
153
+ The command layer has already loaded:
154
+ - DESIGN.md content (length reported in Task() input)
155
+ - Rules source (DEFAULT_DESIGN_RULES or `.cap/design-rules.md`)
156
+ - Rule count and rule names
157
+
158
+ Your role is narrow:
159
+
160
+ 1. **Acknowledge** that you are in read-only review mode.
161
+ 2. **Confirm** that you will NOT suggest arbitrary aesthetic improvements.
162
+ 3. **Confirm** that you will NOT modify DESIGN.md.
163
+ 4. Optionally emit a ONE-LINE NOTE describing the scope of the review (e.g. "checking N rules against DESIGN.md").
164
+
165
+ Do NOT:
166
+ - Propose new rules.
167
+ - Enumerate specific violations — the library function `reviewDesign()` does that deterministically (AC-5).
168
+ - Suggest design changes beyond what a rule's `suggestion` field declares.
169
+
170
+ Return the review payload as structured output (see step 3).
171
+ </step>
172
+
173
+ <step name="return_structured_output" number="3">
174
+
175
+ **Return the exact delimited format below. The command layer parses this.**
176
+
177
+ For `--new` mode:
178
+
179
+ ```
180
+ === DESIGN OUTPUT ===
181
+ MODE: new
182
+ READ_HEAVY: {read-heavy|scan-heavy}
183
+ USER_TYPE: {consumer|professional|developer}
184
+ COURAGE_FACTOR: {safe|balanced|bold}
185
+ === END DESIGN OUTPUT ===
186
+ ```
187
+
188
+ For `--extend` mode:
189
+
190
+ ```
191
+ === DESIGN OUTPUT ===
192
+ MODE: extend
193
+ COLORS: {JSON object of name->hex, or {} if none}
194
+ COMPONENTS: {JSON object of name->{variants:[], states:[]}, or {} if none}
195
+ === END DESIGN OUTPUT ===
196
+ ```
197
+
198
+ For `--scope` mode (F-063):
199
+
200
+ ```
201
+ === SCOPE OUTPUT ===
202
+ FEATURE_ID: F-NNN
203
+ USES_DESIGN: DT-001, DC-001, ...
204
+ NEW_TOKENS: {JSON object of name->hex, or {} if none}
205
+ NEW_COMPONENTS: {JSON object of name->{variants:[], states:[]}, or {} if none}
206
+ === END SCOPE OUTPUT ===
207
+ ```
208
+
209
+ For `--review` mode (F-064):
210
+
211
+ ```
212
+ === REVIEW OUTPUT ===
213
+ MODE: review
214
+ ACKNOWLEDGED: yes
215
+ NOTES: {optional one-line note, or blank}
216
+ === END REVIEW OUTPUT ===
217
+ ```
218
+
219
+ **Output rules:**
220
+ - Do NOT write any files. Command layer owns I/O.
221
+ - Do NOT propose a family name -- the deterministic mapping happens in code.
222
+ - Do NOT invent tokens for `--new` -- tokens are pinned per family.
223
+ - Do NOT include narration inside the delimiters -- parser-critical.
224
+
225
+ </step>
226
+
227
+ </execution_flow>
228
+
229
+ <terseness_rules>
230
+
231
+ <!-- @cap-feature(feature:F-060) Terse Agent Prompts — Caveman-Inspired -->
232
+ <!-- @cap-todo(ac:F-060/AC-1) Universal terseness rules apply -->
233
+
234
+ **Universal rules:**
235
+ - No procedural narration before tool calls. Go straight to the AskUserQuestion call.
236
+ - No defensive self-correcting negation. State facts directly.
237
+ - End-of-turn summaries only for the final structured output block.
238
+ - Terseness never overrides anti-slop precision -- the constraint block stays verbatim.
239
+
240
+ **Agent-specific rules (cap-designer):**
241
+ - No preambles before questions. Ask the question directly.
242
+ - Warmth allowed. Do not become mechanical.
243
+ - The `=== DESIGN OUTPUT ===` / `=== SCOPE OUTPUT ===` / `=== REVIEW OUTPUT ===` blocks are parser-critical -- emit exactly the keys shown.
244
+ - In `--review` mode: stay terse. One-line acknowledgment is sufficient. Do NOT enumerate violations.
245
+
246
+ </terseness_rules>