create-yss-spec 1.1.2 → 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.
- package/package.json +1 -1
- package/template/.codex/skills/data-analytics/.app.json +84 -0
- package/template/.codex/skills/data-analytics/.codex-plugin/plugin.json +66 -0
- package/template/.codex/skills/data-analytics/.mcp.json +30 -0
- package/template/.codex/skills/data-analytics/AGENTS.md +20 -0
- package/template/.codex/skills/data-analytics/DEPENDENCIES.MD +27 -0
- package/template/.codex/skills/data-analytics/README.md +60 -0
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html +16 -0
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part001 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part002 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part003 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part004 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part005 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part006 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html +16 -0
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part001 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part002 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part003 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part004 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part005 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part006 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part007 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-small.svg +5 -0
- package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html +16 -0
- package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part001 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part002 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part003 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part004 +1 -0
- package/template/.codex/skills/data-analytics/assets/datascience.png +0 -0
- package/template/.codex/skills/data-analytics/assets/datascience.svg +10 -0
- package/template/.codex/skills/data-analytics/mcp/server.cjs +2963 -0
- package/template/.codex/skills/data-analytics/package-lock.json +3048 -0
- package/template/.codex/skills/data-analytics/package.json +43 -0
- package/template/.codex/skills/data-analytics/scripts/normalize-widget-assets.mjs +75 -0
- package/template/.codex/skills/data-analytics/skills/analyze-data-quality/SKILL.md +160 -0
- package/template/.codex/skills/data-analytics/skills/analyze-data-quality/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/build-dashboard/SKILL.md +148 -0
- package/template/.codex/skills/data-analytics/skills/build-dashboard/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/bi-platform-dashboard.md +18 -0
- package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/html-dashboard.md +24 -0
- package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/mcp-artifact-dashboard.md +71 -0
- package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/streamlit-dashboard.md +85 -0
- package/template/.codex/skills/data-analytics/skills/build-report/SKILL.md +207 -0
- package/template/.codex/skills/data-analytics/skills/build-report/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/build-report/assets/executive-report-shell.html +70 -0
- package/template/.codex/skills/data-analytics/skills/build-report/assets/technical-report-shell.html +66 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/SKILL.md +118 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/__init__.py +1 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/cli.py +57 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/constants.py +61 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/docx_writer.py +362 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/html_parser.py +829 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/model.py +30 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/plan.py +129 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/quality.py +374 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/rendering.py +613 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/table_utils.py +54 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/utils.py +16 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc_plan.py +9 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/SKILL.md +78 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/scripts/report_to_google_slides.py +2379 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-pdf/SKILL.md +88 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-pdf/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/build-report/specifications/executive-report.md +97 -0
- package/template/.codex/skills/data-analytics/skills/build-report/specifications/mcp-app-report.md +59 -0
- package/template/.codex/skills/data-analytics/skills/build-report/specifications/technical-report.md +75 -0
- package/template/.codex/skills/data-analytics/skills/design-kpis/SKILL.md +103 -0
- package/template/.codex/skills/data-analytics/skills/design-kpis/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/gather-business-context/SKILL.md +68 -0
- package/template/.codex/skills/data-analytics/skills/gather-business-context/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/index/SKILL.md +251 -0
- package/template/.codex/skills/data-analytics/skills/index/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/SKILL.md +131 -0
- package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/kpi-reporting/SKILL.md +141 -0
- package/template/.codex/skills/data-analytics/skills/kpi-reporting/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/kpi-reporting/references/report-templates.md +32 -0
- package/template/.codex/skills/data-analytics/skills/market-sizing/SKILL.md +106 -0
- package/template/.codex/skills/data-analytics/skills/market-sizing/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/metric-diagnostics/SKILL.md +130 -0
- package/template/.codex/skills/data-analytics/skills/metric-diagnostics/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/product-business-analysis/SKILL.md +141 -0
- package/template/.codex/skills/data-analytics/skills/product-business-analysis/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/spreadsheets/SKILL.md +178 -0
- package/template/.codex/skills/data-analytics/skills/spreadsheets/agents/openai.yaml +9 -0
- package/template/.codex/skills/data-analytics/skills/spreadsheets/assets/file-spreadsheet.png +0 -0
- package/template/.codex/skills/data-analytics/skills/spreadsheets/charts.md +31 -0
- package/template/.codex/skills/data-analytics/skills/spreadsheets/references/artifact_tool_api.md +466 -0
- package/template/.codex/skills/data-analytics/skills/spreadsheets/style_guidelines.md +99 -0
- package/template/.codex/skills/data-analytics/skills/user-context/SKILL.md +195 -0
- package/template/.codex/skills/data-analytics/skills/user-context/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/automation-config.md +26 -0
- package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/source-category-config.json +51 -0
- package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/user-context-config.md +66 -0
- package/template/.codex/skills/data-analytics/skills/user-context/references/automation.md +69 -0
- package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding-examples.md +204 -0
- package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding-state-template.json +87 -0
- package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding.md +497 -0
- package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/connector-playbook.md +74 -0
- package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/setup.md +65 -0
- package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/skill-template.md +160 -0
- package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/source-intake.md +75 -0
- package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/weekly-polling-automation.md +96 -0
- package/template/.codex/skills/data-analytics/skills/user-context/references/source-category-runtime.md +263 -0
- package/template/.codex/skills/data-analytics/skills/user-context/scripts/data_analytics_preflight.py +1460 -0
- package/template/.codex/skills/data-analytics/skills/user-context/scripts/init_user_context_state.py +128 -0
- package/template/.codex/skills/data-analytics/skills/user-context/scripts/reset_user_context_state.py +101 -0
- package/template/.codex/skills/data-analytics/skills/user-context/scripts/validate_user_context_preflight.py +499 -0
- package/template/.codex/skills/data-analytics/skills/user-context/tests/test_state_helpers.py +978 -0
- package/template/.codex/skills/data-analytics/skills/validate-data/SKILL.md +190 -0
- package/template/.codex/skills/data-analytics/skills/validate-data/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/visualize-data/SKILL.md +157 -0
- package/template/.codex/skills/data-analytics/skills/visualize-data/agents/openai.yaml +6 -0
- package/template/.codex/skills/data-analytics/skills/visualize-data/references/seaborn-templates.md +774 -0
- package/template/.codex/skills/data-analytics/src/DESIGN.md +222 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/App.tsx +3666 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/analytics-layout.test.mjs +136 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartFrame.tsx +54 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartLegend.tsx +96 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartRenderer.tsx +1647 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartTooltip.tsx +245 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-app-helpers.tsx +462 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-capabilities.ts +107 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-compatibility.ts +164 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-contract.ts +192 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-theme.ts +203 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-tokens.css +619 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-transforms.ts +402 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/fonts/SystemSansVariableVF.woff2 +0 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/imageExport.ts +370 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/layout/AnalyticsLayoutCanvas.tsx +536 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/layout/RichMarkdown.tsx +681 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/layout/analyticsLayoutCore.ts +164 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/main.tsx +21 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/scripts/chart_contract.py +472 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/scripts/check_analytics_app_runtime_links.py +75 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/scripts/design_contract.py +142 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/scripts/package_utils.py +142 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/scripts/tests/test_package_utils.py +377 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/styles.css +3468 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/tables/DataTable.d.ts +44 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/tables/DataTable.jsx +639 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/tables/data-table.css +327 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/tokens.css +225 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/types.ts +204 -0
- package/template/.codex/skills/data-analytics/src/analytics-app-core.md +85 -0
- package/template/.codex/skills/data-analytics/src/codex-style-contract.md +30 -0
- package/template/.codex/skills/data-analytics/src/datascience-artifact-widget.html +12 -0
- package/template/.codex/skills/data-analytics/src/datascience-artifact-widget.jsx +1008 -0
- package/template/.codex/skills/data-analytics/src/datascience-chart-widget.css +2117 -0
- package/template/.codex/skills/data-analytics/src/datascience-chart-widget.html +122 -0
- package/template/.codex/skills/data-analytics/src/datascience-chart-widget.js +3588 -0
- package/template/.codex/skills/data-analytics/src/datascience-table-widget.css +483 -0
- package/template/.codex/skills/data-analytics/src/datascience-table-widget.html +32 -0
- package/template/.codex/skills/data-analytics/src/datascience-table-widget.js +333 -0
- package/template/.codex/skills/data-analytics/src/mcp-host.js +153 -0
- package/template/.codex/skills/data-analytics/src/recharts-config.js +315 -0
- package/template/.codex/skills/data-analytics/src/recharts-renderer.jsx +294 -0
- package/template/.codex/skills/data-analytics/src/sql-source-view.css +33 -0
- package/template/.codex/skills/data-analytics/src/sql-source-view.js +157 -0
- package/template/.codex/skills/data-analytics/src/styles/codex-theme.css +121 -0
- package/template/.codex/skills/data-analytics/src/table-renderer.jsx +28 -0
- package/template/.codex/skills/data-analytics/tests/chart-transforms.test.mjs +87 -0
- package/template/.codex/skills/data-analytics/tests/funnel-smoke.html +105 -0
- package/template/.codex/skills/data-analytics/tests/inline-widget-compare.html +233 -0
- package/template/.codex/skills/data-analytics/tests/mcp-server.test.mjs +1500 -0
- package/template/.codex/skills/data-analytics/tests/native-style-contract.test.mjs +219 -0
- package/template/.codex/skills/data-analytics/tests/recharts-config.test.mjs +144 -0
- package/template/.codex/skills/data-analytics/tests/recharts-renderer.test.mjs +11 -0
- package/template/.codex/skills/data-analytics/tests/rich-markdown.test.mjs +54 -0
- package/template/.codex/skills/data-analytics/tests/widget-render-harness.html +321 -0
- package/template/.codex/skills/data-analytics/tsconfig.json +19 -0
- package/template/.codex/skills/data-analytics/vite.config.ts +46 -0
- package/template/.codex/skills/product-design/.app.json +7 -0
- package/template/.codex/skills/product-design/.codex-plugin/plugin.json +50 -0
- package/template/.codex/skills/product-design/README.md +50 -0
- package/template/.codex/skills/product-design/agents/openai.yaml +4 -0
- package/template/.codex/skills/product-design/assets/composerIcon.svg +9 -0
- package/template/.codex/skills/product-design/assets/logo.png +0 -0
- package/template/.codex/skills/product-design/package.json +11 -0
- package/template/.codex/skills/product-design/references/browser-order.md +9 -0
- package/template/.codex/skills/product-design/references/communication-protocol.md +45 -0
- package/template/.codex/skills/product-design/references/critical-overrides.md +58 -0
- package/template/.codex/skills/product-design/references/local-prototype-preflight.md +16 -0
- package/template/.codex/skills/product-design/scripts/bootstrap-prototype.mjs +147 -0
- package/template/.codex/skills/product-design/skills/audit/SKILL.md +159 -0
- package/template/.codex/skills/product-design/skills/audit/agents/openai.yaml +6 -0
- package/template/.codex/skills/product-design/skills/audit/references/design-audit-framework.md +73 -0
- package/template/.codex/skills/product-design/skills/design-qa/SKILL.md +133 -0
- package/template/.codex/skills/product-design/skills/design-qa/agents/openai.yaml +6 -0
- package/template/.codex/skills/product-design/skills/design-qa/references/qa-rubric.md +61 -0
- package/template/.codex/skills/product-design/skills/get-context/SKILL.md +81 -0
- package/template/.codex/skills/product-design/skills/get-context/agents/openai.yaml +6 -0
- package/template/.codex/skills/product-design/skills/ideate/SKILL.md +179 -0
- package/template/.codex/skills/product-design/skills/ideate/agents/openai.yaml +6 -0
- package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +105 -0
- package/template/.codex/skills/product-design/skills/image-to-code/agents/openai.yaml +6 -0
- package/template/.codex/skills/product-design/skills/index/SKILL.md +126 -0
- package/template/.codex/skills/product-design/skills/index/agents/openai.yaml +6 -0
- package/template/.codex/skills/product-design/skills/prototype/SKILL.md +128 -0
- package/template/.codex/skills/product-design/skills/prototype/agents/openai.yaml +6 -0
- package/template/.codex/skills/product-design/skills/prototype/references/existing-codebase-edits.md +18 -0
- package/template/.codex/skills/product-design/skills/research/SKILL.md +92 -0
- package/template/.codex/skills/product-design/skills/research/agents/openai.yaml +6 -0
- package/template/.codex/skills/product-design/skills/share/SKILL.md +41 -0
- package/template/.codex/skills/product-design/skills/share/agents/openai.yaml +6 -0
- package/template/.codex/skills/product-design/skills/url-to-code/SKILL.md +124 -0
- package/template/.codex/skills/product-design/skills/url-to-code/agents/openai.yaml +6 -0
- package/template/.codex/skills/product-design/skills/user-context/SKILL.md +147 -0
- package/template/.codex/skills/product-design/skills/user-context/agents/openai.yaml +6 -0
- package/template/.codex/skills/product-design/skills/user-context/plugin-author-config/user-context-template.md +63 -0
- package/template/.codex/skills/product-design/skills/user-context/references/onboarding.md +66 -0
- package/template/.codex/skills/product-design/skills/user-context/scripts/init_user_context.py +86 -0
- package/template/.codex/skills/product-design/skills/user-context/scripts/user_context_preflight.py +204 -0
- package/template/.codex/skills/product-design/templates/prototype/AGENTS.md +7 -0
- package/template/.codex/skills/product-design/templates/prototype/index.html +12 -0
- package/template/.codex/skills/product-design/templates/prototype/package.json +18 -0
- package/template/.codex/skills/product-design/templates/prototype/src/App.jsx +5 -0
- package/template/.codex/skills/product-design/templates/prototype/src/main.jsx +10 -0
- package/template/.codex/skills/product-design/templates/prototype/src/styles.css +13 -0
- package/template/.codex/skills/product-design/templates/prototype/vite.config.mjs +14 -0
- package/template/.codex/skills/yss-product-lifecycle/SKILL.md +3 -3
- package/template/AGENTS.md +3 -3
- package/template/docs/adr/adr-product-design-prototype-entrypoint.md +54 -0
- package/template/docs/api/templates/openapi-draft-review-checklist.md +4 -2
- package/template/docs/design/README.md +8 -4
- package/template/docs/design/templates/interaction-spec-template.md +4 -1
- package/template/docs/design/templates/prototype-confirmation-template.md +57 -0
- package/template/docs/design/templates/prototype-review-checklist.md +6 -2
- package/template/docs/design/templates/state-matrix-template.md +1 -1
- package/template/docs/process/harness-executive-blueprint.md +2 -1
- package/template/docs/process/harness-process-tailoring.md +1 -1
- package/template/docs/process/harness-work-unit-map.md +1 -1
- package/template/docs/process/lifecycle-artifact-map.md +4 -3
- package/template/docs/process/product-prototype-workflow.md +82 -0
- package/template/docs/user-guide/product-lifecycle-workflow.md +2 -2
- package/template/docs/user-guide/product-rd-lifecycle-best-practices.md +15 -10
|
@@ -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,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
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: prototype
|
|
3
|
+
description: "Route coded prototype requests after Product Design get-context has confirmed the design brief. Use for building prototypes from URLs, images, mockups, Figma, existing code, or ideas that need visual exploration before build."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design Prototypes
|
|
7
|
+
|
|
8
|
+
You're tasked with creating a frontend-only, interactive website or app, that the user can click through and use.
|
|
9
|
+
|
|
10
|
+
Select the best workflow from the following options to solve the user's request
|
|
11
|
+
|
|
12
|
+
## Golden Rule of Prototyping
|
|
13
|
+
|
|
14
|
+
- Do not build until you have a visual target and the chosen workflow reaches `$image-to-code` or `$url-to-code`.
|
|
15
|
+
- A visual target is an app or website design to build from: a user-provided image, a source URL, or an ImageGen design selected by the user.
|
|
16
|
+
- A `$get-context` brief is not a visual target.
|
|
17
|
+
- After `$get-context`, route to `$ideate` unless the user already provided a concrete visual source.
|
|
18
|
+
- If `$ideate` creates options, stop and wait for the user to choose one.
|
|
19
|
+
- The chosen option becomes the required visual target for `$image-to-code`.
|
|
20
|
+
|
|
21
|
+
## Critical Overrides
|
|
22
|
+
|
|
23
|
+
- Refer to the Plugin router [$index](../index/SKILL.md) before proceeding.
|
|
24
|
+
- Follow [$critical-overrides](../../references/critical-overrides.md).
|
|
25
|
+
- Refer to [references/existing-codebase-edits.md](references/existing-codebase-edits.md) for best practices on making edits to existing codebases.
|
|
26
|
+
|
|
27
|
+
## User Context
|
|
28
|
+
|
|
29
|
+
Before starting, load [$user-context](../user-context/SKILL.md) and run its preflight script when local shell access is available.
|
|
30
|
+
|
|
31
|
+
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.
|
|
32
|
+
|
|
33
|
+
Do not inspect every saved reference. Inspect only what the current task needs.
|
|
34
|
+
|
|
35
|
+
## Setup Is Not Prototype Work
|
|
36
|
+
|
|
37
|
+
If the user only asks to set up Product Design, do not continue in this skill. Use [$user-context](../user-context/SKILL.md).
|
|
38
|
+
|
|
39
|
+
## Workflows
|
|
40
|
+
|
|
41
|
+
The following workflows support cloning, redesigning, extending, and building products from scratch. Choose the workflow that best matches the user's request, or use the skills as helpers if the request does not match one workflow cleanly.
|
|
42
|
+
|
|
43
|
+
Always start with `$get-context` to confirm the design brief before proceeding to the next workflow step. If required details are missing, `$get-context` asks for them. If the user already supplied the product, visual, and interactivity details, `$get-context` plays back the brief in your own words. Do not proceed to `$ideate`, `$url-to-code`, or `$image-to-code` until the brief has been played back and either confirmed by the user or already confirmed earlier in the thread.
|
|
44
|
+
|
|
45
|
+
### Clone product
|
|
46
|
+
|
|
47
|
+
"Recreate {URL}"
|
|
48
|
+
|
|
49
|
+
Required next steps:
|
|
50
|
+
|
|
51
|
+
- `$get-context` - confirm the design brief, including the target URL, purpose, source constraints, and interactivity level.
|
|
52
|
+
- `$url-to-code` - recreate the app or website shown at the URL.
|
|
53
|
+
|
|
54
|
+
"Recreate {image}"
|
|
55
|
+
|
|
56
|
+
Required next steps:
|
|
57
|
+
|
|
58
|
+
- `$get-context` - confirm the design brief, including what the image represents, source constraints, and interactivity level.
|
|
59
|
+
- `$image-to-code` - recreate the app or website design shown in the image.
|
|
60
|
+
|
|
61
|
+
### New product
|
|
62
|
+
|
|
63
|
+
"Build me {idea}"
|
|
64
|
+
|
|
65
|
+
Required next steps:
|
|
66
|
+
|
|
67
|
+
- `$get-context` - confirm the design brief, including the product idea, user goal, visual direction, source constraints, and interactivity level.
|
|
68
|
+
- `$ideate` - generate exactly three app or website design options; show them and wait for selection.
|
|
69
|
+
- `$image-to-code` - only after the user selects an option.
|
|
70
|
+
|
|
71
|
+
### Redesign product
|
|
72
|
+
|
|
73
|
+
"Redesign this {image}"
|
|
74
|
+
|
|
75
|
+
Required next steps:
|
|
76
|
+
|
|
77
|
+
- `$get-context` - confirm the design brief, including the redesign goal, visual direction, source constraints, and interactivity level.
|
|
78
|
+
- `$ideate` - attach the provided app or website design to ImageGen; generate exactly three redesign options; show them and wait for selection.
|
|
79
|
+
- `$image-to-code` - only after the user selects an option.
|
|
80
|
+
|
|
81
|
+
"Redesign this {URL}"
|
|
82
|
+
|
|
83
|
+
Required next steps:
|
|
84
|
+
|
|
85
|
+
- `$get-context` - confirm the design brief, including the target URL, redesign goal, source constraints, and interactivity level.
|
|
86
|
+
- `$ideate` - attach provided app or website screenshot at the URL to ImageGen; generate exactly three redesign options; show them and wait for selection.
|
|
87
|
+
- `$image-to-code` - only after the user selects an option; use the URL as reference for existing content, structure, and interactions.
|
|
88
|
+
|
|
89
|
+
"Redesign my app"
|
|
90
|
+
|
|
91
|
+
Required next steps:
|
|
92
|
+
|
|
93
|
+
- `$get-context` - confirm the design brief, including the app surface, redesign goal, source constraints, and interactivity level.
|
|
94
|
+
- Find the app or website in the codebase.
|
|
95
|
+
- If there is more than one possible target, ask the user which one to redesign and whether they want to edit it directly or create a fresh prototype.
|
|
96
|
+
- `$ideate` - use the existing app or website as the source; generate exactly three redesign options; show them and wait for selection.
|
|
97
|
+
- `$image-to-code` - only after the user selects an option; refer to [references/existing-codebase-edits.md](references/existing-codebase-edits.md)
|
|
98
|
+
|
|
99
|
+
### Extend product
|
|
100
|
+
|
|
101
|
+
"Add {feature} to this {URL}"
|
|
102
|
+
|
|
103
|
+
Required next steps:
|
|
104
|
+
|
|
105
|
+
- `$get-context` - confirm the design brief, including the target URL, feature behavior, source constraints, and interactivity level.
|
|
106
|
+
- `$url-to-code` - recreate the app or website and add the requested feature.
|
|
107
|
+
|
|
108
|
+
"Add {feature} to my app"
|
|
109
|
+
|
|
110
|
+
Required next steps:
|
|
111
|
+
|
|
112
|
+
- `$get-context` - confirm the design brief, including the app surface, feature behavior, source constraints, and interactivity level.
|
|
113
|
+
- Find the app or website in the codebase.
|
|
114
|
+
- If there is more than one possible target, ask the user which one to extend.
|
|
115
|
+
- Implement the requested feature in the existing app or website; refer to [references/existing-codebase-edits.md](references/existing-codebase-edits.md)
|
|
116
|
+
|
|
117
|
+
When the user references a product name without a source URL or image, use the browser skill of choice to get actual screenshots of the product. Only fallback to web search images if the product isn't accessible.
|
|
118
|
+
|
|
119
|
+
## Hard Rules
|
|
120
|
+
|
|
121
|
+
- Written design direction is not a visual target. Use it as input to `$ideate` and ImageGen.
|
|
122
|
+
- Do not build from a brief alone.
|
|
123
|
+
- For redesigns, use `$ideate` to generate exactly three design options, show them, and wait for the user to choose one.
|
|
124
|
+
- Do not build a redesign until the user has chosen a design option.
|
|
125
|
+
- When a new product has no visual target after `$get-context`, use `$ideate` to generate exactly three design options, show them, and wait for the user to choose one.
|
|
126
|
+
- If the user gives feedback, or says they like more than one design, use `$ideate` to create a new ImageGen mock with the feedback or combined direction before build.
|
|
127
|
+
- Pass the user's written direction and attached design references into `$ideate` and ImageGen.
|
|
128
|
+
- If the current folder looks like an existing prototype and it is unclear whether to edit it or create a new one, ask the user.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Prototype"
|
|
3
|
+
short_description: "Route prototype, redesign, clone, and UI build requests after brief confirmation"
|
|
4
|
+
default_prompt: "Confirm the design brief, then build a Product Design prototype."
|
|
5
|
+
policy:
|
|
6
|
+
allow_implicit_invocation: false
|
package/template/.codex/skills/product-design/skills/prototype/references/existing-codebase-edits.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Existing App or Website Edits
|
|
2
|
+
|
|
3
|
+
Use this only when editing an existing local apps or websites directly.
|
|
4
|
+
|
|
5
|
+
1. Inspect the running app and source code before changing it.
|
|
6
|
+
2. Follow local `AGENTS.md` and any equivalent local design notes when they exist.
|
|
7
|
+
3. Prefer the existing codebase's design system (tokens, style variables, components, layout patterns, and interaction patterns).
|
|
8
|
+
4. Use existing layouts and components as much as you can.
|
|
9
|
+
5. Use realistic mock data that a user would expect to see in practice.
|
|
10
|
+
6. Record durable design decisions in `AGENTS.md` or local design notes when they should guide future edits.
|
|
11
|
+
|
|
12
|
+
Do not:
|
|
13
|
+
|
|
14
|
+
- Invent a new design system when the existing prototype has one
|
|
15
|
+
- Replace the app structure unless the user asks for a redesign
|
|
16
|
+
- Add made-up features just to fill the UI
|
|
17
|
+
- Use text, punctuation, emoji, CSS shapes, placeholder boxes, or handcrafted SVGs as asset or icon stand-ins
|
|
18
|
+
- Add long explanations inside the prototype UI.
|