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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-yss-spec",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "Initialize a YSS spec project template repository",
5
5
  "files": [
6
6
  "bin",
@@ -0,0 +1,102 @@
1
+ ---
2
+ name: high-fidelity-html-prototype
3
+ description: Use after low-fidelity prototype review is approved and before PRD calibration, requirement freeze, OpenAPI Draft, or UI implementation when a user-facing YSS feature needs a high-fidelity interactive HTML prototype using Ant Design v6.
4
+ ---
5
+
6
+ # High Fidelity HTML Prototype
7
+
8
+ Use this skill only after `prototype-review` approves the low-fidelity prototype / interaction design. It turns reviewed product design into a high-fidelity, browser-runnable HTML artifact for business, UX, frontend, and API review.
9
+
10
+ ## Required Inputs
11
+
12
+ - PRD baseline: `docs/requirements/<feature>-prd.md`.
13
+ - Product overview design / functional architecture: `docs/design/<feature>-product-overview-design.md`.
14
+ - Interaction spec: `docs/design/<feature>-interaction-spec.md`.
15
+ - State matrix: `docs/design/<feature>-state-matrix.md`.
16
+ - Approved low-fidelity prototype review: `docs/design/<feature>-prototype-review.md` or equivalent issue comment.
17
+ - Project design system: `docs/design/design.md` and `docs/design/tokens/*`.
18
+
19
+ If low-fidelity `prototype-review` is blocked or missing, stop and return to `product-design-prototype` / `prototype-review`.
20
+
21
+ ## Ant Design Official Agent Baseline
22
+
23
+ Use the official Ant Design agent guidance as the implementation baseline:
24
+
25
+ - Read or reference `https://ant.design/docs/react/for-agents` when the task starts.
26
+ - Use `@ant-design/cli` before choosing unfamiliar components, props, tokens, or migration-sensitive APIs.
27
+ - Prefer direct CLI subcommands because `--help` may fail in some Node environments while subcommands still work.
28
+
29
+ Recommended commands:
30
+
31
+ ```bash
32
+ npm view antd version
33
+ npm view @ant-design/cli version
34
+ npx -y @ant-design/cli@6.5.0 info Button
35
+ npx -y @ant-design/cli@6.5.0 token Button
36
+ npx -y @ant-design/cli@6.5.0 demo Select basic
37
+ npx -y @ant-design/cli@6.5.0 changelog 5.0.0 6.5.0 Table
38
+ ```
39
+
40
+ Use the latest verified v6.x version instead of `6.5.0` when npm reports a newer v6 release. Record the exact version and any queried components in the output.
41
+
42
+ ## Core Rules
43
+
44
+ - Output is HTML: `docs/design/prototypes/<feature>/index.html`.
45
+ - The prototype must use Ant Design v6. Before generating or updating code, verify the current v6 package with `npm view antd version` and `npm view @ant-design/cli version`. If the latest version is not v6.x, pin the newest available v6.x version and record the choice.
46
+ - Use React >= 18, `antd@6.x`, and `@ant-design/icons@6.x` for interactive prototypes.
47
+ - Prefer Ant Design components and tokens over hand-built controls: `Layout`, `Menu`, `Breadcrumb`, `Button`, `Input`, `Select`, `Table`, `Form`, `Tabs`, `Steps`, `Drawer`, `Modal`, `Alert`, `Tooltip`, `Tag`, `Badge`, `DatePicker`, `Upload`, `Pagination`, `Empty`, `Spin`, `Result`.
48
+ - Do not create extra data-service or fixture artifacts. Use embedded sample data inside the HTML/JS for visual and interaction demonstration only.
49
+ - Mark the file clearly as `PROTOTYPE ONLY - NOT PRODUCTION CODE`.
50
+ - Do not treat the HTML prototype as a stable frontend implementation, generated-client contract, or OpenAPI source of truth. It informs PRD calibration and OpenAPI Draft.
51
+
52
+ ## Interaction Coverage
53
+
54
+ The HTML prototype must cover, or explicitly mark not applicable:
55
+
56
+ - Primary page navigation and page-to-page return path.
57
+ - Main task completion flow.
58
+ - Search / filter / sort / pagination behavior.
59
+ - Form input, validation, submit, cancel, dirty-form leave prompt.
60
+ - Drawer / modal / confirmation interactions.
61
+ - loading, empty, error, readonly, disabled, no-permission, conflict, success states.
62
+ - Permission behavior: hidden vs disabled vs rejected action.
63
+ - Field-level and page-level error placement.
64
+ - Responsive behavior for at least desktop, tablet, and narrow mobile viewport.
65
+
66
+ ## Verification
67
+
68
+ Run a local browser verification before calling the artifact ready:
69
+
70
+ - Open `docs/design/prototypes/<feature>/index.html` or run the dev server if the prototype needs one.
71
+ - Check that the page renders nonblank.
72
+ - Exercise the main flow and at least one failure / permission / conflict state.
73
+ - Check at least one desktop and one mobile viewport.
74
+ - Record verification evidence in the response or in the related review / issue.
75
+
76
+ ## Output Contract
77
+
78
+ ```markdown
79
+ ### 当前阶段
80
+ High-fidelity HTML prototype
81
+
82
+ ### 输入资产
83
+ - <PRD / product overview / interaction spec / state matrix / prototype review>
84
+
85
+ ### 高保真产物
86
+ - `docs/design/prototypes/<feature>/index.html`
87
+
88
+ ### Ant Design v6 依据
89
+ - <antd version, @ant-design/cli version, official docs checked, CLI component/token/demo queries>
90
+
91
+ ### 覆盖范围
92
+ - <pages, flows, states, permissions, data dependencies>
93
+
94
+ ### 验证证据
95
+ - <render command or file open path, viewport checks, interaction checks>
96
+
97
+ ### 是否可进入 PRD 校准 / API 影响分析
98
+ - <yes/no; list blocking gaps>
99
+
100
+ ### 下一步
101
+ - <PRD calibration / return to high-fidelity prototype / return to product-design-prototype>
102
+ ```
@@ -0,0 +1,84 @@
1
+ {
2
+ "apps": {
3
+ "slack": {
4
+ "id": "REPLACE_WITH_SLACK_APP_OR_CONNECTOR_ID"
5
+ },
6
+ "teams": {
7
+ "id": "connector_246af0940da3457da0e751171dc1ce60",
8
+ "optional": true
9
+ },
10
+ "notion": {
11
+ "id": "REPLACE_WITH_NOTION_APP_OR_CONNECTOR_ID"
12
+ },
13
+ "gmail": {
14
+ "id": "connector_2128aebfecb84f64a069897515042a44",
15
+ "optional": true
16
+ },
17
+ "outlook_email": {
18
+ "id": "connector_4aaab2856305417b993eca9a216aaf6e",
19
+ "optional": true
20
+ },
21
+ "outlook_calendar": {
22
+ "id": "connector_e6a7394682e24467ac68c60696f275a4",
23
+ "optional": true
24
+ },
25
+ "google_calendar": {
26
+ "id": "connector_947e0d954944416db111db556030eea6",
27
+ "optional": true
28
+ },
29
+ "google_drive": {
30
+ "id": "connector_5f3c8c41a1e54ad7a76272c89e2554fa"
31
+ },
32
+ "databricks": {
33
+ "id": "templated_apps_Databricks",
34
+ "optional": true
35
+ },
36
+ "bigquery": {
37
+ "id": "connector_7c3f2c8cdbf64bb0b183ff52f527a06e",
38
+ "optional": true
39
+ },
40
+ "snowflake": {
41
+ "id": "templated_apps_Snowflake",
42
+ "optional": true
43
+ },
44
+ "sharepoint": {
45
+ "id": "connector_1e4f6a44acf14e3ca1d96672f8c945bc",
46
+ "optional": true
47
+ },
48
+ "github": {
49
+ "id": "connector_76869538009648d5b282a4bb21c3d157"
50
+ },
51
+ "statsig": {
52
+ "id": "REPLACE_WITH_STATSIG_APP_OR_CONNECTOR_ID",
53
+ "optional": true
54
+ },
55
+ "hex": {
56
+ "id": "REPLACE_WITH_HEX_APP_OR_CONNECTOR_ID",
57
+ "optional": true
58
+ },
59
+ "deepnote": {
60
+ "id": "REPLACE_WITH_DEEPNOTE_APP_OR_CONNECTOR_ID",
61
+ "optional": true
62
+ },
63
+ "amplitude": {
64
+ "id": "REPLACE_WITH_AMPLITUDE_APP_OR_CONNECTOR_ID",
65
+ "optional": true
66
+ },
67
+ "mixpanel": {
68
+ "id": "REPLACE_WITH_MIXPANEL_APP_OR_CONNECTOR_ID",
69
+ "optional": true
70
+ },
71
+ "omni-analytics": {
72
+ "id": "REPLACE_WITH_OMNI_ANALYTICS_APP_OR_CONNECTOR_ID",
73
+ "optional": true
74
+ },
75
+ "metabase": {
76
+ "id": "templated_apps_Metabase",
77
+ "optional": true
78
+ },
79
+ "thoughtspot": {
80
+ "id": "REPLACE_WITH_THOUGHTSPOT_APP_OR_CONNECTOR_ID",
81
+ "optional": true
82
+ }
83
+ }
84
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "data-analytics",
3
+ "version": "0.1.34",
4
+ "description": "Analyze product usage, investigate metric movements, prepare KPI reports, build high-quality dashboards and notebooks, create source-backed semantic layers, guide first-run analytics setup, and generate analytics-grade report apps.",
5
+ "author": {
6
+ "name": "Data Analytics Maintainers"
7
+ },
8
+ "homepage": "https://github.com/openai/role-specific-plugins",
9
+ "repository": "https://github.com/openai/role-specific-plugins/tree/main/plugins/data-analytics",
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "data-analytics",
13
+ "analytics",
14
+ "business-context",
15
+ "dashboards",
16
+ "funnel-analysis",
17
+ "kpi-reporting",
18
+ "market-sizing",
19
+ "metric-diagnostics",
20
+ "post-launch-updates",
21
+ "product-analysis",
22
+ "retention",
23
+ "root-cause-analysis",
24
+ "scorecards",
25
+ "validation",
26
+ "visualization",
27
+ "jupyter-notebooks",
28
+ "databricks",
29
+ "bigquery",
30
+ "snowflake",
31
+ "deepnote",
32
+ "mixpanel",
33
+ "mixpanel-headless",
34
+ "metabase",
35
+ "thoughtspot",
36
+ "onboarding",
37
+ "semantic-layer"
38
+ ],
39
+ "skills": "./skills/",
40
+ "apps": "./.app.json",
41
+ "mcpServers": "./.mcp.json",
42
+ "interface": {
43
+ "displayName": "Data Analytics",
44
+ "shortDescription": "Turn data into clear decisions",
45
+ "longDescription": "Turn analytical questions into validated answers, dashboards, reports, notebooks, and clear recommendations. Explore product and business data, explain why key metrics changed, design KPIs, size opportunities, check data quality, and save reusable metric and source context for future work.\n\nStart with connected warehouses, BI tools, product analytics, docs, chat, spreadsheets, or uploaded files. Guided onboarding helps you connect core tools and set up reusable data context, while interactive charts, tables, dashboards, and report apps keep the evidence reviewable and ready to share.",
46
+ "developerName": "OpenAI",
47
+ "category": "Analytics",
48
+ "capabilities": [
49
+ "Interactive",
50
+ "Read",
51
+ "Write"
52
+ ],
53
+ "websiteURL": "https://openai.com/",
54
+ "privacyPolicyURL": "https://openai.com/policies/privacy-policy/",
55
+ "termsOfServiceURL": "https://openai.com/policies/terms-of-use/",
56
+ "defaultPrompt": [
57
+ "Help me get started and set up reusable data context for future data work",
58
+ "Analyze product usage and recommend where the team should focus next",
59
+ "Diagnose why a key metric changed and identify the biggest drivers"
60
+ ],
61
+ "brandColor": "#0285FF",
62
+ "composerIcon": "./assets/datascience-small.svg",
63
+ "logo": "./assets/datascience.png",
64
+ "screenshots": []
65
+ }
66
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "mcpServers": {
3
+ "datascienceWidgets": {
4
+ "title": "Data Analytics Widgets",
5
+ "description": "Render Data Analytics charts, tables, dashboards, and report artifacts.",
6
+ "icons": [
7
+ {
8
+ "src": "./assets/datascience-small.svg",
9
+ "mimeType": "image/svg+xml",
10
+ "sizes": [
11
+ "24x24"
12
+ ]
13
+ },
14
+ {
15
+ "src": "./assets/datascience.png",
16
+ "mimeType": "image/png",
17
+ "sizes": [
18
+ "360x360"
19
+ ]
20
+ }
21
+ ],
22
+ "cwd": ".",
23
+ "command": "node",
24
+ "args": [
25
+ "./mcp/server.cjs",
26
+ "--stdio"
27
+ ]
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,20 @@
1
+ # Data Analytics MCP Apps
2
+
3
+ ## Purpose
4
+
5
+ This plugin contains a complex fullscreen analytics artifact workspace plus compact inline chart and table widgets. Preserve that architecture when iterating: artifacts are snapshot-first workspaces, while chart and table widgets are focused views of reviewed query results.
6
+
7
+ ## Visual Style
8
+
9
+ Follow the local Codex style contract in `src/codex-style-contract.md`.
10
+ `src/styles/codex-theme.css` is the copied Codex fallback baseline and must load before `src/analytics-app/tokens.css`. Shared surfaces, controls, typography, spacing, borders, radii, shadows, focus, and motion should resolve through the Codex tokens. Analytics CSS may extend the baseline for charts, KPI states, tables, report widths, and dashboard layouts.
11
+
12
+ ## Fullscreen Behavior
13
+
14
+ Inline surfaces that support fullscreen expose a compact top-right fullscreen control and hide it after fullscreen is active.
15
+
16
+ ## Workflow
17
+
18
+ Before future changes, start with the installed `codex-mcp-app-devkit` skill so it can route to the app-development workflow and the Codex visual references. Use `npm run preview:widgets` for local previews, `npm run build` for all widget bundles, `npm run typecheck` for TypeScript, and `npm test` for MCP server and widget contract coverage.
19
+
20
+ The plugin package is materialized directly from this directory. After changing widget source, run `npm run build` so `assets/` and normalized bundle parts stay aligned, then reinstall the updated development plugin from the Plugin Development marketplace when testing inside Codex.
@@ -0,0 +1,27 @@
1
+ # Dependencies
2
+
3
+ ## How tool references work
4
+
5
+ Data Analytics plugin files use lane placeholders such as `~~structured_data` for whatever source the user connects or provides in that category. For example, `~~structured_data` might mean a warehouse connector, SQL runner, API/CLI result, pasted query output, uploaded file, or schema description.
6
+
7
+ The plugin is tool-agnostic. It describes workflows in terms of analysis lanes rather than one required stack. Direct connectors give the best experience, but the workflows should still be useful with pasted results, SQL snippets, screenshots, exports, or uploaded files.
8
+
9
+ ## Dependencies for this plugin
10
+
11
+ | Category | Placeholder | Providers | Purpose |
12
+ | --- | --- | --- | --- |
13
+ | Data warehouse | `~~structured_data` | Databricks, BigQuery, Snowflake, Redshift, PostgreSQL, MySQL | Query tables, explore schemas, and produce result sets. Databricks, BigQuery, and Snowflake are declared in `.app.json` as app-backed connector choices. |
14
+ | Notebook lab | `~~notebook_lab` | Hex, Deepnote, Jupyter | Iterate, preserve reusable code, and support richer exploratory work. Hex and Deepnote are declared in `.app.json` as app-backed connector choices. |
15
+ | Behavior signals | `~~behavior_signals` | Amplitude, Mixpanel, Mixpanel Headless | Analyze product event trends and funnels. Amplitude and Mixpanel are declared in `.app.json`; Mixpanel Headless is a companion plugin/skill path when installed. |
16
+ | Dashboards and BI | `~~dashboards_or_bi` | ThoughtSpot, Omni Analytics, Metabase, dashboard/BI app | Inspect dashboard metadata, metric definitions, widget SQL, and BI answers. ThoughtSpot, Omni Analytics, and Metabase are declared in `.app.json` as app-backed connector choices. |
17
+ | Team communication | `~~team_communication` | Slack, Microsoft Teams | Search recent decisions, blockers, owner confirmations, and links to durable artifacts |
18
+ | Email context | `~~email_context` | Gmail, Outlook Email | Inspect relevant message threads, stakeholder context, and follow-up history |
19
+ | Calendar context | `~~calendar_context` | Outlook Calendar | Check meeting timing, attendees, and operating cadence context |
20
+ | Company docs | `~~company_docs` | Google Drive, SharePoint, Google Docs, Google Slides, Notion | Read workspace knowledge, PRDs, metric docs, strategy docs, and source caveats |
21
+ | Sheet workspace | `~~spreadsheet_workspace` | Google Drive, SharePoint, Google Sheets | Review small exports, manual QA, and stakeholder-friendly tables |
22
+ | Presentation surface | `~~presentation_surface` | Google Drive, SharePoint, Google Docs, Google Slides | Create final charts, dashboards, and share-ready narratives |
23
+ | Code repository | `~~code_repository` | GitHub, local checkout | Inspect source logic, model SQL, lineage, tests, and repo context |
24
+ | Files, notebooks, or spreadsheets | `~~files_and_notebooks` | Google Drive, SharePoint, local files, uploaded files, notebooks, spreadsheets | Use local or uploaded analysis inputs, notebooks, CSVs, and spreadsheets |
25
+ | Application hosting | `~~application_hosting` | Site Creator | Host reports, deployed app links, and previewable interactive artifacts |
26
+ | Planning tracker | `~~planning_tracker` | Atlassian, Linear, Asana, Jira | Track analysis requests, owners, deadlines, and dependencies |
27
+ | Data operations | `~~operations_logs` | Airflow | Check pipeline freshness, model ownership, lineage, and outage context |
@@ -0,0 +1,60 @@
1
+ # Data Analytics
2
+
3
+ Answer product and business questions with data, explain why metrics changed, and turn analysis into reports, dashboards, and clear decisions.
4
+
5
+ ## When to use this plugin
6
+
7
+ Use Data Analytics when you need to understand product or business performance, explain why a metric changed, define a success measurement plan, assess whether data is trustworthy, or package analysis for stakeholders. You can start from connected data in a data warehouse, dashboards, notebooks, spreadsheets, uploaded files, or pasted context.
8
+
9
+ ## Onboarding
10
+
11
+ Ask Codex:
12
+
13
+ `@Data Analytics Help me get started and set up reusable data context for future data work`
14
+
15
+ Data Analytics has a guided onboarding flow that helps confirm the right data sources, save reusable metric and source-of-truth context you provide, and build a context-specific first analysis prompt.
16
+
17
+ Onboarding is an interactive, step-by-step conversation. Codex will guide you through setup, ask for approval before making changes, and help you try a first workflow.
18
+
19
+ Already have a focused task? Start directly with one of the workflows below.
20
+
21
+ ## Example workflows
22
+
23
+ The primary hero workflow is bolded.
24
+
25
+ | Workflow | Try this | Skill | Result |
26
+ | --- | --- | --- | --- |
27
+ | **Analyze a product or business question** | `Analyze activation and recommend where the team should focus next` | `product-business-analysis` | A decision-ready analysis with evidence, measurable opportunities, and a clear recommendation |
28
+ | Diagnose a metric movement | `Diagnose why weekly active users dropped last week` | `metric-diagnostics` | A calibrated explanation of verified drivers, likely contributors, unresolved questions, and next actions |
29
+ | Design KPIs | `Design a KPI framework for this new product area` | `design-kpis` | A measurement plan with outcome metrics, drivers, guardrails, targets, and validation priorities |
30
+ | Prepare a KPI readout | `Turn this month's metrics into a leadership-ready operating update` | `kpi-reporting` | A concise KPI update with actuals, comparisons, validated drivers, and operating implications |
31
+ | Build a dashboard | `Build a dashboard for monitoring activation, retention, and conversion` | `build-dashboard` | A source-backed dashboard with metrics, filters, visual hierarchy, QA, and handoff |
32
+ | Size a market | `Estimate the market opportunity for this product and show the assumptions` | `market-sizing` | A transparent market or opportunity sizing estimate with sensitivity, uncertainty, and validation priorities |
33
+ | Build an analytical report | `Create an executive report explaining the biggest growth drivers this quarter` | `build-report` | A polished report with answer-first narrative, charts, tables, caveats, and source metadata |
34
+ | Improve or render a chart | `Turn this analysis into a clear chart for the product review` | `visualize-data` | A production-ready visual with the right chart type, labels, hierarchy, and accessibility checks |
35
+ | Create a notebook | `Build a reproducible notebook for this experiment readout` | `jupyter-notebooks` | A clean SQL or Python notebook that can be skimmed, rerun, and extended |
36
+ | Work with spreadsheets | `Analyze this workbook and add a polished summary tab` | `spreadsheets` | A verified spreadsheet artifact with formulas, formatting, charts, tables, and a clear readout |
37
+ | Validate an analysis | `Review this analysis before I share it with leadership` | `validate-data` | A QA pass covering methodology, sources, calculations, analytical pitfalls, caveats, and conclusion strength |
38
+ | Assess data quality | `Check whether this table is reliable enough for our retention analysis` | `analyze-data-quality` | A source-backed quality assessment covering grain, freshness, missingness, duplicates, joins, and material risks |
39
+
40
+ ## Integrations
41
+
42
+ Data Analytics can use available tools when they are connected:
43
+
44
+ | Source | Supported integrations | What they unlock |
45
+ | --- | --- | --- |
46
+ | Warehouses and query tools | Databricks, Databricks Genie, BigQuery, Snowflake | Schema inspection, query-backed analysis, and source-grounded metric investigation |
47
+ | Product analytics and BI | Amplitude, Mixpanel, Omni Analytics, Metabase, ThoughtSpot, Statsig | Behavior analysis, dashboard context, experiment evidence, and reusable reporting inputs |
48
+ | Notebooks and analytical workspaces | Hex, Deepnote | Reproducible analysis, notebook handoff, and shared analytical context |
49
+ | Docs and collaboration | Google Drive, SharePoint, Notion, GitHub, Slack, Microsoft Teams | Business definitions, source-of-truth documents, implementation context, and stakeholder evidence |
50
+ | Email and calendar | Gmail, Outlook Email, Outlook Calendar | Supporting context for stakeholder questions, operating cadence, and analytical handoff |
51
+
52
+ You can also start with spreadsheets, uploaded files, pasted query results, schema descriptions, or manually provided business context.
53
+
54
+ ## Local development
55
+
56
+ The published plugin does not require users to install Node.js dependencies. For local development of the Data Analytics MCP server and widgets, install dependencies from the plugin directory:
57
+
58
+ ```sh
59
+ npm ci
60
+ ```
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Data Analytics artifact app</title>
6
+ <script type="module">
7
+ const target = new URL("../src/datascience-artifact-widget.html", import.meta.url);
8
+ target.search = window.location.search;
9
+ window.location.replace(target);
10
+ </script>
11
+ </head>
12
+ <body>
13
+ <p>Redirecting to the local widget source for development.</p>
14
+ <p><a href="../src/datascience-artifact-widget.html">Open Data Analytics artifact app</a></p>
15
+ </body>
16
+ </html>