@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
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: gdd-watch-authorities
3
+ description: "Fetches the design-authority feed whitelist, diffs against .design/authority-snapshot.json, and writes .design/authority-report.md (consumed by /gdd:reflect). Authority monitoring only - no trend-watching."
4
+ argument-hint: "[--refresh] [--since <date>] [--feed <name>] [--schedule <weekly|daily|monthly>]"
5
+ tools: Read, Write, Task, Bash
6
+ ---
7
+
8
+ # /gdd:watch-authorities
9
+
10
+ Runs `design-authority-watcher` on demand. Fetches the curated design-authority feed whitelist, diffs against the prior snapshot, classifies new entries into five buckets, and writes `.design/authority-report.md`. Phase 11's reflector picks up the report automatically when you next run `/gdd:reflect`.
11
+
12
+ Authority-monitoring only. Not trend-watching. See `reference/authority-feeds.md` §"Rejected kinds" for what this skill will never fetch.
13
+
14
+ ## Steps
15
+
16
+ 1. **Parse args.** Extract optional flags: `--refresh`, `--since <date>`, `--feed <name>`, `--schedule <cadence>`. Anything that doesn't match one of these is an error - print `Unknown flag: <arg>. Valid flags: --refresh --since <date> --feed <name> --schedule <weekly|daily|monthly>.` and STOP.
17
+
18
+ Mutual exclusion rules:
19
+ - `--schedule` is handled entirely by this skill - it does not combine with the other three. If `--schedule` is present alongside any of `--refresh | --since | --feed`, print `--schedule cannot combine with other flags. Schedule registration runs this skill with no flags at the configured cadence.` and STOP.
20
+ - `--refresh` and `--since` are mutually exclusive - print `--refresh and --since are mutually exclusive. --refresh re-seeds the snapshot silently; --since surfaces a backlog from a boundary date. Pick one.` and STOP.
21
+
22
+ 2. **Handle `--schedule <cadence>` branch** (early-return).
23
+
24
+ If `--schedule` is set:
25
+ - Validate cadence ∈ {`weekly`, `daily`, `monthly`}; else print `Unknown cadence: <value>. Use one of: weekly, daily, monthly.` and STOP.
26
+ - Probe for the scheduled-tasks MCP via ToolSearch:
27
+
28
+ ```
29
+ ToolSearch({ query: "scheduled-tasks", max_results: 3 })
30
+ ```
31
+
32
+ - If the probe returns an empty result set: print `scheduled-tasks MCP not connected. Install it with: claude mcp add scheduled-tasks ... then retry with --schedule.` - this is a documented fallback (not an error). Terminate with `## WATCH COMPLETE` and exit 0.
33
+ - If the probe returns one or more `scheduled-tasks` tools: register the cron. Discover the MCP's registration tool name at runtime from the ToolSearch result and follow its schema. Target command: `/gdd:watch-authorities` with NO flags (the cron invokes the default diff-and-report behavior). Cadence → cron expression mapping:
34
+ - `weekly` → `0 9 * * 1` (Mondays 09:00 local)
35
+ - `daily` → `0 9 * * *` (every day 09:00 local)
36
+ - `monthly` → `0 9 1 * *` (1st of each month 09:00 local)
37
+ - After registration: print `Scheduled /gdd:watch-authorities to run <cadence>.` and terminate with `## WATCH COMPLETE`.
38
+
39
+ 3. **Validate `--since <date>`** (if present).
40
+
41
+ Accept ISO8601 (`YYYY-MM-DD` or `YYYY-MM-DDTHH:MM:SSZ`). Sanity-check via Bash `date -d "<value>" +%s` (GNU) or the POSIX equivalent `python3 -c "from datetime import datetime; datetime.fromisoformat('<value>'.replace('Z','+00:00'))"`. On parse failure: print `Invalid --since value: <value>. Use ISO8601 (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ).` and STOP.
42
+
43
+ If the parsed date is earlier than `2020-01-01`, ask: `Very old --since value: <value>. Did you mean something more recent? Proceed? [y/N]`. On anything other than `y`/`Y`, STOP.
44
+
45
+ 4. **Spawn the watcher.**
46
+
47
+ Build the `Task(subagent_type="design-authority-watcher", ...)` prompt. The prompt supplies the agent's required-reading block (watcher step 0), echoes the invocation flags verbatim (watcher Flags section), and instructs the agent to follow its own fetch/diff/classify/write loop:
48
+
49
+ ```
50
+ Task("design-authority-watcher", """
51
+ <required_reading>
52
+ @reference/authority-feeds.md
53
+ @.design/authority-snapshot.json
54
+ @.design/STATE.md
55
+ </required_reading>
56
+
57
+ Invocation flags: <joined flag list or "none">
58
+
59
+ Fetch the feeds listed in reference/authority-feeds.md, diff against .design/authority-snapshot.json,
60
+ classify new entries per the D-17 decision table, write .design/authority-snapshot.json and
61
+ .design/authority-report.md.
62
+
63
+ Terminate with ## WATCH COMPLETE.
64
+ """)
65
+ ```
66
+
67
+ `<joined flag list>` is the subset of `--refresh | --since <date> | --feed <name>` actually passed - e.g., `--refresh`, `--since 2026-03-01`, `--feed wai-aria-apg`, `--refresh --feed radix-ui-releases`, or literally `none` when no flags were supplied.
68
+
69
+ 5. **Print summary.**
70
+
71
+ After the agent returns:
72
+ - If STATE.md gained a `<blocker type="contract-violation">` on this run (snapshot version mismatch, hash-format violation, or over-200 entries per feed), surface the blocker verbatim and stop - do not print the default "review and reflect" line.
73
+ - Otherwise print the agent's one-line stdout summary (normal mode: `Surfaced N entries across M feeds. K skipped. See .design/authority-report.md.`; first-run / refresh mode: `Seeded snapshot for N feeds — next run will surface new entries.`) followed by: `Review and reflect: /gdd:reflect`.
74
+
75
+ 6. **Terminate with `## WATCH COMPLETE`.**
76
+
77
+ ## Do Not
78
+
79
+ - Do not modify `agents/design-authority-watcher.md`.
80
+ - Do not modify `agents/design-reflector.md` - Phase 13.2 does not touch the reflector agent (CONTEXT.md D-25).
81
+ - Do not write to `.design/authority-snapshot.json` or `.design/authority-report.md` directly - those are the agent's writes.
82
+ - Do not fetch URLs outside `reference/authority-feeds.md`. The whitelist is the allow-list.
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: zoom-out
3
+ description: "Asks the agent to go up a layer of abstraction and map the relevant modules and callers using the project's CONTEXT.md vocabulary. Use when the user is working in an unfamiliar area of code and needs orientation before deep work."
4
+ disable-model-invocation: true
5
+ argument-hint: "[scope]"
6
+ ---
7
+
8
+ Source: mattpocock/skills (MIT) - adapted with permission. See `../NOTICE` for the full attribution block.
9
+
10
+ # Zoom Out
11
+
12
+ **Role:** Give the user a map, not a fix.
13
+
14
+ I don't know this area of code well. Go up a layer of abstraction. Give me a map of all the relevant modules and callers, using the project's domain glossary (`CONTEXT.md`) vocabulary.
15
+
16
+ When invoked, produce a one-screen map that names:
17
+
18
+ 1. **Modules in scope** - one-line description of each, using terms from `CONTEXT.md` (see `./../reference/context-md-format.md` for the schema). Do not invent terms.
19
+ 2. **Callers** - who calls these modules from elsewhere, with file paths.
20
+ 3. **Seams** - where data crosses module boundaries, named per `./../reference/architecture-vocabulary.md`.
21
+
22
+ Do not propose fixes. Do not write code. The output is a map.
23
+
24
+ If `CONTEXT.md` is absent, suggest `/gdd:discuss` to start one, but still produce the map using basenames and inferred terms.
25
+
26
+ ## ZOOM-OUT COMPLETE
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hegemonart/get-design-done",
3
- "version": "1.41.5",
3
+ "version": "1.43.0",
4
4
  "description": "A design-quality pipeline for AI coding agents: brief, plan, implement, and verify UI work against your design system.",
5
5
  "author": "Hegemon",
6
6
  "homepage": "https://github.com/hegemonart/get-design-done",
@@ -23,6 +23,7 @@
23
23
  "sdk/",
24
24
  "recipes/",
25
25
  "docs/i18n/",
26
+ "dist/claude-code/",
26
27
  "scripts/lib/",
27
28
  "scripts/cli/",
28
29
  "scripts/install.cjs",
@@ -47,6 +48,8 @@
47
48
  },
48
49
  "scripts": {
49
50
  "build:bundles": "node scripts/build-distribution-bundles.cjs",
51
+ "build:skills": "node scripts/build-skills.cjs",
52
+ "build:skills:check": "node scripts/build-skills.cjs --check",
50
53
  "build:sdk": "node scripts/build-sdk-bins.cjs",
51
54
  "prepack": "npm run build:sdk",
52
55
  "postpack": "node scripts/build-sdk-bins.cjs --clean",
@@ -58,7 +61,10 @@
58
61
  "lint:links": "npx --yes lychee --no-progress --accept 200,206,403,429 \"**/*.md\" || true",
59
62
  "lint:agentskills": "node scripts/lint-agentskills-spec.cjs",
60
63
  "lint:changelog": "node scripts/lint-changelog.cjs",
64
+ "lint:prose": "node scripts/lint-prose.cjs",
61
65
  "lint:design": "node bin/gdd-detect test/fixtures/detect/negative --json",
66
+ "build:style": "node scripts/generate-style-md.cjs",
67
+ "build:style:check": "node scripts/generate-style-md.cjs --check",
62
68
  "sync:rule-catalogue": "node scripts/sync-rule-catalogue.cjs --check",
63
69
  "validate:manifest": "node scripts/validate-manifest.cjs --check",
64
70
  "validate:schemas": "node --experimental-strip-types scripts/validate-schemas.ts",
@@ -77,7 +83,7 @@
77
83
  "@types/node": "^25.6.0",
78
84
  "ajv-cli": "^5.0.0",
79
85
  "ajv-formats": "^3.0.1",
80
- "esbuild": "^0.25.12",
86
+ "esbuild": "^0.28.0",
81
87
  "json-schema-to-typescript": "^15.0.0",
82
88
  "typescript": "^6.0.3"
83
89
  },
@@ -9,11 +9,11 @@ the scanner pattern list in lockstep.
9
9
 
10
10
  ## Namespaces
11
11
 
12
- - **`/design:<cmd>`** → `/gdd:<cmd>` deprecated in Phase 7 (namespace rename). All commands now use the `/gdd:` prefix. Migrated: every shipped skill invocation and agent reference now uses `/gdd:`.
12
+ - **`/design:<cmd>`** → `/gdd:<cmd>` - deprecated in Phase 7 (namespace rename). All commands now use the `/gdd:` prefix. Migrated: every shipped skill invocation and agent reference now uses `/gdd:`.
13
13
 
14
14
  ## Agents
15
15
 
16
- - **`design-context-builder`** replaced by the Phase 3 agent split (design-context-reader + design-context-summarizer). Mentioned only in historical documentation; new work must spawn the split agents directly.
16
+ - **`design-context-builder`** - replaced by the Phase 3 agent split (design-context-reader + design-context-summarizer). Mentioned only in historical documentation; new work must spawn the split agents directly.
17
17
  - **`design-pattern-mapper`** (monolithic) → split into 5 domain mappers in Phase 3 (migrated):
18
18
  - `token-mapper`
19
19
  - `component-taxonomy-mapper`
@@ -28,11 +28,25 @@ the scanner pattern list in lockstep.
28
28
  - **`scan`** (stage name) → merged/renamed into `explore` in Phase 3. Migration: references to the `scan` stage in shipped skills and agents were replaced with `explore`.
29
29
  - **`discover`** (stage name) → merged/renamed into `explore` in Phase 3. Migration: references to the `discover` stage in shipped skills and agents were replaced with `explore`.
30
30
 
31
+ ## Authoring surfaces
32
+
33
+ - **`skills/` as the authoring source** → **`source/skills/`** - deprecated in Phase 42 (multi-harness
34
+ source compilation). Skills are now authored once in `source/skills/` with placeholders
35
+ (`{{command_prefix}}` et al.; see `reference/skill-placeholders.md`) and compiled per-harness by
36
+ `scripts/build-skills.cjs`. The committed `skills/` tree is now a **generated artifact** (the Claude-Code
37
+ compile target) - CI's `npm run build:skills:check` drift-gates `committed === generated`.
38
+
39
+ Migration for contributors: **edit `source/skills/`, never `skills/` directly**, then run
40
+ `npm run build:skills` (or `gdd-sdk build skills`) and commit the regenerated `skills/` +
41
+ `dist/claude-code/`. `.claude-plugin/plugin.json`'s `"skills": ["./skills/"]` is unchanged - the plugin
42
+ still loads `skills/`, now produced from `source/skills/`. This is a path/authoring move only; no
43
+ stale-ref token is emitted (both paths are live), so the `detect-stale-refs.cjs` list is not extended.
44
+
31
45
  ## Scanner scope
32
46
 
33
47
  `scripts/detect-stale-refs.cjs` flags these tokens (line-granular match):
34
48
 
35
- - `/design:<cmd>` any occurrence of the legacy namespace
49
+ - `/design:<cmd>` - any occurrence of the legacy namespace
36
50
  - `design-context-builder` (standalone word)
37
51
  - `design-pattern-mapper` (when not followed by `-<suffix>`)
38
52
  - `scan/SKILL.md` and `discover/SKILL.md` path references
@@ -42,7 +56,7 @@ The scanner excludes `.planning/`, `.claude/`, `.design/`, `node_modules/`,
42
56
 
43
57
  ## Path migrations (machine-readable)
44
58
 
45
- Phase 39.5 adds a machine-readable registry of **path** migrations modules/files GDD moved or
59
+ Phase 39.5 adds a machine-readable registry of **path** migrations - modules/files GDD moved or
46
60
  removed. `scripts/lib/deprecation-registry.cjs` parses the table below; `/gdd:migrate` consults it to
47
61
  help users update local references; `test/suite/deprecation-completeness.test.cjs` asserts every row
48
62
  is honest (a `removed` row's `Old` path must be gone from the tree; a `deprecated` row's `Old` path
@@ -52,9 +66,9 @@ must still carry a shim).
52
66
 
53
67
  A row's status is derived from the running plugin version `v`:
54
68
 
55
- - **pending** `v` < `Since` (deprecation announced for a future version; rare).
56
- - **deprecated** `Since` ≤ `v` < `Removed in` (the old path still works via a shim; update at leisure).
57
- - **removed** `v` ≥ `Removed in` (the old path is gone; you MUST use the new path).
69
+ - **pending** - `v` < `Since` (deprecation announced for a future version; rare).
70
+ - **deprecated** - `Since` ≤ `v` < `Removed in` (the old path still works via a shim; update at leisure).
71
+ - **removed** - `v` ≥ `Removed in` (the old path is gone; you MUST use the new path).
58
72
 
59
73
  **Default shim lifetime is one minor version** (the Phase 31.5 precedent): a path deprecated in `x.y.z`
60
74
  is removed in the next minor `x.(y+1).0`. The `Removed in` column is authoritative per row.
@@ -8,8 +8,8 @@ This is the canonical template for the design pipeline's runtime state file.
8
8
  - `.design/` is gitignored (not distributed with the plugin); only this template ships.
9
9
 
10
10
  **Distinction from `.planning/STATE.md`:**
11
- - `.planning/STATE.md` is GSD development state used by the developers building this plugin.
12
- - `.design/STATE.md` is pipeline runtime state used by the pipeline when it runs in a user's project.
11
+ - `.planning/STATE.md` is GSD development state - used by the developers building this plugin.
12
+ - `.design/STATE.md` is pipeline runtime state - used by the pipeline when it runs in a user's project.
13
13
  - Keep them strictly separate. Cross-references between them are deferred to Phase 6 per CONTEXT.md.
14
14
 
15
15
  ---
@@ -140,22 +140,22 @@ verify_completed_at: ~
140
140
  | Field | Type | Set by | Purpose |
141
141
  |-------|------|--------|---------|
142
142
  | `pipeline_state_version` | float | fixed at `1.0` | Forward-compat marker for future format changes |
143
- | `stage` | enum | every stage at entry | Current stage one of: `brief|explore|plan|design|verify` |
143
+ | `stage` | enum | every stage at entry | Current stage - one of: `brief|explore|plan|design|verify` |
144
144
  | `cycle` | string | lifecycle commands | Cycle identifier for Wave B multi-cycle projects (default: empty string) |
145
145
  | `wave` | int | every stage | Wave number within current stage |
146
- | `started_at` | ISO 8601 | scan at creation | Immutable never updated after creation |
146
+ | `started_at` | ISO 8601 | scan at creation | Immutable - never updated after creation |
147
147
  | `last_checkpoint` | ISO 8601 | every stage at exit | Updated on every stage transition and on mid-stage checkpoint |
148
148
 
149
149
  ### `<position>`
150
150
 
151
- Mirrors frontmatter stage/wave plus progress and status. Duplication is intentional frontmatter is scannable by tooling; `<position>` is scannable by prose reading.
151
+ Mirrors frontmatter stage/wave plus progress and status. Duplication is intentional - frontmatter is scannable by tooling; `<position>` is scannable by prose reading.
152
152
 
153
- - `task_progress`: `<completed>/<total>` e.g. `3/7` means 3 of 7 tasks in the current stage complete
153
+ - `task_progress`: `<completed>/<total>` - e.g. `3/7` means 3 of 7 tasks in the current stage complete
154
154
  - `status`: one of
155
- - `initialized` scan just created the file, no work done
156
- - `in_progress` stage is actively running
157
- - `completed` stage finished successfully; next stage may begin
158
- - `blocked` stage cannot proceed; see `<blockers>`
155
+ - `initialized` - scan just created the file, no work done
156
+ - `in_progress` - stage is actively running
157
+ - `completed` - stage finished successfully; next stage may begin
158
+ - `blocked` - stage cannot proceed; see `<blockers>`
159
159
 
160
160
  ### `<decisions>`
161
161
 
@@ -173,25 +173,25 @@ Discover stage populates with observable behaviors. Verify stage updates status.
173
173
 
174
174
  ### `<prototyping>`
175
175
 
176
- Phase 25 surface (D-01). A checkpoint log NOT a stage. Tracks sketch and spike outcomes plus cycle-scoped skip suppressions for the prototype gate.
176
+ Phase 25 surface (D-01). A checkpoint log - NOT a stage. Tracks sketch and spike outcomes plus cycle-scoped skip suppressions for the prototype gate.
177
177
 
178
- - `<sketch slug=… cycle=… decision=D-XX status=resolved/>` written by `sketch-wrap-up` after a sketch resolves into a D-XX decision.
179
- - `<spike slug=… cycle=… decision=D-XX verdict=yes|no|partial status=resolved/>` written by `spike-wrap-up` after a spike resolves; `verdict` captures the answer.
180
- - `<skipped at=… cycle=… reason=…/>` written by the prototype gate when the user declines to sketch/spike at a firing point. Cycle-scoped suppression (D-02): a `<skipped/>` entry suppresses re-asking for the rest of the named cycle.
178
+ - `<sketch slug=… cycle=… decision=D-XX status=resolved/>` - written by `sketch-wrap-up` after a sketch resolves into a D-XX decision.
179
+ - `<spike slug=… cycle=… decision=D-XX verdict=yes|no|partial status=resolved/>` - written by `spike-wrap-up` after a spike resolves; `verdict` captures the answer.
180
+ - `<skipped at=… cycle=… reason=…/>` - written by the prototype gate when the user declines to sketch/spike at a firing point. Cycle-scoped suppression (D-02): a `<skipped/>` entry suppresses re-asking for the rest of the named cycle.
181
181
 
182
- The block is **optional** fresh STATE.md files do not carry it. The serializer omits the block entirely when no entries exist; appending the first entry is what materializes the block.
182
+ The block is **optional** - fresh STATE.md files do not carry it. The serializer omits the block entirely when no entries exist; appending the first entry is what materializes the block.
183
183
 
184
184
  ### `<quality_gate>`
185
185
 
186
- Phase 25 surface (Plan 25-03 / D-06..D-09). Captures the most recent run of the Stage 4.5 quality gate (lint / typecheck / test / visual-regression) between Design and Verify. The block houses a single self-closing `<run/>` element append-mode is overkill, so each gate completion overwrites the entry.
186
+ Phase 25 surface (Plan 25-03 / D-06..D-09). Captures the most recent run of the Stage 4.5 quality gate (lint / typecheck / test / visual-regression) between Design and Verify. The block houses a single self-closing `<run/>` element - append-mode is overkill, so each gate completion overwrites the entry.
187
187
 
188
- - `started_at` ISO 8601 at which the parallel command run entered.
189
- - `completed_at` ISO 8601 at which the gate produced its terminal status.
190
- - `status` `pass | fail | timeout | skipped`. `pass` clears the verify-entry gate; `fail` blocks; `timeout` warns + proceeds (D-07); `skipped` indicates the detection chain resolved zero commands.
191
- - `iteration` non-negative integer fix-loop count (D-08). `1` = single clean pass; `N === max_iters` with `status === 'fail'` = bounded exhaustion.
192
- - `commands_run` comma-separated names of the commands actually executed in Step 2 (e.g., `lint,typecheck,test`). Empty string when `status === 'skipped'`.
188
+ - `started_at` - ISO 8601 at which the parallel command run entered.
189
+ - `completed_at` - ISO 8601 at which the gate produced its terminal status.
190
+ - `status` - `pass | fail | timeout | skipped`. `pass` clears the verify-entry gate; `fail` blocks; `timeout` warns + proceeds (D-07); `skipped` indicates the detection chain resolved zero commands.
191
+ - `iteration` - non-negative integer fix-loop count (D-08). `1` = single clean pass; `N === max_iters` with `status === 'fail'` = bounded exhaustion.
192
+ - `commands_run` - comma-separated names of the commands actually executed in Step 2 (e.g., `lint,typecheck,test`). Empty string when `status === 'skipped'`.
193
193
 
194
- The block is **optional** fresh STATE.md files do not carry it. The serializer omits the block entirely when `quality_gate === null`; the SKILL writes the first `<run/>` to materialize it.
194
+ The block is **optional** - fresh STATE.md files do not carry it. The serializer omits the block entirely when `quality_gate === null`; the SKILL writes the first `<run/>` to materialize it.
195
195
 
196
196
  ### `<connections>`
197
197
 
@@ -202,7 +202,7 @@ One line per external connection. Detected at scan entry via MCP availability pr
202
202
 
203
203
  ### `<blockers>`
204
204
 
205
- Append-only log of active blockers. Format: `[stage] [ISO date]: [description]`. Cleared manually when blocker resolves (do not auto-clear preserve the record).
205
+ Append-only log of active blockers. Format: `[stage] [ISO date]: [description]`. Cleared manually when blocker resolves (do not auto-clear - preserve the record).
206
206
 
207
207
  ### `<timestamps>`
208
208
 
@@ -217,7 +217,7 @@ Every stage that runs in the pipeline MUST follow this contract when reading and
217
217
  **At entry:**
218
218
  1. Read `.design/STATE.md`. If the file does not exist and the current stage is `scan`, create it from this template with `started_at` = now and `last_checkpoint` = now; otherwise abort with a clear error ("run scan first").
219
219
  2. Parse frontmatter `stage` and `<position>` `status`.
220
- 3. If `stage == current_stage` and `status == in_progress`: RESUME pick up from `task_progress` offset; do not reset progress.
220
+ 3. If `stage == current_stage` and `status == in_progress`: RESUME - pick up from `task_progress` offset; do not reset progress.
221
221
  4. If `stage != current_stage`: this is a normal stage transition. Set frontmatter `stage = current_stage`, `<position>` `stage = current_stage`, `<position>` `status = in_progress`, `<position>` `task_progress = 0/<total>`.
222
222
  5. Update `<connections>` by probing each MCP tool; write the detected status.
223
223
  6. Update `last_checkpoint` to now.
@@ -248,6 +248,6 @@ Every stage that runs in the pipeline MUST follow this contract when reading and
248
248
  ## Notes for Phase 2 implementors
249
249
 
250
250
  - Do not add new top-level XML sections without updating this template.
251
- - The write contract is non-negotiable stages that skip the read-at-entry step break resume.
251
+ - The write contract is non-negotiable - stages that skip the read-at-entry step break resume.
252
252
  - `<decisions>` and `<must_haves>` identifiers are sequential per-project, not globally unique. A new pipeline run on the same project starts at `D-01` / `M-01`.
253
- - When in doubt, prefer appending new fields to existing sections over introducing new sections preserves compatibility with `pipeline_state_version: 1.0`.
253
+ - When in doubt, prefer appending new fields to existing sections over introducing new sections - preserves compatibility with `pipeline_state_version: 1.0`.
@@ -1,10 +1,10 @@
1
- # Accessibility Thresholds and Requirements
1
+ # Accessibility - Thresholds and Requirements
2
2
 
3
3
  These are concrete, measurable standards. WCAG 2.1 AA is the minimum baseline for all design work unless the client explicitly requires AAA or specifies otherwise.
4
4
 
5
5
  ---
6
6
 
7
- ## WCAG 2.1 AA Required Thresholds
7
+ ## WCAG 2.1 AA - Required Thresholds
8
8
 
9
9
  ### Color Contrast
10
10
 
@@ -12,20 +12,20 @@ These are concrete, measurable standards. WCAG 2.1 AA is the minimum baseline fo
12
12
  |---|---|---|
13
13
  | Normal text (< 18pt / < 14pt bold) | **4.5 : 1** | 7 : 1 |
14
14
  | Large text (≥ 18pt or ≥ 14pt bold) | **3 : 1** | 4.5 : 1 |
15
- | UI components and graphical objects | **3 : 1** | |
16
- | Decorative elements | No requirement | |
15
+ | UI components and graphical objects | **3 : 1** | - |
16
+ | Decorative elements | No requirement | - |
17
17
 
18
18
  **Calculate contrast**: `(L1 + 0.05) / (L2 + 0.05)` where L1 is the lighter luminance.
19
19
 
20
20
  Common pitfalls:
21
- - Placeholder text in inputs: must meet 4.5:1 (often doesn't gray placeholders fail)
21
+ - Placeholder text in inputs: must meet 4.5:1 (often doesn't - gray placeholders fail)
22
22
  - Disabled state text: WCAG exempts disabled elements, but aim for ≥ 3:1 anyway
23
23
  - Link color vs body text: must be distinguishable by more than color alone (underline or 3:1 ratio vs background)
24
24
  - Focus ring color vs its background: must meet 3:1
25
25
 
26
26
  Tools: Use browser DevTools > Accessibility tab, or pass hex values through contrast calculation.
27
27
 
28
- **See also:** [`./contrast-advanced.md`](./contrast-advanced.md) APCA (WCAG 3 draft) for perceptual contrast when WCAG 2.1 4.5:1 misranks thin/large/colored text. Recommended dual-target pattern: enforce WCAG 2.1 AA as a floor + APCA Lc-thresholds (75 / 60 / 45 / 30) for perceptual accuracy.
28
+ **See also:** [`./contrast-advanced.md`](./contrast-advanced.md) - APCA (WCAG 3 draft) for perceptual contrast when WCAG 2.1 4.5:1 misranks thin/large/colored text. Recommended dual-target pattern: enforce WCAG 2.1 AA as a floor + APCA Lc-thresholds (75 / 60 / 45 / 30) for perceptual accuracy.
29
29
 
30
30
  ### Touch Target Size
31
31
 
@@ -34,7 +34,7 @@ Tools: Use browser DevTools > Accessibility tab, or pass hex values through cont
34
34
  | iOS (Apple HIG) | **44 × 44 pt** |
35
35
  | Android (Material Design) | **48 × 48 dp** |
36
36
  | Web (WCAG 2.5.5 AAA) | **44 × 44 px** |
37
- | Web (WCAG 2.5.8 AA WCAG 2.2) | **24 × 24 px** (minimum, with spacing) |
37
+ | Web (WCAG 2.5.8 AA - WCAG 2.2) | **24 × 24 px** (minimum, with spacing) |
38
38
 
39
39
  Recommended target: 44 × 44 px on all platforms. Never smaller for primary actions.
40
40
 
@@ -49,7 +49,7 @@ hitSlop={{ top: 8, bottom: 8, left: 8, right: 8 }}
49
49
 
50
50
  All interactive elements must have a visible focus indicator.
51
51
 
52
- **Required for WCAG 2.4.11 (AA WCAG 2.2):**
52
+ **Required for WCAG 2.4.11 (AA - WCAG 2.2):**
53
53
  - Focus indicator at minimum: **2px solid** outline, encloses the component
54
54
  - Contrast between focused and unfocused: **3:1**
55
55
  - Focus indicator doesn't overlap component content
@@ -71,13 +71,13 @@ Recommended focus ring: **3px solid**, `2px offset`, brand primary or `#2563eb`.
71
71
 
72
72
  ### Semantic Structure
73
73
 
74
- - One `<h1>` per page. Headings are sequential: `h1` → `h2` → `h3` never skip levels.
75
- - Interactive elements are focusable: use `<button>` for buttons, `<a href>` for links never `<div onClick>`.
76
- - Form inputs have associated `<label for="id">` not just placeholder text.
74
+ - One `<h1>` per page. Headings are sequential: `h1` → `h2` → `h3` - never skip levels.
75
+ - Interactive elements are focusable: use `<button>` for buttons, `<a href>` for links - never `<div onClick>`.
76
+ - Form inputs have associated `<label for="id">` - not just placeholder text.
77
77
  - Images have descriptive `alt=""` for meaningful images; `alt=""` for decorative.
78
78
  - Icon-only buttons have `aria-label`: `<button aria-label="Close dialog">×</button>`.
79
79
 
80
- **See:** [`./i18n.md`](./i18n.md) §WCAG i18n for SC 3.1.1 (`<html lang>`) and SC 3.1.2 (`<span lang="…">` language-of-parts) patterns screen readers select voice/pronunciation packs from these attributes; a missing or wrong `lang` value forces the user to hear French announced in an English accent.
80
+ **See:** [`./i18n.md`](./i18n.md) §WCAG i18n for SC 3.1.1 (`<html lang>`) and SC 3.1.2 (`<span lang="…">` language-of-parts) patterns - screen readers select voice/pronunciation packs from these attributes; a missing or wrong `lang` value forces the user to hear French announced in an English accent.
81
81
 
82
82
  ### Color Must Not Be The Only Differentiator
83
83
 
@@ -154,7 +154,7 @@ font-size: 16px;
154
154
 
155
155
  All animations must respect `prefers-reduced-motion: reduce`. See `reference/motion.md`.
156
156
 
157
- The `prefers-reduced-motion` check is an accessibility requirement (WCAG 2.3.3 AAA; WCAG 2.2 reduces to recommendation but implement it regardless).
157
+ The `prefers-reduced-motion` check is an accessibility requirement (WCAG 2.3.3 AAA; WCAG 2.2 reduces to recommendation - but implement it regardless).
158
158
 
159
159
  ---
160
160
 
@@ -7,13 +7,13 @@ tags: [adr, decision, project-scoped, architecture, offer-gate]
7
7
  last_updated: 2026-05-18
8
8
  ---
9
9
 
10
- Source: mattpocock/skills (MIT) adapted with permission. See `../NOTICE` for the full attribution block.
10
+ Source: mattpocock/skills (MIT) - adapted with permission. See `../NOTICE` for the full attribution block.
11
11
 
12
12
  # ADR Format
13
13
 
14
14
  An Architecture Decision Record (ADR) is a project-scoped record of a decision that
15
15
  outlives the current cycle. ADRs live at `docs/adr/NNNN-<slug>.md` (zero-padded sequence,
16
- kebab-case slug) and are offered SPARINGLY only when all three criteria of the offer
16
+ kebab-case slug) and are offered SPARINGLY - only when all three criteria of the offer
17
17
  gate hold (D-04). Most decisions stay in `STATE.md` and roll over with the cycle; ADRs
18
18
  are the rare exception. See `./context-md-format.md` for the lighter glossary form that
19
19
  shares the same project-scoped lifetime.
@@ -31,12 +31,12 @@ the decision in `STATE.md` instead.
31
31
  stated reasons. Decisions with no plausible alternative (e.g., "use HTTPS") do not
32
32
  qualify.
33
33
 
34
- Worked example **qualifier:** "Switch from REST to GraphQL for the public API."
34
+ Worked example - **qualifier:** "Switch from REST to GraphQL for the public API."
35
35
  Hard-to-reverse (clients integrate against the schema), surprising-without-context (most
36
36
  greenfield APIs default to REST), real-tradeoff (tRPC and gRPC were rejected for stated
37
37
  reasons). Ship an ADR.
38
38
 
39
- Worked example **disqualifier:** "Rename the `users` table to `accounts`." Hard-to-reverse,
39
+ Worked example - **disqualifier:** "Rename the `users` table to `accounts`." Hard-to-reverse,
40
40
  but the rationale is obvious from the rename and there is no real alternative once the
41
41
  domain has settled on the word. Log in `STATE.md`, not an ADR.
42
42
 
@@ -63,14 +63,14 @@ supersedes: <optional — ADR number this one replaces, e.g., "0042">
63
63
  ## Body structure
64
64
 
65
65
  The ADR body uses four `##` sections in the following order. Each section is a thin
66
- paragraph or short bullet list ADRs are decision records, not design docs.
66
+ paragraph or short bullet list - ADRs are decision records, not design docs.
67
67
 
68
- - `## Context` what situation made this decision necessary; cite the originating
68
+ - `## Context` - what situation made this decision necessary; cite the originating
69
69
  cycle's `BRIEF.md` or `STATE.md` if relevant.
70
- - `## Decision` what was chosen, stated as an imperative.
71
- - `## Alternatives` what was considered and rejected, with brief rationale per
70
+ - `## Decision` - what was chosen, stated as an imperative.
71
+ - `## Alternatives` - what was considered and rejected, with brief rationale per
72
72
  alternative.
73
- - `## Consequences` what this enables, what it costs, what it constrains downstream.
73
+ - `## Consequences` - what this enables, what it costs, what it constrains downstream.
74
74
 
75
75
  ## Status lifecycle
76
76
 
@@ -81,16 +81,16 @@ truth; transitions are explicit, never silent.
81
81
  does not cite Proposed ADRs.
82
82
  - **Accepted.** Decision active; downstream work cites this ADR by number.
83
83
  - **Superseded.** Replaced by a later ADR. The later ADR's `supersedes:` field points
84
- here, and this ADR's status is flipped to Superseded. NEVER delete a Superseded ADR
84
+ here, and this ADR's status is flipped to Superseded. NEVER delete a Superseded ADR -
85
85
  the audit trail is the point.
86
86
  - **Deprecated.** No longer relevant (e.g., the system the ADR governed was removed).
87
87
  Kept for history.
88
88
 
89
89
  ## Cross-references
90
90
 
91
- - Domain terms used in the ADR body should already appear in `CONTEXT.md` see
91
+ - Domain terms used in the ADR body should already appear in `CONTEXT.md` - see
92
92
  `./context-md-format.md`. If a term is missing, the writer adds it before referencing it.
93
- - Cycle-scoped decisions (most routine choices) stay in `STATE.md` see
93
+ - Cycle-scoped decisions (most routine choices) stay in `STATE.md` - see
94
94
  `./STATE-TEMPLATE.md`.
95
- - Skill structural rules (length cap, frontmatter, progressive disclosure) see
95
+ - Skill structural rules (length cap, frontmatter, progressive disclosure) - see
96
96
  `./skill-authoring-contract.md`.
@@ -1,4 +1,4 @@
1
- # AI-Native Design Tool Interface Capability Contract
1
+ # AI-Native Design Tool Interface - Capability Contract
2
2
 
3
3
  This file defines the capability-based contract that AI-native design tools must implement to integrate with the get-design-done pipeline. Two sub-categories are defined: **canvas** and **component-generator**. Future tools implement one sub-category and plug in via the same probe/read/write or probe/generate/adopt surface.
4
4
 
@@ -26,8 +26,8 @@ write(proposal) → { confirmed | rejected }
26
26
  ```
27
27
 
28
28
  **Implementations:**
29
- - `connections/paper-design.md` MCP-based; 24-tool server; budget: 100 calls/week (free)
30
- - `connections/pencil-dev.md` file-based; `.pen` YAML spec files; git-tracked; no MCP
29
+ - `connections/paper-design.md` - MCP-based; 24-tool server; budget: 100 calls/week (free)
30
+ - `connections/pencil-dev.md` - file-based; `.pen` YAML spec files; git-tracked; no MCP
31
31
 
32
32
  **Pipeline stages:** `explore` (read) + `verify` (screenshot) + `design` (write via writer agent)
33
33
 
@@ -53,8 +53,8 @@ adopt(variant: object) → { confirmed | rejected }
53
53
  ```
54
54
 
55
55
  **Implementations:**
56
- - `connections/21st-dev.md` Magic MCP; `npx @21st-dev/magic@latest init`; marketplace prior-art gate
57
- - `connections/magic-patterns.md` Claude connector (`mcp__magic_patterns*`) + API key fallback; DS-aware generation
56
+ - `connections/21st-dev.md` - Magic MCP; `npx @21st-dev/magic@latest init`; marketplace prior-art gate
57
+ - `connections/magic-patterns.md` - Claude connector (`mcp__magic_patterns*`) + API key fallback; DS-aware generation
58
58
 
59
59
  **Pipeline stages:** `explore` (prior-art gate for 21st.dev) + `design` (generate + adopt)
60
60
 
@@ -8,7 +8,7 @@ Use during Discover (baseline audit), Design (prevention), and Verify (complianc
8
8
 
9
9
  Before shipping any artifact: **"If I told someone 'AI made this,' would they believe me immediately?"**
10
10
 
11
- If yes redo. The training-set monoculture has specific fingerprints. Learn them all.
11
+ If yes - redo. The training-set monoculture has specific fingerprints. Learn them all.
12
12
 
13
13
  ---
14
14
 
@@ -28,7 +28,7 @@ border-right: 3px solid #6366f1;
28
28
 
29
29
  **Why**: The border-left accent card is the most recognizable AI default. It signals no design thinking happened.
30
30
 
31
- **Fix**: Use different element structure colored icon, colored background section, or inline accent element.
31
+ **Fix**: Use different element structure - colored icon, colored background section, or inline accent element.
32
32
 
33
33
  **Grep**: `border-left:\s*[2-9][0-9]*px|border-right:\s*[2-9][0-9]*px`
34
34
 
@@ -89,7 +89,7 @@ background: rgb(0, 0, 0);
89
89
 
90
90
  **Why**: Pure black in dark mode creates harsh contrast and looks amateur.
91
91
 
92
- **Fix**: oklch(12% 0 0) through oklch(18% 0.005 [hue]) slightly warm or cool near-black.
92
+ **Fix**: oklch(12% 0 0) through oklch(18% 0.005 [hue]) - slightly warm or cool near-black.
93
93
 
94
94
  **Grep**: `background.*#000000|background.*rgb\(0,\s*0,\s*0\)`
95
95
 
@@ -194,7 +194,7 @@ Glassmorphism as the default card treatment signals no layout thinking.
194
194
 
195
195
  Using Inter, DM Sans, Space Grotesk, or Plus Jakarta Sans without a documented brand reason.
196
196
 
197
- **Test**: Can you give 3 concrete reasons this font matches the product's brand? If not choose again.
197
+ **Test**: Can you give 3 concrete reasons this font matches the product's brand? If not - choose again.
198
198
 
199
199
  ### SLOP-06: Card-in-Card
200
200
 
@@ -235,7 +235,7 @@ Pastel-colored isometric illustrations with floating icons. Figma community temp
235
235
  ### Color Errors
236
236
 
237
237
  - Gray on colored backgrounds (fails contrast, not "subtle")
238
- - Pure gray neutrals add 0.005–0.015 chroma toward brand hue
238
+ - Pure gray neutrals - add 0.005–0.015 chroma toward brand hue
239
239
  - Red + green as the only meaning carrier (colorblind failure)
240
240
  - Text over image without scrim or overlay
241
241
  - Alpha-heavy transparency everywhere (incomplete palette signal)
@@ -274,7 +274,7 @@ Pastel-colored isometric illustrations with floating icons. Figma community temp
274
274
 
275
275
  - `ease-in` on entrances (use `ease-out`)
276
276
  - Same duration for enter and exit (exit should be 60–70% of enter)
277
- - Animating `width`/`height` (triggers layout use `transform` only)
277
+ - Animating `width`/`height` (triggers layout - use `transform` only)
278
278
  - No `prefers-reduced-motion` media query
279
279
  - Popover origin `transform-origin: center` (should come from trigger element)
280
280
  - Button with no `:active` press feedback
@@ -292,11 +292,11 @@ Pastel-colored isometric illustrations with floating icons. Figma community temp
292
292
  - No progressive disclosure on long forms (show all fields upfront)
293
293
 
294
294
  ### Feedback
295
- - Instant (0ms) state transitions feels broken
295
+ - Instant (0ms) state transitions - feels broken
296
296
  - "Loading..." spinners with no context ("Loading contacts..." is better)
297
297
  - Success toast that blocks the next interaction
298
298
  - Destructive action with no undo and no confirmation
299
- - Confirmation dialog for reversible action (annoyance use undo instead)
299
+ - Confirmation dialog for reversible action (annoyance - use undo instead)
300
300
 
301
301
  ### Navigation
302
302
  - Browser back button breaks app state
@@ -359,7 +359,7 @@ If YES to any → rewrite that element before proceeding.
359
359
 
360
360
  bdId: BAN-10
361
361
 
362
- Applying the same `border-radius` to a container and an element inside it (when the element is separated by padding) makes the inner element appear to "float" the radii should be concentric, not equal.
362
+ Applying the same `border-radius` to a container and an element inside it (when the element is separated by padding) makes the inner element appear to "float" - the radii should be concentric, not equal.
363
363
 
364
364
  **Grep (Tailwind):**
365
365
  ```