@hegemonart/get-design-done 1.41.5 → 1.43.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 (434) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +1120 -1029
  4. package/README.md +158 -154
  5. package/SKILL.md +42 -42
  6. package/agents/README.md +53 -53
  7. package/agents/a11y-mapper.md +3 -3
  8. package/agents/component-benchmark-harvester.md +8 -8
  9. package/agents/component-benchmark-synthesizer.md +11 -11
  10. package/agents/component-taxonomy-mapper.md +5 -5
  11. package/agents/compose-executor.md +25 -25
  12. package/agents/conflict-resolver.md +8 -8
  13. package/agents/cost-forecaster.md +12 -12
  14. package/agents/decision-journal-exporter.md +5 -5
  15. package/agents/design-advisor.md +19 -19
  16. package/agents/design-assumptions-analyzer.md +16 -16
  17. package/agents/design-auditor.md +39 -39
  18. package/agents/design-authority-watcher.md +28 -28
  19. package/agents/design-component-generator.md +27 -27
  20. package/agents/design-context-builder.md +66 -66
  21. package/agents/design-context-checker-gate.md +5 -5
  22. package/agents/design-context-checker.md +20 -20
  23. package/agents/design-discussant.md +23 -23
  24. package/agents/design-doc-writer.md +12 -12
  25. package/agents/design-executor.md +38 -38
  26. package/agents/design-figma-writer.md +31 -31
  27. package/agents/design-fixer.md +27 -27
  28. package/agents/design-integration-checker-gate.md +5 -5
  29. package/agents/design-integration-checker.md +29 -29
  30. package/agents/design-paper-writer.md +14 -14
  31. package/agents/design-pattern-mapper.md +9 -9
  32. package/agents/design-pencil-writer.md +12 -12
  33. package/agents/design-phase-researcher.md +14 -14
  34. package/agents/design-plan-checker.md +13 -13
  35. package/agents/design-planner.md +24 -24
  36. package/agents/design-reflector.md +48 -48
  37. package/agents/design-research-synthesizer.md +21 -21
  38. package/agents/design-start-writer.md +7 -7
  39. package/agents/design-update-checker.md +8 -8
  40. package/agents/design-verifier-gate.md +5 -5
  41. package/agents/design-verifier.md +80 -80
  42. package/agents/ds-generator.md +14 -14
  43. package/agents/ds-migration-planner.md +12 -12
  44. package/agents/email-executor.md +26 -26
  45. package/agents/experiment-result-ingester.md +10 -10
  46. package/agents/flutter-executor.md +28 -28
  47. package/agents/gdd-graph-refresh.md +10 -10
  48. package/agents/gdd-intel-updater.md +11 -11
  49. package/agents/gdd-learnings-extractor.md +2 -2
  50. package/agents/motion-mapper.md +8 -8
  51. package/agents/motion-verifier.md +16 -16
  52. package/agents/pdf-executor.md +27 -27
  53. package/agents/perf-analyzer.md +20 -20
  54. package/agents/pr-commenter.md +24 -24
  55. package/agents/prototype-gate.md +29 -29
  56. package/agents/quality-gate-runner.md +21 -21
  57. package/agents/rollout-coordinator.md +8 -8
  58. package/agents/swift-executor.md +41 -41
  59. package/agents/ticket-sync-agent.md +19 -19
  60. package/agents/token-mapper.md +6 -6
  61. package/agents/user-research-synthesizer.md +13 -13
  62. package/agents/visual-hierarchy-mapper.md +2 -2
  63. package/dist/claude-code/.claude/skills/add-backlog/SKILL.md +48 -0
  64. package/dist/claude-code/.claude/skills/analyze-dependencies/SKILL.md +95 -0
  65. package/dist/claude-code/.claude/skills/apply-reflections/SKILL.md +92 -0
  66. package/dist/claude-code/.claude/skills/apply-reflections/apply-reflections-procedure.md +170 -0
  67. package/dist/claude-code/.claude/skills/audit/SKILL.md +79 -0
  68. package/dist/claude-code/.claude/skills/bandit-status/SKILL.md +94 -0
  69. package/dist/claude-code/.claude/skills/benchmark/SKILL.md +65 -0
  70. package/dist/claude-code/.claude/skills/bootstrap-ds/SKILL.md +43 -0
  71. package/dist/claude-code/.claude/skills/brief/SKILL.md +128 -0
  72. package/dist/claude-code/.claude/skills/budget/SKILL.md +45 -0
  73. package/dist/claude-code/.claude/skills/cache-manager/SKILL.md +66 -0
  74. package/dist/claude-code/.claude/skills/cache-manager/cache-policy.md +126 -0
  75. package/dist/claude-code/.claude/skills/check-update/SKILL.md +98 -0
  76. package/dist/claude-code/.claude/skills/compare/SKILL.md +82 -0
  77. package/dist/claude-code/.claude/skills/compare/compare-rubric.md +171 -0
  78. package/dist/claude-code/.claude/skills/complete-cycle/SKILL.md +81 -0
  79. package/dist/claude-code/.claude/skills/connections/SKILL.md +71 -0
  80. package/dist/claude-code/.claude/skills/connections/connections-onboarding.md +608 -0
  81. package/dist/claude-code/.claude/skills/continue/SKILL.md +24 -0
  82. package/dist/claude-code/.claude/skills/darkmode/SKILL.md +76 -0
  83. package/dist/claude-code/.claude/skills/darkmode/darkmode-audit-procedure.md +258 -0
  84. package/dist/claude-code/.claude/skills/debug/SKILL.md +41 -0
  85. package/dist/claude-code/.claude/skills/debug/debug-feedback-loops.md +119 -0
  86. package/dist/claude-code/.claude/skills/design/SKILL.md +99 -0
  87. package/dist/claude-code/.claude/skills/design/design-procedure.md +304 -0
  88. package/dist/claude-code/.claude/skills/discover/SKILL.md +72 -0
  89. package/dist/claude-code/.claude/skills/discover/discover-procedure.md +222 -0
  90. package/dist/claude-code/.claude/skills/discuss/SKILL.md +96 -0
  91. package/dist/claude-code/.claude/skills/do/SKILL.md +45 -0
  92. package/dist/claude-code/.claude/skills/explore/SKILL.md +105 -0
  93. package/dist/claude-code/.claude/skills/explore/explore-procedure.md +267 -0
  94. package/dist/claude-code/.claude/skills/export/SKILL.md +30 -0
  95. package/dist/claude-code/.claude/skills/extract-learnings/SKILL.md +98 -0
  96. package/dist/claude-code/.claude/skills/fast/SKILL.md +91 -0
  97. package/dist/claude-code/.claude/skills/figma-extract/SKILL.md +64 -0
  98. package/dist/claude-code/.claude/skills/figma-write/SKILL.md +39 -0
  99. package/dist/claude-code/.claude/skills/graphify/SKILL.md +49 -0
  100. package/dist/claude-code/.claude/skills/health/SKILL.md +99 -0
  101. package/dist/claude-code/.claude/skills/health/health-mcp-detection.md +44 -0
  102. package/dist/claude-code/.claude/skills/health/health-skill-length-report.md +69 -0
  103. package/dist/claude-code/.claude/skills/help/SKILL.md +87 -0
  104. package/dist/claude-code/.claude/skills/list-assumptions/SKILL.md +61 -0
  105. package/dist/claude-code/.claude/skills/locale/SKILL.md +51 -0
  106. package/dist/claude-code/.claude/skills/map/SKILL.md +89 -0
  107. package/dist/claude-code/.claude/skills/migrate/SKILL.md +70 -0
  108. package/dist/claude-code/.claude/skills/new-cycle/SKILL.md +37 -0
  109. package/dist/claude-code/.claude/skills/new-cycle/milestone-completeness-rubric.md +87 -0
  110. package/dist/claude-code/.claude/skills/new-project/SKILL.md +53 -0
  111. package/dist/claude-code/.claude/skills/next/SKILL.md +68 -0
  112. package/dist/claude-code/.claude/skills/note/SKILL.md +48 -0
  113. package/dist/claude-code/.claude/skills/openrouter-status/SKILL.md +86 -0
  114. package/dist/claude-code/.claude/skills/optimize/SKILL.md +97 -0
  115. package/dist/claude-code/.claude/skills/pause/SKILL.md +77 -0
  116. package/dist/claude-code/.claude/skills/peer-cli-add/SKILL.md +88 -0
  117. package/dist/claude-code/.claude/skills/peer-cli-add/peer-cli-protocol.md +161 -0
  118. package/dist/claude-code/.claude/skills/peer-cli-customize/SKILL.md +90 -0
  119. package/dist/claude-code/.claude/skills/peers/SKILL.md +96 -0
  120. package/dist/claude-code/.claude/skills/plan/SKILL.md +105 -0
  121. package/dist/claude-code/.claude/skills/plan/plan-procedure.md +278 -0
  122. package/dist/claude-code/.claude/skills/plant-seed/SKILL.md +48 -0
  123. package/dist/claude-code/.claude/skills/pr-branch/SKILL.md +32 -0
  124. package/dist/claude-code/.claude/skills/progress/SKILL.md +95 -0
  125. package/dist/claude-code/.claude/skills/quality-gate/SKILL.md +90 -0
  126. package/dist/claude-code/.claude/skills/quality-gate/threat-modeling.md +101 -0
  127. package/dist/claude-code/.claude/skills/quick/SKILL.md +44 -0
  128. package/dist/claude-code/.claude/skills/reapply-patches/SKILL.md +32 -0
  129. package/dist/claude-code/.claude/skills/recall/SKILL.md +75 -0
  130. package/dist/claude-code/.claude/skills/reflect/SKILL.md +85 -0
  131. package/dist/claude-code/.claude/skills/reflect/procedures/capability-gap-scan.md +120 -0
  132. package/dist/claude-code/.claude/skills/report-issue/SKILL.md +53 -0
  133. package/dist/claude-code/.claude/skills/report-issue/report-issue-procedure.md +120 -0
  134. package/dist/claude-code/.claude/skills/resume/SKILL.md +93 -0
  135. package/dist/claude-code/.claude/skills/review-backlog/SKILL.md +46 -0
  136. package/dist/claude-code/.claude/skills/review-decisions/SKILL.md +42 -0
  137. package/dist/claude-code/.claude/skills/roi/SKILL.md +54 -0
  138. package/dist/claude-code/.claude/skills/rollout-status/SKILL.md +35 -0
  139. package/dist/claude-code/.claude/skills/router/SKILL.md +89 -0
  140. package/dist/claude-code/.claude/skills/router/capability-gap-emitter.md +65 -0
  141. package/dist/claude-code/.claude/skills/router/router-pick-emitter.md +78 -0
  142. package/dist/claude-code/.claude/skills/router/router-rules.md +84 -0
  143. package/dist/claude-code/.claude/skills/scan/SKILL.md +92 -0
  144. package/dist/claude-code/.claude/skills/scan/scan-procedure.md +732 -0
  145. package/dist/claude-code/.claude/skills/settings/SKILL.md +87 -0
  146. package/dist/claude-code/.claude/skills/ship/SKILL.md +48 -0
  147. package/dist/claude-code/.claude/skills/sketch/SKILL.md +78 -0
  148. package/dist/claude-code/.claude/skills/sketch-wrap-up/SKILL.md +92 -0
  149. package/dist/claude-code/.claude/skills/skill-manifest/SKILL.md +79 -0
  150. package/dist/claude-code/.claude/skills/spike/SKILL.md +67 -0
  151. package/dist/claude-code/.claude/skills/spike-wrap-up/SKILL.md +86 -0
  152. package/dist/claude-code/.claude/skills/start/SKILL.md +67 -0
  153. package/dist/claude-code/.claude/skills/start/start-procedure.md +115 -0
  154. package/dist/claude-code/.claude/skills/stats/SKILL.md +51 -0
  155. package/dist/claude-code/.claude/skills/style/SKILL.md +71 -0
  156. package/dist/claude-code/.claude/skills/style/style-doc-procedure.md +150 -0
  157. package/dist/claude-code/.claude/skills/synthesize/SKILL.md +94 -0
  158. package/dist/claude-code/.claude/skills/timeline/SKILL.md +66 -0
  159. package/dist/claude-code/.claude/skills/todo/SKILL.md +64 -0
  160. package/dist/claude-code/.claude/skills/turn-closeout/SKILL.md +95 -0
  161. package/dist/claude-code/.claude/skills/undo/SKILL.md +31 -0
  162. package/dist/claude-code/.claude/skills/unlock-decision/SKILL.md +54 -0
  163. package/dist/claude-code/.claude/skills/update/SKILL.md +56 -0
  164. package/dist/claude-code/.claude/skills/using-gdd/SKILL.md +78 -0
  165. package/dist/claude-code/.claude/skills/verify/SKILL.md +113 -0
  166. package/dist/claude-code/.claude/skills/verify/verify-procedure.md +512 -0
  167. package/dist/claude-code/.claude/skills/warm-cache/SKILL.md +81 -0
  168. package/dist/claude-code/.claude/skills/watch-authorities/SKILL.md +82 -0
  169. package/dist/claude-code/.claude/skills/zoom-out/SKILL.md +26 -0
  170. package/package.json +8 -2
  171. package/reference/DEPRECATIONS.md +21 -7
  172. package/reference/STATE-TEMPLATE.md +26 -26
  173. package/reference/accessibility.md +13 -13
  174. package/reference/adr-format.md +13 -13
  175. package/reference/ai-native-tool-interface.md +5 -5
  176. package/reference/anti-patterns.md +9 -9
  177. package/reference/architecture-vocabulary.md +31 -31
  178. package/reference/audit-scoring.md +13 -13
  179. package/reference/authority-feeds.md +36 -36
  180. package/reference/bandit-integration.md +25 -25
  181. package/reference/brand-voice.md +36 -36
  182. package/reference/capability-gap-stage-gate.md +20 -20
  183. package/reference/checklists.md +26 -26
  184. package/reference/cli-localization.md +13 -13
  185. package/reference/codex-tools.md +2 -2
  186. package/reference/color-theory.md +28 -28
  187. package/reference/component-authoring.md +4 -4
  188. package/reference/components/README.md +13 -13
  189. package/reference/components/TEMPLATE.md +13 -13
  190. package/reference/components/accordion.md +15 -15
  191. package/reference/components/alert.md +25 -25
  192. package/reference/components/badge.md +18 -18
  193. package/reference/components/breadcrumbs.md +24 -24
  194. package/reference/components/button.md +21 -21
  195. package/reference/components/card.md +13 -13
  196. package/reference/components/checkbox.md +20 -20
  197. package/reference/components/chip.md +20 -20
  198. package/reference/components/command-palette.md +15 -15
  199. package/reference/components/date-picker.md +22 -22
  200. package/reference/components/drawer.md +13 -13
  201. package/reference/components/file-upload.md +22 -22
  202. package/reference/components/input.md +18 -18
  203. package/reference/components/label.md +25 -25
  204. package/reference/components/link.md +19 -19
  205. package/reference/components/list.md +17 -17
  206. package/reference/components/menu.md +19 -19
  207. package/reference/components/modal-dialog.md +16 -16
  208. package/reference/components/navbar.md +19 -19
  209. package/reference/components/pagination.md +18 -18
  210. package/reference/components/popover.md +12 -12
  211. package/reference/components/progress.md +18 -18
  212. package/reference/components/radio.md +17 -17
  213. package/reference/components/rich-text-editor.md +24 -24
  214. package/reference/components/select-combobox.md +16 -16
  215. package/reference/components/sidebar.md +15 -15
  216. package/reference/components/skeleton.md +20 -20
  217. package/reference/components/slider.md +20 -20
  218. package/reference/components/stepper.md +24 -24
  219. package/reference/components/switch.md +19 -19
  220. package/reference/components/table.md +21 -21
  221. package/reference/components/tabs.md +11 -11
  222. package/reference/components/toast.md +19 -19
  223. package/reference/components/tooltip.md +19 -19
  224. package/reference/components/tree.md +17 -17
  225. package/reference/composition.md +38 -38
  226. package/reference/config-schema.md +37 -37
  227. package/reference/context-md-format.md +9 -9
  228. package/reference/contrast-advanced.md +29 -29
  229. package/reference/conversational-ui.md +17 -17
  230. package/reference/cost-governance.md +14 -14
  231. package/reference/css-grid-layout.md +8 -8
  232. package/reference/cycle-handoff-preamble.md +3 -3
  233. package/reference/data-visualization.md +67 -67
  234. package/reference/debugger-philosophy.md +5 -5
  235. package/reference/design-system-guidance.md +21 -21
  236. package/reference/design-systems-catalog.md +20 -20
  237. package/reference/design-variants.md +11 -11
  238. package/reference/domains/civic-patterns.md +10 -10
  239. package/reference/domains/finance-patterns.md +9 -9
  240. package/reference/domains/gaming-patterns.md +9 -9
  241. package/reference/domains/healthcare-patterns.md +11 -11
  242. package/reference/ds-bootstrap-rubric.md +13 -13
  243. package/reference/email-design.md +22 -22
  244. package/reference/emotional-design.md +10 -10
  245. package/reference/error-recovery.md +11 -11
  246. package/reference/export-formats.md +7 -7
  247. package/reference/figma-sandbox.md +6 -6
  248. package/reference/first-principles.md +10 -10
  249. package/reference/form-patterns.md +26 -26
  250. package/reference/framer-motion-patterns.md +49 -49
  251. package/reference/gdd-runtime-audit.md +17 -17
  252. package/reference/gdd-threat-model.md +44 -44
  253. package/reference/gemini-tools.md +3 -3
  254. package/reference/gestalt.md +24 -24
  255. package/reference/heuristics.md +32 -32
  256. package/reference/i18n.md +44 -44
  257. package/reference/iconography.md +24 -24
  258. package/reference/image-optimization.md +14 -14
  259. package/reference/information-architecture.md +47 -47
  260. package/reference/intel-schema.md +1 -1
  261. package/reference/known-failure-modes.md +37 -37
  262. package/reference/meta-rules.md +5 -5
  263. package/reference/migrations/material-3-to-4.md +17 -17
  264. package/reference/migrations/mui-v6.md +16 -16
  265. package/reference/migrations/shadcn-v2.md +25 -25
  266. package/reference/migrations/tailwind-v4.md +21 -21
  267. package/reference/model-prices.md +3 -3
  268. package/reference/model-tiers.md +40 -40
  269. package/reference/motion-advanced.md +21 -21
  270. package/reference/motion-easings.md +29 -29
  271. package/reference/motion-interpolate.md +1 -1
  272. package/reference/motion-spring.md +13 -13
  273. package/reference/motion-transition-taxonomy.md +34 -34
  274. package/reference/motion.md +31 -31
  275. package/reference/multi-author-model.md +13 -13
  276. package/reference/native-platforms.md +28 -28
  277. package/reference/notification-routing.md +6 -6
  278. package/reference/onboarding-progressive-disclosure.md +32 -32
  279. package/reference/openrouter-tier-mapping.md +8 -8
  280. package/reference/palette-catalog.md +37 -37
  281. package/reference/parallelism-rules.md +20 -20
  282. package/reference/peer-cli-capabilities.md +14 -14
  283. package/reference/peer-protocols.md +21 -21
  284. package/reference/perf-budget.md +21 -21
  285. package/reference/performance.md +22 -22
  286. package/reference/platforms.md +51 -51
  287. package/reference/pr-review-integration.md +7 -7
  288. package/reference/prices/antigravity.md +3 -3
  289. package/reference/prices/augment.md +3 -3
  290. package/reference/prices/claude.md +2 -2
  291. package/reference/prices/cline.md +4 -4
  292. package/reference/prices/codebuddy.md +3 -3
  293. package/reference/prices/codex.md +2 -2
  294. package/reference/prices/copilot.md +3 -3
  295. package/reference/prices/cursor.md +3 -3
  296. package/reference/prices/gemini.md +2 -2
  297. package/reference/prices/kilo.md +3 -3
  298. package/reference/prices/opencode.md +4 -4
  299. package/reference/prices/qwen.md +2 -2
  300. package/reference/prices/trae.md +3 -3
  301. package/reference/prices/windsurf.md +3 -3
  302. package/reference/prices.openrouter.md +5 -5
  303. package/reference/print-design.md +36 -36
  304. package/reference/priority-matrix.md +2 -2
  305. package/reference/project-skills-guide.md +3 -3
  306. package/reference/proportion-systems.md +23 -23
  307. package/reference/pseudonymization-rules.md +30 -30
  308. package/reference/registry.json +7 -0
  309. package/reference/retrieval-contract.md +14 -14
  310. package/reference/review-format.md +7 -7
  311. package/reference/rollout-coordination.md +10 -10
  312. package/reference/rtl-cjk-cultural.md +39 -39
  313. package/reference/runtime-models.md +28 -28
  314. package/reference/shared-preamble.md +26 -26
  315. package/reference/skill-authoring-contract.md +16 -16
  316. package/reference/skill-placeholders.md +71 -0
  317. package/reference/start-interview.md +10 -10
  318. package/reference/style-vocabulary.md +25 -25
  319. package/reference/surfaces.md +4 -4
  320. package/reference/ticket-sync.md +9 -9
  321. package/reference/typography.md +64 -64
  322. package/reference/user-research.md +54 -54
  323. package/reference/variable-fonts-loading.md +15 -15
  324. package/reference/visual-hierarchy-layout.md +41 -41
  325. package/scripts/lib/build/factory.cjs +62 -0
  326. package/scripts/lib/build/harness-configs.cjs +64 -0
  327. package/scripts/lib/manifest/prose-denylist.json +1 -1
  328. package/sdk/cli/commands/build.ts +106 -0
  329. package/sdk/cli/index.js +84 -2
  330. package/sdk/cli/index.ts +7 -0
  331. package/skills/add-backlog/SKILL.md +3 -3
  332. package/skills/analyze-dependencies/SKILL.md +10 -10
  333. package/skills/apply-reflections/SKILL.md +13 -13
  334. package/skills/apply-reflections/apply-reflections-procedure.md +20 -20
  335. package/skills/audit/SKILL.md +7 -7
  336. package/skills/bandit-status/SKILL.md +7 -7
  337. package/skills/benchmark/SKILL.md +7 -7
  338. package/skills/bootstrap-ds/SKILL.md +10 -10
  339. package/skills/brief/SKILL.md +20 -20
  340. package/skills/budget/SKILL.md +4 -4
  341. package/skills/cache-manager/SKILL.md +6 -6
  342. package/skills/cache-manager/cache-policy.md +5 -5
  343. package/skills/check-update/SKILL.md +5 -5
  344. package/skills/compare/SKILL.md +15 -15
  345. package/skills/compare/compare-rubric.md +17 -17
  346. package/skills/complete-cycle/SKILL.md +5 -5
  347. package/skills/connections/SKILL.md +11 -11
  348. package/skills/connections/connections-onboarding.md +76 -76
  349. package/skills/continue/SKILL.md +2 -2
  350. package/skills/darkmode/SKILL.md +17 -17
  351. package/skills/darkmode/darkmode-audit-procedure.md +7 -7
  352. package/skills/debug/SKILL.md +3 -3
  353. package/skills/debug/debug-feedback-loops.md +12 -12
  354. package/skills/design/SKILL.md +12 -12
  355. package/skills/design/design-procedure.md +23 -23
  356. package/skills/discover/SKILL.md +7 -7
  357. package/skills/discover/discover-procedure.md +18 -18
  358. package/skills/discuss/SKILL.md +12 -12
  359. package/skills/do/SKILL.md +1 -1
  360. package/skills/explore/SKILL.md +21 -21
  361. package/skills/explore/explore-procedure.md +48 -48
  362. package/skills/export/SKILL.md +9 -9
  363. package/skills/extract-learnings/SKILL.md +5 -5
  364. package/skills/fast/SKILL.md +7 -7
  365. package/skills/figma-extract/SKILL.md +11 -11
  366. package/skills/figma-write/SKILL.md +6 -6
  367. package/skills/graphify/SKILL.md +4 -4
  368. package/skills/health/SKILL.md +16 -16
  369. package/skills/health/health-mcp-detection.md +3 -3
  370. package/skills/health/health-skill-length-report.md +6 -6
  371. package/skills/help/SKILL.md +1 -1
  372. package/skills/list-assumptions/SKILL.md +4 -4
  373. package/skills/map/SKILL.md +12 -12
  374. package/skills/migrate/SKILL.md +5 -5
  375. package/skills/new-cycle/SKILL.md +2 -2
  376. package/skills/new-cycle/milestone-completeness-rubric.md +16 -16
  377. package/skills/new-project/SKILL.md +1 -1
  378. package/skills/next/SKILL.md +5 -5
  379. package/skills/note/SKILL.md +1 -1
  380. package/skills/openrouter-status/SKILL.md +4 -4
  381. package/skills/optimize/SKILL.md +15 -15
  382. package/skills/pause/SKILL.md +5 -5
  383. package/skills/peer-cli-add/SKILL.md +11 -11
  384. package/skills/peer-cli-add/peer-cli-protocol.md +39 -39
  385. package/skills/peer-cli-customize/SKILL.md +14 -14
  386. package/skills/peers/SKILL.md +4 -4
  387. package/skills/plan/SKILL.md +13 -13
  388. package/skills/plan/plan-procedure.md +24 -24
  389. package/skills/plant-seed/SKILL.md +4 -4
  390. package/skills/pr-branch/SKILL.md +2 -2
  391. package/skills/progress/SKILL.md +15 -15
  392. package/skills/quality-gate/SKILL.md +22 -22
  393. package/skills/quality-gate/threat-modeling.md +19 -19
  394. package/skills/quick/SKILL.md +5 -5
  395. package/skills/reapply-patches/SKILL.md +7 -7
  396. package/skills/reflect/SKILL.md +3 -3
  397. package/skills/reflect/procedures/capability-gap-scan.md +11 -11
  398. package/skills/report-issue/SKILL.md +5 -5
  399. package/skills/report-issue/report-issue-procedure.md +27 -27
  400. package/skills/resume/SKILL.md +9 -9
  401. package/skills/review-backlog/SKILL.md +3 -3
  402. package/skills/review-decisions/SKILL.md +3 -3
  403. package/skills/roi/SKILL.md +5 -5
  404. package/skills/rollout-status/SKILL.md +4 -4
  405. package/skills/router/SKILL.md +11 -11
  406. package/skills/router/capability-gap-emitter.md +6 -6
  407. package/skills/router/router-pick-emitter.md +9 -9
  408. package/skills/router/router-rules.md +7 -7
  409. package/skills/scan/SKILL.md +16 -16
  410. package/skills/scan/scan-procedure.md +42 -42
  411. package/skills/settings/SKILL.md +2 -2
  412. package/skills/ship/SKILL.md +7 -7
  413. package/skills/sketch/SKILL.md +10 -10
  414. package/skills/sketch-wrap-up/SKILL.md +12 -12
  415. package/skills/skill-manifest/SKILL.md +5 -5
  416. package/skills/spike/SKILL.md +7 -7
  417. package/skills/spike-wrap-up/SKILL.md +13 -13
  418. package/skills/start/SKILL.md +8 -8
  419. package/skills/start/start-procedure.md +9 -9
  420. package/skills/stats/SKILL.md +5 -5
  421. package/skills/style/SKILL.md +12 -12
  422. package/skills/style/style-doc-procedure.md +12 -12
  423. package/skills/synthesize/SKILL.md +10 -10
  424. package/skills/timeline/SKILL.md +4 -4
  425. package/skills/todo/SKILL.md +3 -3
  426. package/skills/turn-closeout/SKILL.md +10 -10
  427. package/skills/unlock-decision/SKILL.md +3 -3
  428. package/skills/update/SKILL.md +9 -9
  429. package/skills/using-gdd/SKILL.md +17 -17
  430. package/skills/verify/SKILL.md +13 -13
  431. package/skills/verify/verify-procedure.md +34 -34
  432. package/skills/warm-cache/SKILL.md +8 -8
  433. package/skills/watch-authorities/SKILL.md +9 -9
  434. package/skills/zoom-out/SKILL.md +4 -4
@@ -2,13 +2,13 @@
2
2
 
3
3
  <!-- Source: nextlevelbuilder/ui-ux-pro-max-skill (MIT) — data/products.csv, data/ui-reasoning.csv (industry-context section) -->
4
4
 
5
- Brand voice is not a single setting it is a combination of independent axes, an archetype frame, and a sensitivity to context. Agents reading this file should treat the voice axes and archetype library as orthogonal dimensions: pick a position on each axis independently, then select an archetype to layer personality on top. Neither choice is derived from the other.
5
+ Brand voice is not a single setting - it is a combination of independent axes, an archetype frame, and a sensitivity to context. Agents reading this file should treat the voice axes and archetype library as orthogonal dimensions: pick a position on each axis independently, then select an archetype to layer personality on top. Neither choice is derived from the other.
6
6
 
7
7
  ---
8
8
 
9
9
  ## Voice Axes
10
10
 
11
- Each axis is a spectrum between two poles. Moving toward one pole is not superior to moving toward the other the correct position depends entirely on the product's audience, vertical, and context of use. Most products do not land at the extreme of any axis; they occupy a deliberate range within it.
11
+ Each axis is a spectrum between two poles. Moving toward one pole is not superior to moving toward the other - the correct position depends entirely on the product's audience, vertical, and context of use. Most products do not land at the extreme of any axis; they occupy a deliberate range within it.
12
12
 
13
13
  ### Axis 1: Formal ↔ Casual
14
14
 
@@ -30,7 +30,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
30
30
 
31
31
  **Serious pole:** Tone is earnest and sober. Errors are acknowledged without irony. Humor is absent or very subdued. Stakes are treated as real. Example error message: "We were unable to process your payment. Please verify your card details and try again, or contact your bank."
32
32
 
33
- **Playful pole:** Tone uses wit, lightness, and occasionally emoji or metaphor to reduce tension and delight the user. Playfulness does not mean frivolous it means the product enjoys its own existence. Example error message: "Something got tangled up on our end. Give it another go? 🙏"
33
+ **Playful pole:** Tone uses wit, lightness, and occasionally emoji or metaphor to reduce tension and delight the user. Playfulness does not mean frivolous - it means the product enjoys its own existence. Example error message: "Something got tangled up on our end. Give it another go? 🙏"
34
34
 
35
35
  **When to move toward Serious:** Enterprise B2B, professional tools, medical platforms, legal services, and financial dashboards should maintain a serious register because users are performing consequential work and playful tone signals a mismatch in understanding stakes. An HR platform with whimsical error messages risks undermining managerial authority.
36
36
 
@@ -38,7 +38,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
38
38
 
39
39
  **Copy examples:**
40
40
  - Serious: "This action cannot be undone. All selected records will be permanently deleted."
41
- - Playful: "Heads up once you delete this, it's gone for good. Still want to?"
41
+ - Playful: "Heads up - once you delete this, it's gone for good. Still want to?"
42
42
 
43
43
  ---
44
44
 
@@ -46,7 +46,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
46
46
 
47
47
  **Expert pole:** Language assumes domain knowledge. Technical terms are used without definition. The product speaks as a peer to specialists. Precision is prioritized over accessibility. Example: "Configure your OAuth 2.0 PKCE flow with a 256-bit code verifier before initiating the authorization request."
48
48
 
49
- **Approachable pole:** Language explains concepts in plain English. Jargon is translated or avoided. The product speaks as a guide to non-specialists. Accessibility is prioritized over brevity. Example: "Connect your account securely we use a modern login method that keeps your password private."
49
+ **Approachable pole:** Language explains concepts in plain English. Jargon is translated or avoided. The product speaks as a guide to non-specialists. Accessibility is prioritized over brevity. Example: "Connect your account securely - we use a modern login method that keeps your password private."
50
50
 
51
51
  **When to move toward Expert:** Developer tools, ML/data platforms, DevOps dashboards, security products, and medical or legal professional tools are used by specialists who are frustrated by over-explanation. Unnecessary simplification reads as condescension and slows expert users down.
52
52
 
@@ -66,7 +66,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
66
66
 
67
67
  **When to move toward Reverent:** Luxury brands, heritage fashion houses, fine dining, premium hospitality, and cultural institutions benefit from reverent language because it honors the symbolic weight users attach to these products and does not puncture the aspirational experience they are purchasing.
68
68
 
69
- **When to move toward Irreverent:** Challenger brands, startup disruptors, creative tools, youth-oriented products, and any brand explicitly positioning against an incumbent benefit from irreverent language because it embodies the brand's core argument that the old way is worth questioning. An anti-establishment fintech that writes like a bank forfeits its entire premise.
69
+ **When to move toward Irreverent:** Challenger brands, startup disruptors, creative tools, youth-oriented products, and any brand explicitly positioning against an incumbent benefit from irreverent language because it embodies the brand's core argument - that the old way is worth questioning. An anti-establishment fintech that writes like a bank forfeits its entire premise.
70
70
 
71
71
  **Copy examples:**
72
72
  - Reverent: "Each piece is hand-finished by our atelier in Lyon."
@@ -78,7 +78,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
78
78
 
79
79
  **Authoritative pole:** The product speaks with confidence and direction. It tells users what to do. Instructions are commands, not suggestions. The relationship is expert-to-user. Example: "You must complete identity verification before withdrawing funds." / "Save your work before closing this window."
80
80
 
81
- **Collaborative pole:** The product speaks as a partner. It recommends and explains, framing choices as shared decisions. The relationship is peer-to-peer. Example: "We recommend verifying your identity now it unlocks higher withdrawal limits." / "Just so you know unsaved changes will be lost if you close."
81
+ **Collaborative pole:** The product speaks as a partner. It recommends and explains, framing choices as shared decisions. The relationship is peer-to-peer. Example: "We recommend verifying your identity now - it unlocks higher withdrawal limits." / "Just so you know - unsaved changes will be lost if you close."
82
82
 
83
83
  **When to move toward Authoritative:** Compliance interfaces, safety-critical systems, legal workflows, and any context where users must follow a specific procedure without deviation benefit from authoritative language because ambiguity creates errors and liability. A safety checklist that says "You might want to confirm the valve is closed" is a design defect.
84
84
 
@@ -86,7 +86,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
86
86
 
87
87
  **Copy examples:**
88
88
  - Authoritative: "Enter your password to confirm this irreversible action."
89
- - Collaborative: "One last check confirm your password and we'll take it from there."
89
+ - Collaborative: "One last check - confirm your password and we'll take it from there."
90
90
 
91
91
  ---
92
92
 
@@ -95,40 +95,40 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
95
95
  Archetypes are personality frames, not voice axes. They describe the fundamental role the brand plays in its users' lives and the emotional contract it offers. Archetypes and voice axes are orthogonal: a Sage brand can be formal or casual, serious or playful. Select an archetype and then tune voice axes independently.
96
96
 
97
97
  ### 1. The Sage
98
- The Sage earns trust by sharing knowledge. It positions the product as the most informed source in the room not arrogant, but genuinely expert. The Sage communicates in a way that makes users feel more capable after each interaction, not dependent. In UI, this means rich documentation, contextual education woven into onboarding, and copy that explains the "why" rather than just the "what." Design skews toward clarity, precision, and minimalism nothing competes with the information itself.
98
+ The Sage earns trust by sharing knowledge. It positions the product as the most informed source in the room - not arrogant, but genuinely expert. The Sage communicates in a way that makes users feel more capable after each interaction, not dependent. In UI, this means rich documentation, contextual education woven into onboarding, and copy that explains the "why" rather than just the "what." Design skews toward clarity, precision, and minimalism - nothing competes with the information itself.
99
99
 
100
100
  ### 2. The Hero
101
- The Hero is empowering and action-oriented. It frames the user as the agent of change and the product as the tool that makes the mission possible. CTAs are verbs: "Start building," "Launch your campaign," "Deploy now." The Hero archetype works best when users have a clear goal and the product gives them velocity toward it. Design is bold, directional, and high-contrast it communicates momentum.
101
+ The Hero is empowering and action-oriented. It frames the user as the agent of change and the product as the tool that makes the mission possible. CTAs are verbs: "Start building," "Launch your campaign," "Deploy now." The Hero archetype works best when users have a clear goal and the product gives them velocity toward it. Design is bold, directional, and high-contrast - it communicates momentum.
102
102
 
103
103
  ### 3. The Creator
104
- The Creator prioritizes imagination and aesthetic experience. The product itself is a canvas, and the copy celebrates what users will make rather than what the product can do. Language is evocative rather than functional. Onboarding feels like an invitation rather than a tutorial. Design is aesthetic-forward typography, whitespace, and visual rhythm are treated as expressive elements, not just layout tools.
104
+ The Creator prioritizes imagination and aesthetic experience. The product itself is a canvas, and the copy celebrates what users will make rather than what the product can do. Language is evocative rather than functional. Onboarding feels like an invitation rather than a tutorial. Design is aesthetic-forward - typography, whitespace, and visual rhythm are treated as expressive elements, not just layout tools.
105
105
 
106
106
  ### 4. The Caregiver
107
- The Caregiver is empathetic, supportive, and gentle under pressure. It anticipates user anxiety and responds with reassurance. Error messages do not blame; they comfort and guide. Onboarding is patient. The Caregiver archetype is essential for health apps, mental wellness platforms, parenting tools, and any product used during vulnerable moments. Design is warm, rounded, and low-stimulus nothing startles or overwhelms.
107
+ The Caregiver is empathetic, supportive, and gentle under pressure. It anticipates user anxiety and responds with reassurance. Error messages do not blame; they comfort and guide. Onboarding is patient. The Caregiver archetype is essential for health apps, mental wellness platforms, parenting tools, and any product used during vulnerable moments. Design is warm, rounded, and low-stimulus - nothing startles or overwhelms.
108
108
 
109
109
  ### 5. The Ruler
110
- The Ruler is premium, commanding, and authority-signaling. It does not explain itself it presents. Copy is declarative and sparse. The Ruler archetype justifies premium pricing through an experience that communicates exclusivity and mastery. This archetype works for luxury goods, high-end B2B platforms, and any product where status is part of the value. Design is restrained, high-contrast, and architectural every element signals control.
110
+ The Ruler is premium, commanding, and authority-signaling. It does not explain itself - it presents. Copy is declarative and sparse. The Ruler archetype justifies premium pricing through an experience that communicates exclusivity and mastery. This archetype works for luxury goods, high-end B2B platforms, and any product where status is part of the value. Design is restrained, high-contrast, and architectural - every element signals control.
111
111
 
112
112
  ### 6. The Jester
113
- The Jester uses humor to disarm and delight. It understands that joy is a retention mechanism and that laughter creates loyalty. The Jester does not take itself seriously and invites users to share that lightness. This archetype works for consumer products in low-stakes categories, social tools, and brands that have earned enough trust to be self-deprecating. Design uses surprise, playful motion, and unexpected visual moments but always purposefully, never randomly.
113
+ The Jester uses humor to disarm and delight. It understands that joy is a retention mechanism and that laughter creates loyalty. The Jester does not take itself seriously and invites users to share that lightness. This archetype works for consumer products in low-stakes categories, social tools, and brands that have earned enough trust to be self-deprecating. Design uses surprise, playful motion, and unexpected visual moments - but always purposefully, never randomly.
114
114
 
115
115
  ### 7. The Innocent
116
- The Innocent is clean, optimistic, and simple. It communicates that the world is basically good and that this product exists to make it a little better. Copy is honest, unpretentious, and free of manipulation. The Innocent archetype is right for health food brands, sustainable products, children's tools, and any product positioning around purity or honesty. Design is bright, open, and generous with whitespace nothing hidden, nothing complex.
116
+ The Innocent is clean, optimistic, and simple. It communicates that the world is basically good and that this product exists to make it a little better. Copy is honest, unpretentious, and free of manipulation. The Innocent archetype is right for health food brands, sustainable products, children's tools, and any product positioning around purity or honesty. Design is bright, open, and generous with whitespace - nothing hidden, nothing complex.
117
117
 
118
118
  ### 8. The Explorer
119
119
  The Explorer is discovery-forward and adventurous. It communicates that the world is full of things worth finding and that this product is the best vehicle for that journey. Copy uses open-ended language: "See what's possible," "Go further," "Find your path." The Explorer archetype fits travel apps, outdoor brands, learning platforms, and curiosity-driven tools. Design uses movement, depth, and environmental imagery to evoke possibility.
120
120
 
121
121
  ### 9. The Rebel
122
- The Rebel challenges assumptions and frames the incumbent as the problem. It uses anti-establishment language deliberately, not carelessly. The Rebel is not angry it is confident in its alternative. Copy names what it rejects: "Not your usual bank," "Skip the middleman," "Design without the gatekeepers." The Rebel archetype is right for challenger brands, disruptive startups, and any product that exists because the existing solution is broken. Design is unconventional asymmetric, raw, or deliberately anti-polished to signal that the rules have changed.
122
+ The Rebel challenges assumptions and frames the incumbent as the problem. It uses anti-establishment language deliberately, not carelessly. The Rebel is not angry - it is confident in its alternative. Copy names what it rejects: "Not your usual bank," "Skip the middleman," "Design without the gatekeepers." The Rebel archetype is right for challenger brands, disruptive startups, and any product that exists because the existing solution is broken. Design is unconventional - asymmetric, raw, or deliberately anti-polished to signal that the rules have changed.
123
123
 
124
124
  ### 10. The Lover
125
- The Lover creates intimacy and sensory connection. Copy is warm, personal, and physically evocative. The Lover archetype is less about romance than about deep emotional resonance the product feels like it was made for you specifically. This archetype fits beauty brands, food and beverage, hospitality, and any product where sensory experience is central. Design is rich, textural, and emotionally warm photography over illustration, warmth over coolness.
125
+ The Lover creates intimacy and sensory connection. Copy is warm, personal, and physically evocative. The Lover archetype is less about romance than about deep emotional resonance - the product feels like it was made for you specifically. This archetype fits beauty brands, food and beverage, hospitality, and any product where sensory experience is central. Design is rich, textural, and emotionally warm - photography over illustration, warmth over coolness.
126
126
 
127
127
  ### 11. The Everyman
128
- The Everyman is relatable, unpretentious, and radically inclusive. It signals that this product is for everyone, not for a tribe or an aspirational identity. Copy avoids jargon, insider language, and exclusivity markers. The Everyman archetype is right for utility apps, mass-market consumer tools, and any product that succeeds by broad adoption rather than niche loyalty. Design is familiar and accessible conventional enough to feel immediately understandable to any user.
128
+ The Everyman is relatable, unpretentious, and radically inclusive. It signals that this product is for everyone, not for a tribe or an aspirational identity. Copy avoids jargon, insider language, and exclusivity markers. The Everyman archetype is right for utility apps, mass-market consumer tools, and any product that succeeds by broad adoption rather than niche loyalty. Design is familiar and accessible - conventional enough to feel immediately understandable to any user.
129
129
 
130
130
  ### 12. The Magician
131
- The Magician is transformation-focused. It frames the product as the mechanism by which users go from a lesser to a greater state. Copy uses before/after framing: "What used to take days takes minutes," "You used to guess. Now you know." The Magician archetype fits productivity tools, AI platforms, and any product whose core promise is that the user will be meaningfully different after using it. Design uses contrast before states feel constrained, after states feel open and capable.
131
+ The Magician is transformation-focused. It frames the product as the mechanism by which users go from a lesser to a greater state. Copy uses before/after framing: "What used to take days takes minutes," "You used to guess. Now you know." The Magician archetype fits productivity tools, AI platforms, and any product whose core promise is that the user will be meaningfully different after using it. Design uses contrast - before states feel constrained, after states feel open and capable.
132
132
 
133
133
  ---
134
134
 
@@ -152,18 +152,18 @@ Beyond the 12 canonical archetypes, products can adopt a design-register variant
152
152
 
153
153
  ## Tone-by-Context Table
154
154
 
155
- Tone is not fixed even a consistent brand voice shifts register depending on the situation the user is in. A Jester brand should not make jokes in an error message that signals data loss. This table maps UI contexts to appropriate tone adjustments.
155
+ Tone is not fixed - even a consistent brand voice shifts register depending on the situation the user is in. A Jester brand should not make jokes in an error message that signals data loss. This table maps UI contexts to appropriate tone adjustments.
156
156
 
157
157
  | Context | Recommended Tone | Example Copy |
158
158
  |---------|-----------------|--------------|
159
- | Error message | Calm, clear, helpful never humorous for data loss or high-stakes failure | "We couldn't save your changes. Check your connection and try again." |
160
- | Empty state | Warm, forward-looking, actionable explains why empty and what to do | "Nothing here yet. Add your first project to get started." |
161
- | Success / celebration | Positive, proportionate to stakes brief and genuine, not excessive | "All done! Your report is ready." / "🎉 You're all set!" (casual products only) |
162
- | Onboarding | Welcoming, encouraging, brief does not front-load complexity | "Let's set up your workspace. It only takes a minute." |
163
- | Loading state | Reassuring, informative signals progress without being annoying | "Getting your data…" / "Almost there." |
164
- | Destructive action confirmation | Serious, precise, no hedging names what will be destroyed | "Delete project 'Alpha'? This cannot be undone." |
165
- | Pricing page | Honest, benefit-led, no dark patterns copy earns the price | "Everything in Pro, plus unlimited seats and priority support." |
166
- | Marketing headline | Archetype-forward, emotionally resonant captures brand promise | Varies by archetype (Hero: "Ship faster." / Creator: "Make something beautiful.") |
159
+ | Error message | Calm, clear, helpful - never humorous for data loss or high-stakes failure | "We couldn't save your changes. Check your connection and try again." |
160
+ | Empty state | Warm, forward-looking, actionable - explains why empty and what to do | "Nothing here yet. Add your first project to get started." |
161
+ | Success / celebration | Positive, proportionate to stakes - brief and genuine, not excessive | "All done! Your report is ready." / "🎉 You're all set!" (casual products only) |
162
+ | Onboarding | Welcoming, encouraging, brief - does not front-load complexity | "Let's set up your workspace. It only takes a minute." |
163
+ | Loading state | Reassuring, informative - signals progress without being annoying | "Getting your data…" / "Almost there." |
164
+ | Destructive action confirmation | Serious, precise, no hedging - names what will be destroyed | "Delete project 'Alpha'? This cannot be undone." |
165
+ | Pricing page | Honest, benefit-led, no dark patterns - copy earns the price | "Everything in Pro, plus unlimited seats and priority support." |
166
+ | Marketing headline | Archetype-forward, emotionally resonant - captures brand promise | Varies by archetype (Hero: "Ship faster." / Creator: "Make something beautiful.") |
167
167
 
168
168
  ---
169
169
 
@@ -171,29 +171,29 @@ Tone is not fixed — even a consistent brand voice shifts register depending on
171
171
 
172
172
  <!-- Source: nextlevelbuilder/ui-ux-pro-max-skill (MIT) — data/products.csv, data/ui-reasoning.csv -->
173
173
 
174
- **Important:** Voice axis positions and industry context are orthogonal dimensions. Industry context provides defaults and constraints; voice axis positions are still chosen deliberately within those constraints. A FinTech product can be formal but approachable, or formal and expert industry context does not collapse those choices, it narrows the range.
174
+ **Important:** Voice axis positions and industry context are orthogonal dimensions. Industry context provides defaults and constraints; voice axis positions are still chosen deliberately within those constraints. A FinTech product can be formal but approachable, or formal and expert - industry context does not collapse those choices, it narrows the range.
175
175
 
176
176
  ---
177
177
 
178
178
  | Vertical | Voice Axis Defaults | Color Mood | Typography Mood | Key Effects | Anti-Patterns |
179
179
  |----------|-------------------|------------|-----------------|-------------|---------------|
180
- | **FinTech / Banking** | Formal → Serious → Expert → Authoritative; trust must be earned through consistency | Deep navy, forest green, cool greys signals stability and security | Clean sans-serif (Inter, DM Sans), generous line-height for readability at numeric density | Microanimations on transaction confirmation; subtle loading states; no celebration for transfers | Casual tone on high-stakes actions; bright consumer palettes; playful error messages; flashy transitions on money movement |
181
- | **HealthTech / Medical** | Formal → Serious → Approachable → Collaborative; clarity reduces anxiety | Soft teal, warm white, calm blues avoids red except for genuine danger signals | Clean, large, high-contrast; body text ≥16px mandatory for compliance and accessibility | Gentle loading indicators; animated check states for completed steps; no jarring motion | Dense data without explanation; dark mode with pure black; small body text; red used decoratively |
180
+ | **FinTech / Banking** | Formal → Serious → Expert → Authoritative; trust must be earned through consistency | Deep navy, forest green, cool greys - signals stability and security | Clean sans-serif (Inter, DM Sans), generous line-height for readability at numeric density | Microanimations on transaction confirmation; subtle loading states; no celebration for transfers | Casual tone on high-stakes actions; bright consumer palettes; playful error messages; flashy transitions on money movement |
181
+ | **HealthTech / Medical** | Formal → Serious → Approachable → Collaborative; clarity reduces anxiety | Soft teal, warm white, calm blues - avoids red except for genuine danger signals | Clean, large, high-contrast; body text ≥16px mandatory for compliance and accessibility | Gentle loading indicators; animated check states for completed steps; no jarring motion | Dense data without explanation; dark mode with pure black; small body text; red used decoratively |
182
182
  | **SaaS / B2B** | Formal–Casual range → Serious → Expert → Authoritative–Collaborative range | Neutral greys, controlled accent (brand blue/green), white space dominant | Clean sans-serif, systematic type scale; headings earn visual weight | Skeleton loading for data tables; progressive disclosure for settings; tooltips for technical fields | Over-explaining basics to expert users; inconsistent terminology across modules; AI-slop purple palette |
183
183
  | **E-commerce / DTC** | Casual → Playful–Serious range → Approachable → Collaborative | Brand-driven palette; high saturation for CTAs; warm neutrals for product context | Expressive display for headlines; clean body for product descriptions | Product zoom hover states; cart animation on add; wishlist micro-interaction | Fake urgency copy; cluttered hierarchy; hidden total cost until checkout; tiny CTA on mobile |
184
184
  | **Gaming / Entertainment** | Casual → Playful → Approachable–Expert range → Irreverent | High saturation, dark mode dominant, neon accent on dark surface | Display/gaming typefaces for headers; clean body for UI; weight contrast is high | Motion-heavy transitions; achievement celebrations; ambient background animation | Accessibility blindspots in dark mode; pure black backgrounds (vibration); low contrast on energetic backgrounds |
185
185
  | **Social / Community** | Casual → Playful → Approachable → Collaborative | Warm neutrals, brand accent, avatar-forward UI with minimal chrome | Friendly rounded sans-serif; generous spacing; conversational scale | Reaction microanimations; real-time presence indicators; celebratory confetti for milestones | Cold enterprise-grade color in social context; heavy typography hierarchy that buries user content |
186
186
  | **Dev Tools** | Casual–Formal range → Serious → Expert → Authoritative | Dark mode default; syntax-highlight palette; cool greys; code-emphasis contrast | Monospace for code; sans-serif for prose; no decorative type | Fast, no-flash loading states; inline error syntax highlighting; keyboard shortcut visibility | Explaining basics to experts; hiding power features; light-mode-only; inconsistent CLI↔UI vocabulary |
187
- | **EdTech** | Casual → Playful–Serious range → Approachable → Collaborative | Warm, bright, optimistic not childish; academic versions use cooler tone | Friendly rounded sans; large body text; generous spacing for reading context | Progress animations; streak celebration; gentle nudges for return | Overwhelming choice on first launch; punitive error framing; tests without explanation of why wrong |
188
- | **Legal / Compliance** | Formal → Serious → Expert → Authoritative | Navy, charcoal, neutral greys no decorative color | Readable serif or clean sans; no display type for primary content | None beyond loading states; no celebratory states outcomes have real weight | Casual tone on contract actions; hiding consequences; playful UI that signals legal work is trivial |
187
+ | **EdTech** | Casual → Playful–Serious range → Approachable → Collaborative | Warm, bright, optimistic - not childish; academic versions use cooler tone | Friendly rounded sans; large body text; generous spacing for reading context | Progress animations; streak celebration; gentle nudges for return | Overwhelming choice on first launch; punitive error framing; tests without explanation of why wrong |
188
+ | **Legal / Compliance** | Formal → Serious → Expert → Authoritative | Navy, charcoal, neutral greys - no decorative color | Readable serif or clean sans; no display type for primary content | None beyond loading states; no celebratory states - outcomes have real weight | Casual tone on contract actions; hiding consequences; playful UI that signals legal work is trivial |
189
189
  | **HR / People Ops** | Formal–Casual range → Serious → Approachable → Collaborative | Warm professional: muted teal, earth tones, warm greys | Clean sans-serif; expressive enough to feel human, not cold | Subtle check animations for onboarding; gentle feedback on form completion | Clinical coldness in employee-facing UI; hiding personal data implications; confusing benefit summaries |
190
190
  | **Real Estate** | Formal → Serious → Approachable → Authoritative | Warm greys, earth tones, occasional brand accent; photography-dominant | Clean serif or premium sans; photography does the expressive work | Map interaction states; mortgage calculator animations; image gallery transitions | Overwhelming data without hierarchy; hiding total cost; small map interaction targets on mobile |
191
191
  | **Travel / Hospitality** | Casual → Playful–Serious range → Approachable → Collaborative | Destination-driven: warm ambers, ocean blues, lush greens | Expressive display for destination content; clean sans for booking flows | Immersive imagery transitions; booking confirmation celebration; ambient destination video | Hiding fees until final step; tiny date pickers; inconsistent voice between inspiration and transactional flows |
192
192
  | **Food / Delivery** | Casual → Playful → Approachable → Collaborative | Warm appetizing tones: terracotta, golden yellow, deep greens | Rounded, friendly sans-serif; photography-heavy | Order status animation; delivery tracking real-time; add-to-cart micro-interaction | Cold clinical tone; hiding delivery costs; overwhelming menu density; slow loading states for item images |
193
193
  | **Fitness / Wellness** | Casual → Serious–Playful range → Approachable → Collaborative | High energy (fitness): deep navy + neon; Wellness: warm cream, sage, earth | Strong weight contrast for motivational moments; clean body for routine content | Workout completion celebration; streak animation; activity ring fill | Shaming language for missed goals; pure black dark mode; excessive notifications; gamification without consent |
194
- | **Non-profit / NGO** | Casual–Formal range → Serious → Approachable → Collaborative | Mission-driven: warm humanist tones, photography-led, restrained accent | Readable, accessible, warm never cold or corporate | Impact counter animations; donation confirmation warmth; progress-toward-goal bars | Guilt-manipulation copy; inaccessible donation flows; slow load on donation pages; hiding overhead costs |
195
- | **Government / Civic** | Formal → Serious → Approachable → Authoritative | Institutional: navy, red, white variants national palette conventions | Highly readable sans-serif; no display type; large body text mandatory | Progress bars for multi-step processes; no celebration for government services | Jargon without explanation; inaccessible forms; mobile-hostile layouts; hiding deadlines |
196
- | **Luxury / Fashion** | Formal → Serious → Expert → Reverent | Black, white, gold, nude restraint signals luxury | Editorial serif or geometric sans; generous whitespace; typography is the aesthetic | Elegant fade transitions; product reveal on scroll; no click-bait motion | Playful copy that undercuts premium positioning; cluttered layout; urgent sale language; AI-slop palette |
194
+ | **Non-profit / NGO** | Casual–Formal range → Serious → Approachable → Collaborative | Mission-driven: warm humanist tones, photography-led, restrained accent | Readable, accessible, warm - never cold or corporate | Impact counter animations; donation confirmation warmth; progress-toward-goal bars | Guilt-manipulation copy; inaccessible donation flows; slow load on donation pages; hiding overhead costs |
195
+ | **Government / Civic** | Formal → Serious → Approachable → Authoritative | Institutional: navy, red, white variants - national palette conventions | Highly readable sans-serif; no display type; large body text mandatory | Progress bars for multi-step processes; no celebration for government services | Jargon without explanation; inaccessible forms; mobile-hostile layouts; hiding deadlines |
196
+ | **Luxury / Fashion** | Formal → Serious → Expert → Reverent | Black, white, gold, nude - restraint signals luxury | Editorial serif or geometric sans; generous whitespace; typography is the aesthetic | Elegant fade transitions; product reveal on scroll; no click-bait motion | Playful copy that undercuts premium positioning; cluttered layout; urgent sale language; AI-slop palette |
197
197
  | **Media / Publishing** | Casual–Formal range → Serious → Approachable–Expert range → Authoritative | Publication-specific; reading UX emphasizes contrast and typography | Reading-optimized: long-form line length (60–75ch), generous line-height (1.7+) | Scroll-progress indicators; reading time estimates; article-end engagement | Distraction ads interrupting reading flow; tiny body text; low contrast for long-form content |
198
198
  | **Analytics / BI** | Formal → Serious → Expert → Authoritative | Data-focused: high contrast, neutral chrome, vivid but accessible chart palette | Dense but readable sans-serif; monospace for data values; strong heading hierarchy | Interactive chart hover states; filter animation; export confirmation | Color-blind-unsafe chart palettes; pure decoration in data visualizations; hiding data provenance |
199
199
  | **AI / ML Platform** | Casual–Formal range → Serious → Expert → Authoritative–Collaborative range | Dark mode default with vibrant accent; cool-to-neutral chrome | Clean monospace for code and prompts; sans-serif for prose; strong weight contrast | Streaming text animation; generation loading state; token cost micro-display | Anthropomorphizing in ways that mislead; hiding capability limits; magical framing that hides user responsibility |
@@ -3,7 +3,7 @@
3
3
  > Phase 29 reference doc. Specifies the deterministic gate that decides when
4
4
  > the reflector has gathered enough `capability_gap` signal to surface a
5
5
  > one-time opt-in prompt for Stage-1 (incubator authoring of new agents /
6
- > skills). **No code path in this repository auto-flips the stage**
6
+ > skills). **No code path in this repository auto-flips the stage** -
7
7
  > D-01 is the discipline.
8
8
 
9
9
  ---
@@ -23,7 +23,7 @@ date or a release. The reflector aggregates events into per-cycle
23
23
  clusters (`scripts/lib/reflector-capability-gap-aggregator.cjs`) and
24
24
  evaluates a deterministic stability function against the project's
25
25
  cycle history. When the gate is crossed, `/gdd:apply-reflections`
26
- emits a **one-time user-facing prompt** in the cycle markdown never
26
+ emits a **one-time user-facing prompt** in the cycle markdown - never
27
27
  an auto-stage-flip. The user opting in is a separate explicit action,
28
28
  out of scope for this gate spec.
29
29
 
@@ -72,7 +72,7 @@ A cluster `c` is **stable** iff both conditions hold:
72
72
 
73
73
  1. **Consecutive presence.** `c` appears in `≥ M` consecutive cycles
74
74
  somewhere within the observed history. (The most recent unbroken
75
- run is what matters if a cluster missed a cycle, the run resets
75
+ run is what matters - if a cluster missed a cycle, the run resets
76
76
  and only the longest streak counts.)
77
77
  2. **Narrow posterior.** The closed-form posterior standard deviation
78
78
  of the Beta distribution satisfies:
@@ -129,7 +129,7 @@ Inputs:
129
129
 
130
130
  The evaluation is **deterministic** (no randomness), **idempotent**
131
131
  (no side-effects in the evaluator), and **read-only** with respect to
132
- `.design/config.json` that file is only updated by the user's
132
+ `.design/config.json` - that file is only updated by the user's
133
133
  explicit opt-in action, never by the reflector.
134
134
 
135
135
  ---
@@ -140,11 +140,11 @@ When the gate crosses for the first time, `/gdd:apply-reflections`
140
140
  appends the following verbatim block to the cycle markdown:
141
141
 
142
142
  > ```markdown
143
- > ## Stage-0 → Stage-1 gate crossed opt-in required
143
+ > ## Stage-0 → Stage-1 gate crossed - opt-in required
144
144
  >
145
145
  > Capability-gap detection has accumulated enough signal across recent
146
146
  > cycles to consider enabling Stage-1 (incubator authoring of new
147
- > agents / skills). The gate is informational only **nothing has
147
+ > agents / skills). The gate is informational only - **nothing has
148
148
  > changed in the runtime**, and Stage-1 will NOT auto-enable. Per
149
149
  > Phase 29 CONTEXT.md decision D-01, the user opts in explicitly.
150
150
  >
@@ -174,8 +174,8 @@ appends the following verbatim block to the cycle markdown:
174
174
  > `capability_gap_gate.user_prompted_at` from `.design/config.json`.
175
175
  > ```
176
176
 
177
- The wiring side of this actually writing the `user_prompted_at`
178
- timestamp and routing the opt-in confirmation is deferred to
177
+ The wiring side of this - actually writing the `user_prompted_at`
178
+ timestamp and routing the opt-in confirmation - is deferred to
179
179
  **Plan 29-05** (`/gdd:apply-reflections` extension). This document
180
180
  specifies the prompt text and behavior; 29-05 implements the
181
181
  state-machine that consumes it.
@@ -204,7 +204,7 @@ Two timestamps in `.design/config.json` track the project's gate state:
204
204
  - **`opted_in_at`** is set when the user explicitly opts into Stage-1.
205
205
  Stage-1 incubator authoring (Plans 29-04+) becomes active once this
206
206
  timestamp is present. **Stage 1 is NEVER enabled by the reflector
207
- setting this timestamp itself** D-01 lock.
207
+ setting this timestamp itself** - D-01 lock.
208
208
 
209
209
  Once `opted_in_at` is set, the gate stops emitting prompts entirely
210
210
  (it's a one-shot mechanism, not a continuous nudge).
@@ -222,7 +222,7 @@ Operators can manually reset the gate by editing `.design/config.json`:
222
222
  | Tighten / loosen thresholds | Edit `K` / `M` / `stddev_threshold` directly. Out-of-range values silently fall back to defaults (§ 2). |
223
223
 
224
224
  Reset is **explicit** and **idempotent**. The reflector never writes
225
- to these fields on its own the only writers are (a) the
225
+ to these fields on its own - the only writers are (a) the
226
226
  `/gdd:apply-reflections` opt-in path (Plan 29-05) and (b) the human
227
227
  operator editing the file by hand.
228
228
 
@@ -233,32 +233,32 @@ operator editing the file by hand.
233
233
  Executable examples that exercise the gate live in
234
234
  `tests/reflector-capability-gap-aggregation.test.cjs`:
235
235
 
236
- - **T3** 30 cycles × 3 always-present clusters → gate crosses with
236
+ - **T3** - 30 cycles × 3 always-present clusters → gate crosses with
237
237
  default K=3 / M=10 / stddev_threshold=0.05.
238
- - **T3b** 10 cycles × 1 always-present cluster → gate does NOT
238
+ - **T3b** - 10 cycles × 1 always-present cluster → gate does NOT
239
239
  cross (posterior stddev ≈ 0.077 with α=11, β=1 is above the 0.05
240
240
  threshold; M=10 is the lower bound on observations, not a
241
241
  sufficient condition for stability).
242
- - **T4** 30 cycles, 2 always-present clusters + 1 "noisy" cluster
242
+ - **T4** - 30 cycles, 2 always-present clusters + 1 "noisy" cluster
243
243
  present in only the first 4 cycles → gate does NOT cross
244
244
  (`stable_cluster_ids.length === 2 < K=3`).
245
- - **T4b** 5 cycles total → gate does NOT cross (`cycles_observed < M`).
246
- - **T7** Confirms `K` and `stddev_threshold` overrides flow through
245
+ - **T4b** - 5 cycles total → gate does NOT cross (`cycles_observed < M`).
246
+ - **T7** - Confirms `K` and `stddev_threshold` overrides flow through
247
247
  `normalizeConfig` and reach the evaluation.
248
248
 
249
249
  These fixtures are synthetic and inline (D-11). The gate evaluator
250
- never reads `.design/gep/events.jsonl` directly in CI fixtures
250
+ never reads `.design/gep/events.jsonl` directly in CI - fixtures
251
251
  seed the cluster lists by hand.
252
252
 
253
253
  ---
254
254
 
255
255
  ## Decisions referenced
256
256
 
257
- - **D-01** Two-stage approach: Stage 0 telemetry-only ships first;
257
+ - **D-01** - Two-stage approach: Stage 0 telemetry-only ships first;
258
258
  Stage 1 authoring gated on data; user opts in per a one-time prompt;
259
259
  no auto-flip.
260
- - **D-03** Default `K=3` / `M=10` / `stddev_threshold=0.05`,
260
+ - **D-03** - Default `K=3` / `M=10` / `stddev_threshold=0.05`,
261
261
  overridable via `.design/config.json`.
262
- - **D-11** Tests use synthetic fixtures (no live event chain reads).
263
- - **Phase 23.5** Posterior `stddev(Beta(α, β))` closed form and
262
+ - **D-11** - Tests use synthetic fixtures (no live event chain reads).
263
+ - **Phase 23.5** - Posterior `stddev(Beta(α, β))` closed form and
264
264
  Laplace prior convention reused here.
@@ -1,6 +1,6 @@
1
1
  # Pre-Delivery Checklists
2
2
 
3
- Run these before saying "done." Each checklist below is **gated** if any item fails, you cannot ship.
3
+ Run these before saying "done." Each checklist below is **gated** - if any item fails, you cannot ship.
4
4
 
5
5
  ## Master pre-ship checklist
6
6
 
@@ -60,7 +60,7 @@ Use this before any design artifact goes to the user or into a PR.
60
60
  - [ ] Error messages: what happened + how to fix (not just what's wrong)
61
61
  - [ ] Empty state acknowledges state + explains value + one CTA
62
62
  - [ ] No "Oops!" / forced cheer in errors
63
- - [ ] No 3-adjective pile-up ("beautiful, seamless, intuitive")
63
+ - [ ] No 3-adjective pile-up ("beautiful, smooth, intuitive")
64
64
  - [ ] Placeholders show format, not restated label
65
65
 
66
66
  ### Technical check (code artifacts)
@@ -78,7 +78,7 @@ Use this before any design artifact goes to the user or into a PR.
78
78
 
79
79
  ---
80
80
 
81
- ## Quick checklist Small changes
81
+ ## Quick checklist - Small changes
82
82
 
83
83
  When the change is a single-screen tweak, use this shortened list:
84
84
 
@@ -99,11 +99,11 @@ When the change is a single-screen tweak, use this shortened list:
99
99
  When adding tokens/components to the design system:
100
100
 
101
101
  - [ ] New tokens follow `[category].[variant].[property].[state]` naming
102
- - [ ] No primitive token used directly in a component route through semantic
102
+ - [ ] No primitive token used directly in a component - route through semantic
103
103
  - [ ] Component has full anatomy doc (slots + variants + states + behavior + platform notes + do/don't)
104
104
  - [ ] Figma spec frame exists OR explicit note that it doesn't
105
105
  - [ ] Component validated against: same-structure-variant rule, not-a-new-component rule
106
- - [ ] 30-min audit performed no off-grid spacings, no duplicate color tokens
106
+ - [ ] 30-min audit performed - no off-grid spacings, no duplicate color tokens
107
107
 
108
108
  ---
109
109
 
@@ -145,18 +145,18 @@ Use this checklist after the main design review for pixel-level craft verificati
145
145
 
146
146
  ### Typography micro
147
147
  - [ ] Headings use `text-wrap: balance`
148
- - [ ] Body/caption uses `text-wrap: pretty` (or no wrap setting not `balance`)
148
+ - [ ] Body/caption uses `text-wrap: pretty` (or no wrap setting - not `balance`)
149
149
  - [ ] Font smoothing applied at `:root` only, not per-element
150
150
  - [ ] Dynamic numbers (counters, prices, timers) use `font-variant-numeric: tabular-nums`
151
151
 
152
152
  ### Surfaces
153
153
  - [ ] Nested elements use concentric radius (`innerRadius = outerRadius − padding`)
154
154
  - [ ] No same-radius parent+child within padded container (see BAN-10 same-radius-nested)
155
- - [ ] Images have `outline: 1px solid rgba(0,0,0,0.08)` no tinted outlines
155
+ - [ ] Images have `outline: 1px solid rgba(0,0,0,0.08)` - no tinted outlines
156
156
  - [ ] Interactive elements <40px have `::after` hit-area extension to 40×40
157
157
 
158
158
  ### Motion
159
- - [ ] Press feedback uses `scale(0.96)` not 0.95, not 0.97, not 0.98
159
+ - [ ] Press feedback uses `scale(0.96)` - not 0.95, not 0.97, not 0.98
160
160
  - [ ] `AnimatePresence` on persistent UI has `initial={false}`
161
161
  - [ ] Icon cross-fade spring has `bounce: 0`
162
162
  - [ ] No `transition: all` anywhere (see BAN-12 transition-all)
@@ -165,30 +165,30 @@ Use this checklist after the main design review for pixel-level craft verificati
165
165
 
166
166
  ---
167
167
 
168
- ## Rams Lens 10 Design Questions
168
+ ## Rams Lens - 10 Design Questions
169
169
 
170
170
  Dieter Rams's 10 principles of good design (Vitsœ/Braun, 1970s–80s) applied as a self-audit lens. Each question maps to one principle.
171
171
 
172
- - [ ] **Innovative** Does this design solve the problem in a way that was not possible or obvious before?
173
- - [ ] **Useful** Does every element serve the primary function? Nothing decorative that doesn't earn its place?
174
- - [ ] **Aesthetic** Is the visual appearance the minimum necessary for legibility and emotional resonance?
175
- - [ ] **Understandable** Can the user figure out how to use this without reading documentation or a tooltip?
176
- - [ ] **Unobtrusive** Does the design stay in the background and let the content or task take focus?
177
- - [ ] **Honest** Does the design not imply capabilities, quality, or status that the product doesn't have?
178
- - [ ] **Long-lasting** Is this design free of trend-dependent choices (gradients, micro-styles) that will age in 12 months?
179
- - [ ] **Thorough** Have edge cases been considered and handled (empty states, error states, loading states, overflow text)?
180
- - [ ] **Environmentally friendly** Is the performance footprint minimal? (image sizes, JS bundle, font weight)
181
- - [ ] **As little design as possible** If you removed 20% of the design decisions, would the product be worse? If not, remove them.
172
+ - [ ] **Innovative** - Does this design solve the problem in a way that was not possible or obvious before?
173
+ - [ ] **Useful** - Does every element serve the primary function? Nothing decorative that doesn't earn its place?
174
+ - [ ] **Aesthetic** - Is the visual appearance the minimum necessary for legibility and emotional resonance?
175
+ - [ ] **Understandable** - Can the user figure out how to use this without reading documentation or a tooltip?
176
+ - [ ] **Unobtrusive** - Does the design stay in the background and let the content or task take focus?
177
+ - [ ] **Honest** - Does the design not imply capabilities, quality, or status that the product doesn't have?
178
+ - [ ] **Long-lasting** - Is this design free of trend-dependent choices (gradients, micro-styles) that will age in 12 months?
179
+ - [ ] **Thorough** - Have edge cases been considered and handled (empty states, error states, loading states, overflow text)?
180
+ - [ ] **Environmentally friendly** - Is the performance footprint minimal? (image sizes, JS bundle, font weight)
181
+ - [ ] **As little design as possible** - If you removed 20% of the design decisions, would the product be worse? If not, remove them.
182
182
 
183
183
  ---
184
184
 
185
- ## Sonner / Component-Authoring Lens 6 Questions
185
+ ## Sonner / Component-Authoring Lens - 6 Questions
186
186
 
187
187
  Emil Kowalski's component-authoring principles applied as a per-component self-audit. Full reference: `reference/component-authoring.md`.
188
188
 
189
- - [ ] **P-01 API surface** Does this component work correctly in 1 line with zero configuration?
190
- - [ ] **P-02 Composability** Does this component compose via slots/children, not via style-configuration props?
191
- - [ ] **P-03 Defaults** Are the defaults so sensible that most consumers never need to pass any props?
192
- - [ ] **P-04 Animation** Does every animation in this component communicate a state change? No decorative loops?
193
- - [ ] **P-05 Accessibility** Does this component have a complete ARIA contract before any visual styling?
194
- - [ ] **P-06 Edge honesty** Are known failure modes documented with `// KNOWN:` or `// EDGE:` comments?
189
+ - [ ] **P-01 API surface** - Does this component work correctly in 1 line with zero configuration?
190
+ - [ ] **P-02 Composability** - Does this component compose via slots/children, not via style-configuration props?
191
+ - [ ] **P-03 Defaults** - Are the defaults so sensible that most consumers never need to pass any props?
192
+ - [ ] **P-04 Animation** - Does every animation in this component communicate a state change? No decorative loops?
193
+ - [ ] **P-05 Accessibility** - Does this component have a complete ARIA contract before any visual styling?
194
+ - [ ] **P-06 Edge honesty** - Are known failure modes documented with `// KNOWN:` or `// EDGE:` comments?
@@ -1,20 +1,20 @@
1
- # CLI Localization GDD's Own Surface
1
+ # CLI Localization - GDD's Own Surface
2
2
 
3
3
  Phase 40.5 contract. `reference/i18n.md` covers internationalizing *user designs*; this file covers
4
- **GDD's own CLI** `--help`, the common error messages, and skill prompt headers. The goal is the
4
+ **GDD's own CLI** - `--help`, the common error messages, and skill prompt headers. The goal is the
5
5
  lowest-effort, highest-impact subset; full skill-body translation is deferred (per-locale demand).
6
6
 
7
7
  ## Resolution
8
8
 
9
9
  `scripts/lib/i18n/index.cjs` resolves the active locale with this precedence:
10
10
 
11
- 1. **`.design/config.json#locale`** an explicit per-project override (set via `/gdd:locale <code>`).
12
- 2. **`process.env`** `LC_ALL` / `LC_MESSAGES` / `LANG` / `LANGUAGE` (normalized: `ru_RU.UTF-8` → `ru`).
13
- 3. **`en`** the default.
11
+ 1. **`.design/config.json#locale`** - an explicit per-project override (set via `/gdd:locale <code>`).
12
+ 2. **`process.env`** - `LC_ALL` / `LC_MESSAGES` / `LANG` / `LANGUAGE` (normalized: `ru_RU.UTF-8` → `ru`).
13
+ 3. **`en`** - the default.
14
14
 
15
15
  A `C` / `POSIX` env locale resolves to `en`. The resolved code then drives a **fallback chain**
16
16
  `locale → base → en` (e.g. `de-DE → de → en`), so a regional locale degrades to its base and finally
17
- to English the complete source table.
17
+ to English - the complete source table.
18
18
 
19
19
  ## Message tables
20
20
 
@@ -23,9 +23,9 @@ simplicity). Each is `{ "_meta": { locale, coverage, fallback }, "<key>": "<stri
23
23
  namespaced: `help.*` (usage + section headers), `error.*` (the common CLI errors), `prompt.*` (skill
24
24
  prompt headers), `status.*`.
25
25
 
26
- - **`en.json`** the **complete source of truth**; every key lives here.
27
- - **`ru.json`** a complete second-locale translation (covers every `en` key).
28
- - **`uk.json` / `de.json` / `fr.json` / `zh.json` / `ja.json`** **placeholders**: a `_meta` marker
26
+ - **`en.json`** - the **complete source of truth**; every key lives here.
27
+ - **`ru.json`** - a complete second-locale translation (covers every `en` key).
28
+ - **`uk.json` / `de.json` / `fr.json` / `zh.json` / `ja.json`** - **placeholders**: a `_meta` marker
29
29
  (`coverage: "placeholder"`) plus a starter subset. Any missing key falls back to `en` per the chain.
30
30
 
31
31
  `translate(tables, key, locale)` walks the chain and returns the first hit, or the key itself if no
@@ -35,7 +35,7 @@ table has it (a missing key is always visible, never a crash).
35
35
 
36
36
  Skills and agents may carry an **opt-in** `description_i18n: { <locale>: "<description>" }` map.
37
37
  `descriptionFor(frontmatter, locale)` returns the localized description via the fallback chain, or the
38
- plain English `description` when the locale is absent. The field is fully backward-compatible a
38
+ plain English `description` when the locale is absent. The field is fully backward-compatible - a
39
39
  skill/agent without it is unaffected, and the Phase 28.5 contract only validates it (as an object of
40
40
  locale→string) when present.
41
41
 
@@ -43,12 +43,12 @@ locale→string) when present.
43
43
 
44
44
  The completeness gate is **warn-only**. Only `en` (source) and `ru` (full) are expected to be 100%; the
45
45
  five placeholder locales are intentionally partial and rely on the English fallback. A locale is never
46
- required to be complete to ship partial is better than English-only, and fallback guarantees no key
46
+ required to be complete to ship - partial is better than English-only, and fallback guarantees no key
47
47
  is ever missing at runtime.
48
48
 
49
49
  ## Adding or completing a locale (contribution path)
50
50
 
51
- 1. Edit `scripts/lib/i18n/messages/<locale>.json` add the keys you can translate (any `en` key is
51
+ 1. Edit `scripts/lib/i18n/messages/<locale>.json` - add the keys you can translate (any `en` key is
52
52
  fair game; you do not need 100%).
53
53
  2. Set `_meta.coverage` to `"complete"` once every `en` key is present, else leave `"placeholder"`.
54
54
  3. Add a translator-credit line to `NOTICE` under the attributions section (name/handle + locale).
@@ -56,6 +56,6 @@ is ever missing at runtime.
56
56
 
57
57
  ## Boundaries
58
58
 
59
- `--help` + common errors + skill prompt headers only not full skill bodies (deferred per demand),
59
+ `--help` + common errors + skill prompt headers only - not full skill bodies (deferred per demand),
60
60
  not RTL terminal rendering (a terminal concern), not voice/conversational localization. English is
61
61
  always the final fallback, so the CLI is never broken by a partial translation.
@@ -3,7 +3,7 @@
3
3
  Last verified: 2026-04-24
4
4
 
5
5
  When a GDD skill references a Claude Code tool name, the Codex runtime
6
- translates to the equivalent below. Skills do NOT need to branch the tool
6
+ translates to the equivalent below. Skills do NOT need to branch - the tool
7
7
  name in prose is authoritative; Codex resolves via this map.
8
8
 
9
9
  ## Tool-name mapping
@@ -49,5 +49,5 @@ All 11 tools exposed by the server appear as `mcp__gdd_state__*` in Codex.
49
49
 
50
50
  ---
51
51
 
52
- Last verified: 2026-04-24 tool surface re-checked against Codex CLI docs
52
+ Last verified: 2026-04-24 - tool surface re-checked against Codex CLI docs
53
53
  current to this date. Revisit whenever Codex ships a tool-vocabulary change.