pm-workflow-studio 0.1.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 (592) hide show
  1. package/.claude/CLAUDE.md +31 -0
  2. package/.claude/agents/demand-analyst.md +26 -0
  3. package/.claude/agents/dev-planner.md +22 -0
  4. package/.claude/agents/product-manager.md +25 -0
  5. package/.claude/agents/quality-reviewer.md +31 -0
  6. package/.claude/agents/tech-architect.md +22 -0
  7. package/.claude/agents/ui-designer.md +39 -0
  8. package/.claude/commands/pm-workflow/analyze.md +6 -0
  9. package/.claude/commands/pm-workflow/architect.md +6 -0
  10. package/.claude/commands/pm-workflow/deliver.md +6 -0
  11. package/.claude/commands/pm-workflow/design.md +6 -0
  12. package/.claude/commands/pm-workflow/help.md +6 -0
  13. package/.claude/commands/pm-workflow/init.md +8 -0
  14. package/.claude/commands/pm-workflow/plan.md +6 -0
  15. package/.claude/commands/pm-workflow/review.md +6 -0
  16. package/.claude/commands/pm-workflow/status.md +6 -0
  17. package/.claude/commands/pm-workflow.md +13 -0
  18. package/.claude/settings.json +15 -0
  19. package/.claude/skills/demand-analysis/SKILL.md +50 -0
  20. package/.claude/skills/demand-analysis/templates/handoff-prd.md +39 -0
  21. package/.claude/skills/demand-analysis/templates/prd.md +85 -0
  22. package/.claude/skills/dev-task-planning/SKILL.md +37 -0
  23. package/.claude/skills/dev-task-planning/templates/dev-tasks.md +54 -0
  24. package/.claude/skills/impeccable/SKILL.md +169 -0
  25. package/.claude/skills/impeccable/reference/adapt.md +190 -0
  26. package/.claude/skills/impeccable/reference/animate.md +175 -0
  27. package/.claude/skills/impeccable/reference/audit.md +133 -0
  28. package/.claude/skills/impeccable/reference/bolder.md +113 -0
  29. package/.claude/skills/impeccable/reference/brand.md +118 -0
  30. package/.claude/skills/impeccable/reference/clarify.md +174 -0
  31. package/.claude/skills/impeccable/reference/codex.md +105 -0
  32. package/.claude/skills/impeccable/reference/cognitive-load.md +106 -0
  33. package/.claude/skills/impeccable/reference/color-and-contrast.md +105 -0
  34. package/.claude/skills/impeccable/reference/colorize.md +154 -0
  35. package/.claude/skills/impeccable/reference/craft.md +123 -0
  36. package/.claude/skills/impeccable/reference/critique.md +236 -0
  37. package/.claude/skills/impeccable/reference/delight.md +302 -0
  38. package/.claude/skills/impeccable/reference/distill.md +111 -0
  39. package/.claude/skills/impeccable/reference/document.md +427 -0
  40. package/.claude/skills/impeccable/reference/extract.md +69 -0
  41. package/.claude/skills/impeccable/reference/harden.md +347 -0
  42. package/.claude/skills/impeccable/reference/heuristics-scoring.md +234 -0
  43. package/.claude/skills/impeccable/reference/interaction-design.md +195 -0
  44. package/.claude/skills/impeccable/reference/layout.md +141 -0
  45. package/.claude/skills/impeccable/reference/live.md +622 -0
  46. package/.claude/skills/impeccable/reference/motion-design.md +109 -0
  47. package/.claude/skills/impeccable/reference/onboard.md +234 -0
  48. package/.claude/skills/impeccable/reference/optimize.md +258 -0
  49. package/.claude/skills/impeccable/reference/overdrive.md +130 -0
  50. package/.claude/skills/impeccable/reference/personas.md +179 -0
  51. package/.claude/skills/impeccable/reference/polish.md +242 -0
  52. package/.claude/skills/impeccable/reference/product.md +62 -0
  53. package/.claude/skills/impeccable/reference/quieter.md +99 -0
  54. package/.claude/skills/impeccable/reference/responsive-design.md +114 -0
  55. package/.claude/skills/impeccable/reference/shape.md +165 -0
  56. package/.claude/skills/impeccable/reference/spatial-design.md +100 -0
  57. package/.claude/skills/impeccable/reference/teach.md +156 -0
  58. package/.claude/skills/impeccable/reference/typeset.md +124 -0
  59. package/.claude/skills/impeccable/reference/typography.md +159 -0
  60. package/.claude/skills/impeccable/reference/ux-writing.md +107 -0
  61. package/.claude/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  62. package/.claude/skills/impeccable/scripts/command-metadata.json +94 -0
  63. package/.claude/skills/impeccable/scripts/critique-storage.mjs +242 -0
  64. package/.claude/skills/impeccable/scripts/design-parser.mjs +820 -0
  65. package/.claude/skills/impeccable/scripts/detect-csp.mjs +198 -0
  66. package/.claude/skills/impeccable/scripts/detect.mjs +21 -0
  67. package/.claude/skills/impeccable/scripts/detector/browser/injected/index.mjs +1688 -0
  68. package/.claude/skills/impeccable/scripts/detector/cli/main.mjs +232 -0
  69. package/.claude/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +4030 -0
  70. package/.claude/skills/impeccable/scripts/detector/detect-antipatterns.mjs +43 -0
  71. package/.claude/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +251 -0
  72. package/.claude/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +420 -0
  73. package/.claude/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +954 -0
  74. package/.claude/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +174 -0
  75. package/.claude/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
  76. package/.claude/skills/impeccable/scripts/detector/findings.mjs +12 -0
  77. package/.claude/skills/impeccable/scripts/detector/node/file-system.mjs +198 -0
  78. package/.claude/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
  79. package/.claude/skills/impeccable/scripts/detector/registry/antipatterns.mjs +278 -0
  80. package/.claude/skills/impeccable/scripts/detector/rules/checks.mjs +1948 -0
  81. package/.claude/skills/impeccable/scripts/detector/shared/color.mjs +124 -0
  82. package/.claude/skills/impeccable/scripts/detector/shared/constants.mjs +101 -0
  83. package/.claude/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
  84. package/.claude/skills/impeccable/scripts/impeccable-paths.mjs +110 -0
  85. package/.claude/skills/impeccable/scripts/is-generated.mjs +69 -0
  86. package/.claude/skills/impeccable/scripts/live-accept.mjs +595 -0
  87. package/.claude/skills/impeccable/scripts/live-browser-session.js +123 -0
  88. package/.claude/skills/impeccable/scripts/live-browser.js +4860 -0
  89. package/.claude/skills/impeccable/scripts/live-complete.mjs +75 -0
  90. package/.claude/skills/impeccable/scripts/live-completion.mjs +18 -0
  91. package/.claude/skills/impeccable/scripts/live-inject.mjs +446 -0
  92. package/.claude/skills/impeccable/scripts/live-poll.mjs +200 -0
  93. package/.claude/skills/impeccable/scripts/live-resume.mjs +48 -0
  94. package/.claude/skills/impeccable/scripts/live-server.mjs +838 -0
  95. package/.claude/skills/impeccable/scripts/live-session-store.mjs +254 -0
  96. package/.claude/skills/impeccable/scripts/live-status.mjs +47 -0
  97. package/.claude/skills/impeccable/scripts/live-wrap.mjs +632 -0
  98. package/.claude/skills/impeccable/scripts/live.mjs +247 -0
  99. package/.claude/skills/impeccable/scripts/load-context.mjs +141 -0
  100. package/.claude/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  101. package/.claude/skills/impeccable/scripts/pin.mjs +214 -0
  102. package/.claude/skills/pm-workflow/SKILL.md +371 -0
  103. package/.claude/skills/pm-workflow/assets/design-themes/README.md +56 -0
  104. package/.claude/skills/pm-workflow/assets/design-themes/open-design/OPEN_DESIGN_COMMIT +1 -0
  105. package/.claude/skills/pm-workflow/assets/design-themes/open-design/OPEN_DESIGN_IMPORT.md +28 -0
  106. package/.claude/skills/pm-workflow/assets/design-themes/open-design/OPEN_DESIGN_LICENSE +201 -0
  107. package/.claude/skills/pm-workflow/assets/design-themes/open-design/README.md +103 -0
  108. package/.claude/skills/pm-workflow/assets/design-themes/open-design/agentic/DESIGN.md +71 -0
  109. package/.claude/skills/pm-workflow/assets/design-themes/open-design/airbnb/DESIGN.md +393 -0
  110. package/.claude/skills/pm-workflow/assets/design-themes/open-design/airbnb/examples.html +23 -0
  111. package/.claude/skills/pm-workflow/assets/design-themes/open-design/airtable/DESIGN.md +92 -0
  112. package/.claude/skills/pm-workflow/assets/design-themes/open-design/apple/DESIGN.md +250 -0
  113. package/.claude/skills/pm-workflow/assets/design-themes/open-design/apple/examples.html +23 -0
  114. package/.claude/skills/pm-workflow/assets/design-themes/open-design/application/DESIGN.md +71 -0
  115. package/.claude/skills/pm-workflow/assets/design-themes/open-design/arc/DESIGN.md +152 -0
  116. package/.claude/skills/pm-workflow/assets/design-themes/open-design/artistic/DESIGN.md +71 -0
  117. package/.claude/skills/pm-workflow/assets/design-themes/open-design/atelier-zero/DESIGN.md +316 -0
  118. package/.claude/skills/pm-workflow/assets/design-themes/open-design/bento/DESIGN.md +71 -0
  119. package/.claude/skills/pm-workflow/assets/design-themes/open-design/binance/DESIGN.md +348 -0
  120. package/.claude/skills/pm-workflow/assets/design-themes/open-design/bmw/DESIGN.md +183 -0
  121. package/.claude/skills/pm-workflow/assets/design-themes/open-design/bmw-m/DESIGN.md +246 -0
  122. package/.claude/skills/pm-workflow/assets/design-themes/open-design/bold/DESIGN.md +71 -0
  123. package/.claude/skills/pm-workflow/assets/design-themes/open-design/brutalism/DESIGN.md +71 -0
  124. package/.claude/skills/pm-workflow/assets/design-themes/open-design/bugatti/DESIGN.md +271 -0
  125. package/.claude/skills/pm-workflow/assets/design-themes/open-design/cafe/DESIGN.md +71 -0
  126. package/.claude/skills/pm-workflow/assets/design-themes/open-design/cal/DESIGN.md +262 -0
  127. package/.claude/skills/pm-workflow/assets/design-themes/open-design/canva/DESIGN.md +157 -0
  128. package/.claude/skills/pm-workflow/assets/design-themes/open-design/cisco/DESIGN.md +201 -0
  129. package/.claude/skills/pm-workflow/assets/design-themes/open-design/claude/DESIGN.md +315 -0
  130. package/.claude/skills/pm-workflow/assets/design-themes/open-design/clay/DESIGN.md +307 -0
  131. package/.claude/skills/pm-workflow/assets/design-themes/open-design/claymorphism/DESIGN.md +71 -0
  132. package/.claude/skills/pm-workflow/assets/design-themes/open-design/clean/DESIGN.md +71 -0
  133. package/.claude/skills/pm-workflow/assets/design-themes/open-design/clickhouse/DESIGN.md +284 -0
  134. package/.claude/skills/pm-workflow/assets/design-themes/open-design/cohere/DESIGN.md +269 -0
  135. package/.claude/skills/pm-workflow/assets/design-themes/open-design/coinbase/DESIGN.md +132 -0
  136. package/.claude/skills/pm-workflow/assets/design-themes/open-design/colorful/DESIGN.md +71 -0
  137. package/.claude/skills/pm-workflow/assets/design-themes/open-design/composio/DESIGN.md +310 -0
  138. package/.claude/skills/pm-workflow/assets/design-themes/open-design/contemporary/DESIGN.md +71 -0
  139. package/.claude/skills/pm-workflow/assets/design-themes/open-design/corporate/DESIGN.md +71 -0
  140. package/.claude/skills/pm-workflow/assets/design-themes/open-design/cosmic/DESIGN.md +71 -0
  141. package/.claude/skills/pm-workflow/assets/design-themes/open-design/creative/DESIGN.md +71 -0
  142. package/.claude/skills/pm-workflow/assets/design-themes/open-design/cursor/DESIGN.md +312 -0
  143. package/.claude/skills/pm-workflow/assets/design-themes/open-design/dashboard/DESIGN.md +71 -0
  144. package/.claude/skills/pm-workflow/assets/design-themes/open-design/default/DESIGN.md +62 -0
  145. package/.claude/skills/pm-workflow/assets/design-themes/open-design/discord/DESIGN.md +162 -0
  146. package/.claude/skills/pm-workflow/assets/design-themes/open-design/dithered/DESIGN.md +71 -0
  147. package/.claude/skills/pm-workflow/assets/design-themes/open-design/doodle/DESIGN.md +71 -0
  148. package/.claude/skills/pm-workflow/assets/design-themes/open-design/dramatic/DESIGN.md +71 -0
  149. package/.claude/skills/pm-workflow/assets/design-themes/open-design/duolingo/DESIGN.md +154 -0
  150. package/.claude/skills/pm-workflow/assets/design-themes/open-design/editorial/DESIGN.md +71 -0
  151. package/.claude/skills/pm-workflow/assets/design-themes/open-design/elegant/DESIGN.md +71 -0
  152. package/.claude/skills/pm-workflow/assets/design-themes/open-design/elevenlabs/DESIGN.md +268 -0
  153. package/.claude/skills/pm-workflow/assets/design-themes/open-design/energetic/DESIGN.md +72 -0
  154. package/.claude/skills/pm-workflow/assets/design-themes/open-design/enterprise/DESIGN.md +71 -0
  155. package/.claude/skills/pm-workflow/assets/design-themes/open-design/expo/DESIGN.md +284 -0
  156. package/.claude/skills/pm-workflow/assets/design-themes/open-design/expressive/DESIGN.md +71 -0
  157. package/.claude/skills/pm-workflow/assets/design-themes/open-design/fantasy/DESIGN.md +71 -0
  158. package/.claude/skills/pm-workflow/assets/design-themes/open-design/ferrari/DESIGN.md +317 -0
  159. package/.claude/skills/pm-workflow/assets/design-themes/open-design/figma/DESIGN.md +223 -0
  160. package/.claude/skills/pm-workflow/assets/design-themes/open-design/flat/DESIGN.md +71 -0
  161. package/.claude/skills/pm-workflow/assets/design-themes/open-design/framer/DESIGN.md +249 -0
  162. package/.claude/skills/pm-workflow/assets/design-themes/open-design/friendly/DESIGN.md +71 -0
  163. package/.claude/skills/pm-workflow/assets/design-themes/open-design/futuristic/DESIGN.md +71 -0
  164. package/.claude/skills/pm-workflow/assets/design-themes/open-design/glassmorphism/DESIGN.md +71 -0
  165. package/.claude/skills/pm-workflow/assets/design-themes/open-design/gradient/DESIGN.md +71 -0
  166. package/.claude/skills/pm-workflow/assets/design-themes/open-design/hashicorp/DESIGN.md +281 -0
  167. package/.claude/skills/pm-workflow/assets/design-themes/open-design/hud/DESIGN.md +173 -0
  168. package/.claude/skills/pm-workflow/assets/design-themes/open-design/huggingface/DESIGN.md +149 -0
  169. package/.claude/skills/pm-workflow/assets/design-themes/open-design/huggingface/examples.html +11 -0
  170. package/.claude/skills/pm-workflow/assets/design-themes/open-design/intercom/DESIGN.md +149 -0
  171. package/.claude/skills/pm-workflow/assets/design-themes/open-design/kami/DESIGN.md +410 -0
  172. package/.claude/skills/pm-workflow/assets/design-themes/open-design/kraken/DESIGN.md +128 -0
  173. package/.claude/skills/pm-workflow/assets/design-themes/open-design/lamborghini/DESIGN.md +291 -0
  174. package/.claude/skills/pm-workflow/assets/design-themes/open-design/levels/DESIGN.md +71 -0
  175. package/.claude/skills/pm-workflow/assets/design-themes/open-design/linear-app/DESIGN.md +370 -0
  176. package/.claude/skills/pm-workflow/assets/design-themes/open-design/linear-app/examples.html +56 -0
  177. package/.claude/skills/pm-workflow/assets/design-themes/open-design/lingo/DESIGN.md +71 -0
  178. package/.claude/skills/pm-workflow/assets/design-themes/open-design/loom/DESIGN.md +201 -0
  179. package/.claude/skills/pm-workflow/assets/design-themes/open-design/lovable/DESIGN.md +301 -0
  180. package/.claude/skills/pm-workflow/assets/design-themes/open-design/luxury/DESIGN.md +71 -0
  181. package/.claude/skills/pm-workflow/assets/design-themes/open-design/mastercard/DESIGN.md +368 -0
  182. package/.claude/skills/pm-workflow/assets/design-themes/open-design/material/DESIGN.md +71 -0
  183. package/.claude/skills/pm-workflow/assets/design-themes/open-design/material/examples.html +11 -0
  184. package/.claude/skills/pm-workflow/assets/design-themes/open-design/meta/DESIGN.md +369 -0
  185. package/.claude/skills/pm-workflow/assets/design-themes/open-design/minimal/DESIGN.md +71 -0
  186. package/.claude/skills/pm-workflow/assets/design-themes/open-design/minimax/DESIGN.md +260 -0
  187. package/.claude/skills/pm-workflow/assets/design-themes/open-design/mintlify/DESIGN.md +329 -0
  188. package/.claude/skills/pm-workflow/assets/design-themes/open-design/miro/DESIGN.md +111 -0
  189. package/.claude/skills/pm-workflow/assets/design-themes/open-design/mission-control/DESIGN.md +474 -0
  190. package/.claude/skills/pm-workflow/assets/design-themes/open-design/mistral-ai/DESIGN.md +264 -0
  191. package/.claude/skills/pm-workflow/assets/design-themes/open-design/modern/DESIGN.md +71 -0
  192. package/.claude/skills/pm-workflow/assets/design-themes/open-design/mongodb/DESIGN.md +269 -0
  193. package/.claude/skills/pm-workflow/assets/design-themes/open-design/mongodb/examples.html +14 -0
  194. package/.claude/skills/pm-workflow/assets/design-themes/open-design/mono/DESIGN.md +71 -0
  195. package/.claude/skills/pm-workflow/assets/design-themes/open-design/neobrutalism/DESIGN.md +71 -0
  196. package/.claude/skills/pm-workflow/assets/design-themes/open-design/neon/DESIGN.md +71 -0
  197. package/.claude/skills/pm-workflow/assets/design-themes/open-design/neumorphism/DESIGN.md +71 -0
  198. package/.claude/skills/pm-workflow/assets/design-themes/open-design/nike/DESIGN.md +366 -0
  199. package/.claude/skills/pm-workflow/assets/design-themes/open-design/notion/DESIGN.md +312 -0
  200. package/.claude/skills/pm-workflow/assets/design-themes/open-design/notion/examples.html +64 -0
  201. package/.claude/skills/pm-workflow/assets/design-themes/open-design/nvidia/DESIGN.md +296 -0
  202. package/.claude/skills/pm-workflow/assets/design-themes/open-design/ollama/DESIGN.md +270 -0
  203. package/.claude/skills/pm-workflow/assets/design-themes/open-design/openai/DESIGN.md +140 -0
  204. package/.claude/skills/pm-workflow/assets/design-themes/open-design/openai/examples.html +14 -0
  205. package/.claude/skills/pm-workflow/assets/design-themes/open-design/opencode-ai/DESIGN.md +284 -0
  206. package/.claude/skills/pm-workflow/assets/design-themes/open-design/pacman/DESIGN.md +71 -0
  207. package/.claude/skills/pm-workflow/assets/design-themes/open-design/paper/DESIGN.md +71 -0
  208. package/.claude/skills/pm-workflow/assets/design-themes/open-design/perspective/DESIGN.md +71 -0
  209. package/.claude/skills/pm-workflow/assets/design-themes/open-design/pinterest/DESIGN.md +233 -0
  210. package/.claude/skills/pm-workflow/assets/design-themes/open-design/playstation/DESIGN.md +367 -0
  211. package/.claude/skills/pm-workflow/assets/design-themes/open-design/posthog/DESIGN.md +259 -0
  212. package/.claude/skills/pm-workflow/assets/design-themes/open-design/premium/DESIGN.md +71 -0
  213. package/.claude/skills/pm-workflow/assets/design-themes/open-design/professional/DESIGN.md +71 -0
  214. package/.claude/skills/pm-workflow/assets/design-themes/open-design/publication/DESIGN.md +71 -0
  215. package/.claude/skills/pm-workflow/assets/design-themes/open-design/raycast/DESIGN.md +271 -0
  216. package/.claude/skills/pm-workflow/assets/design-themes/open-design/raycast/examples.html +11 -0
  217. package/.claude/skills/pm-workflow/assets/design-themes/open-design/refined/DESIGN.md +71 -0
  218. package/.claude/skills/pm-workflow/assets/design-themes/open-design/renault/DESIGN.md +314 -0
  219. package/.claude/skills/pm-workflow/assets/design-themes/open-design/replicate/DESIGN.md +264 -0
  220. package/.claude/skills/pm-workflow/assets/design-themes/open-design/resend/DESIGN.md +306 -0
  221. package/.claude/skills/pm-workflow/assets/design-themes/open-design/retro/DESIGN.md +71 -0
  222. package/.claude/skills/pm-workflow/assets/design-themes/open-design/revolut/DESIGN.md +188 -0
  223. package/.claude/skills/pm-workflow/assets/design-themes/open-design/runwayml/DESIGN.md +247 -0
  224. package/.claude/skills/pm-workflow/assets/design-themes/open-design/sanity/DESIGN.md +360 -0
  225. package/.claude/skills/pm-workflow/assets/design-themes/open-design/sentry/DESIGN.md +265 -0
  226. package/.claude/skills/pm-workflow/assets/design-themes/open-design/shadcn/DESIGN.md +71 -0
  227. package/.claude/skills/pm-workflow/assets/design-themes/open-design/shadcn/examples.html +24 -0
  228. package/.claude/skills/pm-workflow/assets/design-themes/open-design/shopify/DESIGN.md +353 -0
  229. package/.claude/skills/pm-workflow/assets/design-themes/open-design/shopify/examples.html +11 -0
  230. package/.claude/skills/pm-workflow/assets/design-themes/open-design/simple/DESIGN.md +71 -0
  231. package/.claude/skills/pm-workflow/assets/design-themes/open-design/skeumorphism/DESIGN.md +71 -0
  232. package/.claude/skills/pm-workflow/assets/design-themes/open-design/sleek/DESIGN.md +71 -0
  233. package/.claude/skills/pm-workflow/assets/design-themes/open-design/spacex/DESIGN.md +197 -0
  234. package/.claude/skills/pm-workflow/assets/design-themes/open-design/spacious/DESIGN.md +71 -0
  235. package/.claude/skills/pm-workflow/assets/design-themes/open-design/spotify/DESIGN.md +249 -0
  236. package/.claude/skills/pm-workflow/assets/design-themes/open-design/starbucks/DESIGN.md +583 -0
  237. package/.claude/skills/pm-workflow/assets/design-themes/open-design/storytelling/DESIGN.md +71 -0
  238. package/.claude/skills/pm-workflow/assets/design-themes/open-design/stripe/DESIGN.md +325 -0
  239. package/.claude/skills/pm-workflow/assets/design-themes/open-design/stripe/examples.html +58 -0
  240. package/.claude/skills/pm-workflow/assets/design-themes/open-design/supabase/DESIGN.md +258 -0
  241. package/.claude/skills/pm-workflow/assets/design-themes/open-design/supabase/examples.html +26 -0
  242. package/.claude/skills/pm-workflow/assets/design-themes/open-design/superhuman/DESIGN.md +255 -0
  243. package/.claude/skills/pm-workflow/assets/design-themes/open-design/tesla/DESIGN.md +289 -0
  244. package/.claude/skills/pm-workflow/assets/design-themes/open-design/tetris/DESIGN.md +71 -0
  245. package/.claude/skills/pm-workflow/assets/design-themes/open-design/theverge/DESIGN.md +342 -0
  246. package/.claude/skills/pm-workflow/assets/design-themes/open-design/together-ai/DESIGN.md +266 -0
  247. package/.claude/skills/pm-workflow/assets/design-themes/open-design/totality-festival/DESIGN.md +206 -0
  248. package/.claude/skills/pm-workflow/assets/design-themes/open-design/trading-terminal/DESIGN.md +178 -0
  249. package/.claude/skills/pm-workflow/assets/design-themes/open-design/uber/DESIGN.md +298 -0
  250. package/.claude/skills/pm-workflow/assets/design-themes/open-design/urdu/DESIGN.md +1002 -0
  251. package/.claude/skills/pm-workflow/assets/design-themes/open-design/vercel/DESIGN.md +313 -0
  252. package/.claude/skills/pm-workflow/assets/design-themes/open-design/vercel/examples.html +55 -0
  253. package/.claude/skills/pm-workflow/assets/design-themes/open-design/vibrant/DESIGN.md +71 -0
  254. package/.claude/skills/pm-workflow/assets/design-themes/open-design/vintage/DESIGN.md +71 -0
  255. package/.claude/skills/pm-workflow/assets/design-themes/open-design/vodafone/DESIGN.md +426 -0
  256. package/.claude/skills/pm-workflow/assets/design-themes/open-design/voltagent/DESIGN.md +326 -0
  257. package/.claude/skills/pm-workflow/assets/design-themes/open-design/warm-editorial/DESIGN.md +65 -0
  258. package/.claude/skills/pm-workflow/assets/design-themes/open-design/warp/DESIGN.md +256 -0
  259. package/.claude/skills/pm-workflow/assets/design-themes/open-design/webex/DESIGN.md +207 -0
  260. package/.claude/skills/pm-workflow/assets/design-themes/open-design/webflow/DESIGN.md +95 -0
  261. package/.claude/skills/pm-workflow/assets/design-themes/open-design/webflow/examples.html +11 -0
  262. package/.claude/skills/pm-workflow/assets/design-themes/open-design/wired/DESIGN.md +281 -0
  263. package/.claude/skills/pm-workflow/assets/design-themes/open-design/wise/DESIGN.md +176 -0
  264. package/.claude/skills/pm-workflow/assets/design-themes/open-design/x-ai/DESIGN.md +260 -0
  265. package/.claude/skills/pm-workflow/assets/design-themes/open-design/x-ai/examples.html +12 -0
  266. package/.claude/skills/pm-workflow/assets/design-themes/open-design/xiaohongshu/DESIGN.md +402 -0
  267. package/.claude/skills/pm-workflow/assets/design-themes/open-design/zapier/DESIGN.md +331 -0
  268. package/.claude/skills/pm-workflow/assets/design-themes/revenuecat/DESIGN.md +209 -0
  269. package/.claude/skills/pm-workflow/assets/design-themes/revenuecat/examples.html +122 -0
  270. package/.claude/skills/pm-workflow/assets/design-themes/vben/DESIGN.md +685 -0
  271. package/.claude/skills/pm-workflow/assets/design-themes/vben/examples.html +155 -0
  272. package/.claude/skills/pm-workflow/assets/vendor/flow-viewer/MERMAID_LICENSE +21 -0
  273. package/.claude/skills/pm-workflow/assets/vendor/flow-viewer/SVG_PAN_ZOOM_LICENSE +23 -0
  274. package/.claude/skills/pm-workflow/assets/vendor/flow-viewer/THIRD_PARTY_LICENSES.md +21 -0
  275. package/.claude/skills/pm-workflow/assets/vendor/flow-viewer/mermaid.min.js +3298 -0
  276. package/.claude/skills/pm-workflow/assets/vendor/flow-viewer/svg-pan-zoom.min.js +3 -0
  277. package/.claude/skills/pm-workflow/references/commands/analyze.md +39 -0
  278. package/.claude/skills/pm-workflow/references/commands/architect.md +41 -0
  279. package/.claude/skills/pm-workflow/references/commands/deliver.md +29 -0
  280. package/.claude/skills/pm-workflow/references/commands/design.md +92 -0
  281. package/.claude/skills/pm-workflow/references/commands/help.md +24 -0
  282. package/.claude/skills/pm-workflow/references/commands/init.md +40 -0
  283. package/.claude/skills/pm-workflow/references/commands/plan.md +41 -0
  284. package/.claude/skills/pm-workflow/references/commands/review.md +33 -0
  285. package/.claude/skills/pm-workflow/references/commands/status.md +20 -0
  286. package/.claude/skills/pm-workflow/scripts/package_delivery.js +195 -0
  287. package/.claude/skills/pm-workflow/scripts/review_stage.js +622 -0
  288. package/.claude/skills/quality-review/SKILL.md +49 -0
  289. package/.claude/skills/quality-review/templates/review-stage.md +39 -0
  290. package/.claude/skills/tech-architecture/SKILL.md +49 -0
  291. package/.claude/skills/tech-architecture/templates/handoff-architecture.md +28 -0
  292. package/.claude/skills/tech-architecture/templates/tech-architecture.md +54 -0
  293. package/.claude/skills/ui-prototype-design/SKILL.md +125 -0
  294. package/.claude/skills/ui-prototype-design/templates/handoff-ui.md +40 -0
  295. package/.claude/skills/ui-prototype-design/templates/prototype-review.md +57 -0
  296. package/.claude/skills/ui-prototype-design/templates/ui-design.md +142 -0
  297. package/.codex/SKILL.md +374 -0
  298. package/.codex/agents/demand-analyst.toml +87 -0
  299. package/.codex/agents/dev-planner.toml +47 -0
  300. package/.codex/agents/openai.yaml +4 -0
  301. package/.codex/agents/product-manager.toml +81 -0
  302. package/.codex/agents/quality-reviewer.toml +76 -0
  303. package/.codex/agents/tech-architect.toml +57 -0
  304. package/.codex/agents/ui-designer.toml +132 -0
  305. package/.codex/assets/design-themes/README.md +56 -0
  306. package/.codex/assets/design-themes/open-design/OPEN_DESIGN_COMMIT +1 -0
  307. package/.codex/assets/design-themes/open-design/OPEN_DESIGN_IMPORT.md +28 -0
  308. package/.codex/assets/design-themes/open-design/OPEN_DESIGN_LICENSE +201 -0
  309. package/.codex/assets/design-themes/open-design/README.md +103 -0
  310. package/.codex/assets/design-themes/open-design/agentic/DESIGN.md +71 -0
  311. package/.codex/assets/design-themes/open-design/airbnb/DESIGN.md +393 -0
  312. package/.codex/assets/design-themes/open-design/airbnb/examples.html +23 -0
  313. package/.codex/assets/design-themes/open-design/airtable/DESIGN.md +92 -0
  314. package/.codex/assets/design-themes/open-design/apple/DESIGN.md +250 -0
  315. package/.codex/assets/design-themes/open-design/apple/examples.html +23 -0
  316. package/.codex/assets/design-themes/open-design/application/DESIGN.md +71 -0
  317. package/.codex/assets/design-themes/open-design/arc/DESIGN.md +152 -0
  318. package/.codex/assets/design-themes/open-design/artistic/DESIGN.md +71 -0
  319. package/.codex/assets/design-themes/open-design/atelier-zero/DESIGN.md +316 -0
  320. package/.codex/assets/design-themes/open-design/bento/DESIGN.md +71 -0
  321. package/.codex/assets/design-themes/open-design/binance/DESIGN.md +348 -0
  322. package/.codex/assets/design-themes/open-design/bmw/DESIGN.md +183 -0
  323. package/.codex/assets/design-themes/open-design/bmw-m/DESIGN.md +246 -0
  324. package/.codex/assets/design-themes/open-design/bold/DESIGN.md +71 -0
  325. package/.codex/assets/design-themes/open-design/brutalism/DESIGN.md +71 -0
  326. package/.codex/assets/design-themes/open-design/bugatti/DESIGN.md +271 -0
  327. package/.codex/assets/design-themes/open-design/cafe/DESIGN.md +71 -0
  328. package/.codex/assets/design-themes/open-design/cal/DESIGN.md +262 -0
  329. package/.codex/assets/design-themes/open-design/canva/DESIGN.md +157 -0
  330. package/.codex/assets/design-themes/open-design/cisco/DESIGN.md +201 -0
  331. package/.codex/assets/design-themes/open-design/claude/DESIGN.md +315 -0
  332. package/.codex/assets/design-themes/open-design/clay/DESIGN.md +307 -0
  333. package/.codex/assets/design-themes/open-design/claymorphism/DESIGN.md +71 -0
  334. package/.codex/assets/design-themes/open-design/clean/DESIGN.md +71 -0
  335. package/.codex/assets/design-themes/open-design/clickhouse/DESIGN.md +284 -0
  336. package/.codex/assets/design-themes/open-design/cohere/DESIGN.md +269 -0
  337. package/.codex/assets/design-themes/open-design/coinbase/DESIGN.md +132 -0
  338. package/.codex/assets/design-themes/open-design/colorful/DESIGN.md +71 -0
  339. package/.codex/assets/design-themes/open-design/composio/DESIGN.md +310 -0
  340. package/.codex/assets/design-themes/open-design/contemporary/DESIGN.md +71 -0
  341. package/.codex/assets/design-themes/open-design/corporate/DESIGN.md +71 -0
  342. package/.codex/assets/design-themes/open-design/cosmic/DESIGN.md +71 -0
  343. package/.codex/assets/design-themes/open-design/creative/DESIGN.md +71 -0
  344. package/.codex/assets/design-themes/open-design/cursor/DESIGN.md +312 -0
  345. package/.codex/assets/design-themes/open-design/dashboard/DESIGN.md +71 -0
  346. package/.codex/assets/design-themes/open-design/default/DESIGN.md +62 -0
  347. package/.codex/assets/design-themes/open-design/discord/DESIGN.md +162 -0
  348. package/.codex/assets/design-themes/open-design/dithered/DESIGN.md +71 -0
  349. package/.codex/assets/design-themes/open-design/doodle/DESIGN.md +71 -0
  350. package/.codex/assets/design-themes/open-design/dramatic/DESIGN.md +71 -0
  351. package/.codex/assets/design-themes/open-design/duolingo/DESIGN.md +154 -0
  352. package/.codex/assets/design-themes/open-design/editorial/DESIGN.md +71 -0
  353. package/.codex/assets/design-themes/open-design/elegant/DESIGN.md +71 -0
  354. package/.codex/assets/design-themes/open-design/elevenlabs/DESIGN.md +268 -0
  355. package/.codex/assets/design-themes/open-design/energetic/DESIGN.md +72 -0
  356. package/.codex/assets/design-themes/open-design/enterprise/DESIGN.md +71 -0
  357. package/.codex/assets/design-themes/open-design/expo/DESIGN.md +284 -0
  358. package/.codex/assets/design-themes/open-design/expressive/DESIGN.md +71 -0
  359. package/.codex/assets/design-themes/open-design/fantasy/DESIGN.md +71 -0
  360. package/.codex/assets/design-themes/open-design/ferrari/DESIGN.md +317 -0
  361. package/.codex/assets/design-themes/open-design/figma/DESIGN.md +223 -0
  362. package/.codex/assets/design-themes/open-design/flat/DESIGN.md +71 -0
  363. package/.codex/assets/design-themes/open-design/framer/DESIGN.md +249 -0
  364. package/.codex/assets/design-themes/open-design/friendly/DESIGN.md +71 -0
  365. package/.codex/assets/design-themes/open-design/futuristic/DESIGN.md +71 -0
  366. package/.codex/assets/design-themes/open-design/glassmorphism/DESIGN.md +71 -0
  367. package/.codex/assets/design-themes/open-design/gradient/DESIGN.md +71 -0
  368. package/.codex/assets/design-themes/open-design/hashicorp/DESIGN.md +281 -0
  369. package/.codex/assets/design-themes/open-design/hud/DESIGN.md +173 -0
  370. package/.codex/assets/design-themes/open-design/huggingface/DESIGN.md +149 -0
  371. package/.codex/assets/design-themes/open-design/huggingface/examples.html +11 -0
  372. package/.codex/assets/design-themes/open-design/intercom/DESIGN.md +149 -0
  373. package/.codex/assets/design-themes/open-design/kami/DESIGN.md +410 -0
  374. package/.codex/assets/design-themes/open-design/kraken/DESIGN.md +128 -0
  375. package/.codex/assets/design-themes/open-design/lamborghini/DESIGN.md +291 -0
  376. package/.codex/assets/design-themes/open-design/levels/DESIGN.md +71 -0
  377. package/.codex/assets/design-themes/open-design/linear-app/DESIGN.md +370 -0
  378. package/.codex/assets/design-themes/open-design/linear-app/examples.html +56 -0
  379. package/.codex/assets/design-themes/open-design/lingo/DESIGN.md +71 -0
  380. package/.codex/assets/design-themes/open-design/loom/DESIGN.md +201 -0
  381. package/.codex/assets/design-themes/open-design/lovable/DESIGN.md +301 -0
  382. package/.codex/assets/design-themes/open-design/luxury/DESIGN.md +71 -0
  383. package/.codex/assets/design-themes/open-design/mastercard/DESIGN.md +368 -0
  384. package/.codex/assets/design-themes/open-design/material/DESIGN.md +71 -0
  385. package/.codex/assets/design-themes/open-design/material/examples.html +11 -0
  386. package/.codex/assets/design-themes/open-design/meta/DESIGN.md +369 -0
  387. package/.codex/assets/design-themes/open-design/minimal/DESIGN.md +71 -0
  388. package/.codex/assets/design-themes/open-design/minimax/DESIGN.md +260 -0
  389. package/.codex/assets/design-themes/open-design/mintlify/DESIGN.md +329 -0
  390. package/.codex/assets/design-themes/open-design/miro/DESIGN.md +111 -0
  391. package/.codex/assets/design-themes/open-design/mission-control/DESIGN.md +474 -0
  392. package/.codex/assets/design-themes/open-design/mistral-ai/DESIGN.md +264 -0
  393. package/.codex/assets/design-themes/open-design/modern/DESIGN.md +71 -0
  394. package/.codex/assets/design-themes/open-design/mongodb/DESIGN.md +269 -0
  395. package/.codex/assets/design-themes/open-design/mongodb/examples.html +14 -0
  396. package/.codex/assets/design-themes/open-design/mono/DESIGN.md +71 -0
  397. package/.codex/assets/design-themes/open-design/neobrutalism/DESIGN.md +71 -0
  398. package/.codex/assets/design-themes/open-design/neon/DESIGN.md +71 -0
  399. package/.codex/assets/design-themes/open-design/neumorphism/DESIGN.md +71 -0
  400. package/.codex/assets/design-themes/open-design/nike/DESIGN.md +366 -0
  401. package/.codex/assets/design-themes/open-design/notion/DESIGN.md +312 -0
  402. package/.codex/assets/design-themes/open-design/notion/examples.html +64 -0
  403. package/.codex/assets/design-themes/open-design/nvidia/DESIGN.md +296 -0
  404. package/.codex/assets/design-themes/open-design/ollama/DESIGN.md +270 -0
  405. package/.codex/assets/design-themes/open-design/openai/DESIGN.md +140 -0
  406. package/.codex/assets/design-themes/open-design/openai/examples.html +14 -0
  407. package/.codex/assets/design-themes/open-design/opencode-ai/DESIGN.md +284 -0
  408. package/.codex/assets/design-themes/open-design/pacman/DESIGN.md +71 -0
  409. package/.codex/assets/design-themes/open-design/paper/DESIGN.md +71 -0
  410. package/.codex/assets/design-themes/open-design/perspective/DESIGN.md +71 -0
  411. package/.codex/assets/design-themes/open-design/pinterest/DESIGN.md +233 -0
  412. package/.codex/assets/design-themes/open-design/playstation/DESIGN.md +367 -0
  413. package/.codex/assets/design-themes/open-design/posthog/DESIGN.md +259 -0
  414. package/.codex/assets/design-themes/open-design/premium/DESIGN.md +71 -0
  415. package/.codex/assets/design-themes/open-design/professional/DESIGN.md +71 -0
  416. package/.codex/assets/design-themes/open-design/publication/DESIGN.md +71 -0
  417. package/.codex/assets/design-themes/open-design/raycast/DESIGN.md +271 -0
  418. package/.codex/assets/design-themes/open-design/raycast/examples.html +11 -0
  419. package/.codex/assets/design-themes/open-design/refined/DESIGN.md +71 -0
  420. package/.codex/assets/design-themes/open-design/renault/DESIGN.md +314 -0
  421. package/.codex/assets/design-themes/open-design/replicate/DESIGN.md +264 -0
  422. package/.codex/assets/design-themes/open-design/resend/DESIGN.md +306 -0
  423. package/.codex/assets/design-themes/open-design/retro/DESIGN.md +71 -0
  424. package/.codex/assets/design-themes/open-design/revolut/DESIGN.md +188 -0
  425. package/.codex/assets/design-themes/open-design/runwayml/DESIGN.md +247 -0
  426. package/.codex/assets/design-themes/open-design/sanity/DESIGN.md +360 -0
  427. package/.codex/assets/design-themes/open-design/sentry/DESIGN.md +265 -0
  428. package/.codex/assets/design-themes/open-design/shadcn/DESIGN.md +71 -0
  429. package/.codex/assets/design-themes/open-design/shadcn/examples.html +24 -0
  430. package/.codex/assets/design-themes/open-design/shopify/DESIGN.md +353 -0
  431. package/.codex/assets/design-themes/open-design/shopify/examples.html +11 -0
  432. package/.codex/assets/design-themes/open-design/simple/DESIGN.md +71 -0
  433. package/.codex/assets/design-themes/open-design/skeumorphism/DESIGN.md +71 -0
  434. package/.codex/assets/design-themes/open-design/sleek/DESIGN.md +71 -0
  435. package/.codex/assets/design-themes/open-design/spacex/DESIGN.md +197 -0
  436. package/.codex/assets/design-themes/open-design/spacious/DESIGN.md +71 -0
  437. package/.codex/assets/design-themes/open-design/spotify/DESIGN.md +249 -0
  438. package/.codex/assets/design-themes/open-design/starbucks/DESIGN.md +583 -0
  439. package/.codex/assets/design-themes/open-design/storytelling/DESIGN.md +71 -0
  440. package/.codex/assets/design-themes/open-design/stripe/DESIGN.md +325 -0
  441. package/.codex/assets/design-themes/open-design/stripe/examples.html +58 -0
  442. package/.codex/assets/design-themes/open-design/supabase/DESIGN.md +258 -0
  443. package/.codex/assets/design-themes/open-design/supabase/examples.html +26 -0
  444. package/.codex/assets/design-themes/open-design/superhuman/DESIGN.md +255 -0
  445. package/.codex/assets/design-themes/open-design/tesla/DESIGN.md +289 -0
  446. package/.codex/assets/design-themes/open-design/tetris/DESIGN.md +71 -0
  447. package/.codex/assets/design-themes/open-design/theverge/DESIGN.md +342 -0
  448. package/.codex/assets/design-themes/open-design/together-ai/DESIGN.md +266 -0
  449. package/.codex/assets/design-themes/open-design/totality-festival/DESIGN.md +206 -0
  450. package/.codex/assets/design-themes/open-design/trading-terminal/DESIGN.md +178 -0
  451. package/.codex/assets/design-themes/open-design/uber/DESIGN.md +298 -0
  452. package/.codex/assets/design-themes/open-design/urdu/DESIGN.md +1002 -0
  453. package/.codex/assets/design-themes/open-design/vercel/DESIGN.md +313 -0
  454. package/.codex/assets/design-themes/open-design/vercel/examples.html +55 -0
  455. package/.codex/assets/design-themes/open-design/vibrant/DESIGN.md +71 -0
  456. package/.codex/assets/design-themes/open-design/vintage/DESIGN.md +71 -0
  457. package/.codex/assets/design-themes/open-design/vodafone/DESIGN.md +426 -0
  458. package/.codex/assets/design-themes/open-design/voltagent/DESIGN.md +326 -0
  459. package/.codex/assets/design-themes/open-design/warm-editorial/DESIGN.md +65 -0
  460. package/.codex/assets/design-themes/open-design/warp/DESIGN.md +256 -0
  461. package/.codex/assets/design-themes/open-design/webex/DESIGN.md +207 -0
  462. package/.codex/assets/design-themes/open-design/webflow/DESIGN.md +95 -0
  463. package/.codex/assets/design-themes/open-design/webflow/examples.html +11 -0
  464. package/.codex/assets/design-themes/open-design/wired/DESIGN.md +281 -0
  465. package/.codex/assets/design-themes/open-design/wise/DESIGN.md +176 -0
  466. package/.codex/assets/design-themes/open-design/x-ai/DESIGN.md +260 -0
  467. package/.codex/assets/design-themes/open-design/x-ai/examples.html +12 -0
  468. package/.codex/assets/design-themes/open-design/xiaohongshu/DESIGN.md +402 -0
  469. package/.codex/assets/design-themes/open-design/zapier/DESIGN.md +331 -0
  470. package/.codex/assets/design-themes/revenuecat/DESIGN.md +209 -0
  471. package/.codex/assets/design-themes/revenuecat/examples.html +122 -0
  472. package/.codex/assets/design-themes/vben/DESIGN.md +685 -0
  473. package/.codex/assets/design-themes/vben/examples.html +155 -0
  474. package/.codex/assets/vendor/flow-viewer/MERMAID_LICENSE +21 -0
  475. package/.codex/assets/vendor/flow-viewer/SVG_PAN_ZOOM_LICENSE +23 -0
  476. package/.codex/assets/vendor/flow-viewer/THIRD_PARTY_LICENSES.md +21 -0
  477. package/.codex/assets/vendor/flow-viewer/mermaid.min.js +3298 -0
  478. package/.codex/assets/vendor/flow-viewer/svg-pan-zoom.min.js +3 -0
  479. package/.codex/bundled-skills/impeccable/SKILL.md +163 -0
  480. package/.codex/bundled-skills/impeccable/agents/openai.yaml +4 -0
  481. package/.codex/bundled-skills/impeccable/reference/adapt.md +190 -0
  482. package/.codex/bundled-skills/impeccable/reference/animate.md +175 -0
  483. package/.codex/bundled-skills/impeccable/reference/audit.md +132 -0
  484. package/.codex/bundled-skills/impeccable/reference/bolder.md +113 -0
  485. package/.codex/bundled-skills/impeccable/reference/brand.md +118 -0
  486. package/.codex/bundled-skills/impeccable/reference/clarify.md +174 -0
  487. package/.codex/bundled-skills/impeccable/reference/codex.md +105 -0
  488. package/.codex/bundled-skills/impeccable/reference/cognitive-load.md +106 -0
  489. package/.codex/bundled-skills/impeccable/reference/color-and-contrast.md +105 -0
  490. package/.codex/bundled-skills/impeccable/reference/colorize.md +154 -0
  491. package/.codex/bundled-skills/impeccable/reference/craft.md +123 -0
  492. package/.codex/bundled-skills/impeccable/reference/critique.md +259 -0
  493. package/.codex/bundled-skills/impeccable/reference/delight.md +302 -0
  494. package/.codex/bundled-skills/impeccable/reference/distill.md +111 -0
  495. package/.codex/bundled-skills/impeccable/reference/document.md +427 -0
  496. package/.codex/bundled-skills/impeccable/reference/extract.md +68 -0
  497. package/.codex/bundled-skills/impeccable/reference/harden.md +347 -0
  498. package/.codex/bundled-skills/impeccable/reference/heuristics-scoring.md +234 -0
  499. package/.codex/bundled-skills/impeccable/reference/interaction-design.md +195 -0
  500. package/.codex/bundled-skills/impeccable/reference/layout.md +141 -0
  501. package/.codex/bundled-skills/impeccable/reference/live.md +622 -0
  502. package/.codex/bundled-skills/impeccable/reference/motion-design.md +109 -0
  503. package/.codex/bundled-skills/impeccable/reference/onboard.md +234 -0
  504. package/.codex/bundled-skills/impeccable/reference/optimize.md +258 -0
  505. package/.codex/bundled-skills/impeccable/reference/overdrive.md +130 -0
  506. package/.codex/bundled-skills/impeccable/reference/personas.md +179 -0
  507. package/.codex/bundled-skills/impeccable/reference/polish.md +242 -0
  508. package/.codex/bundled-skills/impeccable/reference/product.md +62 -0
  509. package/.codex/bundled-skills/impeccable/reference/quieter.md +99 -0
  510. package/.codex/bundled-skills/impeccable/reference/responsive-design.md +114 -0
  511. package/.codex/bundled-skills/impeccable/reference/shape.md +165 -0
  512. package/.codex/bundled-skills/impeccable/reference/spatial-design.md +100 -0
  513. package/.codex/bundled-skills/impeccable/reference/teach.md +156 -0
  514. package/.codex/bundled-skills/impeccable/reference/typeset.md +124 -0
  515. package/.codex/bundled-skills/impeccable/reference/typography.md +159 -0
  516. package/.codex/bundled-skills/impeccable/reference/ux-writing.md +107 -0
  517. package/.codex/bundled-skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  518. package/.codex/bundled-skills/impeccable/scripts/command-metadata.json +94 -0
  519. package/.codex/bundled-skills/impeccable/scripts/critique-storage.mjs +242 -0
  520. package/.codex/bundled-skills/impeccable/scripts/design-parser.mjs +820 -0
  521. package/.codex/bundled-skills/impeccable/scripts/detect-csp.mjs +198 -0
  522. package/.codex/bundled-skills/impeccable/scripts/detect.mjs +21 -0
  523. package/.codex/bundled-skills/impeccable/scripts/detector/browser/injected/index.mjs +1688 -0
  524. package/.codex/bundled-skills/impeccable/scripts/detector/cli/main.mjs +232 -0
  525. package/.codex/bundled-skills/impeccable/scripts/detector/detect-antipatterns-browser.js +4030 -0
  526. package/.codex/bundled-skills/impeccable/scripts/detector/detect-antipatterns.mjs +43 -0
  527. package/.codex/bundled-skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +251 -0
  528. package/.codex/bundled-skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +420 -0
  529. package/.codex/bundled-skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +954 -0
  530. package/.codex/bundled-skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +174 -0
  531. package/.codex/bundled-skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
  532. package/.codex/bundled-skills/impeccable/scripts/detector/findings.mjs +12 -0
  533. package/.codex/bundled-skills/impeccable/scripts/detector/node/file-system.mjs +198 -0
  534. package/.codex/bundled-skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
  535. package/.codex/bundled-skills/impeccable/scripts/detector/registry/antipatterns.mjs +278 -0
  536. package/.codex/bundled-skills/impeccable/scripts/detector/rules/checks.mjs +1948 -0
  537. package/.codex/bundled-skills/impeccable/scripts/detector/shared/color.mjs +124 -0
  538. package/.codex/bundled-skills/impeccable/scripts/detector/shared/constants.mjs +101 -0
  539. package/.codex/bundled-skills/impeccable/scripts/detector/shared/page.mjs +7 -0
  540. package/.codex/bundled-skills/impeccable/scripts/impeccable-paths.mjs +110 -0
  541. package/.codex/bundled-skills/impeccable/scripts/is-generated.mjs +69 -0
  542. package/.codex/bundled-skills/impeccable/scripts/live-accept.mjs +595 -0
  543. package/.codex/bundled-skills/impeccable/scripts/live-browser-session.js +123 -0
  544. package/.codex/bundled-skills/impeccable/scripts/live-browser.js +4860 -0
  545. package/.codex/bundled-skills/impeccable/scripts/live-complete.mjs +75 -0
  546. package/.codex/bundled-skills/impeccable/scripts/live-completion.mjs +18 -0
  547. package/.codex/bundled-skills/impeccable/scripts/live-inject.mjs +446 -0
  548. package/.codex/bundled-skills/impeccable/scripts/live-poll.mjs +200 -0
  549. package/.codex/bundled-skills/impeccable/scripts/live-resume.mjs +48 -0
  550. package/.codex/bundled-skills/impeccable/scripts/live-server.mjs +838 -0
  551. package/.codex/bundled-skills/impeccable/scripts/live-session-store.mjs +254 -0
  552. package/.codex/bundled-skills/impeccable/scripts/live-status.mjs +47 -0
  553. package/.codex/bundled-skills/impeccable/scripts/live-wrap.mjs +632 -0
  554. package/.codex/bundled-skills/impeccable/scripts/live.mjs +247 -0
  555. package/.codex/bundled-skills/impeccable/scripts/load-context.mjs +141 -0
  556. package/.codex/bundled-skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  557. package/.codex/bundled-skills/impeccable/scripts/pin.mjs +214 -0
  558. package/.codex/references/commands/analyze.md +39 -0
  559. package/.codex/references/commands/architect.md +41 -0
  560. package/.codex/references/commands/deliver.md +29 -0
  561. package/.codex/references/commands/design.md +92 -0
  562. package/.codex/references/commands/help.md +24 -0
  563. package/.codex/references/commands/init.md +40 -0
  564. package/.codex/references/commands/plan.md +41 -0
  565. package/.codex/references/commands/review.md +33 -0
  566. package/.codex/references/commands/status.md +20 -0
  567. package/.codex/role-skills/demand-analysis/SKILL.md +50 -0
  568. package/.codex/role-skills/demand-analysis/templates/handoff-prd.md +39 -0
  569. package/.codex/role-skills/demand-analysis/templates/prd.md +85 -0
  570. package/.codex/role-skills/dev-task-planning/SKILL.md +37 -0
  571. package/.codex/role-skills/dev-task-planning/templates/dev-tasks.md +54 -0
  572. package/.codex/role-skills/quality-review/SKILL.md +49 -0
  573. package/.codex/role-skills/quality-review/templates/review-stage.md +39 -0
  574. package/.codex/role-skills/tech-architecture/SKILL.md +49 -0
  575. package/.codex/role-skills/tech-architecture/templates/handoff-architecture.md +28 -0
  576. package/.codex/role-skills/tech-architecture/templates/tech-architecture.md +54 -0
  577. package/.codex/role-skills/ui-prototype-design/SKILL.md +125 -0
  578. package/.codex/role-skills/ui-prototype-design/templates/handoff-ui.md +40 -0
  579. package/.codex/role-skills/ui-prototype-design/templates/prototype-review.md +57 -0
  580. package/.codex/role-skills/ui-prototype-design/templates/ui-design.md +142 -0
  581. package/.codex/scripts/package_delivery.js +195 -0
  582. package/.codex/scripts/review_stage.js +622 -0
  583. package/.codex/templates/AGENTS.md +44 -0
  584. package/.codex/templates/delivery-README.md +37 -0
  585. package/.codex/templates/framework-AGENTS.md +74 -0
  586. package/.codex/templates/framework-README.md +65 -0
  587. package/.codex/templates/project-config.md +117 -0
  588. package/.codex/templates/prototype-README.md +45 -0
  589. package/.codex/templates/workflow-state.json +47 -0
  590. package/README.md +28 -0
  591. package/bin/pmflow.js +463 -0
  592. package/package.json +30 -0
@@ -0,0 +1,105 @@
1
+ # Color & Contrast
2
+
3
+ ## Color Spaces: Use OKLCH
4
+
5
+ **Stop using HSL.** Use OKLCH (or LCH) instead. It's perceptually uniform, meaning equal steps in lightness *look* equal, unlike HSL where 50% lightness in yellow looks bright while 50% in blue looks dark.
6
+
7
+ The OKLCH function takes three components: `oklch(lightness chroma hue)` where lightness is 0-100%, chroma is roughly 0-0.4, and hue is 0-360. To build a primary color and its lighter / darker variants, hold the chroma+hue roughly constant and vary the lightness, but **reduce chroma as you approach white or black**, because high chroma at extreme lightness looks garish.
8
+
9
+ The hue you pick is a brand decision and should not come from a default. Do not reach for blue (hue 250) or warm orange (hue 60) by reflex; those are the dominant AI-design defaults, not the right answer for any specific brand.
10
+
11
+ ## Building Functional Palettes
12
+
13
+ ### Tinted Neutrals
14
+
15
+ **Pure gray is dead.** A neutral with zero chroma feels lifeless next to a colored brand. Add a tiny chroma value (0.005-0.015) to all your neutrals, hued toward whatever your brand color is. The chroma is small enough not to read as "tinted" consciously, but it creates subconscious cohesion between brand color and UI surfaces.
16
+
17
+ The hue you tint toward should come from THIS project's brand, not from a "warm = friendly, cool = tech" formula. If your brand color is teal, your neutrals lean toward teal. If your brand color is amber, they lean toward amber. The point is cohesion with the SPECIFIC brand, not a stock palette.
18
+
19
+ **Avoid** the trap of always tinting toward warm orange or always tinting toward cool blue. Those are the two laziest defaults and they create their own monoculture across projects.
20
+
21
+ ### Palette Structure
22
+
23
+ A complete system needs:
24
+
25
+ | Role | Purpose | Example |
26
+ |------|---------|---------|
27
+ | **Primary** | Brand, CTAs, key actions | 1 color, 3-5 shades |
28
+ | **Neutral** | Text, backgrounds, borders | 9-11 shade scale |
29
+ | **Semantic** | Success, error, warning, info | 4 colors, 2-3 shades each |
30
+ | **Surface** | Cards, modals, overlays | 2-3 elevation levels |
31
+
32
+ **Skip secondary/tertiary unless you need them.** Most apps work fine with one accent color. Adding more creates decision fatigue and visual noise.
33
+
34
+ ### The 60-30-10 Rule (Applied Correctly)
35
+
36
+ This rule is about **visual weight**, not pixel count:
37
+
38
+ - **60%**: Neutral backgrounds, white space, base surfaces
39
+ - **30%**: Secondary colors: text, borders, inactive states
40
+ - **10%**: Accent: CTAs, highlights, focus states
41
+
42
+ The common mistake: using the accent color everywhere because it's "the brand color." Accent colors work *because* they're rare. Overuse kills their power.
43
+
44
+ ## Contrast & Accessibility
45
+
46
+ ### WCAG Requirements
47
+
48
+ | Content Type | AA Minimum | AAA Target |
49
+ |--------------|------------|------------|
50
+ | Body text | 4.5:1 | 7:1 |
51
+ | Large text (18px+ or 14px bold) | 3:1 | 4.5:1 |
52
+ | UI components, icons | 3:1 | 4.5:1 |
53
+ | Non-essential decorations | None | None |
54
+
55
+ **The gotcha**: Placeholder text still needs 4.5:1. That light gray placeholder you see everywhere? Usually fails WCAG.
56
+
57
+ ### Dangerous Color Combinations
58
+
59
+ These commonly fail contrast or cause readability issues:
60
+
61
+ - Light gray text on white (the #1 accessibility fail)
62
+ - **Gray text on any colored background**: gray looks washed out and dead on color. Use a darker shade of the background color, or transparency
63
+ - Red text on green background (or vice versa): 8% of men can't distinguish these
64
+ - Blue text on red background (vibrates visually)
65
+ - Yellow text on white (almost always fails)
66
+ - Thin light text on images (unpredictable contrast)
67
+
68
+ ### Never Use Pure Gray or Pure Black
69
+
70
+ Pure gray (`oklch(50% 0 0)`) and pure black (`#000`) don't exist in nature; real shadows and surfaces always have a color cast. Even a chroma of 0.005-0.01 is enough to feel natural without being obviously tinted. (See tinted neutrals example above.)
71
+
72
+ ### Testing
73
+
74
+ Don't trust your eyes. Use tools:
75
+
76
+ - [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/)
77
+ - Browser DevTools → Rendering → Emulate vision deficiencies
78
+ - [Polypane](https://polypane.app/) for real-time testing
79
+
80
+ ## Theming: Light & Dark Mode
81
+
82
+ ### Dark Mode Is Not Inverted Light Mode
83
+
84
+ You can't just swap colors. Dark mode requires different design decisions:
85
+
86
+ | Light Mode | Dark Mode |
87
+ |------------|-----------|
88
+ | Shadows for depth | Lighter surfaces for depth (no shadows) |
89
+ | Dark text on light | Light text on dark (reduce font weight) |
90
+ | Vibrant accents | Desaturate accents slightly |
91
+ | White backgrounds | Never pure black; use dark gray (oklch 12-18%) |
92
+
93
+ In dark mode, depth comes from surface lightness, not shadow. Build a 3-step surface scale where higher elevations are lighter (e.g. 15% / 20% / 25% lightness). Use the SAME hue and chroma as your brand color (whatever it is for THIS project; do not reach for blue) and only vary the lightness. Reduce body text weight slightly (e.g. 350 instead of 400) because light text on dark reads as heavier than dark text on light.
94
+
95
+ ### Token Hierarchy
96
+
97
+ Use two layers: primitive tokens (`--blue-500`) and semantic tokens (`--color-primary: var(--blue-500)`). For dark mode, only redefine the semantic layer; primitives stay the same.
98
+
99
+ ## Alpha Is A Design Smell
100
+
101
+ Heavy use of transparency (rgba, hsla) usually means an incomplete palette. Alpha creates unpredictable contrast, performance overhead, and inconsistency. Define explicit overlay colors for each context instead. Exception: focus rings and interactive states where see-through is needed.
102
+
103
+ ---
104
+
105
+ **Avoid**: Relying on color alone to convey information. Creating palettes without clear roles for each color. Using pure black (#000) for large areas. Skipping color blindness testing (8% of men affected).
@@ -0,0 +1,154 @@
1
+ > **Additional context needed**: existing brand colors.
2
+
3
+ Replace timid grayscale or single-accent designs with a strategic palette: pick a color strategy, choose a hue family that fits the brand, then apply color with intent. More color ≠ better. Strategic color beats rainbow vomit.
4
+
5
+ ---
6
+
7
+ ## Register
8
+
9
+ Brand: palette IS voice. Pick a color strategy first per SKILL.md (Restrained / Committed / Full palette / Drenched) and follow its dosage. Committed, Full palette, and Drenched deliberately exceed the ≤10% rule; that rule is Restrained only. Unexpected combinations are allowed; a dominant color can own the page when the chosen strategy calls for it.
10
+
11
+ Product: semantic-first and almost always Restrained. Accent color is reserved for primary action, current selection, and state indicators. Not decoration. Every color has a consistent meaning across every screen.
12
+
13
+ ---
14
+
15
+ ## Assess Color Opportunity
16
+
17
+ Analyze the current state and identify opportunities:
18
+
19
+ 1. **Understand current state**:
20
+ - **Color absence**: Pure grayscale? Limited neutrals? One timid accent?
21
+ - **Missed opportunities**: Where could color add meaning, hierarchy, or delight?
22
+ - **Context**: What's appropriate for this domain and audience?
23
+ - **Brand**: Are there existing brand colors we should use?
24
+
25
+ 2. **Identify where color adds value**:
26
+ - **Semantic meaning**: Success (green), error (red), warning (yellow/orange), info (blue)
27
+ - **Hierarchy**: Drawing attention to important elements
28
+ - **Categorization**: Different sections, types, or states
29
+ - **Emotional tone**: Warmth, energy, trust, creativity
30
+ - **Wayfinding**: Helping users navigate and understand structure
31
+ - **Delight**: Moments of visual interest and personality
32
+
33
+ If any of these are unclear from the codebase, STOP and call the AskUserQuestion tool to clarify.
34
+
35
+ **CRITICAL**: More color ≠ better. Strategic color beats rainbow vomit every time. Every color should have a purpose.
36
+
37
+ ## Plan Color Strategy
38
+
39
+ Create a purposeful color introduction plan:
40
+
41
+ - **Color palette**: What colors match the brand/context? (Choose 2-4 colors max beyond neutrals)
42
+ - **Dominant color**: Which color owns 60% of colored elements?
43
+ - **Accent colors**: Which colors provide contrast and highlights? (30% and 10%)
44
+ - **Application strategy**: Where does each color appear and why?
45
+
46
+ **IMPORTANT**: Color should enhance hierarchy and meaning, not create chaos. Less is more when it matters more.
47
+
48
+ ## Introduce Color Strategically
49
+
50
+ Add color systematically across these dimensions:
51
+
52
+ ### Semantic Color
53
+ - **State indicators**:
54
+ - Success: Green tones (emerald, forest, mint)
55
+ - Error: Red/pink tones (rose, crimson, coral)
56
+ - Warning: Orange/amber tones
57
+ - Info: Blue tones (sky, ocean, indigo)
58
+ - Neutral: Gray/slate for inactive states
59
+
60
+ - **Status badges**: Colored backgrounds or borders for states (active, pending, completed, etc.)
61
+ - **Progress indicators**: Colored bars, rings, or charts showing completion or health
62
+
63
+ ### Accent Color Application
64
+ - **Primary actions**: Color the most important buttons/CTAs
65
+ - **Links**: Add color to clickable text (maintain accessibility)
66
+ - **Icons**: Colorize key icons for recognition and personality
67
+ - **Headers/titles**: Add color to section headers or key labels
68
+ - **Hover states**: Introduce color on interaction
69
+
70
+ ### Background & Surfaces
71
+ - **Tinted backgrounds**: Replace pure gray (`#f5f5f5`) with warm neutrals (`oklch(97% 0.01 60)`) or cool tints (`oklch(97% 0.01 250)`)
72
+ - **Colored sections**: Use subtle background colors to separate areas
73
+ - **Gradient backgrounds**: Add depth with subtle, intentional gradients (not generic purple-blue)
74
+ - **Cards & surfaces**: Tint cards or surfaces slightly for warmth
75
+
76
+ **Use OKLCH for color**: It's perceptually uniform, meaning equal steps in lightness *look* equal. Great for generating harmonious scales.
77
+
78
+ ### Data Visualization
79
+ - **Charts & graphs**: Use color to encode categories or values
80
+ - **Heatmaps**: Color intensity shows density or importance
81
+ - **Comparison**: Color coding for different datasets or timeframes
82
+
83
+ ### Borders & Accents
84
+ - **Hairline borders**: 1px colored borders on full perimeter (not side-stripes; see the absolute ban on `border-left/right > 1px`)
85
+ - **Underlines**: Color underlines for emphasis or active states
86
+ - **Dividers**: Subtle colored dividers instead of gray lines
87
+ - **Focus rings**: Colored focus indicators matching brand
88
+ - **Surface tints**: A 4-8% background wash of the accent color instead of a stripe
89
+
90
+ **NEVER**: `border-left` or `border-right` greater than 1px as a colored accent stripe. This is one of the three absolute bans in the parent skill. If you want to mark a card as "active" or "warning", use a full hairline border, a background tint, a leading glyph, or a numbered prefix. Not a side stripe.
91
+
92
+ ### Typography Color
93
+ - **Colored headings**: Use brand colors for section headings (maintain contrast)
94
+ - **Highlight text**: Color for emphasis or categories
95
+ - **Labels & tags**: Small colored labels for metadata or categories
96
+
97
+ ### Decorative Elements
98
+ - **Illustrations**: Add colored illustrations or icons
99
+ - **Shapes**: Geometric shapes in brand colors as background elements
100
+ - **Gradients**: Colorful gradient overlays or mesh backgrounds
101
+ - **Blobs/organic shapes**: Soft colored shapes for visual interest
102
+
103
+ ## Balance & Refinement
104
+
105
+ Ensure color addition improves rather than overwhelms:
106
+
107
+ ### Maintain Hierarchy
108
+ - **Dominant color** (60%): Primary brand color or most used accent
109
+ - **Secondary color** (30%): Supporting color for variety
110
+ - **Accent color** (10%): High contrast for key moments
111
+ - **Neutrals** (remaining): Gray/black/white for structure
112
+
113
+ ### Accessibility
114
+ - **Contrast ratios**: Ensure WCAG compliance (4.5:1 for text, 3:1 for UI components)
115
+ - **Don't rely on color alone**: Use icons, labels, or patterns alongside color
116
+ - **Test for color blindness**: Verify red/green combinations work for all users
117
+
118
+ ### Cohesion
119
+ - **Consistent palette**: Use colors from defined palette, not arbitrary choices
120
+ - **Systematic application**: Same color meanings throughout (green always = success)
121
+ - **Temperature consistency**: Warm palette stays warm, cool stays cool
122
+
123
+ **NEVER**:
124
+ - Use every color in the rainbow (choose 2-4 colors beyond neutrals)
125
+ - Apply color randomly without semantic meaning
126
+ - Put gray text on colored backgrounds. It looks washed out; use a darker shade of the background color or transparency instead
127
+ - Use pure gray for neutrals. Add subtle color tint (warm or cool) for depth
128
+ - Use pure black (`#000`) or pure white (`#fff`) for large areas
129
+ - Violate WCAG contrast requirements
130
+ - Use color as the only indicator (accessibility issue)
131
+ - Make everything colorful (defeats the purpose)
132
+ - Default to purple-blue gradients (AI slop aesthetic)
133
+
134
+ ## Verify Color Addition
135
+
136
+ Test that colorization improves the experience:
137
+
138
+ - **Better hierarchy**: Does color guide attention appropriately?
139
+ - **Clearer meaning**: Does color help users understand states/categories?
140
+ - **More engaging**: Does the interface feel warmer and more inviting?
141
+ - **Still accessible**: Do all color combinations meet WCAG standards?
142
+ - **Not overwhelming**: Is color balanced and purposeful?
143
+
144
+ When the palette earns its place, hand off to `/impeccable polish` for the final pass.
145
+
146
+ ## Live-mode signature params
147
+
148
+ When invoked from live mode, each variant MUST declare a `color-amount` param so the user can dial between a restrained accent and a drenched surface without regeneration. Author the variant's CSS against `var(--p-color-amount, 0.5)`, typically as the alpha multiplier on backgrounds, or as a scaling factor on the chroma axis in an OKLCH expression. 0 = neutral/monochrome, 1 = full saturation / dominant coverage.
149
+
150
+ ```json
151
+ {"id":"color-amount","kind":"range","min":0,"max":1,"step":0.05,"default":0.5,"label":"Color amount"}
152
+ ```
153
+
154
+ Layer 1-2 variant-specific params on top: palette selection (`steps` with named options), temperature warmth, or tint vs. true color. See `reference/live.md` for the full params contract.
@@ -0,0 +1,123 @@
1
+ # Craft Flow
2
+
3
+ Build a feature with impeccable UX and UI quality: shape the design, land the visual direction, build real production code, inspect and improve in-browser until it meets a high-end studio bar.
4
+
5
+ Before writing code, you need: PRODUCT.md loaded, register identified and the matching reference loaded, and a confirmed design direction for this task (either from `shape` or supplied by the user). PRODUCT.md is project context, not a task-specific brief.
6
+
7
+ Treat any approved visual direction (generated mock or stated reference) as a concrete contract for composition, hierarchy, density, atmosphere, signature motifs, and distinctive visual moves. Don't let mocks replace structure, copy, accessibility, or state design. But if the live result lacks the approved direction's major ingredients, the implementation is wrong.
8
+
9
+ ### Gates: do not compress
10
+
11
+ Craft has **multiple user gates**, not one. When the harness has native image generation (Codex via `image_gen`), the gate sequence before code is:
12
+
13
+ 1. **Shape brief confirmed** (Step 1)
14
+ 2. **Direction questions answered** (codex.md Step A)
15
+ 3. **Palette confirmed** (codex.md Step B)
16
+ 4. **One mock direction approved or delegated** (codex.md Step D)
17
+
18
+ You must stop at every gate. **Shape confirmation alone is NOT a green light to start coding.** It is the green light to begin codex.md Step A. Compressing gates 2 through 4 because the shape brief felt complete is the dominant failure mode of this flow.
19
+
20
+ When the harness lacks native image generation, gates 2-4 collapse into the brief itself, and shape confirmation does advance straight to code.
21
+
22
+ ## Step 0: Project Foundation
23
+
24
+ Before shape, before code: figure out what kind of project you're working in.
25
+
26
+ Look at the working directory. Run `ls`. Check for:
27
+
28
+ - An existing framework: `astro.config.mjs/ts`, `next.config.js/ts`, `nuxt.config.ts`, `svelte.config.js`, `vite.config.js/ts`, `package.json` with framework deps, `Cargo.toml` + Leptos/Yew, `Gemfile` + Rails. **If found, use it.** Do not start a parallel build, do not introduce a second framework, do not write to `dist/` or `build/` directly. Whatever pipeline the project has, respect it.
29
+ - An existing component library or design system: `src/components/`, `app/components/`, a `tokens.css` / `theme.ts`, an `astro.config` `integrations`. Read what's there before adding to it.
30
+ - An existing icon set: `lucide-react`, `@phosphor-icons/react`, `@iconify/*`, hand-rolled SVG sprites in `assets/icons/`. **Use what's already in the project**; don't introduce a second set.
31
+
32
+ If the directory is empty (greenfield), don't pick a framework silently. Ask the user via the AskUserQuestion tool, with sensible defaults framed by the brief:
33
+
34
+ ```text
35
+ What should this be built on?
36
+ - Astro (default for content-led brand sites, landing pages, marketing surfaces)
37
+ - SvelteKit / Next.js / Nuxt (when the brief implies an app surface or significant interactivity)
38
+ - Single index.html (one-shot demo, prototype, or a deliberately framework-free experiment)
39
+ ```
40
+
41
+ Default: Astro for brand briefs, the project's existing framework for product briefs. Ask once; don't re-ask mid-task.
42
+
43
+ ## Step 1: Shape the Design
44
+
45
+ Run /impeccable shape, passing along whatever feature description the user provided. Shape is **required** for craft; it is what produces a confirmed direction.
46
+
47
+ Present the shape output and stop. Wait for the user to confirm, override, or course-correct before writing code.
48
+
49
+ If the user already supplied a confirmed brief or ran shape separately, use it and skip this step.
50
+
51
+ When the original prompt + PRODUCT.md already answer scope, content, and visual direction with no real ambiguity, the shape output can be **compact** (3-5 bullets stating what you're building and the visual lane, ending with one or two specific questions or "confirm or override"). The full 10-section structured brief is reserved for genuinely ambiguous, multi-screen, or stakeholder-heavy tasks. Don't pad a clear brief into a long one to look thorough; equally, don't skip the pause to look efficient.
52
+
53
+ If the harness has native image generation (Codex), a compact shape's "confirm or override" advances to **Step 3 and the codex.md flow**, not to Step 4. Phrase the closing line accordingly: "Confirm or override; once we lock direction, I'll run a couple of palette and reference questions before generating any mocks." This stops the model from reading shape confirmation as code-green.
54
+
55
+ ## Step 2: Load References
56
+
57
+ Based on the design brief's "Recommended References" section, consult the relevant impeccable reference files. At minimum, always consult:
58
+
59
+ - [spatial-design.md](spatial-design.md) for layout and spacing
60
+ - [typography.md](typography.md) for type hierarchy
61
+
62
+ Then add references based on the brief's needs:
63
+ - Complex interactions or forms? Consult [interaction-design.md](interaction-design.md)
64
+ - Animation or transitions? Consult [motion-design.md](motion-design.md)
65
+ - Color-heavy or themed? Consult [color-and-contrast.md](color-and-contrast.md)
66
+ - Responsive requirements? Consult [responsive-design.md](responsive-design.md)
67
+ - Heavy on copy, labels, or errors? Consult [ux-writing.md](ux-writing.md)
68
+
69
+ ## Step 3: Visual Direction & Assets (Harness-Gated)
70
+
71
+ If the harness has **native image generation** (currently Codex via `image_gen`), this step is mandatory. **Stop and load [codex.md](codex.md)**. It covers palette generation, mock exploration, the approval loop, mock-fidelity inventory, and asset slicing via the `impeccable_asset_producer` subagent. Follow Steps A-F in that file, then return here for Step 4.
72
+
73
+ If the harness lacks native image generation, **state in one line that the visual-direction-by-generation step is being skipped because the harness lacks native image generation, then proceed**. The one-line announcement is required; it forces a conscious decision instead of letting the step quietly evaporate. The brief is your only visual reference. Implement directly from it, treating any named anchor references and the brief's "Design Direction" as the contract.
74
+
75
+ Whether you generated mocks or not: don't replace required imagery with generic cards, bullets, emoji, fake metrics, decorative CSS panels, or filler copy. Image-led briefs (restaurants, hotels, magazines, photography, hobbyist communities, food, travel, fashion, product) need real or sourced imagery in the build, not CSS scenery.
76
+
77
+ ## Step 4: Build to Production Quality
78
+
79
+ **Precondition.** If Step 3 routed you to codex.md (native image generation available), Steps A through D in that file must be complete before any code: questions answered, palette confirmed, mocks generated, one direction approved or delegated. **Do not mention implementation, file paths, or patch plans until that's done.** A confirmed shape brief is not enough; the model that compressed those gates is the model that already failed this flow.
80
+
81
+ Implement the feature following the design brief. Build in passes so structure, visual system, states, motion/media, and responsive behavior each get deliberate attention. The list below is the definition of done, not inspiration.
82
+
83
+ ### Production bar
84
+
85
+ - **Real content.** No placeholder copy, placeholder images, dead links, fake controls, or unused scaffold at presentation time.
86
+ - **Preserve the approved mock's major ingredients.** Missing hero objects, world/product imagery, section structure, CTA/nav treatment, or distinctive motifs are blocking defects unless the user accepted the change.
87
+ - **Semantic first.** Real headings, landmarks, labels, form associations, button/link semantics, accessible names, state announcements where needed.
88
+ - **Deliberate spacing and alignment.** No default gaps, arbitrary margins, unbalanced whitespace, or accidental optical misalignment.
89
+ - **Intentional typography.** Chosen loading strategy, clear hierarchy, readable measure, stable line breaks, no overflow at any width.
90
+ - **Realistic state coverage.** Default, hover, focus-visible, active, disabled, loading, error, success, empty, overflow, long/short text, first-run.
91
+ - **Finished interaction quality.** Keyboard paths, touch targets, feedback timing, scroll behavior, state transitions, no hover-only functionality.
92
+ - **Coherent icon set.** Use the project's established set; otherwise pick one library or use accessible text. Don't mix.
93
+ - **Respect the build pipeline.** Edit source files and run the project's build (`npm run build` or equivalent). Don't write to `build/` / `dist/` / `.next/` with `cat`, heredoc, or Bash redirects; that skips asset hashing, image optimization, code splitting, and CSS extraction, and produces output the dev server won't serve.
94
+ - **Verify image URLs before referencing them.** Use image-search MCP or web-fetch when available; guessed photo IDs ship as broken-image placeholders. Without verification, prefer fewer images you're confident about.
95
+ - **Optimized imagery and media.** Correct dimensions, useful alt text, lazy loading below the fold, modern formats when practical, responsive `srcset`/`picture` for raster, no project-referenced asset left outside the workspace.
96
+ - **Premium motion.** Use atmospheric blur, filter, mask, shadow, reveal when they improve the experience. Avoid casual layout-property animation, bound expensive effects, verify smoothness in-browser, respect reduced motion, and avoid choreography that blocks task completion.
97
+ - **Maintainable.** Reusable local patterns, clear component boundaries, project conventions. No rasterized UI text or one-off hacks when a local pattern exists.
98
+ - **Technically clean.** Production build passes, no console errors, no avoidable layout shift, no needless dependencies, no broken asset paths.
99
+ - **Ask when uncertain.** If a discovery materially changes the brief or approved direction, stop and ask. Don't guess.
100
+
101
+ ## Step 5: Iterate Visually
102
+
103
+ Look at what you built like a designer would. Your eyes are whatever the harness gives you: a connected browser, a screenshotting tool, Playwright, or asking the user. Use them for responsive testing (mobile, tablet, desktop minimum) and general visual validation.
104
+
105
+ If your tool returns a file path, read the PNG back into the conversation. A screenshot you didn't read doesn't count.
106
+
107
+ For long-form brand surfaces, inspect major sections individually. Thumbnails hide spacing, clipping, and cascade defects.
108
+
109
+ After the first pass, write an honest critique against the brief, the approved mock's major ingredients (hero silhouette, motifs, imagery, nav/CTA, density), and impeccable's DON'Ts. Patch material defects and re-inspect. **Don't invent defects to demonstrate iteration.** A confident "first pass clean, shipping" beats a fake fix.
110
+
111
+ Actively check: responsive behavior (composes, not shrinks), every state (empty / error / loading / edge), craft details (spacing, alignment, hierarchy, contrast, motion timing, focus), performance basics. The exit bar: defensible in a high-end studio review.
112
+
113
+ Detector or QA output is defect evidence only; never proof the work is finished.
114
+
115
+ ## Step 6: Present
116
+
117
+ Present the result to the user:
118
+ - Show the feature in its primary state
119
+ - Summarize the browser/viewports checked and the most important fixes made after inspection
120
+ - Walk through the key states (empty, error, responsive)
121
+ - Explain design decisions that connect back to the design brief and, when used, the chosen north-star mock. Include any accepted deviations from the mock; do not hide unimplemented mock ingredients.
122
+ - Note any remaining limitations or follow-up risks honestly
123
+ - Ask: "What's working? What isn't?"
@@ -0,0 +1,236 @@
1
+ ### Purpose
2
+
3
+ Resolve one stable target, run two independent assessments, synthesize a design critique, persist a snapshot, and ask the user what to improve next. The chat response is the primary deliverable; the snapshot is an archive/backlog for future commands.
4
+
5
+ ### Hard Invariants
6
+
7
+ - Assessment A (design review) and Assessment B (detector/browser evidence) are both required.
8
+ - Assessment A must finish before detector findings enter the parent synthesis context. Detector output is deterministic, but it still anchors judgment.
9
+ - If sub-agents are unavailable, fall back sequentially: finish and record Assessment A first, then run Assessment B, then synthesize.
10
+ - A skipped detector is a failed critique run unless `detect.mjs` is missing or crashes after a real attempt.
11
+ - Viewable targets require browser inspection when available.
12
+ - Any local server started only for critique visualization must run in the background, have a recorded stop method, and be stopped before final reporting unless the user asks to keep it.
13
+ - Do not claim a user-visible overlay exists unless script injection succeeded and the detector ran in the page.
14
+
15
+ ### Setup
16
+
17
+ 1. **Resolve the target** to a concrete file path or URL. Prefer a source path over a dev-server URL when both identify the same surface; ports drift, paths do not.
18
+ - "the homepage" -> `site/pages/index.astro` or `index.html`
19
+ - "the settings modal" -> the primary component file
20
+ - "this page" -> the current URL or source file
21
+ 2. **Compute the slug**:
22
+ ```bash
23
+ node .claude/skills/impeccable/scripts/critique-storage.mjs slug "<resolved-path-or-url>"
24
+ ```
25
+ Keep it. If the command exits non-zero, skip persistence and trend for this run, but continue the critique.
26
+ 3. **Read `.impeccable/critique/ignore.md`** if it exists. Drop matching findings silently; it is the only prior-run input critique consumes.
27
+
28
+ ### Assessment Orchestration
29
+
30
+ Delegate Assessment A and Assessment B to separate sub-agents when possible. They must not see each other's output. Do not show findings to the user until synthesis.
31
+
32
+ If browser automation is available, each assessment creates its own new tab. Never reuse an existing tab, even if it is already at the right URL.
33
+
34
+ ### Assessment A: Design Review
35
+
36
+ Read relevant source files and visually inspect the live page when browser automation is available. Think like a design director.
37
+
38
+ Evaluate:
39
+ - **AI slop**: Would someone believe "AI made this" immediately? Check all DON'T guidance from the parent Impeccable skill.
40
+ - **Holistic design**: hierarchy, IA, emotional fit, discoverability, composition, typography, color, accessibility, states, copy, and edge cases.
41
+ - **Cognitive load**: consult [cognitive-load](cognitive-load.md); report checklist failures and decision points with >4 visible options.
42
+ - **Emotional journey**: peak-end rule, emotional valleys, reassurance at high-stakes moments.
43
+ - **Nielsen heuristics**: consult [heuristics-scoring](heuristics-scoring.md); score all 10 heuristics 0-4.
44
+
45
+ Return: AI slop verdict, heuristic scores, cognitive load, emotional journey, 2-3 strengths, 3-5 priority issues, persona red flags, minor observations, and provocative questions.
46
+
47
+ ### Assessment B: Detector + Browser Evidence
48
+
49
+ Run the bundled detector and browser visualization evidence. Assessment B is mandatory and must remain isolated from Assessment A until both are complete.
50
+
51
+ CLI scan:
52
+ ```bash
53
+ node .claude/skills/impeccable/scripts/detect.mjs --json [--fast] [target]
54
+ ```
55
+
56
+ - Pass markup files/directories as `[target]`; do not pass CSS-only files.
57
+ - For URLs, skip CLI scan and use browser visualization.
58
+ - For 200+ scannable files, use `--fast`; for 500+, narrow scope or ask.
59
+ - Exit code 0 = clean; 2 = findings.
60
+ - If the detector entrypoint is missing or fails to load, report deterministic scan unavailable and continue with browser/manual review.
61
+
62
+ Browser visualization is required for a viewable target when browser automation is available. Use a localhost dev/static URL for local files; avoid `file://` unless the available browser explicitly supports this workflow. Overlay flow:
63
+
64
+ 1. Create a fresh tab and navigate.
65
+ 2. Preflight mutable injection by setting `document.title` and appending a `<script>` tag. Read-only evaluate APIs do not count.
66
+ 3. If mutation is unavailable, skip live server, browser presentation, and injection; report fallback signal.
67
+ 4. If mutation is available, start `node .claude/skills/impeccable/scripts/live-server.mjs --background`, present the browser if supported, label `[Human]`, scroll top, inject `http://localhost:PORT/detect.js`, wait 2-3 seconds, read `impeccable` console messages, then stop the live server.
68
+ 5. For multi-view targets, inject on 3-5 representative pages.
69
+
70
+ Return: CLI findings JSON/counts, browser console findings if applicable, false positives, and skipped/failed browser steps with concrete reasons.
71
+
72
+ After Assessment B returns usable CLI findings, reuse them. Do not rerun `detect.mjs` in the parent unless Assessment B failed, was truncated, or omitted count, rule names, or file locations.
73
+
74
+ ### Generate Combined Critique Report
75
+
76
+ Synthesize both assessments into a single report. Do NOT simply concatenate. Weave the findings together, noting where the LLM review and detector agree, where the detector caught issues the LLM missed, and where detector findings are false positives.
77
+
78
+ The chat response is the primary user-facing deliverable. Present the full structured critique below in chat; do not replace it with a summary and a link. The persisted snapshot is only an archive/backlog for later commands.
79
+
80
+ Structure your feedback as a design director would:
81
+
82
+ #### Design Health Score
83
+ > *Consult [heuristics-scoring](heuristics-scoring.md)*
84
+
85
+ Present the Nielsen's 10 heuristics scores as a table:
86
+
87
+ | # | Heuristic | Score | Key Issue |
88
+ |---|-----------|-------|-----------|
89
+ | 1 | Visibility of System Status | ? | [specific finding or "n/a" if solid] |
90
+ | 2 | Match System / Real World | ? | |
91
+ | 3 | User Control and Freedom | ? | |
92
+ | 4 | Consistency and Standards | ? | |
93
+ | 5 | Error Prevention | ? | |
94
+ | 6 | Recognition Rather Than Recall | ? | |
95
+ | 7 | Flexibility and Efficiency | ? | |
96
+ | 8 | Aesthetic and Minimalist Design | ? | |
97
+ | 9 | Error Recovery | ? | |
98
+ | 10 | Help and Documentation | ? | |
99
+ | **Total** | | **??/40** | **[Rating band]** |
100
+
101
+ Be honest with scores. A 4 means genuinely excellent. Most real interfaces score 20-32.
102
+
103
+ #### Anti-Patterns Verdict
104
+
105
+ **Start here.** Does this look AI-generated?
106
+
107
+ **LLM assessment**: Your own evaluation of AI slop tells. Cover overall aesthetic feel, layout sameness, generic composition, missed opportunities for personality.
108
+
109
+ **Deterministic scan**: Summarize what the automated detector found, with counts and file locations. Note any additional issues the detector caught that you missed, and flag any false positives.
110
+
111
+ **Visual overlays** (if injection succeeded): Tell the user that overlays are now visible in the **[Human]** tab in their browser, highlighting the detected issues. Summarize what the console output reported. If browser visualization was attempted but injection failed, say that no reliable user-visible overlay is available and report the fallback signal instead.
112
+
113
+ #### Overall Impression
114
+ A brief gut reaction: what works, what doesn't, and the single biggest opportunity.
115
+
116
+ #### What's Working
117
+ Highlight 2-3 things done well. Be specific about why they work.
118
+
119
+ #### Priority Issues
120
+ The 3-5 most impactful design problems, ordered by importance.
121
+
122
+ For each issue, tag with **P0-P3 severity** (consult [heuristics-scoring](heuristics-scoring.md) for severity definitions):
123
+ - **[P?] What**: Name the problem clearly
124
+ - **Why it matters**: How this hurts users or undermines goals
125
+ - **Fix**: What to do about it (be concrete)
126
+ - **Suggested command**: Which command could address this (from: /impeccable adapt, /impeccable animate, /impeccable audit, /impeccable bolder, /impeccable clarify, /impeccable colorize, /impeccable critique, /impeccable delight, /impeccable distill, /impeccable document, /impeccable harden, /impeccable layout, /impeccable onboard, /impeccable optimize, /impeccable overdrive, /impeccable polish, /impeccable quieter, /impeccable shape, /impeccable typeset)
127
+
128
+ #### Persona Red Flags
129
+ > *Consult [personas](personas.md)*
130
+
131
+ Auto-select 2-3 personas most relevant to this interface type (use the selection table in the reference). If `CLAUDE.md` contains a `## Design Context` section from `impeccable teach`, also generate 1-2 project-specific personas from the audience/brand info.
132
+
133
+ For each selected persona, walk through the primary user action and list specific red flags found:
134
+
135
+ **Alex (Power User)**: No keyboard shortcuts detected. Form requires 8 clicks for primary action. Forced modal onboarding. High abandonment risk.
136
+
137
+ **Jordan (First-Timer)**: Icon-only nav in sidebar. Technical jargon in error messages ("404 Not Found"). No visible help. Will abandon at step 2.
138
+
139
+ Be specific. Name the exact elements and interactions that fail each persona. Don't write generic persona descriptions; write what broke for them.
140
+
141
+ #### Minor Observations
142
+ Quick notes on smaller issues worth addressing.
143
+
144
+ #### Questions to Consider
145
+ Provocative questions that might unlock better solutions:
146
+ - "What if the primary action were more prominent?"
147
+ - "Does this need to feel this complex?"
148
+ - "What would a confident version of this look like?"
149
+
150
+ **Remember**:
151
+ - Be direct. Vague feedback wastes everyone's time.
152
+ - Be specific. "The submit button," not "some elements."
153
+ - Say what's wrong AND why it matters to users.
154
+ - Give concrete suggestions. Cut "consider exploring..." entirely.
155
+ - Prioritize ruthlessly. If everything is important, nothing is.
156
+ - Don't soften criticism. Developers need honest feedback to ship great design.
157
+
158
+ ### Persist the Snapshot
159
+
160
+ Once the report above is finalized, write it to `.impeccable/critique/` so the user can refer back, and so `/impeccable polish` can pick up the priority issues without a copy-paste.
161
+
162
+ Skip this step if the Setup slug was null (vague or root-level target).
163
+
164
+ 1. **Write the body to a temp file** so you can pipe it to the helper. Use the full critique report (heuristic table, anti-patterns verdict, priority issues, persona red flags, minor observations, and questions), but stop before the "Ask the User" / "Recommended Actions" sections that come later.
165
+
166
+ 2. **Pass the structured metadata** through `IMPECCABLE_CRITIQUE_META` (JSON), then run the write command:
167
+ ```bash
168
+ IMPECCABLE_CRITIQUE_META='{"target":"<user phrasing>","total_score":<n>,"p0_count":<n>,"p1_count":<n>}' \
169
+ node .claude/skills/impeccable/scripts/critique-storage.mjs write <slug> <body-file>
170
+ ```
171
+ The helper prints the absolute path it wrote.
172
+
173
+ 3. **Delete the temp body file** after the write attempt completes, whether the write succeeded or failed. If deletion fails, mention `temp-file cleanup failed: <reason>` briefly in the final output, but do not block the critique.
174
+
175
+ 4. **Read the trend** for context:
176
+ ```bash
177
+ node .claude/skills/impeccable/scripts/critique-storage.mjs trend <slug> 5
178
+ ```
179
+ This returns a JSON array of the last 5 frontmatter entries (including the one you just wrote).
180
+
181
+ 5. **Append a single line to the user-visible output**, after the report and before the questions:
182
+
183
+ > **Trend for `<slug>` (last 5 runs): 24 → 28 → 32 → 29 → 32**
184
+ > Wrote `.impeccable/critique/<filename>`.
185
+
186
+ If this is the first run for the slug, the trend is just one score; say so: "First run for this target, no trend yet."
187
+
188
+ This is fire-and-forget. Do not show the user the helper's JSON output; only the human-readable trend line and the written path. Failures here should not block the rest of the flow; print the error and move on.
189
+
190
+ ### Ask the User
191
+
192
+ **After presenting findings**, use targeted questions based on what was actually found. STOP and call the AskUserQuestion tool to clarify. These answers will shape the action plan.
193
+
194
+ Ask questions along these lines (adapt to the specific findings; do NOT ask generic questions):
195
+
196
+ 1. **Priority direction**: Based on the issues found, ask which category matters most to the user right now. For example: "I found problems with visual hierarchy, color usage, and information overload. Which area should we tackle first?" Offer the top 2-3 issue categories as options.
197
+
198
+ 2. **Design intent**: If the critique found a tonal mismatch, ask whether it was intentional. For example: "The interface feels clinical and corporate. Is that the intended tone, or should it feel warmer/bolder/more playful?" Offer 2-3 tonal directions as options based on what would fix the issues found.
199
+
200
+ 3. **Scope**: Ask how much the user wants to take on. For example: "I found N issues. Want to address everything, or focus on the top 3?" Offer scope options like "Top 3 only", "All issues", "Critical issues only".
201
+
202
+ 4. **Constraints** (optional; only ask if relevant): If the findings touch many areas, ask if anything is off-limits. For example: "Should any sections stay as-is?" This prevents the plan from touching things the user considers done.
203
+
204
+ **Rules for questions**:
205
+ - Every question must reference specific findings from the report. Never ask generic "who is your audience?" questions.
206
+ - Keep it to 2-4 questions maximum. Respect the user's time.
207
+ - Offer concrete options, not open-ended prompts.
208
+ - If findings are straightforward (e.g., only 1-2 clear issues), skip questions and go directly to Recommended Actions.
209
+
210
+ ### Recommended Actions
211
+
212
+ **After receiving the user's answers**, present a prioritized action summary reflecting the user's priorities and scope from Ask the User.
213
+
214
+ #### Action Summary
215
+
216
+ List recommended commands in priority order, based on the user's answers:
217
+
218
+ 1. **`/command-name`**: Brief description of what to fix (specific context from critique findings)
219
+ 2. **`/command-name`**: Brief description (specific context)
220
+ ...
221
+
222
+ **Rules for recommendations**:
223
+ - Only recommend commands from: /impeccable adapt, /impeccable animate, /impeccable audit, /impeccable bolder, /impeccable clarify, /impeccable colorize, /impeccable critique, /impeccable delight, /impeccable distill, /impeccable document, /impeccable harden, /impeccable layout, /impeccable onboard, /impeccable optimize, /impeccable overdrive, /impeccable polish, /impeccable quieter, /impeccable shape, /impeccable typeset
224
+ - Order by the user's stated priorities first, then by impact
225
+ - Each item's description should carry enough context that the command knows what to focus on
226
+ - Map each Priority Issue to the appropriate command
227
+ - Skip commands that would address zero issues
228
+ - If the user chose a limited scope, only include items within that scope
229
+ - If the user marked areas as off-limits, exclude commands that would touch those areas
230
+ - End with `/impeccable polish` as the final step if any fixes were recommended
231
+
232
+ After presenting the summary, tell the user:
233
+
234
+ > You can ask me to run these one at a time, all at once, or in any order you prefer.
235
+ >
236
+ > Re-run `/impeccable critique` after fixes to see your score improve.