create-yss-spec 1.1.1 → 1.1.3

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 (257) hide show
  1. package/package.json +1 -1
  2. package/template/.agents/skills/high-fidelity-html-prototype/SKILL.md +102 -0
  3. package/template/.codex/skills/data-analytics/.app.json +84 -0
  4. package/template/.codex/skills/data-analytics/.codex-plugin/plugin.json +66 -0
  5. package/template/.codex/skills/data-analytics/.mcp.json +30 -0
  6. package/template/.codex/skills/data-analytics/AGENTS.md +20 -0
  7. package/template/.codex/skills/data-analytics/DEPENDENCIES.MD +27 -0
  8. package/template/.codex/skills/data-analytics/README.md +60 -0
  9. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html +16 -0
  10. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part001 +1 -0
  11. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part002 +1 -0
  12. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part003 +1 -0
  13. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part004 +1 -0
  14. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part005 +1 -0
  15. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part006 +1 -0
  16. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html +16 -0
  17. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part001 +1 -0
  18. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part002 +1 -0
  19. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part003 +1 -0
  20. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part004 +1 -0
  21. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part005 +1 -0
  22. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part006 +1 -0
  23. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part007 +1 -0
  24. package/template/.codex/skills/data-analytics/assets/datascience-small.svg +5 -0
  25. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html +16 -0
  26. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part001 +1 -0
  27. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part002 +1 -0
  28. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part003 +1 -0
  29. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part004 +1 -0
  30. package/template/.codex/skills/data-analytics/assets/datascience.png +0 -0
  31. package/template/.codex/skills/data-analytics/assets/datascience.svg +10 -0
  32. package/template/.codex/skills/data-analytics/mcp/server.cjs +2963 -0
  33. package/template/.codex/skills/data-analytics/package-lock.json +3048 -0
  34. package/template/.codex/skills/data-analytics/package.json +43 -0
  35. package/template/.codex/skills/data-analytics/scripts/normalize-widget-assets.mjs +75 -0
  36. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/SKILL.md +160 -0
  37. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/agents/openai.yaml +6 -0
  38. package/template/.codex/skills/data-analytics/skills/build-dashboard/SKILL.md +148 -0
  39. package/template/.codex/skills/data-analytics/skills/build-dashboard/agents/openai.yaml +6 -0
  40. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/bi-platform-dashboard.md +18 -0
  41. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/html-dashboard.md +24 -0
  42. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/mcp-artifact-dashboard.md +71 -0
  43. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/streamlit-dashboard.md +85 -0
  44. package/template/.codex/skills/data-analytics/skills/build-report/SKILL.md +207 -0
  45. package/template/.codex/skills/data-analytics/skills/build-report/agents/openai.yaml +6 -0
  46. package/template/.codex/skills/data-analytics/skills/build-report/assets/executive-report-shell.html +70 -0
  47. package/template/.codex/skills/data-analytics/skills/build-report/assets/technical-report-shell.html +66 -0
  48. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/SKILL.md +118 -0
  49. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/agents/openai.yaml +6 -0
  50. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/__init__.py +1 -0
  51. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/cli.py +57 -0
  52. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/constants.py +61 -0
  53. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/docx_writer.py +362 -0
  54. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/html_parser.py +829 -0
  55. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/model.py +30 -0
  56. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/plan.py +129 -0
  57. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/quality.py +374 -0
  58. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/rendering.py +613 -0
  59. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/table_utils.py +54 -0
  60. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/utils.py +16 -0
  61. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc_plan.py +9 -0
  62. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/SKILL.md +78 -0
  63. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/agents/openai.yaml +6 -0
  64. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/scripts/report_to_google_slides.py +2379 -0
  65. package/template/.codex/skills/data-analytics/skills/build-report/report-to-pdf/SKILL.md +88 -0
  66. package/template/.codex/skills/data-analytics/skills/build-report/report-to-pdf/agents/openai.yaml +6 -0
  67. package/template/.codex/skills/data-analytics/skills/build-report/specifications/executive-report.md +97 -0
  68. package/template/.codex/skills/data-analytics/skills/build-report/specifications/mcp-app-report.md +59 -0
  69. package/template/.codex/skills/data-analytics/skills/build-report/specifications/technical-report.md +75 -0
  70. package/template/.codex/skills/data-analytics/skills/design-kpis/SKILL.md +103 -0
  71. package/template/.codex/skills/data-analytics/skills/design-kpis/agents/openai.yaml +6 -0
  72. package/template/.codex/skills/data-analytics/skills/gather-business-context/SKILL.md +68 -0
  73. package/template/.codex/skills/data-analytics/skills/gather-business-context/agents/openai.yaml +6 -0
  74. package/template/.codex/skills/data-analytics/skills/index/SKILL.md +251 -0
  75. package/template/.codex/skills/data-analytics/skills/index/agents/openai.yaml +6 -0
  76. package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/SKILL.md +131 -0
  77. package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/agents/openai.yaml +6 -0
  78. package/template/.codex/skills/data-analytics/skills/kpi-reporting/SKILL.md +141 -0
  79. package/template/.codex/skills/data-analytics/skills/kpi-reporting/agents/openai.yaml +6 -0
  80. package/template/.codex/skills/data-analytics/skills/kpi-reporting/references/report-templates.md +32 -0
  81. package/template/.codex/skills/data-analytics/skills/market-sizing/SKILL.md +106 -0
  82. package/template/.codex/skills/data-analytics/skills/market-sizing/agents/openai.yaml +6 -0
  83. package/template/.codex/skills/data-analytics/skills/metric-diagnostics/SKILL.md +130 -0
  84. package/template/.codex/skills/data-analytics/skills/metric-diagnostics/agents/openai.yaml +6 -0
  85. package/template/.codex/skills/data-analytics/skills/product-business-analysis/SKILL.md +141 -0
  86. package/template/.codex/skills/data-analytics/skills/product-business-analysis/agents/openai.yaml +6 -0
  87. package/template/.codex/skills/data-analytics/skills/spreadsheets/SKILL.md +178 -0
  88. package/template/.codex/skills/data-analytics/skills/spreadsheets/agents/openai.yaml +9 -0
  89. package/template/.codex/skills/data-analytics/skills/spreadsheets/assets/file-spreadsheet.png +0 -0
  90. package/template/.codex/skills/data-analytics/skills/spreadsheets/charts.md +31 -0
  91. package/template/.codex/skills/data-analytics/skills/spreadsheets/references/artifact_tool_api.md +466 -0
  92. package/template/.codex/skills/data-analytics/skills/spreadsheets/style_guidelines.md +99 -0
  93. package/template/.codex/skills/data-analytics/skills/user-context/SKILL.md +195 -0
  94. package/template/.codex/skills/data-analytics/skills/user-context/agents/openai.yaml +6 -0
  95. package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/automation-config.md +26 -0
  96. package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/source-category-config.json +51 -0
  97. package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/user-context-config.md +66 -0
  98. package/template/.codex/skills/data-analytics/skills/user-context/references/automation.md +69 -0
  99. package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding-examples.md +204 -0
  100. package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding-state-template.json +87 -0
  101. package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding.md +497 -0
  102. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/connector-playbook.md +74 -0
  103. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/setup.md +65 -0
  104. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/skill-template.md +160 -0
  105. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/source-intake.md +75 -0
  106. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/weekly-polling-automation.md +96 -0
  107. package/template/.codex/skills/data-analytics/skills/user-context/references/source-category-runtime.md +263 -0
  108. package/template/.codex/skills/data-analytics/skills/user-context/scripts/data_analytics_preflight.py +1460 -0
  109. package/template/.codex/skills/data-analytics/skills/user-context/scripts/init_user_context_state.py +128 -0
  110. package/template/.codex/skills/data-analytics/skills/user-context/scripts/reset_user_context_state.py +101 -0
  111. package/template/.codex/skills/data-analytics/skills/user-context/scripts/validate_user_context_preflight.py +499 -0
  112. package/template/.codex/skills/data-analytics/skills/user-context/tests/test_state_helpers.py +978 -0
  113. package/template/.codex/skills/data-analytics/skills/validate-data/SKILL.md +190 -0
  114. package/template/.codex/skills/data-analytics/skills/validate-data/agents/openai.yaml +6 -0
  115. package/template/.codex/skills/data-analytics/skills/visualize-data/SKILL.md +157 -0
  116. package/template/.codex/skills/data-analytics/skills/visualize-data/agents/openai.yaml +6 -0
  117. package/template/.codex/skills/data-analytics/skills/visualize-data/references/seaborn-templates.md +774 -0
  118. package/template/.codex/skills/data-analytics/src/DESIGN.md +222 -0
  119. package/template/.codex/skills/data-analytics/src/analytics-app/App.tsx +3666 -0
  120. package/template/.codex/skills/data-analytics/src/analytics-app/analytics-layout.test.mjs +136 -0
  121. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartFrame.tsx +54 -0
  122. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartLegend.tsx +96 -0
  123. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartRenderer.tsx +1647 -0
  124. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartTooltip.tsx +245 -0
  125. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-app-helpers.tsx +462 -0
  126. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-capabilities.ts +107 -0
  127. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-compatibility.ts +164 -0
  128. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-contract.ts +192 -0
  129. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-theme.ts +203 -0
  130. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-tokens.css +619 -0
  131. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-transforms.ts +402 -0
  132. package/template/.codex/skills/data-analytics/src/analytics-app/fonts/SystemSansVariableVF.woff2 +0 -0
  133. package/template/.codex/skills/data-analytics/src/analytics-app/imageExport.ts +370 -0
  134. package/template/.codex/skills/data-analytics/src/analytics-app/layout/AnalyticsLayoutCanvas.tsx +536 -0
  135. package/template/.codex/skills/data-analytics/src/analytics-app/layout/RichMarkdown.tsx +681 -0
  136. package/template/.codex/skills/data-analytics/src/analytics-app/layout/analyticsLayoutCore.ts +164 -0
  137. package/template/.codex/skills/data-analytics/src/analytics-app/main.tsx +21 -0
  138. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/chart_contract.py +472 -0
  139. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/check_analytics_app_runtime_links.py +75 -0
  140. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/design_contract.py +142 -0
  141. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/package_utils.py +142 -0
  142. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/tests/test_package_utils.py +377 -0
  143. package/template/.codex/skills/data-analytics/src/analytics-app/styles.css +3468 -0
  144. package/template/.codex/skills/data-analytics/src/analytics-app/tables/DataTable.d.ts +44 -0
  145. package/template/.codex/skills/data-analytics/src/analytics-app/tables/DataTable.jsx +639 -0
  146. package/template/.codex/skills/data-analytics/src/analytics-app/tables/data-table.css +327 -0
  147. package/template/.codex/skills/data-analytics/src/analytics-app/tokens.css +225 -0
  148. package/template/.codex/skills/data-analytics/src/analytics-app/types.ts +204 -0
  149. package/template/.codex/skills/data-analytics/src/analytics-app-core.md +85 -0
  150. package/template/.codex/skills/data-analytics/src/codex-style-contract.md +30 -0
  151. package/template/.codex/skills/data-analytics/src/datascience-artifact-widget.html +12 -0
  152. package/template/.codex/skills/data-analytics/src/datascience-artifact-widget.jsx +1008 -0
  153. package/template/.codex/skills/data-analytics/src/datascience-chart-widget.css +2117 -0
  154. package/template/.codex/skills/data-analytics/src/datascience-chart-widget.html +122 -0
  155. package/template/.codex/skills/data-analytics/src/datascience-chart-widget.js +3588 -0
  156. package/template/.codex/skills/data-analytics/src/datascience-table-widget.css +483 -0
  157. package/template/.codex/skills/data-analytics/src/datascience-table-widget.html +32 -0
  158. package/template/.codex/skills/data-analytics/src/datascience-table-widget.js +333 -0
  159. package/template/.codex/skills/data-analytics/src/mcp-host.js +153 -0
  160. package/template/.codex/skills/data-analytics/src/recharts-config.js +315 -0
  161. package/template/.codex/skills/data-analytics/src/recharts-renderer.jsx +294 -0
  162. package/template/.codex/skills/data-analytics/src/sql-source-view.css +33 -0
  163. package/template/.codex/skills/data-analytics/src/sql-source-view.js +157 -0
  164. package/template/.codex/skills/data-analytics/src/styles/codex-theme.css +121 -0
  165. package/template/.codex/skills/data-analytics/src/table-renderer.jsx +28 -0
  166. package/template/.codex/skills/data-analytics/tests/chart-transforms.test.mjs +87 -0
  167. package/template/.codex/skills/data-analytics/tests/funnel-smoke.html +105 -0
  168. package/template/.codex/skills/data-analytics/tests/inline-widget-compare.html +233 -0
  169. package/template/.codex/skills/data-analytics/tests/mcp-server.test.mjs +1500 -0
  170. package/template/.codex/skills/data-analytics/tests/native-style-contract.test.mjs +219 -0
  171. package/template/.codex/skills/data-analytics/tests/recharts-config.test.mjs +144 -0
  172. package/template/.codex/skills/data-analytics/tests/recharts-renderer.test.mjs +11 -0
  173. package/template/.codex/skills/data-analytics/tests/rich-markdown.test.mjs +54 -0
  174. package/template/.codex/skills/data-analytics/tests/widget-render-harness.html +321 -0
  175. package/template/.codex/skills/data-analytics/tsconfig.json +19 -0
  176. package/template/.codex/skills/data-analytics/vite.config.ts +46 -0
  177. package/template/.codex/skills/high-fidelity-html-prototype/SKILL.md +102 -0
  178. package/template/.codex/skills/high-fidelity-html-prototype/agents/openai.yaml +5 -0
  179. package/template/.codex/skills/product-design/.app.json +7 -0
  180. package/template/.codex/skills/product-design/.codex-plugin/plugin.json +50 -0
  181. package/template/.codex/skills/product-design/README.md +50 -0
  182. package/template/.codex/skills/product-design/agents/openai.yaml +4 -0
  183. package/template/.codex/skills/product-design/assets/composerIcon.svg +9 -0
  184. package/template/.codex/skills/product-design/assets/logo.png +0 -0
  185. package/template/.codex/skills/product-design/package.json +11 -0
  186. package/template/.codex/skills/product-design/references/browser-order.md +9 -0
  187. package/template/.codex/skills/product-design/references/communication-protocol.md +45 -0
  188. package/template/.codex/skills/product-design/references/critical-overrides.md +58 -0
  189. package/template/.codex/skills/product-design/references/local-prototype-preflight.md +16 -0
  190. package/template/.codex/skills/product-design/scripts/bootstrap-prototype.mjs +147 -0
  191. package/template/.codex/skills/product-design/skills/audit/SKILL.md +159 -0
  192. package/template/.codex/skills/product-design/skills/audit/agents/openai.yaml +6 -0
  193. package/template/.codex/skills/product-design/skills/audit/references/design-audit-framework.md +73 -0
  194. package/template/.codex/skills/product-design/skills/design-qa/SKILL.md +133 -0
  195. package/template/.codex/skills/product-design/skills/design-qa/agents/openai.yaml +6 -0
  196. package/template/.codex/skills/product-design/skills/design-qa/references/qa-rubric.md +61 -0
  197. package/template/.codex/skills/product-design/skills/get-context/SKILL.md +81 -0
  198. package/template/.codex/skills/product-design/skills/get-context/agents/openai.yaml +6 -0
  199. package/template/.codex/skills/product-design/skills/ideate/SKILL.md +179 -0
  200. package/template/.codex/skills/product-design/skills/ideate/agents/openai.yaml +6 -0
  201. package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +105 -0
  202. package/template/.codex/skills/product-design/skills/image-to-code/agents/openai.yaml +6 -0
  203. package/template/.codex/skills/product-design/skills/index/SKILL.md +126 -0
  204. package/template/.codex/skills/product-design/skills/index/agents/openai.yaml +6 -0
  205. package/template/.codex/skills/product-design/skills/prototype/SKILL.md +128 -0
  206. package/template/.codex/skills/product-design/skills/prototype/agents/openai.yaml +6 -0
  207. package/template/.codex/skills/product-design/skills/prototype/references/existing-codebase-edits.md +18 -0
  208. package/template/.codex/skills/product-design/skills/research/SKILL.md +92 -0
  209. package/template/.codex/skills/product-design/skills/research/agents/openai.yaml +6 -0
  210. package/template/.codex/skills/product-design/skills/share/SKILL.md +41 -0
  211. package/template/.codex/skills/product-design/skills/share/agents/openai.yaml +6 -0
  212. package/template/.codex/skills/product-design/skills/url-to-code/SKILL.md +124 -0
  213. package/template/.codex/skills/product-design/skills/url-to-code/agents/openai.yaml +6 -0
  214. package/template/.codex/skills/product-design/skills/user-context/SKILL.md +147 -0
  215. package/template/.codex/skills/product-design/skills/user-context/agents/openai.yaml +6 -0
  216. package/template/.codex/skills/product-design/skills/user-context/plugin-author-config/user-context-template.md +63 -0
  217. package/template/.codex/skills/product-design/skills/user-context/references/onboarding.md +66 -0
  218. package/template/.codex/skills/product-design/skills/user-context/scripts/init_user_context.py +86 -0
  219. package/template/.codex/skills/product-design/skills/user-context/scripts/user_context_preflight.py +204 -0
  220. package/template/.codex/skills/product-design/templates/prototype/AGENTS.md +7 -0
  221. package/template/.codex/skills/product-design/templates/prototype/index.html +12 -0
  222. package/template/.codex/skills/product-design/templates/prototype/package.json +18 -0
  223. package/template/.codex/skills/product-design/templates/prototype/src/App.jsx +5 -0
  224. package/template/.codex/skills/product-design/templates/prototype/src/main.jsx +10 -0
  225. package/template/.codex/skills/product-design/templates/prototype/src/styles.css +13 -0
  226. package/template/.codex/skills/product-design/templates/prototype/vite.config.mjs +14 -0
  227. package/template/.codex/skills/product-design-prototype/SKILL.md +2 -4
  228. package/template/.codex/skills/prototype-review/SKILL.md +7 -7
  229. package/template/.codex/skills/yss-design-system/SKILL.md +4 -2
  230. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +10 -7
  231. package/template/.codex/skills/yss-product-lifecycle/references/artifact-checklist.md +1 -0
  232. package/template/.codex/skills/yss-product-lifecycle/references/stage-routing.md +1 -1
  233. package/template/.codex/skills/yss-ui/SKILL.md +4 -10
  234. package/template/.codex/skills/yss-ui/references/quick-recipes.md +1 -1
  235. package/template/AGENTS.md +9 -3
  236. package/template/CONTEXT.md +1 -0
  237. package/template/docs/adr/adr-product-design-prototype-entrypoint.md +54 -0
  238. package/template/docs/api/templates/openapi-draft-review-checklist.md +5 -1
  239. package/template/docs/design/README.md +13 -6
  240. package/template/docs/design/prototypes/.gitkeep +1 -0
  241. package/template/docs/design/templates/interaction-spec-template.md +8 -3
  242. package/template/docs/design/templates/product-overview-design-template.md +34 -5
  243. package/template/docs/design/templates/prototype-confirmation-template.md +57 -0
  244. package/template/docs/design/templates/prototype-review-checklist.md +7 -3
  245. package/template/docs/design/templates/state-matrix-template.md +1 -1
  246. package/template/docs/process/harness-executive-blueprint.md +6 -1
  247. package/template/docs/process/harness-process-tailoring.md +3 -3
  248. package/template/docs/process/harness-work-unit-map.md +1 -1
  249. package/template/docs/process/lifecycle-artifact-map.md +7 -5
  250. package/template/docs/process/product-prototype-workflow.md +82 -0
  251. package/template/docs/templates/requirement-freeze-template.md +4 -3
  252. package/template/docs/user-guide/product-lifecycle-workflow.md +2 -2
  253. package/template/docs/user-guide/product-rd-lifecycle-best-practices.md +54 -24
  254. package/template/.codex/skills/component-story-prototype/SKILL.md +0 -55
  255. package/template/.codex/skills/component-story-prototype/agents/openai.yaml +0 -4
  256. package/template/.codex/skills/mock-api-prototype/SKILL.md +0 -48
  257. package/template/.codex/skills/mock-api-prototype/agents/openai.yaml +0 -4
@@ -0,0 +1,61 @@
1
+ # QA Rubric
2
+
3
+ Use this rubric for comprehensive design-to-implementation QA.
4
+
5
+ ## Fidelity
6
+
7
+ - Layout: frame size, grid, alignment, content order, spatial grouping, card radius, elevation, borders.
8
+ - Spacing: page margins, section gaps, item gaps, padding, tap-target spacing, vertical rhythm, cramped text, collapsed sections, and density drift.
9
+ - Typography: font family, weight, size, line height, letter spacing, wrapping, truncation, hierarchy, text density, optical balance, and mismatched display/body treatment.
10
+ - Color: token mapping, contrast, brand palette, state colors, gradients, opacity, shadows.
11
+ - Imagery: all target image assets are accounted for and match subject accuracy, crop, aspect ratio, generated/real image quality, background treatment.
12
+ - Icons: all icons are accounted for and match stroke weight, size, style family, alignment, optical balance, state changes.
13
+ - Shape and surfaces: rounded cards, borders, dividers, shadows, fills, and container treatments match the target rather than generic component defaults.
14
+ - Responsiveness: elements do not overlap, collapse into adjacent sections, clip, wrap awkwardly, or break hierarchy across desktop, tablet, and mobile viewports.
15
+ - Implementation shortcuts: custom CSS art, inline SVG substitutes, placeholder avatars, decorative blobs, and fake product imagery are flagged when they drift from the target design.
16
+
17
+ ## Mandatory Comparison Passes
18
+
19
+ Do not rely on generic "looks close" judgment. For each design QA pass, inspect and report on these areas:
20
+
21
+ ### Core design and functionality
22
+
23
+ - Fonts and typography: identify mismatched font family/fallback, weight, scale, line height, letter spacing, antialiasing, text hierarchy, wrapping, truncation, display-vs-body optical treatment, cramped text, and places where text spacing makes the UI feel broken or harder to scan.
24
+ - Spacing and layout: compare frame/crop, alignment, margins, padding, gaps, component sizes, radii, elevation, borders, and vertical rhythm. Cite where spacing drift changes hierarchy, density, readability, or causes elements to collide.
25
+ - Viewport resilience: check desktop, tablet, and mobile widths for overlapping elements, clipped content, collapsing sections, broken grids, awkward wrapping, and controls that become unusable.
26
+ - Colors and tokens: compare palette, gradients, opacity, shadows, contrast, semantic status colors, disabled/active states, and whether implementation tokens map to design intent.
27
+ - Image quality and asset fidelity: check subject match, crop, scale, aspect ratio, sharpness, compression, transparency/masking artifacts, halos, background integration, and raster-vs-vector suitability. Div/CSS art or custom SVG art that replace images in the target design are banned.
28
+ - Copy and content: for any copy that is part of the app, not dynamic content, check that it is coherent, makes sense in the standalone context of the app, and is visually appealing.
29
+ - Icons: zoom in and analyze all visible icons and icons hidden behind controls/interactions to ensure they are fully implemented, aligned, and visually consistent.
30
+ - States and interactions: expand/collapse sidebars, tooltips, forms, hover, focus, active, selected, disabled, loading, success, error, empty states, and any interactive controls needed for a functional frontend.
31
+ - AI shortcut artifacts: flag generic rounded cards, unnecessary borders, decorative CSS blobs, fake SVG illustrations, half-built avatars, mismatched hero art, and custom CSS/SVG replacements where the target called for real imagery, real icons, or a different surface treatment.
32
+
33
+ ### Accessibility
34
+
35
+ - Contrast, focus indicators, keyboard reachability, semantic controls, labels, alt text, reduced motion.
36
+ - Text scaling and zoom resilience.
37
+ - Tap targets at practical mobile sizes.
38
+ - Layout stability when text wraps, scales, or appears in longer real-world strings.
39
+
40
+ ## Finding Quality
41
+
42
+ A useful finding includes:
43
+
44
+ - One specific mismatch or flaw.
45
+ - Design evidence and implementation evidence.
46
+ - User or fidelity impact.
47
+ - Concrete fix, ideally with file/component/token/CSS guidance.
48
+ - Severity based on user impact, not personal taste.
49
+ - The affected fidelity surface when relevant: fonts, spacing, colors, image quality, layout, behavior, accessibility, content, icons, or responsiveness.
50
+ - Crammed text, broken wrapping, mismatched font weights, bad line height, or awkward letter spacing when they affect readability or hierarchy.
51
+ - Elements that overlap, clip, collapse into nearby sections, or break at alternate viewport sizes.
52
+ - Rounded cards, borders, shadows, or container treatments that appear in the implementation but are not present in the target.
53
+ - Borked icons, custom SVGs, half-assed attempts at avatars, hero art mismatches, custom CSS art, and placeholder-looking generated assets.
54
+ - Overflowing text, cramped text, broken layout, missing states, and incomplete interactions.
55
+
56
+ Avoid:
57
+
58
+ - Vague statements such as "make it more polished."
59
+ - Criticizing known placeholder content unless it affects the design goal.
60
+ - Treating every pixel difference as a bug when the design intent is preserved.
61
+ - Mixing multiple unrelated flaws into one finding.
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: get-context
3
+ description: "Mandatory design-brief gate for Product Design build and design workflows. Use before ideation, prototyping, image-to-code builds, redesigns, or product UI work to clarify missing product, visual, and interactivity context or play back the supplied brief before proceeding."
4
+ ---
5
+
6
+ # Get Context
7
+
8
+ Gather only the context needed for the next design action. This skill resolves or confirms the design brief; it does not implement UI or create durable design artifacts.
9
+
10
+ Run this skill at the start of Product Design requests that ask to design, build, prototype, clone, redesign, extend, or generate product UI directions.
11
+
12
+ Use question mode when any of the following are unclear:
13
+
14
+ - what product, site, feature, workflow, component, or screen is being designed
15
+ - what visual source should determine how it looks
16
+ - what concrete preferences or avoidances should shape visual exploration when no source exists
17
+ - what level of interactivity the user expects
18
+
19
+ Use playback mode when the user already provided the needed details. In playback mode, do not re-ask answered questions; play back the brief in a pithy format and name the next workflow.
20
+
21
+ Hard boundary: do not implement UI, scaffold a prototype, start a server, or create files while context is still missing.
22
+
23
+ ## Critical Overrides
24
+
25
+ - Refer to the Plugin router [$index](../index/SKILL.md) before proceeding.
26
+ - Follow [$critical-overrides](../../references/critical-overrides.md).
27
+
28
+ ## User Context
29
+
30
+ Before starting, load [$user-context](../user-context/SKILL.md) and run its preflight script when local shell access is available.
31
+
32
+ Use saved product URLs, Figma files, screenshots, reference images, codebase paths, Storybook, tokens, design systems, brand assets, component refs, browser preferences, and share targets as grounding material when relevant.
33
+
34
+ Do not inspect every saved reference. Inspect only what the current task needs.
35
+
36
+ ## Get Context Script
37
+
38
+ The following three questions should be answered by the user. Adapt the questions based on what the user has provided so far in the conversation. If some or all fields are already known, skip the questions and summarize the design brief in your own words.
39
+
40
+ The questions to answer are:
41
+
42
+ > What do you want the thing to do?
43
+
44
+ > What existing product, design system, Figma file, screenshot, URL, image, or other visual source should it match? If none, what look are you going for? Mention existing design systems already in user-context if they exist.
45
+
46
+ > What level of interactivity should the thing have?
47
+
48
+ One of:
49
+
50
+ - Full interactivity: all controls and states are completely functional and implemented.
51
+ - Static: controls and states are minimally interactive, preferring speed.
52
+
53
+ After the questions, reply with a pithy design brief that summarizes what you're about to explore. Avoid walls of text at all costs. Be clear and concise.
54
+
55
+ Example script to follow:
56
+
57
+ ```
58
+ Before I build, the Product Design workflow needs a quick design brief.
59
+
60
+ What should the login page do? Email/password only, magic link, SSO, sign-up link, forgot password?
61
+ Do you have an existing design system, app, Figma, or screenshot to match?
62
+ If not, what look are you going for?
63
+ Interactivity level: full working form states, or a faster mostly-static mock?
64
+
65
+ ```
66
+
67
+ ## Final message
68
+
69
+ 1. Before proceeding to `$ideate`, `$prototype`, `$url-to-code`, or `$image-to-code`, confirm the design brief by explaining it back to the user in a pithy format as a `final` message.
70
+
71
+ 2. Proceed only after the user confirms the design brief, unless the current thread already contains confirmation of that exact brief. If the user provides feedback, continue to refine the design brief with them.
72
+
73
+ 3. After the user confirms the design brief, send one short expectation-setting note before starting an involved app, prototype, clone, redesign, or build. Example confirmation message with expectations setting:
74
+
75
+ ```text
76
+ Lovely, brief locked. This kind of build usually takes about 10-15 minutes, and ambitious ones can take longer. Good moment to grab coffee or tend to something else; I'll keep moving and bring the prototype back when it is ready.
77
+ ```
78
+
79
+ Do not send this note for tiny static changes, quick audits, simple research, setup-only, or share-only requests.
80
+
81
+ Done means the user has confirmed the design brief.
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "Get Context"
3
+ short_description: "Confirm the Product Design brief before design or build work"
4
+ default_prompt: "Confirm the design brief for this Product Design task before the next workflow starts."
5
+ policy:
6
+ allow_implicit_invocation: true
@@ -0,0 +1,179 @@
1
+ ---
2
+ name: ideate
3
+ description: "Generate image-based visual alternatives, remixes, or concept directions after Product Design get-context has confirmed the design brief. Use when the user asks for design variants, visual exploration, remixes, or image-generated approaches from provided context."
4
+ ---
5
+
6
+ # Ideate
7
+
8
+ You're tasked with generating design concepts for a user's idea.
9
+
10
+ Follow the shared Product Design routing guidance in [$index](../index/SKILL.md).
11
+
12
+ ## Critical Overrides
13
+
14
+ - Refer to the Plugin router [$index](../index/SKILL.md) before proceeding.
15
+ - Follow [$critical-overrides](../../references/critical-overrides.md).
16
+
17
+ ## User Context
18
+
19
+ Before starting, load [$user-context](../user-context/SKILL.md) and run its preflight script when local shell access is available.
20
+
21
+ Attach provided product URLs, Figma files, screenshots, reference images, codebase paths, Storybook, tokens, design systems, brand assets, component refs, browser preferences, and share targets to the Image Gen generations to align them to the design brief.
22
+
23
+ Do not inspect every saved reference. Inspect only what the current task needs.
24
+
25
+ ## Workflow
26
+
27
+ Do not generate images until `$get-context` has played back and confirmed the design brief for this exact request. If this skill was invoked directly and the current thread does not already contain that confirmed brief, route to [$get-context](../get-context/SKILL.md) first.
28
+
29
+ Before generating images:
30
+
31
+ 1. Understand the brief.
32
+
33
+ - Identify the target: component, screen, feature/workflow, or broad product idea.
34
+ - Identify the intended user, product surface, and goal.
35
+ - Preserve hard constraints from the user.
36
+ - Run `get-context` if the brief has not already been played back and confirmed.
37
+
38
+ 2. Resolve context.
39
+
40
+ - Use provided files, screenshots, links, and visible references.
41
+ - In a local workspace, look for nearby design documentation and other local visual context.
42
+ - Check likely design context folders such as `user-context`, `storybook/`, `.storybook/`, `design-system/`, `design-systems/`, `tokens/`, `components/`, `app/`, and generated prototype roots.
43
+ - In an existing project, look for existing product screenshots, similar flows, Storybook captures, design tokens, and component references before generating. Ask if the user can provide example screens similar to the one they are building if the existing app isn't accessible. Ensure you add design language and tokens to the Image Gen prompt.
44
+
45
+ 3. Inspect references directly.
46
+
47
+ - Look at screenshots, images, Figma frames, app surfaces, or other visual references before generating.
48
+ - Do not infer from filenames alone.
49
+ - If a named local path or reference is not visible, stop and ask the user to confirm the path, upload the file, start the local app, or point to the correct workspace.
50
+
51
+ 4. Decide the variation mode.
52
+
53
+ - If useful local design context exists and the user has not asked for a new style, stay within that existing direction.
54
+ - If no useful design context exists, or the user asks for broad exploration, vary both concept and visual system.
55
+ - For a specific component or existing surface, vary structure, interaction, hierarchy, and emphasis before varying brand style.
56
+ - For a broad product idea, explore three meaningfully different product directions.
57
+
58
+ 5. Choose target dimensions before Image Gen.
59
+
60
+ - Pick the dimensions that best match the user's request and any provided visual reference.
61
+ - Mobile app: `390 x 844`.
62
+ - Tablet app: `834 x 1194`.
63
+ - Desktop app, dashboard, admin, or SaaS: `1440 x 1024`.
64
+ - Landing or marketing page: `1440` wide and scrollable.
65
+ - Modal, panel, widget, or component: natural container size.
66
+ - Provided screenshot, Figma frame, mockup, or reference image: match its dimensions and aspect ratio when the user wants to continue from that visual.
67
+ - Avoid crowding. Make the design fit the chosen dimensions cleanly, with realistic spacing, readable type, and no clipped content.
68
+ - Include the chosen dimensions in every Image Gen prompt.
69
+
70
+ 6. Check for access gaps.
71
+
72
+ - If a connector, reference, or file cannot be accessed because of auth, permissions, expired login, missing scope, suspiciously empty results, or unavailable local state, stop.
73
+ - Name the gap clearly and ask whether to troubleshoot access or continue without that source.
74
+ - Do not generate images while silently ignoring a named reference.
75
+
76
+ 7. Ask only if context is too thin.
77
+
78
+ - Ask one targeted question only when available context is insufficient to generate useful directions.
79
+ - Prefer asking about style direction, target audience, or the reference surface.
80
+
81
+ 8. Attach images and mocks provided by the user to the Image Gen call along with your design brief.
82
+
83
+ 9. Generate 3 independent options that have distinct information hierarchy, layout strategy, interaction model, or product framing.
84
+
85
+ Rules you must follow:
86
+
87
+ - Use the Image Gen prompt below.
88
+ - Use the built-in Image Gen tool.
89
+ - Generate exactly three independent images unless the user overrides the count.
90
+ - Generate options in parallel when possible.
91
+ - Each option must be its own Image Gen result. Do not put multiple ideas in one image.
92
+ - Attach provided screenshots, files, app captures, Figma references, and visual source material as moodboard inspiration when available.
93
+ - Attach existing product screenshots, similar flows, Storybook captures, design tokens, and component references as grounding material when available.
94
+ - If a screenshot, image, or visual file is available, attach the actual image to the Image Gen call. Do not rely on text descriptions of it.
95
+ - Only claim a visual reference was attached if the Image Gen call actually received that image or a readable local image path.
96
+ - If you cannot attach the image, say that clearly and ask whether to continue with text-only direction.
97
+ - Preserve hard constraints from the brief in every image.
98
+ - After generating options, stop for the user's selection before any build work begins.
99
+ - The selected option is the visual target for `$image-to-code`.
100
+
101
+ ## Feedback Loop
102
+
103
+ If the user gives feedback after seeing options, generate revised options with that feedback.
104
+
105
+ If the user selects an option and gives feedback, generate a revised option with that feedback before build.
106
+
107
+ If the user likes parts of more than one option, combine those choices into a new Image Gen design and show it before build.
108
+
109
+ ## Image Gen Prompt
110
+
111
+ Adapt this prompt to the confirmed design brief, attach any available image references, and send it to Image Gen:
112
+
113
+ ```text
114
+ Create realistic, production-quality UI designs with clear hierarchy, strong typography, intentional imagery, and purposeful spacing.
115
+
116
+ Keep the design simple. Avoid busy interfaces. Every section should have a clear purpose, and every element should earn its place.
117
+
118
+ Prioritize clarity, whitespace, and usability over decorative complexity.
119
+
120
+ ### Target Dimensions
121
+
122
+ Pick the dimensions that best match the user's request and any provided visual reference.
123
+
124
+ - Mobile app: `390 x 844`
125
+ - Tablet app: `834 x 1194`
126
+ - Desktop app, dashboard, admin, or SaaS: `1440 x 1024`
127
+ - Landing or marketing page: `1440` wide and scrollable
128
+ - Modal, panel, widget, or component: natural container size
129
+ - Provided screenshot, Figma frame, mockup, or reference image: match its dimensions and aspect ratio when the user wants to continue from that visual
130
+
131
+ Avoid crowding. Make the design fit the chosen dimensions cleanly, with realistic spacing, readable type, and no clipped content.
132
+
133
+ ### Layout
134
+
135
+ When deciding how to lay elements out on the page, this should be your priority order for tools to differentiate sections:
136
+
137
+ 1. Use spacing, grouping, alignment, typography, and hierarchy on the same product surface.
138
+ 2. Use simple dividers or row separators.
139
+ 3. Use a subtle surface tint only when the base surface is not enough.
140
+ 4. Use borders only when separation still is not clear.
141
+ 5. Use shadows/elevation last, and sparingly.
142
+
143
+ Don'ts:
144
+ - Do not default to a centered "app card" (the whole UI is in a card on the page) on top of a contrasting page background. Use the base page surface first unless the source product or user explicitly asks for a contained app panel.
145
+ - Do not put cards inside cards. Do not make every major section a card. Do not make each list item its own card unless each item is truly a standalone object. A normal list should usually read as one grouped surface with lightweight row separation.
146
+ - Do not make up extraneous features. Add only the things essential to accomplish what the prototype's goal is. Don't make up more features just to fill out a UI.
147
+
148
+ ### Typography
149
+
150
+ - Anchor UI typography to readable product sizes. Body text should usually sit between 14px and 16px, with the rest of the type scale built around that baseline.
151
+ - Keep long-form text to a comfortable line length, generally no more than 65 characters per line.
152
+ - Use no more than 2 fonts in a UI. You can use any font available in the project, or fonts provided free on Google Fonts. Pick the font that is best for the goal of the product and that matches with its intended look and feel.
153
+
154
+ ### Presentation
155
+
156
+ - Do not add browser or device chrome around the mockup.
157
+ - Do not put multiple ideas into a single image generation.
158
+ - Vary each idea as much as possible while adhering to the constraints given entirely.
159
+ ```
160
+
161
+ ## Output
162
+
163
+ After generation, provide
164
+
165
+ 1. A short, memorable name for each concept that distills its choices down.
166
+
167
+ 2. A short closing question that asks whether the user wants to keep exploring or choose one direction to continue.
168
+
169
+ If the image tool already displayed the generated images in the thread, do not embed the same images again in the final message.
170
+
171
+ If the image tool did not display the generated images, include one image per option.
172
+
173
+ Do not show the same generated image twice.
174
+
175
+ Example closing question:
176
+
177
+ > Want to explore more directions, or should I build one of these? If one works, tell me 1, 2, or 3.
178
+
179
+ Done means the requested number of independent images was generated and the user has been asked to select one.
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "Ideate"
3
+ short_description: "Generate visual directions after brief confirmation"
4
+ default_prompt: "Confirm the design brief, then create visual design directions for this product idea."
5
+ policy:
6
+ allow_implicit_invocation: true
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: image-to-code
3
+ description: "Implement a selected image, screenshot, mockup, or Image Gen reference as a faithful responsive frontend after Product Design get-context has confirmed the design brief."
4
+ ---
5
+
6
+ # Image to Code
7
+
8
+ You're tasked with translating the visual target image into a high-quality, interactive website or web app.
9
+
10
+ ## Critical Overrides
11
+
12
+ - Refer to the Plugin router [$index](../index/SKILL.md) before proceeding.
13
+ - Follow [$critical-overrides](../../references/critical-overrides.md).
14
+
15
+ ## User Context
16
+
17
+ Before starting, load [$user-context](../user-context/SKILL.md) and run its preflight script when local shell access is available.
18
+
19
+ Use saved product URLs, Figma files, screenshots, reference images, codebase paths, Storybook, tokens, design systems, brand assets, component refs, browser preferences, and share targets as grounding material when relevant.
20
+
21
+ Do not inspect every saved reference. Inspect only what the current task needs.
22
+
23
+ ## Workflow
24
+
25
+ CRITICAL: THIS IS NOT GUIDANCE. THIS IS A CHECKLIST TO COMPLETE.
26
+
27
+ 0. Do not start unless `$get-context` has played back and confirmed the design brief for this exact request. If this skill was directly at-mentioned without a clear visual target or the current thread does not already contain a confirmed brief, route to [$get-context](../get-context/SKILL.md) first.
28
+
29
+ 1. Do not start unless you have a selected image, screenshot, mockup, or Image Gen result to recreate. A written brief is not enough.
30
+
31
+ 2. Treat the provided image as the design to recreate.
32
+
33
+ 3. If the provided design is a mobile viewport, build a mobile app. If it's unclear, default to desktop.
34
+
35
+ 4. Review the reference design, catalog every image asset in the design, and use the Image Gen tool to create individual images for each one. Zoom in so you can catch every asset that needs to be generated.
36
+
37
+ Examples include:
38
+
39
+ - Hero images including full bleed image backgrounds
40
+ - Featured article imagery
41
+ - Thumbnails
42
+ - Decorative illustrations
43
+ - Textures and background motifs
44
+ - Logos
45
+ - Product images
46
+ - Avatars
47
+
48
+ Rules:
49
+
50
+ - CRITICAL RULE: Do not create custom div art, CSS art, inline SVGs, handcrafted SVGs, HTML element drawings, div/span shapes, CSS drawings, gradients, emoji, or text glyphs instead of real icons and image assets ever. Use the built-in Image Gen tool for images and the closest matching icon library for icons.
51
+ - If text is part of an image asset, keep it in the image asset. Examples include full bleed hero images, signs, posters, packaging, storefronts, article art, and illustrations where the type belongs to the visual itself. Do not crop the background image and recreate that text with transparent text boxes, HTML, CSS, or separate overlay layers unless the source clearly shows editable UI text sitting on top of the image.
52
+ - Do not use generic placeholders where the reference implies custom visual content.
53
+ - Generated assets must share the same art direction, palette, rendering style, and design language as the reference mockup.
54
+ - The built-in Image Gen tool does not support transparent images; post-process generated assets when transparency is required.
55
+
56
+ 5. Define all sections of the page. For each section, meticulously measure the layout, spacing between elements, and the size and space of the elements themselves.
57
+
58
+ 6. Find freely available fonts that match the target design.
59
+
60
+ 7. Find a freely available icon library that matches the target design. Do not default to Lucide icons. Search for the best match.
61
+
62
+ Rules:
63
+
64
+ - CRITICAL RULE: Do not create custom inline SVGs, handcrafted SVGs, HTML element drawings, div/span shapes, CSS drawings, gradients, emoji, or text glyphs. Use the built-in Image Gen tool to generate assets and use the closest matching icon library for icons.
65
+
66
+ 8. Build the app starting with [local-prototype-preflight](../../references/local-prototype-preflight.md). Build all interactions, ensuring the app is complete, functional, and interactive: all controls and states activated and functional.
67
+
68
+ Examples include:
69
+
70
+ - Header, sidebar, tooltip, and modal interactions
71
+ - Hover and focus states
72
+ - Responsive navigation
73
+ - Clickable cards and buttons
74
+ - Animated affordances if implied by the design
75
+ - Newsletter forms, tags, filters, or navigation elements shown in the mockup
76
+ - Bring the thing to life. Do not deliver a static site; the less you do, the more the designer has to add.
77
+
78
+ Rules:
79
+
80
+ - Place every image asset you generated into its position before proceeding. I repeat, replace all placeholders, including CSS/SVG placeholders, before proceeding.
81
+ - Do not leave visible controls as static chrome. Do not create new pages or routes unless the user asks for them.
82
+
83
+ 9. Run the local app.
84
+
85
+ 10. Capture the local app using [browser-order](../../references/browser-order.md).
86
+
87
+ 11. Run [design-qa](../design-qa/SKILL.md) as the blocking build gate.
88
+
89
+ Steps:
90
+
91
+ - Open the reference image and the latest prototype screenshot before writing the QA report.
92
+ - Compare the same viewport and the same interaction state. If they do not match, capture the missing view first.
93
+ - Save the QA report as `design-qa.md` in the project root.
94
+ - Fix P0/P1/P2 issues, capture the app again, and repeat until the QA report says `final result: passed`.
95
+ - Do not keep looping on P3 polish. Include any remaining P3s as follow-up iteration notes.
96
+ - If source capture, prototype capture, or visual comparison is blocked, stop. `design-qa.md` must say `final result: blocked`.
97
+ - Do not hand off unless `design-qa.md` exists and says `final result: passed`.
98
+
99
+ 12. Handoff the app or website.
100
+
101
+ - Only hand off after [design-qa](../design-qa/SKILL.md) passes.
102
+ - Keep the prototype running locally.
103
+ - Provide the clickable local URL.
104
+ - Briefly describe the work as a designer would.
105
+ - Include the post-build iteration and share nudge from [critical-overrides](../../references/critical-overrides.md#build-handoff).
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "Image To Code"
3
+ short_description: "Build a responsive frontend from a selected visual target after brief confirmation"
4
+ default_prompt: "Confirm the design brief, then build this selected design as an interactive frontend."
5
+ policy:
6
+ allow_implicit_invocation: true
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: index
3
+ description: "Use to discover specific skills for the Product Design plugin, when it is at-mentioned directly, or for any mentions of potentially relevant work, including: UX research; product, screen, or flow audits; visual ideation; app or interface design, redesign, cloning, prototyping, or implementation from ideas, URLs, images, Figma, or code; design QA; and prototype sharing or deployment."
4
+ ---
5
+
6
+ # Skill Purpose
7
+
8
+ Route Product Design requests to the right Product Design skill. Treat an `@Product Design` mention, direct Product Design invocation, or broad request like "design this app", "build a prototype", "audit this flow", "research this product", or "share this prototype" as intent to use this plugin.
9
+
10
+ # Plugin Purpose
11
+
12
+ The Product Design plugin helps designers and other non-coders close the gap between product ideas and working software.
13
+
14
+ The Product Design plugin equips you with the following set of skills to:
15
+
16
+ - Research ideas and pain points related to your product.
17
+ - Conduct product-flow audits.
18
+ - Generate distinctly new ideas for your product with ImageGen.
19
+ - Clone existing product apps into lightweight prototypes.
20
+ - Build lightweight or interactive prototypes to share with your team.
21
+
22
+ ## Communication Style
23
+
24
+ Speak to the user in a warm, fun, and collaborative way, prioritizing pithy explanations over long walls of text and numerous bullet points. Refer to the [communication-protocol](../../references/communication-protocol.md) for relaying Product Design plugin progress updates and handoff.
25
+
26
+ ## Critical Overrides
27
+
28
+ - Follow [$critical-overrides](../../references/critical-overrides.md).
29
+
30
+ ## Router Only
31
+
32
+ This index routes Product Design requests; it does not satisfy focused workflows itself.
33
+
34
+ When a request matches `$user-context`, `$get-context`, `$research`, `$ideate`, `$prototype`, `$image-to-code`, `$url-to-code`, `$audit`, `$design-qa`, or `$share`, load the focused skill and follow it.
35
+
36
+ For visual ideation requests, load `$get-context` first, then `$ideate`.
37
+
38
+ ## No Visual Target, No Build
39
+
40
+ For new app, prototype, redesign, or UI build requests without a URL, screenshot, Figma frame, mockup, source image, or existing code target:
41
+
42
+ - Run `$get-context`.
43
+ - After the brief is approved, route to `$ideate`.
44
+ - Show exactly three visual options and wait for the user to choose one.
45
+ - Do not scaffold, edit files, or start a server before a visual option is selected.
46
+
47
+ `Full working version`, `no refs`, `go for it`, `make an assumption`, or a confirmed brief do not waive this.
48
+
49
+ ## User Context
50
+
51
+ Use [$user-context](../user-context/SKILL.md) when the user asks to:
52
+
53
+ - Set up Product Design
54
+ - Get started with Product Design
55
+ - Onboard with Product Design
56
+ - Save product or design sources
57
+ - See what Product Design remembers
58
+ - Update saved product or design context
59
+ - Remember a Product Design preference
60
+ - Setup my plugin
61
+
62
+ Adjust the context-gathering request to match the user's request. First-time setup differs from updating existing context.
63
+
64
+ For setup-only requests, do not inspect the workspace, install dependencies, scaffold a prototype, generate images, run audits, or start implementation.
65
+
66
+ When answering "what can you do?", "how do I get started?", or similar broad Product Design questions, end by asking whether the user wants to set up saved context.
67
+
68
+ Use this close:
69
+
70
+ ```text
71
+ Want to onboard Product Design with your context? Send product URLs, Figma files, screenshots, codebase paths, Storybook links, tokens, brand assets, or preferred share targets, and I'll save them for future work.
72
+ ```
73
+
74
+ Before routing to Product Design workflows, load [$user-context](../user-context/SKILL.md) and run its preflight script when local shell access is available.
75
+
76
+ ## Browser Annotation Updates
77
+
78
+ Treat annotations as scoped edits to the current prototype.
79
+
80
+ Read the annotation, its target, and the surrounding screen before changing code. Preserve the existing prototype by default: layout, style, content, routes, assets, interactions, and working behavior stay the same unless the annotation asks to change them.
81
+
82
+ Do not redesign nearby UI or rebuild the prototype just because an annotation touches that area. If the annotation is ambiguous and the choice would materially change the prototype, ask first.
83
+
84
+ ## Skills
85
+
86
+ Use this as the root routing guidance for Product Design plugin work. If several focused skills apply, sequence them in the order that creates the most useful design workflow. Keep this index as a router; do not perform focused workflow logic here.
87
+
88
+ ### $user-context
89
+
90
+ Preflight, save, or answer from Product Design setup context. Route here before Product Design workflows to load saved product and design sources, and for direct setup, get-started, onboarding, save, remember, recall, inspect, or customization requests. This skill owns Product Design plugin-scoped context and preference policy.
91
+
92
+ ### $get-context
93
+
94
+ Route here first for design, build, prototype, redesign, extend, or UI exploration work. If details are missing, ask only for the missing product, visual, or interactivity context; if details are already present, play back the brief before proceeding. Confirm the design brief back to the user before Product Design ideation or implementation.
95
+
96
+ ### $research
97
+
98
+ Run fast, source-grounded UX research on current user problems for a named digital product. Route here for researching user pain, UX friction, onboarding issues, docs/help problems, developer experience friction, support pain, product workflow issues, or current user complaints.
99
+
100
+ ### $audit
101
+
102
+ Capture and review a product flow, journey, screen, or multi-step product experience from screenshots. Route here for user-facing audit, critique, review, inspect, assess, or UI evaluation requests. It reports UX, design, and accessibility findings tied to captured evidence; do not use `design-qa` for user-facing audits.
103
+
104
+ ### $ideate
105
+
106
+ Generate image-based visual alternatives, remixes, or concept directions for a component, screen, feature, workflow, or product idea. Route here after `get-context` has confirmed the design brief and the user needs visual exploration, design variants, alternatives to an existing design, or idea discovery before choosing a visual target. Prefer this over prose-only ideation unless the user asks for prose.
107
+
108
+ ### $prototype
109
+
110
+ Route coded prototype, redesign, clone, and UI build requests to the right Product Design workflow. Route here after `get-context` has confirmed the design brief and the user asks to build from a URL, image, mockup, Figma source, existing codebase, or product idea.
111
+
112
+ ### $url-to-code
113
+
114
+ Clone a live URL as a runnable frontend-only local app using Browser or Chrome source evidence. Route here after `get-context` has confirmed the brief and the user provides a production URL for a faithful local prototype or clone. It should not modify production code; use `prototype` first when source selection is still unclear.
115
+
116
+ ### $image-to-code
117
+
118
+ Implement a selected visual target as a faithful, responsive, interactive frontend. Route here after `get-context` has confirmed the brief and the user has chosen an ImageGen mock, screenshot, Figma frame, mockup, reference image, or other visual source. Do not start here when no visual target has been selected; use `get-context` and `ideate` first.
119
+
120
+ ### $share
121
+
122
+ Deploy a runnable prototype and return a shareable URL using the user's preferred target when available. Route here when the user asks to share, deploy, publish, host, create a link, or make a prototype shareable with `@Sites`, `@Vercel`, or another deployment tool.
123
+
124
+ ### $design-qa
125
+
126
+ Compare a coded Product Design prototype against its source visual target before handoff. Route here only as an internal helper after a prototype, URL-to-code build, or image-to-code build has both a source visual and rendered implementation. Do not route broad UX critiques, audits, or product-flow reviews here; use `audit` instead.
@@ -0,0 +1,6 @@
1
+ interface:
2
+ display_name: "Product Design"
3
+ short_description: "Primary entrypoint for Product Design setup, brief confirmation, research, audits, ideation, prototypes, URL clones, image-to-code builds, QA, and sharing."
4
+ default_prompt: "What can Product Design do?"
5
+ policy:
6
+ allow_implicit_invocation: true