@hegemonart/get-design-done 1.42.0 → 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 (425) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +1080 -1038
  4. package/README.md +157 -155
  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 +3 -3
  64. package/dist/claude-code/.claude/skills/analyze-dependencies/SKILL.md +10 -10
  65. package/dist/claude-code/.claude/skills/apply-reflections/SKILL.md +13 -13
  66. package/dist/claude-code/.claude/skills/apply-reflections/apply-reflections-procedure.md +20 -20
  67. package/dist/claude-code/.claude/skills/audit/SKILL.md +7 -7
  68. package/dist/claude-code/.claude/skills/bandit-status/SKILL.md +7 -7
  69. package/dist/claude-code/.claude/skills/benchmark/SKILL.md +7 -7
  70. package/dist/claude-code/.claude/skills/bootstrap-ds/SKILL.md +10 -10
  71. package/dist/claude-code/.claude/skills/brief/SKILL.md +20 -20
  72. package/dist/claude-code/.claude/skills/budget/SKILL.md +4 -4
  73. package/dist/claude-code/.claude/skills/cache-manager/SKILL.md +6 -6
  74. package/dist/claude-code/.claude/skills/cache-manager/cache-policy.md +5 -5
  75. package/dist/claude-code/.claude/skills/check-update/SKILL.md +5 -5
  76. package/dist/claude-code/.claude/skills/compare/SKILL.md +15 -15
  77. package/dist/claude-code/.claude/skills/compare/compare-rubric.md +17 -17
  78. package/dist/claude-code/.claude/skills/complete-cycle/SKILL.md +5 -5
  79. package/dist/claude-code/.claude/skills/connections/SKILL.md +11 -11
  80. package/dist/claude-code/.claude/skills/connections/connections-onboarding.md +76 -76
  81. package/dist/claude-code/.claude/skills/continue/SKILL.md +2 -2
  82. package/dist/claude-code/.claude/skills/darkmode/SKILL.md +17 -17
  83. package/dist/claude-code/.claude/skills/darkmode/darkmode-audit-procedure.md +7 -7
  84. package/dist/claude-code/.claude/skills/debug/SKILL.md +3 -3
  85. package/dist/claude-code/.claude/skills/debug/debug-feedback-loops.md +12 -12
  86. package/dist/claude-code/.claude/skills/design/SKILL.md +12 -12
  87. package/dist/claude-code/.claude/skills/design/design-procedure.md +23 -23
  88. package/dist/claude-code/.claude/skills/discover/SKILL.md +7 -7
  89. package/dist/claude-code/.claude/skills/discover/discover-procedure.md +18 -18
  90. package/dist/claude-code/.claude/skills/discuss/SKILL.md +12 -12
  91. package/dist/claude-code/.claude/skills/do/SKILL.md +1 -1
  92. package/dist/claude-code/.claude/skills/explore/SKILL.md +21 -21
  93. package/dist/claude-code/.claude/skills/explore/explore-procedure.md +48 -48
  94. package/dist/claude-code/.claude/skills/export/SKILL.md +9 -9
  95. package/dist/claude-code/.claude/skills/extract-learnings/SKILL.md +5 -5
  96. package/dist/claude-code/.claude/skills/fast/SKILL.md +7 -7
  97. package/dist/claude-code/.claude/skills/figma-extract/SKILL.md +11 -11
  98. package/dist/claude-code/.claude/skills/figma-write/SKILL.md +6 -6
  99. package/dist/claude-code/.claude/skills/graphify/SKILL.md +4 -4
  100. package/dist/claude-code/.claude/skills/health/SKILL.md +16 -16
  101. package/dist/claude-code/.claude/skills/health/health-mcp-detection.md +3 -3
  102. package/dist/claude-code/.claude/skills/health/health-skill-length-report.md +6 -6
  103. package/dist/claude-code/.claude/skills/help/SKILL.md +1 -1
  104. package/dist/claude-code/.claude/skills/list-assumptions/SKILL.md +4 -4
  105. package/dist/claude-code/.claude/skills/map/SKILL.md +12 -12
  106. package/dist/claude-code/.claude/skills/migrate/SKILL.md +5 -5
  107. package/dist/claude-code/.claude/skills/new-cycle/SKILL.md +2 -2
  108. package/dist/claude-code/.claude/skills/new-cycle/milestone-completeness-rubric.md +16 -16
  109. package/dist/claude-code/.claude/skills/new-project/SKILL.md +1 -1
  110. package/dist/claude-code/.claude/skills/next/SKILL.md +5 -5
  111. package/dist/claude-code/.claude/skills/note/SKILL.md +1 -1
  112. package/dist/claude-code/.claude/skills/openrouter-status/SKILL.md +4 -4
  113. package/dist/claude-code/.claude/skills/optimize/SKILL.md +15 -15
  114. package/dist/claude-code/.claude/skills/pause/SKILL.md +5 -5
  115. package/dist/claude-code/.claude/skills/peer-cli-add/SKILL.md +11 -11
  116. package/dist/claude-code/.claude/skills/peer-cli-add/peer-cli-protocol.md +39 -39
  117. package/dist/claude-code/.claude/skills/peer-cli-customize/SKILL.md +14 -14
  118. package/dist/claude-code/.claude/skills/peers/SKILL.md +4 -4
  119. package/dist/claude-code/.claude/skills/plan/SKILL.md +13 -13
  120. package/dist/claude-code/.claude/skills/plan/plan-procedure.md +24 -24
  121. package/dist/claude-code/.claude/skills/plant-seed/SKILL.md +4 -4
  122. package/dist/claude-code/.claude/skills/pr-branch/SKILL.md +2 -2
  123. package/dist/claude-code/.claude/skills/progress/SKILL.md +15 -15
  124. package/dist/claude-code/.claude/skills/quality-gate/SKILL.md +22 -22
  125. package/dist/claude-code/.claude/skills/quality-gate/threat-modeling.md +19 -19
  126. package/dist/claude-code/.claude/skills/quick/SKILL.md +5 -5
  127. package/dist/claude-code/.claude/skills/reapply-patches/SKILL.md +7 -7
  128. package/dist/claude-code/.claude/skills/reflect/SKILL.md +3 -3
  129. package/dist/claude-code/.claude/skills/reflect/procedures/capability-gap-scan.md +11 -11
  130. package/dist/claude-code/.claude/skills/report-issue/SKILL.md +5 -5
  131. package/dist/claude-code/.claude/skills/report-issue/report-issue-procedure.md +27 -27
  132. package/dist/claude-code/.claude/skills/resume/SKILL.md +9 -9
  133. package/dist/claude-code/.claude/skills/review-backlog/SKILL.md +3 -3
  134. package/dist/claude-code/.claude/skills/review-decisions/SKILL.md +3 -3
  135. package/dist/claude-code/.claude/skills/roi/SKILL.md +5 -5
  136. package/dist/claude-code/.claude/skills/rollout-status/SKILL.md +4 -4
  137. package/dist/claude-code/.claude/skills/router/SKILL.md +11 -11
  138. package/dist/claude-code/.claude/skills/router/capability-gap-emitter.md +6 -6
  139. package/dist/claude-code/.claude/skills/router/router-pick-emitter.md +9 -9
  140. package/dist/claude-code/.claude/skills/router/router-rules.md +7 -7
  141. package/dist/claude-code/.claude/skills/scan/SKILL.md +16 -16
  142. package/dist/claude-code/.claude/skills/scan/scan-procedure.md +42 -42
  143. package/dist/claude-code/.claude/skills/settings/SKILL.md +2 -2
  144. package/dist/claude-code/.claude/skills/ship/SKILL.md +7 -7
  145. package/dist/claude-code/.claude/skills/sketch/SKILL.md +10 -10
  146. package/dist/claude-code/.claude/skills/sketch-wrap-up/SKILL.md +12 -12
  147. package/dist/claude-code/.claude/skills/skill-manifest/SKILL.md +5 -5
  148. package/dist/claude-code/.claude/skills/spike/SKILL.md +7 -7
  149. package/dist/claude-code/.claude/skills/spike-wrap-up/SKILL.md +13 -13
  150. package/dist/claude-code/.claude/skills/start/SKILL.md +8 -8
  151. package/dist/claude-code/.claude/skills/start/start-procedure.md +9 -9
  152. package/dist/claude-code/.claude/skills/stats/SKILL.md +5 -5
  153. package/dist/claude-code/.claude/skills/style/SKILL.md +12 -12
  154. package/dist/claude-code/.claude/skills/style/style-doc-procedure.md +12 -12
  155. package/dist/claude-code/.claude/skills/synthesize/SKILL.md +10 -10
  156. package/dist/claude-code/.claude/skills/timeline/SKILL.md +4 -4
  157. package/dist/claude-code/.claude/skills/todo/SKILL.md +3 -3
  158. package/dist/claude-code/.claude/skills/turn-closeout/SKILL.md +10 -10
  159. package/dist/claude-code/.claude/skills/unlock-decision/SKILL.md +3 -3
  160. package/dist/claude-code/.claude/skills/update/SKILL.md +9 -9
  161. package/dist/claude-code/.claude/skills/using-gdd/SKILL.md +17 -17
  162. package/dist/claude-code/.claude/skills/verify/SKILL.md +13 -13
  163. package/dist/claude-code/.claude/skills/verify/verify-procedure.md +34 -34
  164. package/dist/claude-code/.claude/skills/warm-cache/SKILL.md +8 -8
  165. package/dist/claude-code/.claude/skills/watch-authorities/SKILL.md +9 -9
  166. package/dist/claude-code/.claude/skills/zoom-out/SKILL.md +4 -4
  167. package/package.json +5 -2
  168. package/reference/DEPRECATIONS.md +10 -10
  169. package/reference/STATE-TEMPLATE.md +26 -26
  170. package/reference/accessibility.md +13 -13
  171. package/reference/adr-format.md +13 -13
  172. package/reference/ai-native-tool-interface.md +5 -5
  173. package/reference/anti-patterns.md +9 -9
  174. package/reference/architecture-vocabulary.md +31 -31
  175. package/reference/audit-scoring.md +13 -13
  176. package/reference/authority-feeds.md +36 -36
  177. package/reference/bandit-integration.md +25 -25
  178. package/reference/brand-voice.md +36 -36
  179. package/reference/capability-gap-stage-gate.md +20 -20
  180. package/reference/checklists.md +26 -26
  181. package/reference/cli-localization.md +13 -13
  182. package/reference/codex-tools.md +2 -2
  183. package/reference/color-theory.md +28 -28
  184. package/reference/component-authoring.md +4 -4
  185. package/reference/components/README.md +13 -13
  186. package/reference/components/TEMPLATE.md +13 -13
  187. package/reference/components/accordion.md +15 -15
  188. package/reference/components/alert.md +25 -25
  189. package/reference/components/badge.md +18 -18
  190. package/reference/components/breadcrumbs.md +24 -24
  191. package/reference/components/button.md +21 -21
  192. package/reference/components/card.md +13 -13
  193. package/reference/components/checkbox.md +20 -20
  194. package/reference/components/chip.md +20 -20
  195. package/reference/components/command-palette.md +15 -15
  196. package/reference/components/date-picker.md +22 -22
  197. package/reference/components/drawer.md +13 -13
  198. package/reference/components/file-upload.md +22 -22
  199. package/reference/components/input.md +18 -18
  200. package/reference/components/label.md +25 -25
  201. package/reference/components/link.md +19 -19
  202. package/reference/components/list.md +17 -17
  203. package/reference/components/menu.md +19 -19
  204. package/reference/components/modal-dialog.md +16 -16
  205. package/reference/components/navbar.md +19 -19
  206. package/reference/components/pagination.md +18 -18
  207. package/reference/components/popover.md +12 -12
  208. package/reference/components/progress.md +18 -18
  209. package/reference/components/radio.md +17 -17
  210. package/reference/components/rich-text-editor.md +24 -24
  211. package/reference/components/select-combobox.md +16 -16
  212. package/reference/components/sidebar.md +15 -15
  213. package/reference/components/skeleton.md +20 -20
  214. package/reference/components/slider.md +20 -20
  215. package/reference/components/stepper.md +24 -24
  216. package/reference/components/switch.md +19 -19
  217. package/reference/components/table.md +21 -21
  218. package/reference/components/tabs.md +11 -11
  219. package/reference/components/toast.md +19 -19
  220. package/reference/components/tooltip.md +19 -19
  221. package/reference/components/tree.md +17 -17
  222. package/reference/composition.md +38 -38
  223. package/reference/config-schema.md +37 -37
  224. package/reference/context-md-format.md +9 -9
  225. package/reference/contrast-advanced.md +29 -29
  226. package/reference/conversational-ui.md +17 -17
  227. package/reference/cost-governance.md +14 -14
  228. package/reference/css-grid-layout.md +8 -8
  229. package/reference/cycle-handoff-preamble.md +3 -3
  230. package/reference/data-visualization.md +67 -67
  231. package/reference/debugger-philosophy.md +5 -5
  232. package/reference/design-system-guidance.md +21 -21
  233. package/reference/design-systems-catalog.md +20 -20
  234. package/reference/design-variants.md +11 -11
  235. package/reference/domains/civic-patterns.md +10 -10
  236. package/reference/domains/finance-patterns.md +9 -9
  237. package/reference/domains/gaming-patterns.md +9 -9
  238. package/reference/domains/healthcare-patterns.md +11 -11
  239. package/reference/ds-bootstrap-rubric.md +13 -13
  240. package/reference/email-design.md +22 -22
  241. package/reference/emotional-design.md +10 -10
  242. package/reference/error-recovery.md +11 -11
  243. package/reference/export-formats.md +7 -7
  244. package/reference/figma-sandbox.md +6 -6
  245. package/reference/first-principles.md +10 -10
  246. package/reference/form-patterns.md +26 -26
  247. package/reference/framer-motion-patterns.md +49 -49
  248. package/reference/gdd-runtime-audit.md +17 -17
  249. package/reference/gdd-threat-model.md +44 -44
  250. package/reference/gemini-tools.md +3 -3
  251. package/reference/gestalt.md +24 -24
  252. package/reference/heuristics.md +32 -32
  253. package/reference/i18n.md +44 -44
  254. package/reference/iconography.md +24 -24
  255. package/reference/image-optimization.md +14 -14
  256. package/reference/information-architecture.md +47 -47
  257. package/reference/intel-schema.md +1 -1
  258. package/reference/known-failure-modes.md +37 -37
  259. package/reference/meta-rules.md +5 -5
  260. package/reference/migrations/material-3-to-4.md +17 -17
  261. package/reference/migrations/mui-v6.md +16 -16
  262. package/reference/migrations/shadcn-v2.md +25 -25
  263. package/reference/migrations/tailwind-v4.md +21 -21
  264. package/reference/model-prices.md +3 -3
  265. package/reference/model-tiers.md +40 -40
  266. package/reference/motion-advanced.md +21 -21
  267. package/reference/motion-easings.md +29 -29
  268. package/reference/motion-interpolate.md +1 -1
  269. package/reference/motion-spring.md +13 -13
  270. package/reference/motion-transition-taxonomy.md +34 -34
  271. package/reference/motion.md +31 -31
  272. package/reference/multi-author-model.md +13 -13
  273. package/reference/native-platforms.md +28 -28
  274. package/reference/notification-routing.md +6 -6
  275. package/reference/onboarding-progressive-disclosure.md +32 -32
  276. package/reference/openrouter-tier-mapping.md +8 -8
  277. package/reference/palette-catalog.md +37 -37
  278. package/reference/parallelism-rules.md +20 -20
  279. package/reference/peer-cli-capabilities.md +14 -14
  280. package/reference/peer-protocols.md +21 -21
  281. package/reference/perf-budget.md +21 -21
  282. package/reference/performance.md +22 -22
  283. package/reference/platforms.md +51 -51
  284. package/reference/pr-review-integration.md +7 -7
  285. package/reference/prices/antigravity.md +3 -3
  286. package/reference/prices/augment.md +3 -3
  287. package/reference/prices/claude.md +2 -2
  288. package/reference/prices/cline.md +4 -4
  289. package/reference/prices/codebuddy.md +3 -3
  290. package/reference/prices/codex.md +2 -2
  291. package/reference/prices/copilot.md +3 -3
  292. package/reference/prices/cursor.md +3 -3
  293. package/reference/prices/gemini.md +2 -2
  294. package/reference/prices/kilo.md +3 -3
  295. package/reference/prices/opencode.md +4 -4
  296. package/reference/prices/qwen.md +2 -2
  297. package/reference/prices/trae.md +3 -3
  298. package/reference/prices/windsurf.md +3 -3
  299. package/reference/prices.openrouter.md +5 -5
  300. package/reference/print-design.md +36 -36
  301. package/reference/priority-matrix.md +2 -2
  302. package/reference/project-skills-guide.md +3 -3
  303. package/reference/proportion-systems.md +23 -23
  304. package/reference/pseudonymization-rules.md +30 -30
  305. package/reference/retrieval-contract.md +14 -14
  306. package/reference/review-format.md +7 -7
  307. package/reference/rollout-coordination.md +10 -10
  308. package/reference/rtl-cjk-cultural.md +39 -39
  309. package/reference/runtime-models.md +28 -28
  310. package/reference/shared-preamble.md +26 -26
  311. package/reference/skill-authoring-contract.md +16 -16
  312. package/reference/skill-placeholders.md +3 -3
  313. package/reference/start-interview.md +10 -10
  314. package/reference/style-vocabulary.md +25 -25
  315. package/reference/surfaces.md +4 -4
  316. package/reference/ticket-sync.md +9 -9
  317. package/reference/typography.md +64 -64
  318. package/reference/user-research.md +54 -54
  319. package/reference/variable-fonts-loading.md +15 -15
  320. package/reference/visual-hierarchy-layout.md +41 -41
  321. package/scripts/lib/manifest/prose-denylist.json +1 -1
  322. package/skills/add-backlog/SKILL.md +3 -3
  323. package/skills/analyze-dependencies/SKILL.md +10 -10
  324. package/skills/apply-reflections/SKILL.md +13 -13
  325. package/skills/apply-reflections/apply-reflections-procedure.md +20 -20
  326. package/skills/audit/SKILL.md +7 -7
  327. package/skills/bandit-status/SKILL.md +7 -7
  328. package/skills/benchmark/SKILL.md +7 -7
  329. package/skills/bootstrap-ds/SKILL.md +10 -10
  330. package/skills/brief/SKILL.md +20 -20
  331. package/skills/budget/SKILL.md +4 -4
  332. package/skills/cache-manager/SKILL.md +6 -6
  333. package/skills/cache-manager/cache-policy.md +5 -5
  334. package/skills/check-update/SKILL.md +5 -5
  335. package/skills/compare/SKILL.md +15 -15
  336. package/skills/compare/compare-rubric.md +17 -17
  337. package/skills/complete-cycle/SKILL.md +5 -5
  338. package/skills/connections/SKILL.md +11 -11
  339. package/skills/connections/connections-onboarding.md +76 -76
  340. package/skills/continue/SKILL.md +2 -2
  341. package/skills/darkmode/SKILL.md +17 -17
  342. package/skills/darkmode/darkmode-audit-procedure.md +7 -7
  343. package/skills/debug/SKILL.md +3 -3
  344. package/skills/debug/debug-feedback-loops.md +12 -12
  345. package/skills/design/SKILL.md +12 -12
  346. package/skills/design/design-procedure.md +23 -23
  347. package/skills/discover/SKILL.md +7 -7
  348. package/skills/discover/discover-procedure.md +18 -18
  349. package/skills/discuss/SKILL.md +12 -12
  350. package/skills/do/SKILL.md +1 -1
  351. package/skills/explore/SKILL.md +21 -21
  352. package/skills/explore/explore-procedure.md +48 -48
  353. package/skills/export/SKILL.md +9 -9
  354. package/skills/extract-learnings/SKILL.md +5 -5
  355. package/skills/fast/SKILL.md +7 -7
  356. package/skills/figma-extract/SKILL.md +11 -11
  357. package/skills/figma-write/SKILL.md +6 -6
  358. package/skills/graphify/SKILL.md +4 -4
  359. package/skills/health/SKILL.md +16 -16
  360. package/skills/health/health-mcp-detection.md +3 -3
  361. package/skills/health/health-skill-length-report.md +6 -6
  362. package/skills/help/SKILL.md +1 -1
  363. package/skills/list-assumptions/SKILL.md +4 -4
  364. package/skills/map/SKILL.md +12 -12
  365. package/skills/migrate/SKILL.md +5 -5
  366. package/skills/new-cycle/SKILL.md +2 -2
  367. package/skills/new-cycle/milestone-completeness-rubric.md +16 -16
  368. package/skills/new-project/SKILL.md +1 -1
  369. package/skills/next/SKILL.md +5 -5
  370. package/skills/note/SKILL.md +1 -1
  371. package/skills/openrouter-status/SKILL.md +4 -4
  372. package/skills/optimize/SKILL.md +15 -15
  373. package/skills/pause/SKILL.md +5 -5
  374. package/skills/peer-cli-add/SKILL.md +11 -11
  375. package/skills/peer-cli-add/peer-cli-protocol.md +39 -39
  376. package/skills/peer-cli-customize/SKILL.md +14 -14
  377. package/skills/peers/SKILL.md +4 -4
  378. package/skills/plan/SKILL.md +13 -13
  379. package/skills/plan/plan-procedure.md +24 -24
  380. package/skills/plant-seed/SKILL.md +4 -4
  381. package/skills/pr-branch/SKILL.md +2 -2
  382. package/skills/progress/SKILL.md +15 -15
  383. package/skills/quality-gate/SKILL.md +22 -22
  384. package/skills/quality-gate/threat-modeling.md +19 -19
  385. package/skills/quick/SKILL.md +5 -5
  386. package/skills/reapply-patches/SKILL.md +7 -7
  387. package/skills/reflect/SKILL.md +3 -3
  388. package/skills/reflect/procedures/capability-gap-scan.md +11 -11
  389. package/skills/report-issue/SKILL.md +5 -5
  390. package/skills/report-issue/report-issue-procedure.md +27 -27
  391. package/skills/resume/SKILL.md +9 -9
  392. package/skills/review-backlog/SKILL.md +3 -3
  393. package/skills/review-decisions/SKILL.md +3 -3
  394. package/skills/roi/SKILL.md +5 -5
  395. package/skills/rollout-status/SKILL.md +4 -4
  396. package/skills/router/SKILL.md +11 -11
  397. package/skills/router/capability-gap-emitter.md +6 -6
  398. package/skills/router/router-pick-emitter.md +9 -9
  399. package/skills/router/router-rules.md +7 -7
  400. package/skills/scan/SKILL.md +16 -16
  401. package/skills/scan/scan-procedure.md +42 -42
  402. package/skills/settings/SKILL.md +2 -2
  403. package/skills/ship/SKILL.md +7 -7
  404. package/skills/sketch/SKILL.md +10 -10
  405. package/skills/sketch-wrap-up/SKILL.md +12 -12
  406. package/skills/skill-manifest/SKILL.md +5 -5
  407. package/skills/spike/SKILL.md +7 -7
  408. package/skills/spike-wrap-up/SKILL.md +13 -13
  409. package/skills/start/SKILL.md +8 -8
  410. package/skills/start/start-procedure.md +9 -9
  411. package/skills/stats/SKILL.md +5 -5
  412. package/skills/style/SKILL.md +12 -12
  413. package/skills/style/style-doc-procedure.md +12 -12
  414. package/skills/synthesize/SKILL.md +10 -10
  415. package/skills/timeline/SKILL.md +4 -4
  416. package/skills/todo/SKILL.md +3 -3
  417. package/skills/turn-closeout/SKILL.md +10 -10
  418. package/skills/unlock-decision/SKILL.md +3 -3
  419. package/skills/update/SKILL.md +9 -9
  420. package/skills/using-gdd/SKILL.md +17 -17
  421. package/skills/verify/SKILL.md +13 -13
  422. package/skills/verify/verify-procedure.md +34 -34
  423. package/skills/warm-cache/SKILL.md +8 -8
  424. package/skills/watch-authorities/SKILL.md +9 -9
  425. package/skills/zoom-out/SKILL.md +4 -4
@@ -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
  ```
@@ -7,11 +7,11 @@ tags: [architecture, ousterhout, module, interface, depth, seam, adapter, levera
7
7
  last_updated: 2026-05-18
8
8
  ---
9
9
 
10
- Source: mattpocock/skills (MIT) via Ousterhout, *A Philosophy of Software Design* adapted with permission. See `../NOTICE` for the full attribution block.
10
+ Source: mattpocock/skills (MIT) via Ousterhout, *A Philosophy of Software Design* - adapted with permission. See `../NOTICE` for the full attribution block.
11
11
 
12
12
  # Architecture Vocabulary
13
13
 
14
- A shared vocabulary for architectural reasoning across GDD skills. Same words mean the same things across `zoom-out`, `debug`, `analyze-dependencies`, `map`, `quality-gate`, and the planning skills so agents and humans do not re-litigate "what did you mean by *module*" every conversation. Drawn from John Ousterhout's *A Philosophy of Software Design* via mattpocock's `improve-codebase-architecture/LANGUAGE.md`. GDD design-engineering analogs are surfaced where applicable a UI component is a module, a design-token API is an interface, a token theme is an adapter.
14
+ A shared vocabulary for architectural reasoning across GDD skills. Same words mean the same things across `zoom-out`, `debug`, `analyze-dependencies`, `map`, `quality-gate`, and the planning skills - so agents and humans do not re-litigate "what did you mean by *module*" every conversation. Drawn from John Ousterhout's *A Philosophy of Software Design* via mattpocock's `improve-codebase-architecture/LANGUAGE.md`. GDD design-engineering analogs are surfaced where applicable - a UI component is a module, a design-token API is an interface, a token theme is an adapter.
15
15
 
16
16
  This file is the canonical reference; skills cite it instead of re-defining terms inline.
17
17
 
@@ -19,13 +19,13 @@ This file is the canonical reference; skills cite it instead of re-defining term
19
19
 
20
20
  A unit of code that hides implementation behind an interface. The module's value to its caller is everything inside that the caller no longer has to think about.
21
21
 
22
- - A React component is a module props are the interface, internal state and effects are the implementation.
23
- - A skill is a module frontmatter + workflow are the interface, the SKILL.md body is the implementation.
22
+ - A React component is a module - props are the interface, internal state and effects are the implementation.
23
+ - A skill is a module - frontmatter + workflow are the interface, the SKILL.md body is the implementation.
24
24
  - See `./design-system-guidance.md` for the design-system-level analog: a component is a module; the token contract is its interface.
25
25
 
26
26
  ## Interface
27
27
 
28
- What a module exposes to callers function signatures, props, return types, error contracts, side-effect promises. The interface is what callers depend on; everything else they must NOT depend on. Small, stable interfaces are the goal.
28
+ What a module exposes to callers - function signatures, props, return types, error contracts, side-effect promises. The interface is what callers depend on; everything else they must NOT depend on. Small, stable interfaces are the goal.
29
29
 
30
30
  - `function fetchUser(id: string): Promise<User>` is the interface. How `fetchUser` calls the database is implementation.
31
31
  - A React component's `props` plus its rendered DOM contract is the interface; useState, useEffect, internal helpers are not.
@@ -33,27 +33,27 @@ What a module exposes to callers — function signatures, props, return types, e
33
33
 
34
34
  ## Implementation
35
35
 
36
- What the module hides the code that does the work. Callers must not depend on it. Implementation is free to change as long as the interface holds.
36
+ What the module hides - the code that does the work. Callers must not depend on it. Implementation is free to change as long as the interface holds.
37
37
 
38
38
  - Switching `fetchUser` from REST to GraphQL without changing the call site = implementation change without interface change. Healthy.
39
39
  - Renaming a private helper inside a React component does not break callers. Healthy.
40
- - Exposing a class's "private" field that callers started reading turns implementation into de-facto interface. Unhealthy fix by either formalizing the field as interface or stopping the leak.
40
+ - Exposing a class's "private" field that callers started reading turns implementation into de-facto interface. Unhealthy - fix by either formalizing the field as interface or stopping the leak.
41
41
 
42
42
  ## Depth
43
43
 
44
- A module is **deep** when the interface is simple and the implementation hides genuine complexity. A module is **shallow** when the interface is as complex as the implementation the wrapper adds no leverage and just shuffles the caller's mental load sideways.
44
+ A module is **deep** when the interface is simple and the implementation hides genuine complexity. A module is **shallow** when the interface is as complex as the implementation - the wrapper adds no use and just shuffles the caller's mental load sideways.
45
45
 
46
- - `Array.sort()` is deep one method name hides ~50 lines of comparison-sort logic plus stable-ordering guarantees.
47
- - `class Wrapper { getX() { return this.x; } }` is shallow the wrapper adds no leverage; the caller has to know about `Wrapper` AND `x`.
46
+ - `Array.sort()` is deep - one method name hides ~50 lines of comparison-sort logic plus stable-ordering guarantees.
47
+ - `class Wrapper { getX() { return this.x; } }` is shallow - the wrapper adds no use; the caller has to know about `Wrapper` AND `x`.
48
48
  - Asymmetry in the caller's favor is the goal. Shallow modules cost the caller mental complexity without paying it back.
49
- - See `./component-authoring.md` "Minimal API" a 1-prop `<Image src=... />` that handles preload, lazy load, srcset, blur placeholder, error fallback is the depth principle applied to component design.
49
+ - See `./component-authoring.md` "Minimal API" - a 1-prop `<Image src=... />` that handles preload, lazy load, srcset, blur placeholder, error fallback is the depth principle applied to component design.
50
50
 
51
51
  ## Seam
52
52
 
53
- The boundary where two abstractions meet where one module's interface is consumed by another. Seams are where you can replace one side without touching the other.
53
+ The boundary where two abstractions meet - where one module's interface is consumed by another. Seams are where you can replace one side without touching the other.
54
54
 
55
- - **Hypothetical seam.** Only one implementation exists behind the boundary. Nothing yet validates the abstraction is meaningful the seam is a possibility statement.
56
- - **Real seam.** Two or more implementations exist; the boundary has been proved load-bearing by actual substitution. The seam is evidence.
55
+ - **Hypothetical seam.** Only one implementation exists behind the boundary. Nothing yet validates the abstraction is meaningful - the seam is a possibility statement.
56
+ - **Real seam.** Two or more implementations exist; the boundary has been proved essential by actual substitution. The seam is evidence.
57
57
  - "One adapter = hypothetical seam; two adapters = real seam." See `## Principles` below.
58
58
  - A `fetchUser` function backed only by Postgres is hypothetical; once a test double + a Postgres impl coexist, the seam is real.
59
59
 
@@ -61,42 +61,42 @@ The boundary where two abstractions meet — where one module's interface is con
61
61
 
62
62
  A module that transforms one interface into another to enable substitution behind a seam. Adapters create seams; the count of distinct adapters approximates the seam's realism.
63
63
 
64
- - A Redux-to-Zustand adapter exposes Redux's `store.dispatch` while wrapping a Zustand store underneath callers keep their Redux API; the implementation moved.
64
+ - A Redux-to-Zustand adapter exposes Redux's `store.dispatch` while wrapping a Zustand store underneath - callers keep their Redux API; the implementation moved.
65
65
  - A design-token theme is an adapter: it transforms one token contract (`--color-bg`) into specific concrete values (`oklch(98% 0 0)` in light theme, `oklch(15% 0 0)` in dark).
66
- - An `acp-client` plus an `asp-client` are two adapters over the same "peer-CLI" seam the second one proves the seam is meaningful (Phase 27).
66
+ - An `acp-client` plus an `asp-client` are two adapters over the same "peer-CLI" seam - the second one proves the seam is meaningful (Phase 27).
67
67
 
68
- ## Leverage
68
+ ## Use
69
69
 
70
- The ratio of work-the-system-does to interface-the-caller-touches. High leverage = high depth = the caller buys a lot of work for a little API. Architectural choices that maximize leverage reduce future cost across all callers.
70
+ The ratio of work-the-system-does to interface-the-caller-touches. High use = high depth = the caller buys a lot of work for a little API. Architectural choices that maximize use reduce future cost across all callers.
71
71
 
72
- - `<Image />` with a `src` prop that handles preload, lazy load, srcset generation, blur placeholder, error fallback high leverage from a 1-prop API. Every caller benefits.
73
- - A 5-prop `<Button variant size leftIcon rightIcon onClick />` that only renders a styled `<button>` low leverage; the caller is still doing most of the configuration work.
74
- - Leverage compounds. A high-leverage primitive used by 20 components multiplies the original investment 20×.
72
+ - `<Image />` with a `src` prop that handles preload, lazy load, srcset generation, blur placeholder, error fallback - high use from a 1-prop API. Every caller benefits.
73
+ - A 5-prop `<Button variant size leftIcon rightIcon onClick />` that only renders a styled `<button>` - low use; the caller is still doing most of the configuration work.
74
+ - Use compounds. A high-impact primitive used by 20 components multiplies the original investment 20×.
75
75
 
76
76
  ## Locality
77
77
 
78
- Related changes happen in the same place; unrelated changes do not ripple. Spatial cohesion of the change footprint. Locality is what makes a codebase "easy to modify" you can find the thing and change just the thing.
78
+ Related changes happen in the same place; unrelated changes do not ripple. Spatial cohesion of the change footprint. Locality is what makes a codebase "easy to modify" - you can find the thing and change just the thing.
79
79
 
80
80
  - Healthy: adding a new chart type touches `chart-types/<new-type>.ts` only.
81
81
  - Broken: adding a new chart type touches `chart-types.ts` AND `chart-renderer.ts` AND `chart-config.ts` AND `chart-styles.css` AND `chart-icons.svg`. The system is forcing the author to remember 5 files for a 1-concept change.
82
- - Test it with the **deletion test** (see `## Principles`) if removing the feature requires touching the same N files, locality is asymmetric and the abstraction is leaking.
82
+ - Test it with the **deletion test** (see `## Principles`) - if removing the feature requires touching the same N files, locality is asymmetric and the abstraction is leaking.
83
83
 
84
84
  ## Principles
85
85
 
86
- Three load-bearing rules that operationalize the vocabulary above. Each one is a question you can ask during review.
86
+ Three essential rules that operationalize the vocabulary above. Each one is a question you can ask during review.
87
87
 
88
- - **Deletion test.** Can you delete the implementation and the interface still tells callers what they could do? If yes, the interface is well-defined and the module is properly encapsulated. If no, the interface is leaking implementation callers are reaching past the abstraction. Apply this when reviewing a new module: imagine deleting the body; can a reader still describe the surface from the signature alone?
89
- - **Interface is the test surface.** Tests target the interface; implementation churn does not churn tests. If a refactor that preserves behavior breaks tests, the test was implementation-coupled fix the test, not the refactor. This is also the diagnostic for whether you have a real interface at all: if you cannot test through it, the interface is too narrow or the implementation is leaking.
90
- - **One adapter = hypothetical seam; two adapters = real seam.** One substitution is a possibility statement; two substitutions are evidence the boundary is meaningful. Do not over-design seams without ≥2 implementations the second one teaches you what the seam actually needs. This is YAGNI for boundaries: ship the first impl, extract the seam when the second one arrives.
88
+ - **Deletion test.** Can you delete the implementation and the interface still tells callers what they could do? If yes, the interface is well-defined and the module is properly encapsulated. If no, the interface is leaking implementation - callers are reaching past the abstraction. Apply this when reviewing a new module: imagine deleting the body; can a reader still describe the surface from the signature alone?
89
+ - **Interface is the test surface.** Tests target the interface; implementation churn does not churn tests. If a refactor that preserves behavior breaks tests, the test was implementation-coupled - fix the test, not the refactor. This is also the diagnostic for whether you have a real interface at all: if you cannot test through it, the interface is too narrow or the implementation is leaking.
90
+ - **One adapter = hypothetical seam; two adapters = real seam.** One substitution is a possibility statement; two substitutions are evidence the boundary is meaningful. Do not over-design seams without ≥2 implementations - the second one teaches you what the seam actually needs. This is YAGNI for boundaries: ship the first impl, extract the seam when the second one arrives.
91
91
 
92
92
  ## How this applies to skill authoring
93
93
 
94
- Skills are modules. The frontmatter (`name`, `description`, `tags`) plus the workflow signature is the interface; the SKILL.md body is the implementation. A deep skill has a small, predictable interface (clear when to invoke, clear output shape) hiding genuine workflow value. A shallow skill is one whose body adds little beyond what the frontmatter already implies those skills should be either deepened or deleted. The skill-authoring contract's 100-line cap is the depth principle applied to skills: if the implementation cannot fit in 100 lines, either the workflow is too broad (split it) or supporting domain content should move to `reference/*.md` (extract-then-link, D-10). See `./skill-authoring-contract.md` for the full spec.
94
+ Skills are modules. The frontmatter (`name`, `description`, `tags`) plus the workflow signature is the interface; the SKILL.md body is the implementation. A deep skill has a small, predictable interface (clear when to invoke, clear output shape) hiding genuine workflow value. A shallow skill is one whose body adds little beyond what the frontmatter already implies - those skills should be either deepened or deleted. The skill-authoring contract's 100-line cap is the depth principle applied to skills: if the implementation cannot fit in 100 lines, either the workflow is too broad (split it) or supporting domain content should move to `reference/*.md` (extract-then-link, D-10). See `./skill-authoring-contract.md` for the full spec.
95
95
 
96
96
  ## Cross-references
97
97
 
98
- - Design-system-level analog component-as-module, design-token-as-interface: see `./design-system-guidance.md`.
99
- - Component-library-level analog the 6-principle quality standard (Minimal API, Composability, ...): see `./component-authoring.md`.
100
- - Skill-authoring application extract-then-link, 100-line cap, refs-one-level-deep: see `./skill-authoring-contract.md`.
98
+ - Design-system-level analog - component-as-module, design-token-as-interface: see `./design-system-guidance.md`.
99
+ - Component-library-level analog - the 6-principle quality standard (Minimal API, Composability, ...): see `./component-authoring.md`.
100
+ - Skill-authoring application - extract-then-link, 100-line cap, refs-one-level-deep: see `./skill-authoring-contract.md`.
101
101
  - `CONTEXT.md` glossary format (project-scoped ubiquitous language alongside this vocabulary): see `./context-md-format.md`.
102
102
  - ADR format (heavier project-scoped decisions about architectural seams): see `./adr-format.md`.
@@ -8,7 +8,7 @@ Use during Discover (establishing baseline) and Verify (measuring improvement).
8
8
 
9
9
  | Level | Code | Impact | Action |
10
10
  |---|---|---|---|
11
- | Blocker | **P0** | Breaks functionality or violates a hard requirement | Fix before shipping no exceptions |
11
+ | Blocker | **P0** | Breaks functionality or violates a hard requirement | Fix before shipping - no exceptions |
12
12
  | Major | **P1** | Significantly degrades UX or fails accessibility standard | Fix in this design pass |
13
13
  | Minor | **P2** | Noticeable issue but doesn't break flows | Fix if time allows |
14
14
  | Cosmetic | **P3** | Polish item only, subjective quality issue | Deferred to polish pass |
@@ -24,10 +24,10 @@ Score each category 0–10. Overall score = weighted average.
24
24
  | Score | Criteria |
25
25
  |---|---|
26
26
  | 10 | All WCAG 2.1 AA criteria pass. Keyboard nav works end-to-end. Focus rings visible. No color-only meaning. |
27
- | 8–9 | Minor issues 1–2 non-critical violations, no contrast failures on primary text |
28
- | 5–7 | Several violations contrast issues on secondary text, some missing labels |
29
- | 3–4 | Multiple failures some interactive elements inaccessible, missing alt text |
30
- | 0–2 | Critical failures primary text fails contrast, keyboard nav broken, missing form labels |
27
+ | 8–9 | Minor issues - 1–2 non-critical violations, no contrast failures on primary text |
28
+ | 5–7 | Several violations - contrast issues on secondary text, some missing labels |
29
+ | 3–4 | Multiple failures - some interactive elements inaccessible, missing alt text |
30
+ | 0–2 | Critical failures - primary text fails contrast, keyboard nav broken, missing form labels |
31
31
 
32
32
  Auto-checkable:
33
33
  - Body text contrast ≥ 4.5:1
@@ -73,7 +73,7 @@ grep -rEn "(padding|margin|gap):\s*(8|12|16)px" src/ --include="*.css" 2>/dev/nu
73
73
  grep -rEn "(margin-top|margin-bottom|gap):\s*(32|40|48|64)px" src/ --include="*.css" 2>/dev/null | head -5
74
74
  ```
75
75
 
76
- These patterns supplement the qualitative rubric above they cannot replace
76
+ These patterns supplement the qualitative rubric above - they cannot replace
77
77
  visual inspection but reduce false positives during automated audit passes.
78
78
 
79
79
  ### 3. Typography (Weight: 15%)
@@ -162,11 +162,11 @@ Score = (Accessibility × 0.25)
162
162
 
163
163
  | Grade | Score | Meaning |
164
164
  |---|---|---|
165
- | A | 90–100 | Excellent production ready |
166
- | B | 75–89 | Good minor polish needed |
167
- | C | 60–74 | Acceptable notable issues to address |
168
- | D | 45–59 | Poor significant redesign needed |
169
- | F | 0–44 | Failing fundamental problems |
165
+ | A | 90–100 | Excellent - production ready |
166
+ | B | 75–89 | Good - minor polish needed |
167
+ | C | 60–74 | Acceptable - notable issues to address |
168
+ | D | 45–59 | Poor - significant redesign needed |
169
+ | F | 0–44 | Failing - fundamental problems |
170
170
 
171
171
  ---
172
172
 
@@ -226,7 +226,7 @@ Check for (see `reference/checklists.md` Micro-Polish Check gate):
226
226
  - Font smoothing at `:root` only
227
227
  - Dynamic numbers: `font-variant-numeric: tabular-nums`
228
228
  - Nested elements: concentric radius (`innerRadius = outerRadius − padding`)
229
- - Images: `outline: 1px solid rgba(0,0,0,0.08)` no tinted outlines
229
+ - Images: `outline: 1px solid rgba(0,0,0,0.08)` - no tinted outlines
230
230
  - Interactive elements <40px: `::after` hit-area extension to 40×40
231
231
  - Press feedback: `scale(0.96)` exactly
232
232
  - `AnimatePresence` on persistent UI: `initial={false}`
@@ -239,7 +239,7 @@ Check for (see `reference/checklists.md` Micro-Polish Check gate):
239
239
 
240
240
  ## Lens-Tags (Orthogonal)
241
241
 
242
- Tags auditors attach to findings under existing pillars to record cross-cutting dimensions without changing the pillar structure or weights. Same orthogonal pattern as Phase 19.6 `emotion_levels` and `authoring_principles`. Adding a lens-tag does NOT change pillar weights, scoring math, or audit output format it is a label on an existing finding.
242
+ Tags auditors attach to findings under existing pillars to record cross-cutting dimensions without changing the pillar structure or weights. Same orthogonal pattern as Phase 19.6 `emotion_levels` and `authoring_principles`. Adding a lens-tag does NOT change pillar weights, scoring math, or audit output format - it is a label on an existing finding.
243
243
 
244
244
  ### `composition_alignment`
245
245