claude-code-workflow 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/action-planning-agent.md +778 -0
- package/.claude/agents/cli-execution-agent.md +270 -0
- package/.claude/agents/cli-explore-agent.md +182 -0
- package/.claude/agents/cli-lite-planning-agent.md +396 -0
- package/.claude/agents/cli-planning-agent.md +558 -0
- package/.claude/agents/code-developer.md +310 -0
- package/.claude/agents/conceptual-planning-agent.md +308 -0
- package/.claude/agents/context-search-agent.md +582 -0
- package/.claude/agents/doc-generator.md +330 -0
- package/.claude/agents/memory-bridge.md +94 -0
- package/.claude/agents/test-context-search-agent.md +399 -0
- package/.claude/agents/test-fix-agent.md +343 -0
- package/.claude/agents/ui-design-agent.md +593 -0
- package/.claude/agents/universal-executor.md +131 -0
- package/.claude/commands/cli/cli-init.md +440 -0
- package/.claude/commands/enhance-prompt.md +93 -0
- package/.claude/commands/memory/code-map-memory.md +687 -0
- package/.claude/commands/memory/docs-full-cli.md +471 -0
- package/.claude/commands/memory/docs-related-cli.md +386 -0
- package/.claude/commands/memory/docs.md +615 -0
- package/.claude/commands/memory/load-skill-memory.md +182 -0
- package/.claude/commands/memory/load.md +240 -0
- package/.claude/commands/memory/skill-memory.md +525 -0
- package/.claude/commands/memory/style-skill-memory.md +396 -0
- package/.claude/commands/memory/tech-research.md +477 -0
- package/.claude/commands/memory/update-full.md +332 -0
- package/.claude/commands/memory/update-related.md +332 -0
- package/.claude/commands/memory/workflow-skill-memory.md +517 -0
- package/.claude/commands/task/breakdown.md +204 -0
- package/.claude/commands/task/create.md +152 -0
- package/.claude/commands/task/execute.md +270 -0
- package/.claude/commands/task/replan.md +437 -0
- package/.claude/commands/version.md +254 -0
- package/.claude/commands/workflow/action-plan-verify.md +447 -0
- package/.claude/commands/workflow/brainstorm/api-designer.md +585 -0
- package/.claude/commands/workflow/brainstorm/artifacts.md +452 -0
- package/.claude/commands/workflow/brainstorm/auto-parallel.md +443 -0
- package/.claude/commands/workflow/brainstorm/data-architect.md +220 -0
- package/.claude/commands/workflow/brainstorm/product-manager.md +200 -0
- package/.claude/commands/workflow/brainstorm/product-owner.md +200 -0
- package/.claude/commands/workflow/brainstorm/scrum-master.md +200 -0
- package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
- package/.claude/commands/workflow/brainstorm/synthesis.md +398 -0
- package/.claude/commands/workflow/brainstorm/system-architect.md +387 -0
- package/.claude/commands/workflow/brainstorm/ui-designer.md +221 -0
- package/.claude/commands/workflow/brainstorm/ux-expert.md +221 -0
- package/.claude/commands/workflow/execute.md +460 -0
- package/.claude/commands/workflow/init.md +164 -0
- package/.claude/commands/workflow/lite-execute.md +686 -0
- package/.claude/commands/workflow/lite-fix.md +621 -0
- package/.claude/commands/workflow/lite-plan.md +592 -0
- package/.claude/commands/workflow/plan.md +551 -0
- package/.claude/commands/workflow/replan.md +515 -0
- package/.claude/commands/workflow/review-fix.md +646 -0
- package/.claude/commands/workflow/review-module-cycle.md +795 -0
- package/.claude/commands/workflow/review-session-cycle.md +805 -0
- package/.claude/commands/workflow/review.md +291 -0
- package/.claude/commands/workflow/session/complete.md +500 -0
- package/.claude/commands/workflow/session/list.md +96 -0
- package/.claude/commands/workflow/session/resume.md +61 -0
- package/.claude/commands/workflow/session/start.md +200 -0
- package/.claude/commands/workflow/status.md +352 -0
- package/.claude/commands/workflow/tdd-plan.md +460 -0
- package/.claude/commands/workflow/tdd-verify.md +386 -0
- package/.claude/commands/workflow/test-cycle-execute.md +498 -0
- package/.claude/commands/workflow/test-fix-gen.md +699 -0
- package/.claude/commands/workflow/test-gen.md +529 -0
- package/.claude/commands/workflow/tools/conflict-resolution.md +680 -0
- package/.claude/commands/workflow/tools/context-gather.md +434 -0
- package/.claude/commands/workflow/tools/task-generate-agent.md +291 -0
- package/.claude/commands/workflow/tools/task-generate-tdd.md +518 -0
- package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
- package/.claude/commands/workflow/tools/test-concept-enhanced.md +163 -0
- package/.claude/commands/workflow/tools/test-context-gather.md +235 -0
- package/.claude/commands/workflow/tools/test-task-generate.md +256 -0
- package/.claude/commands/workflow/ui-design/animation-extract.md +1150 -0
- package/.claude/commands/workflow/ui-design/codify-style.md +652 -0
- package/.claude/commands/workflow/ui-design/design-sync.md +454 -0
- package/.claude/commands/workflow/ui-design/explore-auto.md +678 -0
- package/.claude/commands/workflow/ui-design/generate.md +504 -0
- package/.claude/commands/workflow/ui-design/imitate-auto.md +745 -0
- package/.claude/commands/workflow/ui-design/import-from-code.md +537 -0
- package/.claude/commands/workflow/ui-design/layout-extract.md +788 -0
- package/.claude/commands/workflow/ui-design/reference-page-generator.md +356 -0
- package/.claude/commands/workflow/ui-design/style-extract.md +773 -0
- package/.claude/scripts/classify-folders.sh +35 -0
- package/.claude/scripts/convert_tokens_to_css.sh +225 -0
- package/.claude/scripts/detect_changed_modules.sh +157 -0
- package/.claude/scripts/discover-design-files.sh +83 -0
- package/.claude/scripts/extract-animations.js +243 -0
- package/.claude/scripts/extract-computed-styles.js +118 -0
- package/.claude/scripts/extract-layout-structure.js +411 -0
- package/.claude/scripts/generate_module_docs.sh +713 -0
- package/.claude/scripts/get_modules_by_depth.sh +166 -0
- package/.claude/scripts/ui-generate-preview.sh +391 -0
- package/.claude/scripts/ui-instantiate-prototypes.sh +811 -0
- package/.claude/scripts/update_module_claude.sh +333 -0
- package/.claude/skills/command-guide/SKILL.md +388 -0
- package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +592 -0
- package/.claude/skills/command-guide/guides/cli-tools-guide.md +410 -0
- package/.claude/skills/command-guide/guides/examples.md +537 -0
- package/.claude/skills/command-guide/guides/getting-started.md +242 -0
- package/.claude/skills/command-guide/guides/implementation-details.md +1010 -0
- package/.claude/skills/command-guide/guides/index-structure.md +326 -0
- package/.claude/skills/command-guide/guides/troubleshooting.md +92 -0
- package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +316 -0
- package/.claude/skills/command-guide/guides/workflow-patterns.md +662 -0
- package/.claude/skills/command-guide/index/all-commands.json +783 -0
- package/.claude/skills/command-guide/index/by-category.json +811 -0
- package/.claude/skills/command-guide/index/by-use-case.json +797 -0
- package/.claude/skills/command-guide/index/command-relationships.json +307 -0
- package/.claude/skills/command-guide/index/essential-commands.json +123 -0
- package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +722 -0
- package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +270 -0
- package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +182 -0
- package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +396 -0
- package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +558 -0
- package/.claude/skills/command-guide/reference/agents/code-developer.md +310 -0
- package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +328 -0
- package/.claude/skills/command-guide/reference/agents/context-search-agent.md +577 -0
- package/.claude/skills/command-guide/reference/agents/doc-generator.md +330 -0
- package/.claude/skills/command-guide/reference/agents/memory-bridge.md +94 -0
- package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +399 -0
- package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +343 -0
- package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +593 -0
- package/.claude/skills/command-guide/reference/agents/universal-executor.md +131 -0
- package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +440 -0
- package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +93 -0
- package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +687 -0
- package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +471 -0
- package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +386 -0
- package/.claude/skills/command-guide/reference/commands/memory/docs.md +610 -0
- package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +182 -0
- package/.claude/skills/command-guide/reference/commands/memory/load.md +240 -0
- package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +525 -0
- package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +396 -0
- package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +477 -0
- package/.claude/skills/command-guide/reference/commands/memory/update-full.md +332 -0
- package/.claude/skills/command-guide/reference/commands/memory/update-related.md +332 -0
- package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +517 -0
- package/.claude/skills/command-guide/reference/commands/task/breakdown.md +204 -0
- package/.claude/skills/command-guide/reference/commands/task/create.md +152 -0
- package/.claude/skills/command-guide/reference/commands/task/execute.md +270 -0
- package/.claude/skills/command-guide/reference/commands/task/replan.md +437 -0
- package/.claude/skills/command-guide/reference/commands/version.md +254 -0
- package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +447 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +585 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +604 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +466 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +220 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +496 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +387 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +221 -0
- package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +221 -0
- package/.claude/skills/command-guide/reference/commands/workflow/execute.md +460 -0
- package/.claude/skills/command-guide/reference/commands/workflow/init.md +164 -0
- package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +634 -0
- package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +602 -0
- package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +582 -0
- package/.claude/skills/command-guide/reference/commands/workflow/plan.md +551 -0
- package/.claude/skills/command-guide/reference/commands/workflow/replan.md +515 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +646 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +795 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +805 -0
- package/.claude/skills/command-guide/reference/commands/workflow/review.md +291 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +500 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +96 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +61 -0
- package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +180 -0
- package/.claude/skills/command-guide/reference/commands/workflow/status.md +352 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +460 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +386 -0
- package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +498 -0
- package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +699 -0
- package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +529 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +680 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +434 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +151 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +518 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +163 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +235 -0
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +256 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +1150 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +652 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +454 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +678 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +504 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +745 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +537 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +788 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +356 -0
- package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +773 -0
- package/.claude/skills/command-guide/scripts/analyze_commands.py +502 -0
- package/.claude/skills/command-guide/scripts/update-index.sh +130 -0
- package/.claude/skills/command-guide/templates/issue-bug.md +104 -0
- package/.claude/skills/command-guide/templates/issue-diagnosis.md +275 -0
- package/.claude/skills/command-guide/templates/issue-feature.md +97 -0
- package/.claude/skills/command-guide/templates/issue-question.md +141 -0
- package/.claude/skills/prompt-enhancer/SKILL.md +124 -0
- package/.claude/workflows/_template-compare-matrix.html +692 -0
- package/.claude/workflows/cli-templates/fix-plan-template.json +75 -0
- package/.claude/workflows/cli-templates/fix-progress-template.json +48 -0
- package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +299 -0
- package/.claude/workflows/cli-templates/planning-roles/data-architect.md +120 -0
- package/.claude/workflows/cli-templates/planning-roles/product-manager.md +119 -0
- package/.claude/workflows/cli-templates/planning-roles/product-owner.md +261 -0
- package/.claude/workflows/cli-templates/planning-roles/scrum-master.md +186 -0
- package/.claude/workflows/cli-templates/planning-roles/subject-matter-expert.md +281 -0
- package/.claude/workflows/cli-templates/planning-roles/synthesis-role.md +414 -0
- package/.claude/workflows/cli-templates/planning-roles/system-architect.md +106 -0
- package/.claude/workflows/cli-templates/planning-roles/test-strategist.md +124 -0
- package/.claude/workflows/cli-templates/planning-roles/ui-designer.md +379 -0
- package/.claude/workflows/cli-templates/planning-roles/ux-expert.md +240 -0
- package/.claude/workflows/cli-templates/prompts/analysis/01-diagnose-bug-root-cause.txt +127 -0
- package/.claude/workflows/cli-templates/prompts/analysis/01-trace-code-execution.txt +115 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt +37 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-technical-document.txt +33 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-review-architecture.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/analysis/02-review-code-quality.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/analysis/03-analyze-performance.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/analysis/03-assess-security-risks.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/analysis/03-review-quality-standards.txt +29 -0
- package/.claude/workflows/cli-templates/prompts/development/02-generate-tests.txt +70 -0
- package/.claude/workflows/cli-templates/prompts/development/02-implement-component-ui.txt +55 -0
- package/.claude/workflows/cli-templates/prompts/development/02-implement-feature.txt +58 -0
- package/.claude/workflows/cli-templates/prompts/development/02-refactor-codebase.txt +55 -0
- package/.claude/workflows/cli-templates/prompts/development/03-debug-runtime-issues.txt +55 -0
- package/.claude/workflows/cli-templates/prompts/documentation/api.txt +15 -0
- package/.claude/workflows/cli-templates/prompts/documentation/folder-navigation.txt +27 -0
- package/.claude/workflows/cli-templates/prompts/documentation/module-readme.txt +49 -0
- package/.claude/workflows/cli-templates/prompts/documentation/project-architecture.txt +41 -0
- package/.claude/workflows/cli-templates/prompts/documentation/project-examples.txt +35 -0
- package/.claude/workflows/cli-templates/prompts/documentation/project-readme.txt +35 -0
- package/.claude/workflows/cli-templates/prompts/memory/02-document-module-structure.txt +165 -0
- package/.claude/workflows/cli-templates/prompts/planning/01-plan-architecture-design.txt +109 -0
- package/.claude/workflows/cli-templates/prompts/planning/02-breakdown-task-steps.txt +30 -0
- package/.claude/workflows/cli-templates/prompts/planning/02-design-component-spec.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/planning/03-evaluate-concept-feasibility.txt +127 -0
- package/.claude/workflows/cli-templates/prompts/planning/03-plan-migration-strategy.txt +30 -0
- package/.claude/workflows/cli-templates/prompts/tech/tech-module-format.txt +359 -0
- package/.claude/workflows/cli-templates/prompts/tech/tech-skill-index.txt +185 -0
- package/.claude/workflows/cli-templates/prompts/test/test-concept-analysis.txt +179 -0
- package/.claude/workflows/cli-templates/prompts/universal/00-universal-creative-style.txt +95 -0
- package/.claude/workflows/cli-templates/prompts/universal/00-universal-rigorous-style.txt +92 -0
- package/.claude/workflows/cli-templates/prompts/verification/codex-technical.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/verification/cross-validation.txt +28 -0
- package/.claude/workflows/cli-templates/prompts/verification/gemini-strategic.txt +27 -0
- package/.claude/workflows/cli-templates/prompts/workflow/analysis-results-structure.txt +224 -0
- package/.claude/workflows/cli-templates/prompts/workflow/codex-feasibility-validation.txt +176 -0
- package/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt +131 -0
- package/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt +286 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-aggregation.txt +172 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-conflict-patterns.txt +98 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-index.txt +224 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-lessons-learned.txt +98 -0
- package/.claude/workflows/cli-templates/prompts/workflow/skill-sessions-timeline.txt +53 -0
- package/.claude/workflows/cli-templates/prompts/workflow/task-json-agent-mode.txt +123 -0
- package/.claude/workflows/cli-templates/prompts/workflow/task-json-cli-mode.txt +182 -0
- package/.claude/workflows/cli-templates/schemas/diagnosis-json-schema.json +234 -0
- package/.claude/workflows/cli-templates/schemas/explore-json-schema.json +124 -0
- package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +273 -0
- package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +219 -0
- package/.claude/workflows/cli-templates/schemas/project-json-schema.json +221 -0
- package/.claude/workflows/cli-templates/schemas/review-deep-dive-results-schema.json +82 -0
- package/.claude/workflows/cli-templates/schemas/review-dimension-results-schema.json +51 -0
- package/.claude/workflows/cli-templates/tech-stacks/go-dev.md +91 -0
- package/.claude/workflows/cli-templates/tech-stacks/java-dev.md +107 -0
- package/.claude/workflows/cli-templates/tech-stacks/javascript-dev.md +58 -0
- package/.claude/workflows/cli-templates/tech-stacks/python-dev.md +79 -0
- package/.claude/workflows/cli-templates/tech-stacks/react-dev.md +103 -0
- package/.claude/workflows/cli-templates/tech-stacks/typescript-dev.md +83 -0
- package/.claude/workflows/cli-templates/ui-design/systems/animation-tokens.json +247 -0
- package/.claude/workflows/cli-templates/ui-design/systems/design-tokens.json +342 -0
- package/.claude/workflows/cli-templates/ui-design/systems/layout-templates.json +145 -0
- package/.claude/workflows/context-search-strategy.md +77 -0
- package/.claude/workflows/intelligent-tools-strategy.md +662 -0
- package/.claude/workflows/review-directory-specification.md +336 -0
- package/.claude/workflows/task-core.md +214 -0
- package/.claude/workflows/tool-strategy.md +71 -0
- package/.claude/workflows/workflow-architecture.md +942 -0
- package/.codex/AGENTS.md +330 -0
- package/.gemini/GEMINI.md +164 -0
- package/.qwen/QWEN.md +164 -0
- package/CLAUDE.md +91 -0
- package/LICENSE +21 -0
- package/README.md +219 -0
- package/ccw/README.md +121 -0
- package/ccw/bin/ccw.js +10 -0
- package/ccw/src/cli.js +100 -0
- package/ccw/src/commands/install.js +324 -0
- package/ccw/src/commands/list.js +37 -0
- package/ccw/src/commands/serve.js +67 -0
- package/ccw/src/commands/uninstall.js +238 -0
- package/ccw/src/commands/upgrade.js +307 -0
- package/ccw/src/commands/view.js +14 -0
- package/ccw/src/core/dashboard-generator-patch.js +29 -0
- package/ccw/src/core/dashboard-generator.js +667 -0
- package/ccw/src/core/data-aggregator.js +409 -0
- package/ccw/src/core/lite-scanner.js +290 -0
- package/ccw/src/core/manifest.js +201 -0
- package/ccw/src/core/server.js +1327 -0
- package/ccw/src/core/server.js.bak +385 -0
- package/ccw/src/core/server_original.bak +385 -0
- package/ccw/src/core/session-scanner.js +235 -0
- package/ccw/src/index.js +9 -0
- package/ccw/src/templates/dashboard-js/api.js +200 -0
- package/ccw/src/templates/dashboard-js/components/_conflict_tab.js +112 -0
- package/ccw/src/templates/dashboard-js/components/_exp_helpers.js +54 -0
- package/ccw/src/templates/dashboard-js/components/_review_tab.js +640 -0
- package/ccw/src/templates/dashboard-js/components/carousel.js +398 -0
- package/ccw/src/templates/dashboard-js/components/flowchart.js +493 -0
- package/ccw/src/templates/dashboard-js/components/hook-manager.js +273 -0
- package/ccw/src/templates/dashboard-js/components/mcp-manager.js +506 -0
- package/ccw/src/templates/dashboard-js/components/modals.js +260 -0
- package/ccw/src/templates/dashboard-js/components/navigation.js +239 -0
- package/ccw/src/templates/dashboard-js/components/notifications.js +194 -0
- package/ccw/src/templates/dashboard-js/components/sidebar.js +31 -0
- package/ccw/src/templates/dashboard-js/components/tabs-context.js +1093 -0
- package/ccw/src/templates/dashboard-js/components/tabs-other.js +273 -0
- package/ccw/src/templates/dashboard-js/components/task-drawer-core.js +477 -0
- package/ccw/src/templates/dashboard-js/components/task-drawer-renderers.js +447 -0
- package/ccw/src/templates/dashboard-js/components/theme.js +21 -0
- package/ccw/src/templates/dashboard-js/main.js +57 -0
- package/ccw/src/templates/dashboard-js/state.js +37 -0
- package/ccw/src/templates/dashboard-js/utils.js +153 -0
- package/ccw/src/templates/dashboard-js/views/fix-session.js +180 -0
- package/ccw/src/templates/dashboard-js/views/home.js +193 -0
- package/ccw/src/templates/dashboard-js/views/hook-manager.js +387 -0
- package/ccw/src/templates/dashboard-js/views/lite-tasks.js +390 -0
- package/ccw/src/templates/dashboard-js/views/mcp-manager.js +271 -0
- package/ccw/src/templates/dashboard-js/views/project-overview.js +246 -0
- package/ccw/src/templates/dashboard-js/views/review-session.js +711 -0
- package/ccw/src/templates/dashboard-js/views/session-detail.js +770 -0
- package/ccw/src/templates/dashboard.css +7660 -0
- package/ccw/src/templates/dashboard.html +630 -0
- package/ccw/src/templates/dashboard_tailwind.html +42 -0
- package/ccw/src/templates/dashboard_test.html +37 -0
- package/ccw/src/templates/review-cycle-dashboard.html +1930 -0
- package/ccw/src/templates/tailwind-base.css +212 -0
- package/ccw/src/templates/workflow-dashboard.html +401 -0
- package/ccw/src/utils/browser-launcher.js +49 -0
- package/ccw/src/utils/file-utils.js +48 -0
- package/ccw/src/utils/path-resolver.js +279 -0
- package/ccw/src/utils/ui.js +148 -0
- package/package.json +66 -0
|
@@ -0,0 +1,773 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: style-extract
|
|
3
|
+
description: Extract design style from reference images or text prompts using Claude analysis with variant generation or refinement mode
|
|
4
|
+
argument-hint: "[--design-id <id>] [--session <id>] [--images "<glob>"] [--prompt "<desc>"] [--variants <count>] [--interactive] [--refine]"
|
|
5
|
+
allowed-tools: TodoWrite(*), Read(*), Write(*), Glob(*), AskUserQuestion(*)
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Style Extraction Command
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
Extract design style from reference images or text prompts using Claude's built-in analysis. Supports two modes:
|
|
12
|
+
1. **Exploration Mode** (default): Generate multiple contrasting design variants
|
|
13
|
+
2. **Refinement Mode** (`--refine`): Refine a single existing design through detailed adjustments
|
|
14
|
+
|
|
15
|
+
**Strategy**: AI-Driven Design Space Exploration
|
|
16
|
+
- **Claude-Native**: 100% Claude analysis, no external tools
|
|
17
|
+
- **Direct Output**: Complete design systems (design-tokens.json)
|
|
18
|
+
- **Flexible Input**: Images, text prompts, or both (hybrid mode)
|
|
19
|
+
- **Dual Mode**: Exploration (multiple contrasting variants) or Refinement (single design fine-tuning)
|
|
20
|
+
- **Production-Ready**: WCAG AA compliant, OKLCH colors, semantic naming
|
|
21
|
+
|
|
22
|
+
## Execution Process
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
Input Parsing:
|
|
26
|
+
├─ Parse flags: --design-id, --session, --images, --prompt, --variants, --interactive, --refine
|
|
27
|
+
└─ Decision (mode detection):
|
|
28
|
+
├─ --refine flag → Refinement Mode (variants_count = 1)
|
|
29
|
+
└─ No --refine → Exploration Mode (variants_count = --variants OR 3)
|
|
30
|
+
|
|
31
|
+
Phase 0: Setup & Input Validation
|
|
32
|
+
├─ Step 1: Detect input mode, extraction mode & base path
|
|
33
|
+
├─ Step 2: Load inputs
|
|
34
|
+
└─ Step 3: Memory check (skip if exists)
|
|
35
|
+
|
|
36
|
+
Phase 1: Design Direction/Refinement Options Generation
|
|
37
|
+
├─ Step 1: Load project context
|
|
38
|
+
├─ Step 2: Generate options (Agent Task 1)
|
|
39
|
+
│ └─ Decision:
|
|
40
|
+
│ ├─ Exploration Mode → Generate contrasting design directions
|
|
41
|
+
│ └─ Refinement Mode → Generate refinement options
|
|
42
|
+
└─ Step 3: Verify options file created
|
|
43
|
+
|
|
44
|
+
Phase 1.5: User Confirmation (Optional)
|
|
45
|
+
└─ Decision (--interactive flag):
|
|
46
|
+
├─ --interactive present → Present options, capture selection
|
|
47
|
+
└─ No --interactive → Skip to Phase 2
|
|
48
|
+
|
|
49
|
+
Phase 2: Design System Generation
|
|
50
|
+
├─ Step 1: Load user selection or default to all
|
|
51
|
+
├─ Step 2: Create output directories
|
|
52
|
+
└─ Step 3: Launch agent tasks (parallel)
|
|
53
|
+
|
|
54
|
+
Phase 3: Verify Output
|
|
55
|
+
├─ Step 1: Check files created
|
|
56
|
+
└─ Step 2: Verify file sizes
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Phase 0: Setup & Input Validation
|
|
60
|
+
|
|
61
|
+
### Step 1: Detect Input Mode, Extraction Mode & Base Path
|
|
62
|
+
```bash
|
|
63
|
+
# Detect input source
|
|
64
|
+
# Priority: --images + --prompt → hybrid | --images → image | --prompt → text
|
|
65
|
+
|
|
66
|
+
# Detect refinement mode
|
|
67
|
+
refine_mode = --refine OR false
|
|
68
|
+
|
|
69
|
+
# Set variants count
|
|
70
|
+
# Refinement mode: Force variants_count = 1 (ignore user-provided --variants)
|
|
71
|
+
# Exploration mode: Use --variants or default to 3 (range: 1-5)
|
|
72
|
+
IF refine_mode:
|
|
73
|
+
variants_count = 1
|
|
74
|
+
REPORT: "🔧 Refinement mode enabled: Will generate 1 refined design system"
|
|
75
|
+
ELSE:
|
|
76
|
+
variants_count = --variants OR 3
|
|
77
|
+
VALIDATE: 1 <= variants_count <= 5
|
|
78
|
+
REPORT: "🔍 Exploration mode: Will generate {variants_count} contrasting design directions"
|
|
79
|
+
|
|
80
|
+
# Determine base path with priority: --design-id > --session > auto-detect
|
|
81
|
+
if [ -n "$DESIGN_ID" ]; then
|
|
82
|
+
# Exact match by design ID
|
|
83
|
+
relative_path=$(find .workflow -name "${DESIGN_ID}" -type d -print -quit)
|
|
84
|
+
elif [ -n "$SESSION_ID" ]; then
|
|
85
|
+
# Latest in session
|
|
86
|
+
relative_path=$(find .workflow/active/WFS-$SESSION_ID -name "design-run-*" -type d -printf "%T@ %p\n" 2>/dev/null | sort -nr | head -1 | cut -d' ' -f2)
|
|
87
|
+
else
|
|
88
|
+
# Latest globally
|
|
89
|
+
relative_path=$(find .workflow -name "design-run-*" -type d -printf "%T@ %p\n" 2>/dev/null | sort -nr | head -1 | cut -d' ' -f2)
|
|
90
|
+
fi
|
|
91
|
+
|
|
92
|
+
# Validate and convert to absolute path
|
|
93
|
+
if [ -z "$relative_path" ] || [ ! -d "$relative_path" ]; then
|
|
94
|
+
echo "❌ ERROR: Design run not found"
|
|
95
|
+
echo "💡 HINT: Run '/workflow:ui-design:list' to see available design runs"
|
|
96
|
+
exit 1
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
base_path=$(cd "$relative_path" && pwd)
|
|
100
|
+
bash(echo "✓ Base path: $base_path")
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Step 2: Load Inputs
|
|
104
|
+
```bash
|
|
105
|
+
# For image mode
|
|
106
|
+
bash(ls {images_pattern}) # Expand glob pattern
|
|
107
|
+
Read({image_path}) # Load each image
|
|
108
|
+
|
|
109
|
+
# For text mode
|
|
110
|
+
# Validate --prompt is non-empty
|
|
111
|
+
|
|
112
|
+
# Create output directory
|
|
113
|
+
bash(mkdir -p {base_path}/style-extraction/)
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Step 3: Memory Check
|
|
117
|
+
```bash
|
|
118
|
+
# 1. Check if inputs cached in session memory
|
|
119
|
+
IF session_has_inputs: SKIP Step 2 file reading
|
|
120
|
+
|
|
121
|
+
# 2. Check if output already exists
|
|
122
|
+
bash(test -f {base_path}/style-extraction/style-1/design-tokens.json && echo "exists")
|
|
123
|
+
IF exists: SKIP to completion
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
**Phase 0 Output**: `input_mode`, `base_path`, `extraction_mode`, `variants_count`, `loaded_images[]` or `prompt_guidance`
|
|
129
|
+
|
|
130
|
+
## Phase 1: Design Direction or Refinement Options Generation
|
|
131
|
+
|
|
132
|
+
### Step 1: Load Project Context
|
|
133
|
+
```bash
|
|
134
|
+
# Load brainstorming context if available
|
|
135
|
+
bash(test -f {base_path}/.brainstorming/role analysis documents && cat it)
|
|
136
|
+
|
|
137
|
+
# Load existing design system if refinement mode
|
|
138
|
+
IF refine_mode:
|
|
139
|
+
existing_tokens = Read({base_path}/style-extraction/style-1/design-tokens.json)
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Step 2: Generate Options (Agent Task 1 - Mode-Specific)
|
|
143
|
+
**Executor**: `Task(ui-design-agent)`
|
|
144
|
+
|
|
145
|
+
**Exploration Mode** (default): Generate contrasting design directions
|
|
146
|
+
**Refinement Mode** (`--refine`): Generate refinement options for existing design
|
|
147
|
+
|
|
148
|
+
```javascript
|
|
149
|
+
// Conditional agent task based on refine_mode
|
|
150
|
+
IF NOT refine_mode:
|
|
151
|
+
// EXPLORATION MODE
|
|
152
|
+
Task(ui-design-agent): `
|
|
153
|
+
[DESIGN_DIRECTION_GENERATION_TASK]
|
|
154
|
+
Generate {variants_count} maximally contrasting design directions with visual previews
|
|
155
|
+
|
|
156
|
+
SESSION: {session_id} | MODE: explore | BASE_PATH: {base_path}
|
|
157
|
+
|
|
158
|
+
## Input Analysis
|
|
159
|
+
- User prompt: {prompt_guidance}
|
|
160
|
+
- Visual references: {loaded_images if available}
|
|
161
|
+
- Project context: {brainstorming_context if available}
|
|
162
|
+
|
|
163
|
+
## Analysis Rules
|
|
164
|
+
- Analyze 6D attribute space: color saturation, visual weight, formality, organic/geometric, innovation, density
|
|
165
|
+
- Generate {variants_count} directions with MAXIMUM contrast
|
|
166
|
+
- Each direction must be distinctly different (min distance score: 0.7)
|
|
167
|
+
|
|
168
|
+
## Generate for EACH Direction
|
|
169
|
+
1. **Core Philosophy**:
|
|
170
|
+
- philosophy_name (2-3 words, e.g., "Minimalist & Airy")
|
|
171
|
+
- design_attributes (6D scores 0-1)
|
|
172
|
+
- search_keywords (3-5 keywords)
|
|
173
|
+
- anti_keywords (2-3 keywords to avoid)
|
|
174
|
+
- rationale (why this is distinct from others)
|
|
175
|
+
|
|
176
|
+
2. **Visual Preview Elements**:
|
|
177
|
+
- primary_color (OKLCH format)
|
|
178
|
+
- secondary_color (OKLCH format)
|
|
179
|
+
- accent_color (OKLCH format)
|
|
180
|
+
- font_family_heading (specific font name)
|
|
181
|
+
- font_family_body (specific font name)
|
|
182
|
+
- border_radius_base (e.g., "0.5rem")
|
|
183
|
+
- mood_description (1-2 sentences describing the feel)
|
|
184
|
+
|
|
185
|
+
## Output
|
|
186
|
+
Write single JSON file: {base_path}/.intermediates/style-analysis/analysis-options.json
|
|
187
|
+
|
|
188
|
+
Use schema from INTERACTIVE-DATA-SPEC.md (Style Extract: analysis-options.json)
|
|
189
|
+
|
|
190
|
+
CRITICAL: Use Write() tool immediately after generating complete JSON
|
|
191
|
+
`
|
|
192
|
+
ELSE:
|
|
193
|
+
// REFINEMENT MODE
|
|
194
|
+
Task(ui-design-agent): `
|
|
195
|
+
[DESIGN_REFINEMENT_OPTIONS_TASK]
|
|
196
|
+
Generate refinement options for existing design system
|
|
197
|
+
|
|
198
|
+
SESSION: {session_id} | MODE: refine | BASE_PATH: {base_path}
|
|
199
|
+
|
|
200
|
+
## Existing Design System
|
|
201
|
+
- design-tokens.json: {existing_tokens}
|
|
202
|
+
|
|
203
|
+
## Input Guidance
|
|
204
|
+
- User prompt: {prompt_guidance}
|
|
205
|
+
- Visual references: {loaded_images if available}
|
|
206
|
+
|
|
207
|
+
## Refinement Categories
|
|
208
|
+
Generate 8-12 refinement options across these categories:
|
|
209
|
+
|
|
210
|
+
1. **Intensity/Degree Adjustments** (2-3 options):
|
|
211
|
+
- Color intensity: more vibrant ↔ more muted
|
|
212
|
+
- Visual weight: bolder ↔ lighter
|
|
213
|
+
- Density: more compact ↔ more spacious
|
|
214
|
+
|
|
215
|
+
2. **Specific Attribute Tuning** (3-4 options):
|
|
216
|
+
- Border radius: sharper corners ↔ rounder edges
|
|
217
|
+
- Shadow depth: subtler shadows ↔ deeper elevation
|
|
218
|
+
- Typography scale: tighter scale ↔ more contrast
|
|
219
|
+
- Spacing scale: tighter rhythm ↔ more breathing room
|
|
220
|
+
|
|
221
|
+
3. **Context-Specific Variations** (2-3 options):
|
|
222
|
+
- Dark mode optimization
|
|
223
|
+
- Mobile-specific adjustments
|
|
224
|
+
- High-contrast accessibility mode
|
|
225
|
+
|
|
226
|
+
4. **Component-Level Customization** (1-2 options):
|
|
227
|
+
- Button styling emphasis
|
|
228
|
+
- Card/container treatment
|
|
229
|
+
- Form input refinements
|
|
230
|
+
|
|
231
|
+
## Output Format
|
|
232
|
+
Each option:
|
|
233
|
+
- category: "intensity|attribute|context|component"
|
|
234
|
+
- option_id: unique identifier
|
|
235
|
+
- label: Short descriptive name (e.g., "More Vibrant Colors")
|
|
236
|
+
- description: What changes (2-3 sentences)
|
|
237
|
+
- preview_changes: Key token adjustments preview
|
|
238
|
+
- impact_scope: Which tokens affected
|
|
239
|
+
|
|
240
|
+
## Output
|
|
241
|
+
Write single JSON file: {base_path}/.intermediates/style-analysis/analysis-options.json
|
|
242
|
+
|
|
243
|
+
Use refinement schema:
|
|
244
|
+
{
|
|
245
|
+
"mode": "refinement",
|
|
246
|
+
"base_design": "style-1",
|
|
247
|
+
"refinement_options": [array of refinement options]
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
CRITICAL: Use Write() tool immediately after generating complete JSON
|
|
251
|
+
`
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Step 3: Verify Options File Created
|
|
255
|
+
```bash
|
|
256
|
+
bash(test -f {base_path}/.intermediates/style-analysis/analysis-options.json && echo "created")
|
|
257
|
+
|
|
258
|
+
# Quick validation
|
|
259
|
+
bash(cat {base_path}/.intermediates/style-analysis/analysis-options.json | grep -q "design_directions" && echo "valid")
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**Output**: `analysis-options.json` with design direction options
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Phase 1.5: User Confirmation (Optional - Triggered by --interactive)
|
|
267
|
+
|
|
268
|
+
**Purpose**:
|
|
269
|
+
- **Exploration Mode**: Allow user to select preferred design direction(s)
|
|
270
|
+
- **Refinement Mode**: Allow user to select refinement options to apply
|
|
271
|
+
|
|
272
|
+
**Trigger Condition**: Execute this phase ONLY if `--interactive` flag is present
|
|
273
|
+
|
|
274
|
+
### Step 1: Check Interactive Flag
|
|
275
|
+
```bash
|
|
276
|
+
# Skip this entire phase if --interactive flag is not present
|
|
277
|
+
IF NOT --interactive:
|
|
278
|
+
SKIP to Phase 2
|
|
279
|
+
IF refine_mode:
|
|
280
|
+
REPORT: "ℹ️ Non-interactive refinement mode: Will apply all suggested refinements"
|
|
281
|
+
ELSE:
|
|
282
|
+
REPORT: "ℹ️ Non-interactive mode: Will generate all {variants_count} variants"
|
|
283
|
+
|
|
284
|
+
REPORT: "🎯 Interactive mode enabled: User selection required"
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Step 2: Load and Present Options (Mode-Specific)
|
|
288
|
+
```bash
|
|
289
|
+
# Read options file
|
|
290
|
+
options = Read({base_path}/.intermediates/style-analysis/analysis-options.json)
|
|
291
|
+
|
|
292
|
+
# Branch based on mode
|
|
293
|
+
IF NOT refine_mode:
|
|
294
|
+
# EXPLORATION MODE
|
|
295
|
+
design_directions = options.design_directions
|
|
296
|
+
ELSE:
|
|
297
|
+
# REFINEMENT MODE
|
|
298
|
+
refinement_options = options.refinement_options
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### Step 3: Present Options to User (Mode-Specific)
|
|
302
|
+
|
|
303
|
+
**Exploration Mode**:
|
|
304
|
+
```
|
|
305
|
+
📋 Design Direction Options
|
|
306
|
+
|
|
307
|
+
We've generated {variants_count} contrasting design directions for your review.
|
|
308
|
+
Please select the direction(s) you'd like to develop into complete design systems.
|
|
309
|
+
|
|
310
|
+
{FOR each direction in design_directions:
|
|
311
|
+
═══════════════════════════════════════════════════
|
|
312
|
+
Option {direction.index}: {direction.philosophy_name}
|
|
313
|
+
═══════════════════════════════════════════════════
|
|
314
|
+
|
|
315
|
+
Philosophy: {direction.rationale}
|
|
316
|
+
|
|
317
|
+
Visual Preview:
|
|
318
|
+
• Colors: {direction.preview.primary_color} (primary), {direction.preview.accent_color} (accent)
|
|
319
|
+
• Typography: {direction.preview.font_family_heading} (headings), {direction.preview.font_family_body} (body)
|
|
320
|
+
• Border Radius: {direction.preview.border_radius_base}
|
|
321
|
+
• Mood: {direction.preview.mood_description}
|
|
322
|
+
|
|
323
|
+
Design Attributes:
|
|
324
|
+
• Color Saturation: {direction.design_attributes.color_saturation * 100}%
|
|
325
|
+
• Visual Weight: {direction.design_attributes.visual_weight * 100}%
|
|
326
|
+
• Formality: {direction.design_attributes.formality * 100}%
|
|
327
|
+
• Innovation: {direction.design_attributes.innovation * 100}%
|
|
328
|
+
|
|
329
|
+
Keywords: {join(direction.search_keywords, ", ")}
|
|
330
|
+
Avoiding: {join(direction.anti_keywords, ", ")}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
═══════════════════════════════════════════════════
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
**Refinement Mode**:
|
|
337
|
+
```
|
|
338
|
+
📋 Design Refinement Options
|
|
339
|
+
|
|
340
|
+
We've analyzed your existing design system and generated refinement options.
|
|
341
|
+
Please select the refinement(s) you'd like to apply.
|
|
342
|
+
|
|
343
|
+
Base Design: style-1
|
|
344
|
+
|
|
345
|
+
{FOR each option in refinement_options grouped by category:
|
|
346
|
+
━━━ {category_name} ━━━
|
|
347
|
+
|
|
348
|
+
{FOR each refinement in category_options:
|
|
349
|
+
[{refinement.option_id}] {refinement.label}
|
|
350
|
+
{refinement.description}
|
|
351
|
+
Preview: {refinement.preview_changes}
|
|
352
|
+
Affects: {refinement.impact_scope}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
═══════════════════════════════════════════════════
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
### Step 4: Capture User Selection and Update Analysis JSON
|
|
360
|
+
|
|
361
|
+
**Exploration Mode Interaction**:
|
|
362
|
+
```javascript
|
|
363
|
+
// Use AskUserQuestion tool for multi-selection
|
|
364
|
+
AskUserQuestion({
|
|
365
|
+
questions: [{
|
|
366
|
+
question: "Which design direction(s) would you like to develop into complete design systems?",
|
|
367
|
+
header: "Style Choice",
|
|
368
|
+
multiSelect: true, // Multi-selection enabled
|
|
369
|
+
options: [
|
|
370
|
+
{FOR each direction:
|
|
371
|
+
label: "Option {direction.index}: {direction.philosophy_name}",
|
|
372
|
+
description: "{direction.mood_description}"
|
|
373
|
+
}
|
|
374
|
+
]
|
|
375
|
+
}]
|
|
376
|
+
})
|
|
377
|
+
|
|
378
|
+
// Parse user response (array of selections)
|
|
379
|
+
selected_options = user_answer
|
|
380
|
+
|
|
381
|
+
// Check for user cancellation
|
|
382
|
+
IF selected_options == null OR selected_options.length == 0:
|
|
383
|
+
REPORT: "⚠️ User canceled selection. Workflow terminated."
|
|
384
|
+
EXIT workflow
|
|
385
|
+
|
|
386
|
+
// Extract option indices
|
|
387
|
+
selected_indices = []
|
|
388
|
+
FOR each selected_option_text IN selected_options:
|
|
389
|
+
match = selected_option_text.match(/Option (\d+):/)
|
|
390
|
+
IF match:
|
|
391
|
+
selected_indices.push(parseInt(match[1]))
|
|
392
|
+
|
|
393
|
+
REPORT: "✅ Selected {selected_indices.length} design direction(s)"
|
|
394
|
+
|
|
395
|
+
// Update analysis-options.json
|
|
396
|
+
options_file = Read({base_path}/.intermediates/style-analysis/analysis-options.json)
|
|
397
|
+
options_file.user_selection = {
|
|
398
|
+
"selected_at": NOW(),
|
|
399
|
+
"selected_indices": selected_indices,
|
|
400
|
+
"selection_count": selected_indices.length
|
|
401
|
+
}
|
|
402
|
+
Write({base_path}/.intermediates/style-analysis/analysis-options.json, JSON.stringify(options_file, indent=2))
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
**Refinement Mode Interaction**:
|
|
406
|
+
```javascript
|
|
407
|
+
// Use AskUserQuestion tool for multi-selection of refinements
|
|
408
|
+
AskUserQuestion({
|
|
409
|
+
questions: [{
|
|
410
|
+
question: "Which refinement(s) would you like to apply to your design system?",
|
|
411
|
+
header: "Refinements",
|
|
412
|
+
multiSelect: true, // Multi-selection enabled
|
|
413
|
+
options: [
|
|
414
|
+
{FOR each refinement:
|
|
415
|
+
label: "{refinement.label}",
|
|
416
|
+
description: "{refinement.description} (Affects: {refinement.impact_scope})"
|
|
417
|
+
}
|
|
418
|
+
]
|
|
419
|
+
}]
|
|
420
|
+
})
|
|
421
|
+
|
|
422
|
+
// Parse user response
|
|
423
|
+
selected_refinements = user_answer
|
|
424
|
+
|
|
425
|
+
// Check for user cancellation
|
|
426
|
+
IF selected_refinements == null OR selected_refinements.length == 0:
|
|
427
|
+
REPORT: "⚠️ User canceled selection. Workflow terminated."
|
|
428
|
+
EXIT workflow
|
|
429
|
+
|
|
430
|
+
// Extract refinement option_ids
|
|
431
|
+
selected_option_ids = []
|
|
432
|
+
FOR each selected_text IN selected_refinements:
|
|
433
|
+
# Match against refinement labels to find option_ids
|
|
434
|
+
FOR each refinement IN refinement_options:
|
|
435
|
+
IF refinement.label IN selected_text:
|
|
436
|
+
selected_option_ids.push(refinement.option_id)
|
|
437
|
+
|
|
438
|
+
REPORT: "✅ Selected {selected_option_ids.length} refinement(s)"
|
|
439
|
+
|
|
440
|
+
// Update analysis-options.json
|
|
441
|
+
options_file = Read({base_path}/.intermediates/style-analysis/analysis-options.json)
|
|
442
|
+
options_file.user_selection = {
|
|
443
|
+
"selected_at": NOW(),
|
|
444
|
+
"selected_option_ids": selected_option_ids,
|
|
445
|
+
"selection_count": selected_option_ids.length
|
|
446
|
+
}
|
|
447
|
+
Write({base_path}/.intermediates/style-analysis/analysis-options.json, JSON.stringify(options_file, indent=2))
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
### Step 5: Confirmation Message (Mode-Specific)
|
|
451
|
+
|
|
452
|
+
**Exploration Mode**:
|
|
453
|
+
```
|
|
454
|
+
✅ Selection recorded!
|
|
455
|
+
|
|
456
|
+
You selected {selected_indices.length} design direction(s):
|
|
457
|
+
{FOR each index IN selected_indices:
|
|
458
|
+
• Option {index} - {design_directions[index-1].philosophy_name}
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
Proceeding to generate {selected_indices.length} complete design system(s)...
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
**Refinement Mode**:
|
|
465
|
+
```
|
|
466
|
+
✅ Selection recorded!
|
|
467
|
+
|
|
468
|
+
You selected {selected_option_ids.length} refinement(s):
|
|
469
|
+
{FOR each id IN selected_option_ids:
|
|
470
|
+
• {refinement_by_id[id].label} ({refinement_by_id[id].category})
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
Proceeding to apply refinements and generate updated design system...
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
**Output**: Updated `analysis-options.json` with user's selection embedded
|
|
477
|
+
|
|
478
|
+
## Phase 2: Design System Generation (Agent Task 2)
|
|
479
|
+
|
|
480
|
+
**Executor**: `Task(ui-design-agent)` for selected variant(s)
|
|
481
|
+
|
|
482
|
+
### Step 1: Load User Selection or Default to All
|
|
483
|
+
```bash
|
|
484
|
+
# Read analysis-options.json which may contain user_selection
|
|
485
|
+
options = Read({base_path}/.intermediates/style-analysis/analysis-options.json)
|
|
486
|
+
|
|
487
|
+
# Check if user_selection field exists (interactive mode)
|
|
488
|
+
IF options.user_selection AND options.user_selection.selected_indices:
|
|
489
|
+
# Interactive mode: Use user-selected variants
|
|
490
|
+
selected_indices = options.user_selection.selected_indices # Array of selected indices (e.g., [1, 3])
|
|
491
|
+
|
|
492
|
+
REPORT: "🎯 Interactive mode: Using {selected_indices.length} user-selected variant(s)"
|
|
493
|
+
ELSE:
|
|
494
|
+
# Non-interactive mode: Generate ALL variants (default behavior)
|
|
495
|
+
selected_indices = [1, 2, ..., variants_count] # All indices from 1 to variants_count
|
|
496
|
+
|
|
497
|
+
REPORT: "ℹ️ Non-interactive mode: Generating all {variants_count} variant(s)"
|
|
498
|
+
|
|
499
|
+
# Extract the selected direction details from options
|
|
500
|
+
selected_directions = [options.design_directions[i-1] for i in selected_indices] # 0-indexed array
|
|
501
|
+
|
|
502
|
+
actual_variants_count = selected_indices.length
|
|
503
|
+
REPORT: "📦 Generating {actual_variants_count} design system(s)..."
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
### Step 2: Create Output Directories
|
|
507
|
+
```bash
|
|
508
|
+
# Create directories for each selected variant
|
|
509
|
+
FOR index IN 1..actual_variants_count:
|
|
510
|
+
bash(mkdir -p {base_path}/style-extraction/style-{index})
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
### Step 3: Launch Agent Tasks (Parallel)
|
|
514
|
+
Generate design systems for ALL selected directions in parallel (max 5 concurrent):
|
|
515
|
+
|
|
516
|
+
```javascript
|
|
517
|
+
// Launch parallel tasks, one for each selected direction
|
|
518
|
+
FOR variant_index IN 1..actual_variants_count:
|
|
519
|
+
selected_direction = selected_directions[variant_index - 1] // 0-indexed
|
|
520
|
+
|
|
521
|
+
Task(ui-design-agent): `
|
|
522
|
+
[DESIGN_SYSTEM_GENERATION_TASK #{variant_index}/{actual_variants_count}]
|
|
523
|
+
Generate production-ready design system based on user-selected direction
|
|
524
|
+
|
|
525
|
+
SESSION: {session_id} | VARIANT: {variant_index}/{actual_variants_count} | BASE_PATH: {base_path}
|
|
526
|
+
|
|
527
|
+
USER SELECTION:
|
|
528
|
+
- Selected Direction: ${selected_direction.philosophy_name}
|
|
529
|
+
- Design Attributes: ${JSON.stringify(selected_direction.design_attributes)}
|
|
530
|
+
- Search Keywords: ${selected_direction.search_keywords.join(", ")}
|
|
531
|
+
- Anti-keywords: ${selected_direction.anti_keywords.join(", ")}
|
|
532
|
+
- Rationale: ${selected_direction.rationale}
|
|
533
|
+
- Preview Colors: Primary=${selected_direction.preview.primary_color}, Accent=${selected_direction.preview.accent_color}
|
|
534
|
+
- Preview Typography: Heading=${selected_direction.preview.font_family_heading}, Body=${selected_direction.preview.font_family_body}
|
|
535
|
+
- Preview Border Radius: ${selected_direction.preview.border_radius_base}
|
|
536
|
+
|
|
537
|
+
## Input Analysis
|
|
538
|
+
- Input mode: {input_mode} (image/text/hybrid)
|
|
539
|
+
- Visual references: {loaded_images OR prompt_guidance}
|
|
540
|
+
|
|
541
|
+
## Generation Rules
|
|
542
|
+
- Develop the selected design direction into a complete design system
|
|
543
|
+
- Use preview elements as foundation and expand with full token coverage
|
|
544
|
+
- Apply design_attributes to all token values:
|
|
545
|
+
* color_saturation → OKLCH chroma values
|
|
546
|
+
* visual_weight → font weights, shadow depths
|
|
547
|
+
* density → spacing scale compression/expansion
|
|
548
|
+
* formality → typography choices, border radius
|
|
549
|
+
* organic_geometric → border radius, shape patterns
|
|
550
|
+
* innovation → token naming, experimental values
|
|
551
|
+
- Honor search_keywords for design inspiration
|
|
552
|
+
- Avoid anti_keywords patterns
|
|
553
|
+
- All colors in OKLCH format
|
|
554
|
+
- WCAG AA compliance: 4.5:1 text contrast, 3:1 UI contrast
|
|
555
|
+
|
|
556
|
+
## Generate
|
|
557
|
+
Create complete design system in {base_path}/style-extraction/style-{variant_index}/
|
|
558
|
+
|
|
559
|
+
1. **design-tokens.json**:
|
|
560
|
+
- Complete token structure with ALL fields:
|
|
561
|
+
* colors (brand, surface, semantic, text, border) - OKLCH format
|
|
562
|
+
* typography (families, sizes, weights, line heights, letter spacing, combinations)
|
|
563
|
+
* typography.combinations: Predefined typography presets (heading-primary, heading-secondary, body-regular, body-emphasis, caption, label) using var() references
|
|
564
|
+
* spacing (0-24 scale)
|
|
565
|
+
* opacity (0, 10, 20, 40, 60, 80, 90, 100)
|
|
566
|
+
* border_radius (none to full)
|
|
567
|
+
* shadows (sm to xl)
|
|
568
|
+
* component_styles (button, card, input variants) - component presets using var() references
|
|
569
|
+
* breakpoints (sm to 2xl)
|
|
570
|
+
- All colors in OKLCH format
|
|
571
|
+
${extraction_mode == "explore" ? "- Start from preview colors and expand to full palette" : ""}
|
|
572
|
+
${extraction_mode == "explore" && refinements.enabled ? "- Apply user refinements where specified" : ""}
|
|
573
|
+
- Common Tailwind CSS usage patterns in project (if extracting from existing project)
|
|
574
|
+
|
|
575
|
+
## Critical Requirements
|
|
576
|
+
- ✅ Use Write() tool immediately for each file
|
|
577
|
+
- ✅ Write to style-{variant_index}/ directory
|
|
578
|
+
- ✅ Can use Exa MCP to research modern design patterns and obtain code examples (Explore/Text mode)
|
|
579
|
+
- ✅ Maintain consistency with user-selected direction
|
|
580
|
+
`
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
**Output**: {actual_variants_count} parallel agent tasks generate design-tokens.json for each variant
|
|
584
|
+
|
|
585
|
+
## Phase 3: Verify Output
|
|
586
|
+
|
|
587
|
+
### Step 1: Check Files Created
|
|
588
|
+
```bash
|
|
589
|
+
# Verify all design systems created
|
|
590
|
+
bash(ls {base_path}/style-extraction/style-*/design-tokens.json | wc -l)
|
|
591
|
+
|
|
592
|
+
# Validate structure
|
|
593
|
+
bash(cat {base_path}/style-extraction/style-1/design-tokens.json | grep -q "colors" && echo "valid")
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
### Step 2: Verify File Sizes
|
|
597
|
+
```bash
|
|
598
|
+
bash(ls -lh {base_path}/style-extraction/style-1/)
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
**Output**: `variants_count × 2` files verified
|
|
602
|
+
|
|
603
|
+
## Completion
|
|
604
|
+
|
|
605
|
+
### Todo Update
|
|
606
|
+
```javascript
|
|
607
|
+
TodoWrite({todos: [
|
|
608
|
+
{content: "Setup and input validation", status: "completed", activeForm: "Validating inputs"},
|
|
609
|
+
{content: "Design space analysis (explore mode)", status: "completed", activeForm: "Analyzing design space"},
|
|
610
|
+
{content: "Design system generation (agent)", status: "completed", activeForm: "Generating design systems"},
|
|
611
|
+
{content: "Verify output files", status: "completed", activeForm: "Verifying files"}
|
|
612
|
+
]});
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
### Output Message
|
|
616
|
+
```
|
|
617
|
+
✅ Style extraction complete!
|
|
618
|
+
|
|
619
|
+
Configuration:
|
|
620
|
+
- Session: {session_id}
|
|
621
|
+
- Extraction Mode: {extraction_mode} (imitate/explore)
|
|
622
|
+
- Input Mode: {input_mode} (image/text/hybrid)
|
|
623
|
+
- Variants: {variants_count}
|
|
624
|
+
- Production-Ready: Complete design systems generated
|
|
625
|
+
|
|
626
|
+
{IF extraction_mode == "explore":
|
|
627
|
+
Design Direction Selection:
|
|
628
|
+
- You selected: Option {selected_index} - {selected_direction.philosophy_name}
|
|
629
|
+
- Generated from {variants_count} contrasting design direction options
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
Generated Files:
|
|
633
|
+
{base_path}/style-extraction/
|
|
634
|
+
└── style-1/design-tokens.json
|
|
635
|
+
{IF extraction_mode == "explore":
|
|
636
|
+
{base_path}/.intermediates/style-analysis/analysis-options.json (design direction options + user selection)
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
Next: /workflow:ui-design:layout-extract --session {session_id} --targets "..."
|
|
640
|
+
OR: /workflow:ui-design:generate --session {session_id}
|
|
641
|
+
```
|
|
642
|
+
|
|
643
|
+
## Simple Bash Commands
|
|
644
|
+
|
|
645
|
+
### Path Operations
|
|
646
|
+
```bash
|
|
647
|
+
# Find design directory
|
|
648
|
+
bash(find .workflow -type d -name "design-run-*" | head -1)
|
|
649
|
+
|
|
650
|
+
# Expand image pattern
|
|
651
|
+
bash(ls {images_pattern})
|
|
652
|
+
|
|
653
|
+
# Create output directory
|
|
654
|
+
bash(mkdir -p {base_path}/style-extraction/)
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
### Validation Commands
|
|
658
|
+
```bash
|
|
659
|
+
# Check if already extracted
|
|
660
|
+
bash(test -f {base_path}/style-extraction/style-1/design-tokens.json && echo "exists")
|
|
661
|
+
|
|
662
|
+
# Count variants
|
|
663
|
+
bash(ls {base_path}/style-extraction/style-* -d | wc -l)
|
|
664
|
+
|
|
665
|
+
# Validate JSON structure
|
|
666
|
+
bash(cat {base_path}/style-extraction/style-1/design-tokens.json | grep -q "colors" && echo "valid")
|
|
667
|
+
```
|
|
668
|
+
|
|
669
|
+
### File Operations
|
|
670
|
+
```bash
|
|
671
|
+
# Load brainstorming context
|
|
672
|
+
bash(test -f .brainstorming/role analysis documents && cat it)
|
|
673
|
+
|
|
674
|
+
# Create directories (example for multiple variants)
|
|
675
|
+
bash(mkdir -p {base_path}/style-extraction/style-1)
|
|
676
|
+
bash(mkdir -p {base_path}/style-extraction/style-2)
|
|
677
|
+
bash(mkdir -p {base_path}/style-extraction/style-3)
|
|
678
|
+
|
|
679
|
+
# Verify output
|
|
680
|
+
bash(ls {base_path}/style-extraction/style-1/)
|
|
681
|
+
bash(test -f {base_path}/.intermediates/style-analysis/analysis-options.json && echo "saved")
|
|
682
|
+
```
|
|
683
|
+
|
|
684
|
+
## Output Structure
|
|
685
|
+
|
|
686
|
+
```
|
|
687
|
+
{base_path}/
|
|
688
|
+
├── .intermediates/ # Intermediate analysis files
|
|
689
|
+
│ └── style-analysis/
|
|
690
|
+
│ ├── computed-styles.json # Extracted CSS values from DOM (if URL available)
|
|
691
|
+
│ └── analysis-options.json # Design direction options + user selection (explore mode only)
|
|
692
|
+
└── style-extraction/ # Final design system
|
|
693
|
+
└── style-1/
|
|
694
|
+
└── design-tokens.json # Production-ready design tokens
|
|
695
|
+
```
|
|
696
|
+
|
|
697
|
+
## design-tokens.json Format
|
|
698
|
+
|
|
699
|
+
```json
|
|
700
|
+
{
|
|
701
|
+
"colors": {
|
|
702
|
+
"brand": {"primary": "oklch(...)", "secondary": "oklch(...)", "accent": "oklch(...)"},
|
|
703
|
+
"surface": {"background": "oklch(...)", "elevated": "oklch(...)", "overlay": "oklch(...)"},
|
|
704
|
+
"semantic": {"success": "oklch(...)", "warning": "oklch(...)", "error": "oklch(...)", "info": "oklch(...)"},
|
|
705
|
+
"text": {"primary": "oklch(...)", "secondary": "oklch(...)", "tertiary": "oklch(...)", "inverse": "oklch(...)"},
|
|
706
|
+
"border": {"default": "oklch(...)", "strong": "oklch(...)", "subtle": "oklch(...)"}
|
|
707
|
+
},
|
|
708
|
+
"typography": {
|
|
709
|
+
"font_family": {...},
|
|
710
|
+
"font_size": {...},
|
|
711
|
+
"font_weight": {...},
|
|
712
|
+
"line_height": {...},
|
|
713
|
+
"letter_spacing": {...},
|
|
714
|
+
"combinations": {
|
|
715
|
+
"heading-primary": {"family": "var(--font-family-heading)", "size": "var(--font-size-3xl)", "weight": "var(--font-weight-bold)", "line_height": "var(--line-height-tight)", "letter_spacing": "var(--letter-spacing-tight)"},
|
|
716
|
+
"heading-secondary": {...},
|
|
717
|
+
"body-regular": {...},
|
|
718
|
+
"body-emphasis": {...},
|
|
719
|
+
"caption": {...},
|
|
720
|
+
"label": {...}
|
|
721
|
+
}
|
|
722
|
+
},
|
|
723
|
+
"spacing": {"0": "0", "1": "0.25rem", ..., "24": "6rem"},
|
|
724
|
+
"opacity": {"0": "0", "10": "0.1", "20": "0.2", "40": "0.4", "60": "0.6", "80": "0.8", "90": "0.9", "100": "1"},
|
|
725
|
+
"border_radius": {"none": "0", "sm": "0.25rem", ..., "full": "9999px"},
|
|
726
|
+
"shadows": {"sm": "...", "md": "...", "lg": "...", "xl": "..."},
|
|
727
|
+
"component_styles": {
|
|
728
|
+
"button": {
|
|
729
|
+
"primary": {"background": "var(--color-brand-primary)", "color": "var(--color-text-inverse)", "padding": "var(--spacing-3) var(--spacing-6)", "border_radius": "var(--border-radius-md)", "font_weight": "var(--font-weight-semibold)"},
|
|
730
|
+
"secondary": {...},
|
|
731
|
+
"tertiary": {...}
|
|
732
|
+
},
|
|
733
|
+
"card": {
|
|
734
|
+
"default": {"background": "var(--color-surface-elevated)", "padding": "var(--spacing-6)", "border_radius": "var(--border-radius-lg)", "shadow": "var(--shadow-md)"},
|
|
735
|
+
"interactive": {...}
|
|
736
|
+
},
|
|
737
|
+
"input": {
|
|
738
|
+
"default": {"border": "1px solid var(--color-border-default)", "padding": "var(--spacing-3)", "border_radius": "var(--border-radius-md)", "background": "var(--color-surface-background)"},
|
|
739
|
+
"focus": {...},
|
|
740
|
+
"error": {...}
|
|
741
|
+
}
|
|
742
|
+
},
|
|
743
|
+
"breakpoints": {"sm": "640px", ..., "2xl": "1536px"}
|
|
744
|
+
}
|
|
745
|
+
```
|
|
746
|
+
|
|
747
|
+
**Requirements**: OKLCH colors, complete coverage, semantic naming, WCAG AA compliance, typography combinations, component style presets, opacity scale
|
|
748
|
+
|
|
749
|
+
## Error Handling
|
|
750
|
+
|
|
751
|
+
### Common Errors
|
|
752
|
+
```
|
|
753
|
+
ERROR: No images found
|
|
754
|
+
→ Check glob pattern
|
|
755
|
+
|
|
756
|
+
ERROR: Invalid prompt
|
|
757
|
+
→ Provide non-empty string
|
|
758
|
+
|
|
759
|
+
ERROR: Claude JSON parsing error
|
|
760
|
+
→ Retry with stricter format
|
|
761
|
+
```
|
|
762
|
+
|
|
763
|
+
## Key Features
|
|
764
|
+
|
|
765
|
+
- **Direct Design System Generation** - Complete design-tokens.json + style-guide.md in one step
|
|
766
|
+
- **AI-Driven Design Space Exploration** - 6D attribute space analysis for maximum contrast
|
|
767
|
+
- **Variant-Specific Directions** - Each variant has unique philosophy, keywords, anti-patterns
|
|
768
|
+
- **Maximum Contrast Guarantee** - Variants maximally distant in attribute space
|
|
769
|
+
- **Flexible Input** - Images, text, or hybrid mode
|
|
770
|
+
- **Production-Ready** - OKLCH colors, WCAG AA compliance, semantic naming
|
|
771
|
+
- **Agent-Driven** - Autonomous multi-file generation with ui-design-agent
|
|
772
|
+
|
|
773
|
+
|