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,619 @@
1
+ :root {
2
+ --ds-chart-font-family: var(--ds-font, var(--codex-font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif));
3
+ --ds-chart-text: var(--ds-text, #282828);
4
+ --ds-chart-text-muted: var(--ds-text-tertiary, var(--ds-text-muted, #8f8f8f));
5
+ --ds-chart-grid: var(--ds-border-subtle, rgba(13, 13, 13, 0.05));
6
+ --ds-chart-axis: var(--ds-border-subtle, rgba(13, 13, 13, 0.05));
7
+ --ds-chart-reference-line: var(--ds-border-subtle, rgba(13, 13, 13, 0.08));
8
+ --ds-chart-tooltip-bg: var(--ds-surface, #ffffff);
9
+ --ds-chart-tooltip-border: var(--ds-border-subtle, rgba(13, 13, 13, 0.05));
10
+ --ds-chart-empty-border: var(--ds-border-strong, rgba(13, 13, 13, 0.15));
11
+ --ds-chart-hover-bg: color-mix(in srgb, var(--ds-text-primary, #0d0d0d) 3%, transparent);
12
+ --ds-chart-radius-xs: 4px;
13
+ --ds-chart-radius-sm: var(--ds-radius-sm, 8px);
14
+ --ds-chart-radius-md: 8px;
15
+ --ds-chart-series-blue: var(--ds-blue, #003f7a);
16
+ --ds-chart-series-purple: var(--ds-purple, #6b3ab4);
17
+ --ds-chart-series-green: var(--ds-green, #00692a);
18
+ --ds-chart-series-neutral: var(--ds-neutral, #8f8f8f);
19
+ --ds-chart-series-orange: var(--ds-orange, #923b0f);
20
+ --ds-chart-series-yellow: var(--ds-yellow, #916f00);
21
+ --ds-chart-series-pink: var(--ds-pink, #ba437a);
22
+ --ds-chart-series-red: var(--ds-red, #ba2623);
23
+ --ds-chart-stack-1: var(--ds-blue-700, #003f7a);
24
+ --ds-chart-stack-2: var(--ds-blue-500, #0169cc);
25
+ --ds-chart-stack-3: var(--ds-purple-500, #8046d9);
26
+ --ds-chart-stack-4: var(--ds-blue-300, #339cff);
27
+ --ds-chart-stack-5: var(--ds-purple-300, #ad7bf9);
28
+ --ds-chart-stack-6: var(--ds-blue-800, #013566);
29
+ --ds-chart-stack-7: var(--ds-purple-700, #532d8d);
30
+ --ds-chart-stack-8: var(--ds-blue-200, #66b5ff);
31
+ --ds-chart-sequential-1: var(--ds-blue-50, #e5f3ff);
32
+ --ds-chart-sequential-2: var(--ds-blue-75, #cce6ff);
33
+ --ds-chart-sequential-3: var(--ds-blue-100, #99ceff);
34
+ --ds-chart-sequential-4: var(--ds-blue-200, #66b5ff);
35
+ --ds-chart-sequential-5: var(--ds-blue-300, #339cff);
36
+ --ds-chart-sequential-6: var(--ds-blue-400, #0285ff);
37
+ --ds-chart-sequential-7: var(--ds-blue-500, #0169cc);
38
+ --ds-chart-sequential-8: var(--ds-blue-600, #004f99);
39
+ --ds-chart-sequential-9: var(--ds-blue-700, #003f7a);
40
+ --ds-chart-diverging-negative-2: var(--ds-red, #ba2623);
41
+ --ds-chart-diverging-negative-1: var(--ds-orange, #923b0f);
42
+ --ds-chart-diverging-neutral: var(--ds-neutral, #8f8f8f);
43
+ --ds-chart-diverging-positive-1: var(--ds-green, #00692a);
44
+ --ds-chart-diverging-positive-2: var(--ds-blue, #003f7a);
45
+ --ds-chart-heatmap-1: var(--ds-blue-50, #e5f3ff);
46
+ --ds-chart-heatmap-2: var(--ds-blue-75, #cce6ff);
47
+ --ds-chart-heatmap-3: var(--ds-blue-100, #99ceff);
48
+ --ds-chart-heatmap-4: var(--ds-blue-200, #66b5ff);
49
+ --ds-chart-heatmap-5: var(--ds-blue-300, #339cff);
50
+ --ds-chart-heatmap-6: var(--ds-blue-400, #0285ff);
51
+ --ds-chart-heatmap-7: var(--ds-blue-500, #0169cc);
52
+ --ds-chart-heatmap-8: var(--ds-blue-600, #004f99);
53
+ --ds-chart-heatmap-9: var(--ds-blue-700, #003f7a);
54
+ --ds-chart-funnel-1: var(--ds-blue-500, #0169cc);
55
+ --ds-chart-funnel-2: var(--ds-blue-600, #004f99);
56
+ --ds-chart-funnel-3: var(--ds-blue-700, #003f7a);
57
+ --ds-chart-funnel-4: var(--ds-blue-800, #013566);
58
+ --ds-chart-funnel-5: var(--ds-blue-900, #00284d);
59
+ --ds-chart-funnel-label: #ffffff;
60
+ }
61
+
62
+ @media (prefers-color-scheme: dark) {
63
+ :root:not([data-theme="light"]),
64
+ :root[data-theme="dark"] {
65
+ --ds-chart-hover-bg: #2b2b2b;
66
+ }
67
+ }
68
+
69
+ .chart-frame {
70
+ display: flex;
71
+ flex-direction: column;
72
+ flex: 1 1 0;
73
+ align-items: stretch;
74
+ width: 100%;
75
+ height: 100%;
76
+ min-width: 0;
77
+ min-height: var(--ds-chart-body-height, 280px);
78
+ overflow: visible;
79
+ }
80
+
81
+ .chart-frame:focus,
82
+ .chart-frame:focus-visible,
83
+ .chart-plot:focus,
84
+ .chart-plot:focus-visible,
85
+ .chart-plot > .recharts-wrapper:focus,
86
+ .chart-plot > .recharts-wrapper:focus-visible,
87
+ .recharts-wrapper:focus,
88
+ .recharts-wrapper:focus-visible,
89
+ .recharts-surface:focus,
90
+ .recharts-surface:focus-visible,
91
+ .recharts-cartesian-axis:focus,
92
+ .recharts-cartesian-axis:focus-visible,
93
+ .recharts-cartesian-axis-tick:focus,
94
+ .recharts-cartesian-axis-tick:focus-visible,
95
+ .recharts-label:focus,
96
+ .recharts-label:focus-visible {
97
+ outline: none;
98
+ }
99
+
100
+ .recharts-wrapper [tabindex="-1"]:focus,
101
+ .recharts-wrapper [tabindex="-1"]:focus-visible,
102
+ .recharts-wrapper [tabindex]:focus:not(:focus-visible) {
103
+ outline: none;
104
+ }
105
+
106
+ .chart-frame:focus-visible,
107
+ .chart-plot:focus-visible,
108
+ .chart-plot > .recharts-wrapper:focus-visible,
109
+ .recharts-wrapper:focus-visible,
110
+ .recharts-surface:focus-visible {
111
+ outline: 2px solid var(--ds-blue-bright);
112
+ outline-offset: 2px;
113
+ }
114
+
115
+ .chart-frame--explorer {
116
+ height: 100%;
117
+ }
118
+
119
+ .chart-plot {
120
+ display: flex;
121
+ flex: 1 1 0;
122
+ width: 100%;
123
+ min-width: 0;
124
+ min-height: 0;
125
+ overflow: visible;
126
+ }
127
+
128
+ .chart-plot > .recharts-wrapper,
129
+ .chart-plot > .recharts-responsive-container {
130
+ flex: 1 1 0;
131
+ min-height: 0;
132
+ }
133
+
134
+ .chart-frame svg {
135
+ overflow: visible;
136
+ }
137
+
138
+ .chart-frame--with-legend {
139
+ gap: 4px;
140
+ }
141
+
142
+ .chart-frame--legend-right {
143
+ flex-direction: row;
144
+ align-items: stretch;
145
+ }
146
+
147
+ .chart-frame--legend-right .chart-plot {
148
+ min-width: 0;
149
+ }
150
+
151
+ .chart-frame--custom {
152
+ overflow: visible;
153
+ }
154
+
155
+ .chart-frame--heatmap {
156
+ min-height: 0;
157
+ overflow: hidden;
158
+ }
159
+
160
+ .chart-frame--heatmap > .chart-plot {
161
+ overflow: hidden;
162
+ }
163
+
164
+ .chart-frame--custom > .chart-plot > * {
165
+ width: 100%;
166
+ height: 100%;
167
+ }
168
+
169
+ .recharts-wrapper,
170
+ .recharts-surface {
171
+ font-family: var(--ds-chart-font-family);
172
+ }
173
+
174
+ .chart-y-axis-tick,
175
+ .heatmap-grid,
176
+ .recharts-cartesian-axis-tick text,
177
+ .recharts-cartesian-axis-tick-value,
178
+ .recharts-default-legend,
179
+ .recharts-legend-item,
180
+ .recharts-legend-item-text,
181
+ .chart-legend {
182
+ fill: var(--ds-chart-text-muted);
183
+ color: var(--ds-chart-text-muted);
184
+ font-family: var(--ds-chart-font-family);
185
+ font-size: 12px;
186
+ font-weight: 400;
187
+ letter-spacing: 0;
188
+ line-height: 16px;
189
+ }
190
+
191
+ .chart-axis-number,
192
+ .chart-bar-value-label,
193
+ .chart-tooltip-value,
194
+ .leaderboard-value {
195
+ font-variant-numeric: tabular-nums;
196
+ font-feature-settings: "tnum" 1, "lnum" 1;
197
+ letter-spacing: 0;
198
+ }
199
+
200
+ .chart-bar-value-label {
201
+ fill: var(--ds-chart-text);
202
+ color: var(--ds-chart-text);
203
+ font-family: var(--ds-chart-font-family);
204
+ font-size: 12px;
205
+ font-weight: 600;
206
+ pointer-events: none;
207
+ }
208
+
209
+ .recharts-cartesian-grid line {
210
+ stroke: var(--ds-chart-grid);
211
+ }
212
+
213
+ .recharts-tooltip-wrapper {
214
+ z-index: 40;
215
+ pointer-events: none;
216
+ will-change: transform;
217
+ }
218
+
219
+ .chart-tooltip {
220
+ position: relative;
221
+ z-index: 40;
222
+ min-width: 180px;
223
+ padding: 10px 12px;
224
+ border: 1px solid var(--ds-chart-tooltip-border);
225
+ border-radius: var(--ds-chart-radius-sm);
226
+ background: var(--ds-chart-tooltip-bg);
227
+ box-shadow: var(--ds-shadow, 0 20px 25px -5px rgba(0, 0, 0, 0.1));
228
+ color: var(--ds-chart-text);
229
+ }
230
+
231
+ .chart-tooltip-label {
232
+ margin-bottom: 8px;
233
+ color: var(--ds-chart-text-muted);
234
+ font-size: 12px;
235
+ font-weight: 600;
236
+ line-height: 18px;
237
+ }
238
+
239
+ .chart-tooltip-items {
240
+ display: grid;
241
+ gap: 6px;
242
+ }
243
+
244
+ .chart-tooltip-item {
245
+ display: grid;
246
+ grid-template-columns: 8px minmax(0, 1fr) auto;
247
+ gap: 8px;
248
+ align-items: center;
249
+ font-size: 12px;
250
+ line-height: 18px;
251
+ }
252
+
253
+ .chart-tooltip-marker {
254
+ width: 7px;
255
+ height: 7px;
256
+ border-radius: 50%;
257
+ }
258
+
259
+ .chart-tooltip-name {
260
+ overflow: hidden;
261
+ color: var(--ds-text-secondary, var(--ds-chart-text-muted));
262
+ text-overflow: ellipsis;
263
+ white-space: nowrap;
264
+ }
265
+
266
+ .chart-tooltip-value {
267
+ color: var(--ds-chart-text);
268
+ text-align: right;
269
+ }
270
+
271
+ .chart-legend-wrap {
272
+ display: flex;
273
+ flex: 0 0 auto;
274
+ flex-wrap: wrap;
275
+ gap: 6px 14px;
276
+ align-items: center;
277
+ justify-content: center;
278
+ }
279
+
280
+ .chart-legend-wrap--right {
281
+ max-width: 168px;
282
+ flex-direction: column;
283
+ align-items: flex-start;
284
+ justify-content: flex-start;
285
+ }
286
+
287
+ .chart-legend-title {
288
+ color: var(--ds-chart-text-muted);
289
+ font-family: var(--ds-chart-font-family);
290
+ font-size: 11px;
291
+ font-weight: 600;
292
+ letter-spacing: 0;
293
+ line-height: 16px;
294
+ }
295
+
296
+ .chart-legend {
297
+ display: flex !important;
298
+ flex: 0 0 auto;
299
+ flex-wrap: wrap;
300
+ gap: 6px 14px;
301
+ align-items: center;
302
+ justify-content: center;
303
+ margin: 0;
304
+ padding: 0;
305
+ list-style: none;
306
+ }
307
+
308
+ .chart-legend-item {
309
+ display: inline-flex !important;
310
+ align-items: center;
311
+ gap: 6px;
312
+ }
313
+
314
+ .chart-legend-dot {
315
+ display: inline-block;
316
+ width: 7px;
317
+ height: 7px;
318
+ border-radius: 50%;
319
+ flex: 0 0 auto;
320
+ background: var(--legend-color);
321
+ }
322
+
323
+ .chart-legend-line {
324
+ display: inline-block;
325
+ width: 28px;
326
+ height: 8px;
327
+ flex: 0 0 28px;
328
+ overflow: visible;
329
+ }
330
+
331
+ .chart-legend-button {
332
+ display: inline-flex;
333
+ align-items: center;
334
+ gap: 6px;
335
+ border: 0;
336
+ border-radius: var(--ds-radius-pill, 9999px);
337
+ padding: 3px 0;
338
+ background: transparent;
339
+ color: inherit;
340
+ cursor: pointer;
341
+ font: inherit;
342
+ transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease, opacity 120ms ease;
343
+ }
344
+
345
+ .chart-legend-button[aria-pressed="false"] {
346
+ opacity: 0.42;
347
+ }
348
+
349
+ .chart-legend-button:hover {
350
+ background: transparent;
351
+ color: var(--ds-chart-text);
352
+ }
353
+
354
+ .chart-legend-button:focus-visible {
355
+ outline: none;
356
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-focus-ring, #0d6efd) 20%, transparent);
357
+ }
358
+
359
+ .chart-value-label {
360
+ fill: var(--ds-chart-text-muted);
361
+ font-family: var(--ds-chart-font-family);
362
+ font-size: 11px;
363
+ font-weight: 500;
364
+ letter-spacing: 0;
365
+ pointer-events: none;
366
+ }
367
+
368
+ .scatter-point-label {
369
+ fill: var(--ds-chart-text);
370
+ paint-order: stroke;
371
+ stroke: var(--ds-chart-tooltip-bg);
372
+ stroke-linejoin: round;
373
+ stroke-width: 3px;
374
+ font-family: var(--ds-chart-font-family);
375
+ font-size: 11px;
376
+ font-weight: 600;
377
+ letter-spacing: 0;
378
+ pointer-events: none;
379
+ }
380
+
381
+ .funnel-label {
382
+ fill: var(--ds-chart-funnel-label, #ffffff);
383
+ font-family: var(--ds-chart-font-family);
384
+ font-size: 12px;
385
+ font-weight: 500;
386
+ letter-spacing: 0;
387
+ line-height: 16px;
388
+ pointer-events: none;
389
+ }
390
+
391
+ .funnel-label-text {
392
+ fill-opacity: 0.92;
393
+ }
394
+
395
+ .funnel-label-value {
396
+ fill-opacity: 1;
397
+ }
398
+
399
+ .funnel-segment {
400
+ shape-rendering: geometricPrecision;
401
+ }
402
+
403
+ .leaderboard {
404
+ display: grid;
405
+ grid-template-rows: repeat(var(--leaderboard-row-count), minmax(0, 1fr));
406
+ align-content: stretch;
407
+ gap: 8px;
408
+ height: 100%;
409
+ }
410
+
411
+ .leaderboard-with-caption {
412
+ display: grid;
413
+ grid-template-rows: minmax(0, 1fr) auto;
414
+ gap: 6px;
415
+ height: 100%;
416
+ min-height: 0;
417
+ }
418
+
419
+ .leaderboard-row {
420
+ position: relative;
421
+ display: grid;
422
+ grid-template-columns: minmax(0, 1fr) auto;
423
+ gap: 8px;
424
+ align-items: center;
425
+ min-height: 0;
426
+ overflow: hidden;
427
+ padding: 4px 12px;
428
+ border-radius: var(--ds-radius-pill, 9999px);
429
+ }
430
+
431
+ .leaderboard-row::before {
432
+ position: absolute;
433
+ top: 0;
434
+ right: auto;
435
+ bottom: 0;
436
+ left: 0;
437
+ width: var(--bar-width);
438
+ height: 100%;
439
+ border-radius: var(--ds-radius-pill, 9999px);
440
+ background: var(--ds-surface-tertiary, #f3f3f3);
441
+ content: "";
442
+ }
443
+
444
+ .leaderboard-row.negative::before {
445
+ background: var(--ds-surface-tertiary, #f3f3f3);
446
+ }
447
+
448
+ .leaderboard-label,
449
+ .leaderboard-value {
450
+ position: relative;
451
+ z-index: 1;
452
+ min-width: 0;
453
+ overflow: hidden;
454
+ color: var(--ds-chart-text);
455
+ font-size: 14px;
456
+ letter-spacing: -0.14px;
457
+ line-height: 20px;
458
+ text-overflow: ellipsis;
459
+ white-space: nowrap;
460
+ }
461
+
462
+ .leaderboard-value {
463
+ font-weight: 500;
464
+ font-variant-numeric: tabular-nums;
465
+ font-feature-settings: "tnum" 1, "lnum" 1;
466
+ letter-spacing: 0;
467
+ }
468
+
469
+ .leaderboard-caption {
470
+ display: block;
471
+ max-width: 100%;
472
+ min-height: 14px;
473
+ overflow: hidden;
474
+ padding: 0 10px;
475
+ color: var(--ds-chart-text-muted);
476
+ font-size: 12px;
477
+ line-height: 14px;
478
+ text-overflow: ellipsis;
479
+ white-space: nowrap;
480
+ }
481
+
482
+ button.leaderboard-caption {
483
+ width: fit-content;
484
+ border: 0;
485
+ appearance: none;
486
+ background: transparent;
487
+ cursor: pointer;
488
+ font-family: inherit;
489
+ text-align: left;
490
+ }
491
+
492
+ button.leaderboard-caption:hover {
493
+ color: var(--ds-chart-text);
494
+ text-decoration: underline;
495
+ }
496
+
497
+ button.leaderboard-caption:focus-visible {
498
+ border-radius: var(--ds-chart-radius-xs);
499
+ outline: 2px solid var(--ds-blue-bright, #0285ff);
500
+ outline-offset: 2px;
501
+ }
502
+
503
+ .heatmap-grid-panel {
504
+ display: flex;
505
+ justify-content: flex-start;
506
+ height: 100%;
507
+ min-height: 0;
508
+ max-height: 100%;
509
+ overflow: hidden;
510
+ overscroll-behavior: contain;
511
+ }
512
+
513
+ .heatmap-grid {
514
+ display: grid;
515
+ align-items: stretch;
516
+ gap: 4px;
517
+ width: 100%;
518
+ max-width: 100%;
519
+ min-width: 0;
520
+ min-height: 100%;
521
+ }
522
+
523
+ .heatmap-grid b,
524
+ .heatmap-grid strong {
525
+ display: flex;
526
+ align-items: center;
527
+ overflow: hidden;
528
+ color: var(--ds-chart-text-muted);
529
+ font-weight: 500;
530
+ text-overflow: ellipsis;
531
+ white-space: nowrap;
532
+ }
533
+
534
+ .heatmap-grid b {
535
+ justify-content: center;
536
+ min-height: var(--heatmap-header-row-height, 24px);
537
+ text-align: center;
538
+ }
539
+
540
+ .heatmap-grid strong {
541
+ justify-content: flex-end;
542
+ min-height: var(--heatmap-row-min-height, 28px);
543
+ text-align: right;
544
+ }
545
+
546
+ .heatmap-cell {
547
+ position: relative;
548
+ display: flex;
549
+ align-items: center;
550
+ justify-content: center;
551
+ min-height: var(--heatmap-row-min-height, 28px);
552
+ overflow: visible;
553
+ border: 1px solid color-mix(in srgb, var(--ds-border, rgba(13, 13, 13, 0.1)) 80%, transparent);
554
+ border-radius: 4px;
555
+ outline: none;
556
+ }
557
+
558
+ .heatmap-cell:hover,
559
+ .heatmap-cell:focus-visible {
560
+ border-color: var(--ds-chart-series-blue);
561
+ box-shadow: 0 0 0 1px var(--ds-chart-series-blue);
562
+ }
563
+
564
+ .heatmap-tooltip {
565
+ position: absolute;
566
+ bottom: calc(100% + 8px);
567
+ left: 50%;
568
+ z-index: 50;
569
+ display: block;
570
+ min-width: 184px;
571
+ opacity: 0;
572
+ pointer-events: none;
573
+ transform: translate(-50%, 4px);
574
+ transition:
575
+ opacity 120ms ease,
576
+ transform 120ms ease,
577
+ visibility 120ms ease;
578
+ visibility: hidden;
579
+ }
580
+
581
+ .heatmap-tooltip .chart-tooltip-label {
582
+ display: block;
583
+ }
584
+
585
+ .heatmap-cell:hover .heatmap-tooltip,
586
+ .heatmap-cell:focus-visible .heatmap-tooltip {
587
+ opacity: 1;
588
+ transform: translate(-50%, 0);
589
+ visibility: visible;
590
+ }
591
+
592
+ .empty-state {
593
+ display: grid;
594
+ flex: 1 1 0;
595
+ width: 100%;
596
+ min-width: 0;
597
+ place-content: center;
598
+ min-height: 160px;
599
+ border: 1px dashed var(--ds-chart-empty-border);
600
+ border-radius: var(--ds-chart-radius-md);
601
+ color: var(--ds-chart-text-muted);
602
+ font: 13px/1.4 var(--ds-chart-font-family);
603
+ text-align: center;
604
+ }
605
+
606
+ .chart-plot > .empty-state {
607
+ min-height: 100%;
608
+ }
609
+
610
+ @media (prefers-reduced-motion: reduce) {
611
+ .chart-frame *,
612
+ .chart-frame *::before,
613
+ .chart-frame *::after {
614
+ animation-duration: 0.01ms !important;
615
+ animation-iteration-count: 1 !important;
616
+ scroll-behavior: auto !important;
617
+ transition-duration: 0.01ms !important;
618
+ }
619
+ }