claude-code-workflow 6.2.5 → 6.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (964) hide show
  1. package/.claude/CLAUDE.md +10 -0
  2. package/.claude/agents/action-planning-agent.md +857 -0
  3. package/.claude/agents/cli-execution-agent.md +267 -0
  4. package/.claude/agents/cli-explore-agent.md +182 -0
  5. package/.claude/agents/cli-lite-planning-agent.md +446 -0
  6. package/.claude/agents/cli-planning-agent.md +558 -0
  7. package/.claude/agents/code-developer.md +311 -0
  8. package/.claude/agents/conceptual-planning-agent.md +308 -0
  9. package/.claude/agents/context-search-agent.md +581 -0
  10. package/.claude/agents/doc-generator.md +330 -0
  11. package/.claude/agents/memory-bridge.md +94 -0
  12. package/.claude/agents/test-context-search-agent.md +400 -0
  13. package/.claude/agents/test-fix-agent.md +344 -0
  14. package/.claude/agents/ui-design-agent.md +593 -0
  15. package/.claude/agents/universal-executor.md +131 -0
  16. package/.claude/commands/clean.md +516 -0
  17. package/.claude/commands/cli/cli-init.md +440 -0
  18. package/.claude/commands/enhance-prompt.md +93 -0
  19. package/.claude/commands/memory/code-map-memory.md +687 -0
  20. package/.claude/commands/memory/compact.md +383 -0
  21. package/.claude/commands/memory/docs-full-cli.md +471 -0
  22. package/.claude/commands/memory/docs-related-cli.md +386 -0
  23. package/.claude/commands/memory/docs.md +615 -0
  24. package/.claude/commands/memory/load-skill-memory.md +182 -0
  25. package/.claude/commands/memory/load.md +240 -0
  26. package/.claude/commands/memory/skill-memory.md +525 -0
  27. package/.claude/commands/memory/style-skill-memory.md +396 -0
  28. package/.claude/commands/memory/tech-research-rules.md +310 -0
  29. package/.claude/commands/memory/update-full.md +332 -0
  30. package/.claude/commands/memory/update-related.md +332 -0
  31. package/.claude/commands/memory/workflow-skill-memory.md +517 -0
  32. package/.claude/commands/task/breakdown.md +204 -0
  33. package/.claude/commands/task/create.md +152 -0
  34. package/.claude/commands/task/execute.md +270 -0
  35. package/.claude/commands/task/replan.md +437 -0
  36. package/.claude/commands/version.md +254 -0
  37. package/.claude/commands/workflow/action-plan-verify.md +447 -0
  38. package/.claude/commands/workflow/brainstorm/api-designer.md +587 -0
  39. package/.claude/commands/workflow/brainstorm/artifacts.md +453 -0
  40. package/.claude/commands/workflow/brainstorm/auto-parallel.md +443 -0
  41. package/.claude/commands/workflow/brainstorm/data-architect.md +220 -0
  42. package/.claude/commands/workflow/brainstorm/product-manager.md +200 -0
  43. package/.claude/commands/workflow/brainstorm/product-owner.md +200 -0
  44. package/.claude/commands/workflow/brainstorm/scrum-master.md +200 -0
  45. package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
  46. package/.claude/commands/workflow/brainstorm/synthesis.md +398 -0
  47. package/.claude/commands/workflow/brainstorm/system-architect.md +389 -0
  48. package/.claude/commands/workflow/brainstorm/ui-designer.md +221 -0
  49. package/.claude/commands/workflow/brainstorm/ux-expert.md +221 -0
  50. package/.claude/commands/workflow/debug.md +321 -0
  51. package/.claude/commands/workflow/execute.md +475 -0
  52. package/.claude/commands/workflow/init.md +165 -0
  53. package/.claude/commands/workflow/lite-execute.md +792 -0
  54. package/.claude/commands/workflow/lite-fix.md +623 -0
  55. package/.claude/commands/workflow/lite-plan.md +610 -0
  56. package/.claude/commands/workflow/plan.md +551 -0
  57. package/.claude/commands/workflow/replan.md +515 -0
  58. package/.claude/commands/workflow/review-fix.md +606 -0
  59. package/.claude/commands/workflow/review-module-cycle.md +767 -0
  60. package/.claude/commands/workflow/review-session-cycle.md +778 -0
  61. package/.claude/commands/workflow/review.md +297 -0
  62. package/.claude/commands/workflow/session/complete.md +153 -0
  63. package/.claude/commands/workflow/session/list.md +96 -0
  64. package/.claude/commands/workflow/session/resume.md +61 -0
  65. package/.claude/commands/workflow/session/start.md +200 -0
  66. package/.claude/commands/workflow/tdd-plan.md +460 -0
  67. package/.claude/commands/workflow/tdd-verify.md +400 -0
  68. package/.claude/commands/workflow/test-cycle-execute.md +500 -0
  69. package/.claude/commands/workflow/test-fix-gen.md +699 -0
  70. package/.claude/commands/workflow/test-gen.md +529 -0
  71. package/.claude/commands/workflow/tools/conflict-resolution.md +766 -0
  72. package/.claude/commands/workflow/tools/context-gather.md +436 -0
  73. package/.claude/commands/workflow/tools/task-generate-agent.md +490 -0
  74. package/.claude/commands/workflow/tools/task-generate-tdd.md +526 -0
  75. package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
  76. package/.claude/commands/workflow/tools/test-concept-enhanced.md +164 -0
  77. package/.claude/commands/workflow/tools/test-context-gather.md +236 -0
  78. package/.claude/commands/workflow/tools/test-task-generate.md +257 -0
  79. package/.claude/commands/workflow/ui-design/animation-extract.md +1150 -0
  80. package/.claude/commands/workflow/ui-design/codify-style.md +652 -0
  81. package/.claude/commands/workflow/ui-design/design-sync.md +454 -0
  82. package/.claude/commands/workflow/ui-design/explore-auto.md +678 -0
  83. package/.claude/commands/workflow/ui-design/generate.md +504 -0
  84. package/.claude/commands/workflow/ui-design/imitate-auto.md +745 -0
  85. package/.claude/commands/workflow/ui-design/import-from-code.md +540 -0
  86. package/.claude/commands/workflow/ui-design/layout-extract.md +788 -0
  87. package/.claude/commands/workflow/ui-design/reference-page-generator.md +356 -0
  88. package/.claude/commands/workflow/ui-design/style-extract.md +773 -0
  89. package/.claude/skills/command-guide/SKILL.md +388 -0
  90. package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +592 -0
  91. package/.claude/skills/command-guide/guides/cli-tools-guide.md +410 -0
  92. package/.claude/skills/command-guide/guides/examples.md +537 -0
  93. package/.claude/skills/command-guide/guides/getting-started.md +242 -0
  94. package/.claude/skills/command-guide/guides/implementation-details.md +1010 -0
  95. package/.claude/skills/command-guide/guides/index-structure.md +326 -0
  96. package/.claude/skills/command-guide/guides/troubleshooting.md +92 -0
  97. package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +316 -0
  98. package/.claude/skills/command-guide/guides/workflow-patterns.md +662 -0
  99. package/.claude/skills/command-guide/index/all-commands.json +772 -0
  100. package/.claude/skills/command-guide/index/by-category.json +800 -0
  101. package/.claude/skills/command-guide/index/by-use-case.json +786 -0
  102. package/.claude/skills/command-guide/index/command-relationships.json +307 -0
  103. package/.claude/skills/command-guide/index/essential-commands.json +112 -0
  104. package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +857 -0
  105. package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +267 -0
  106. package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +182 -0
  107. package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +446 -0
  108. package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +558 -0
  109. package/.claude/skills/command-guide/reference/agents/code-developer.md +311 -0
  110. package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +308 -0
  111. package/.claude/skills/command-guide/reference/agents/context-search-agent.md +581 -0
  112. package/.claude/skills/command-guide/reference/agents/doc-generator.md +330 -0
  113. package/.claude/skills/command-guide/reference/agents/memory-bridge.md +94 -0
  114. package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +400 -0
  115. package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +344 -0
  116. package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +593 -0
  117. package/.claude/skills/command-guide/reference/agents/universal-executor.md +131 -0
  118. package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +440 -0
  119. package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +93 -0
  120. package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +687 -0
  121. package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +471 -0
  122. package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +386 -0
  123. package/.claude/skills/command-guide/reference/commands/memory/docs.md +616 -0
  124. package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +182 -0
  125. package/.claude/skills/command-guide/reference/commands/memory/load.md +240 -0
  126. package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +525 -0
  127. package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +396 -0
  128. package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +314 -0
  129. package/.claude/skills/command-guide/reference/commands/memory/update-full.md +332 -0
  130. package/.claude/skills/command-guide/reference/commands/memory/update-related.md +332 -0
  131. package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +517 -0
  132. package/.claude/skills/command-guide/reference/commands/task/breakdown.md +204 -0
  133. package/.claude/skills/command-guide/reference/commands/task/create.md +152 -0
  134. package/.claude/skills/command-guide/reference/commands/task/execute.md +270 -0
  135. package/.claude/skills/command-guide/reference/commands/task/replan.md +437 -0
  136. package/.claude/skills/command-guide/reference/commands/version.md +254 -0
  137. package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +447 -0
  138. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +585 -0
  139. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +452 -0
  140. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +443 -0
  141. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +220 -0
  142. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +200 -0
  143. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +200 -0
  144. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +200 -0
  145. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
  146. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +398 -0
  147. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +387 -0
  148. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +221 -0
  149. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +221 -0
  150. package/.claude/skills/command-guide/reference/commands/workflow/execute.md +465 -0
  151. package/.claude/skills/command-guide/reference/commands/workflow/init.md +164 -0
  152. package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +748 -0
  153. package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +664 -0
  154. package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +645 -0
  155. package/.claude/skills/command-guide/reference/commands/workflow/plan.md +551 -0
  156. package/.claude/skills/command-guide/reference/commands/workflow/replan.md +515 -0
  157. package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +606 -0
  158. package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +765 -0
  159. package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +776 -0
  160. package/.claude/skills/command-guide/reference/commands/workflow/review.md +298 -0
  161. package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +547 -0
  162. package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +114 -0
  163. package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +77 -0
  164. package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +257 -0
  165. package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +460 -0
  166. package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +400 -0
  167. package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +498 -0
  168. package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +699 -0
  169. package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +529 -0
  170. package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +766 -0
  171. package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +434 -0
  172. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +487 -0
  173. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +525 -0
  174. package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
  175. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +163 -0
  176. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +235 -0
  177. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +256 -0
  178. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +1150 -0
  179. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +652 -0
  180. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +454 -0
  181. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +678 -0
  182. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +504 -0
  183. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +745 -0
  184. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +537 -0
  185. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +788 -0
  186. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +356 -0
  187. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +773 -0
  188. package/.claude/skills/command-guide/scripts/analyze_commands.py +502 -0
  189. package/.claude/skills/command-guide/scripts/update-index.sh +130 -0
  190. package/.claude/skills/command-guide/templates/issue-bug.md +104 -0
  191. package/.claude/skills/command-guide/templates/issue-diagnosis.md +275 -0
  192. package/.claude/skills/command-guide/templates/issue-feature.md +97 -0
  193. package/.claude/skills/command-guide/templates/issue-question.md +141 -0
  194. package/.claude/skills/prompt-enhancer/SKILL.md +124 -0
  195. package/.claude/workflows/_template-compare-matrix.html +692 -0
  196. package/.claude/workflows/chinese-response.md +38 -0
  197. package/.claude/workflows/cli-templates/fix-plan-template.json +75 -0
  198. package/.claude/workflows/cli-templates/fix-progress-template.json +48 -0
  199. package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +299 -0
  200. package/.claude/workflows/cli-templates/planning-roles/data-architect.md +120 -0
  201. package/.claude/workflows/cli-templates/planning-roles/product-manager.md +119 -0
  202. package/.claude/workflows/cli-templates/planning-roles/product-owner.md +261 -0
  203. package/.claude/workflows/cli-templates/planning-roles/scrum-master.md +186 -0
  204. package/.claude/workflows/cli-templates/planning-roles/subject-matter-expert.md +281 -0
  205. package/.claude/workflows/cli-templates/planning-roles/synthesis-role.md +414 -0
  206. package/.claude/workflows/cli-templates/planning-roles/system-architect.md +106 -0
  207. package/.claude/workflows/cli-templates/planning-roles/test-strategist.md +124 -0
  208. package/.claude/workflows/cli-templates/planning-roles/ui-designer.md +379 -0
  209. package/.claude/workflows/cli-templates/planning-roles/ux-expert.md +240 -0
  210. package/.claude/workflows/cli-templates/prompts/analysis/01-diagnose-bug-root-cause.txt +127 -0
  211. package/.claude/workflows/cli-templates/prompts/analysis/01-trace-code-execution.txt +115 -0
  212. package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt +37 -0
  213. package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-technical-document.txt +33 -0
  214. package/.claude/workflows/cli-templates/prompts/analysis/02-review-architecture.txt +29 -0
  215. package/.claude/workflows/cli-templates/prompts/analysis/02-review-code-quality.txt +28 -0
  216. package/.claude/workflows/cli-templates/prompts/analysis/03-analyze-performance.txt +29 -0
  217. package/.claude/workflows/cli-templates/prompts/analysis/03-assess-security-risks.txt +29 -0
  218. package/.claude/workflows/cli-templates/prompts/analysis/03-review-quality-standards.txt +29 -0
  219. package/.claude/workflows/cli-templates/prompts/development/02-generate-tests.txt +70 -0
  220. package/.claude/workflows/cli-templates/prompts/development/02-implement-component-ui.txt +55 -0
  221. package/.claude/workflows/cli-templates/prompts/development/02-implement-feature.txt +58 -0
  222. package/.claude/workflows/cli-templates/prompts/development/02-refactor-codebase.txt +55 -0
  223. package/.claude/workflows/cli-templates/prompts/development/03-debug-runtime-issues.txt +55 -0
  224. package/.claude/workflows/cli-templates/prompts/documentation/api.txt +15 -0
  225. package/.claude/workflows/cli-templates/prompts/documentation/folder-navigation.txt +27 -0
  226. package/.claude/workflows/cli-templates/prompts/documentation/module-readme.txt +49 -0
  227. package/.claude/workflows/cli-templates/prompts/documentation/project-architecture.txt +41 -0
  228. package/.claude/workflows/cli-templates/prompts/documentation/project-examples.txt +35 -0
  229. package/.claude/workflows/cli-templates/prompts/documentation/project-readme.txt +35 -0
  230. package/.claude/workflows/cli-templates/prompts/memory/02-document-module-structure.txt +165 -0
  231. package/.claude/workflows/cli-templates/prompts/planning/01-plan-architecture-design.txt +109 -0
  232. package/.claude/workflows/cli-templates/prompts/planning/02-breakdown-task-steps.txt +30 -0
  233. package/.claude/workflows/cli-templates/prompts/planning/02-design-component-spec.txt +28 -0
  234. package/.claude/workflows/cli-templates/prompts/planning/03-evaluate-concept-feasibility.txt +127 -0
  235. package/.claude/workflows/cli-templates/prompts/planning/03-plan-migration-strategy.txt +30 -0
  236. package/.claude/workflows/cli-templates/prompts/rules/rule-api.txt +122 -0
  237. package/.claude/workflows/cli-templates/prompts/rules/rule-components.txt +122 -0
  238. package/.claude/workflows/cli-templates/prompts/rules/rule-config.txt +89 -0
  239. package/.claude/workflows/cli-templates/prompts/rules/rule-core.txt +60 -0
  240. package/.claude/workflows/cli-templates/prompts/rules/rule-patterns.txt +70 -0
  241. package/.claude/workflows/cli-templates/prompts/rules/rule-testing.txt +81 -0
  242. package/.claude/workflows/cli-templates/prompts/rules/tech-rules-agent-prompt.txt +89 -0
  243. package/.claude/workflows/cli-templates/prompts/tech/tech-module-format.txt +359 -0
  244. package/.claude/workflows/cli-templates/prompts/tech/tech-skill-index.txt +185 -0
  245. package/.claude/workflows/cli-templates/prompts/test/test-concept-analysis.txt +179 -0
  246. package/.claude/workflows/cli-templates/prompts/universal/00-universal-creative-style.txt +95 -0
  247. package/.claude/workflows/cli-templates/prompts/universal/00-universal-rigorous-style.txt +92 -0
  248. package/.claude/workflows/cli-templates/prompts/verification/codex-technical.txt +28 -0
  249. package/.claude/workflows/cli-templates/prompts/verification/cross-validation.txt +28 -0
  250. package/.claude/workflows/cli-templates/prompts/verification/gemini-strategic.txt +27 -0
  251. package/.claude/workflows/cli-templates/prompts/workflow/analysis-results-structure.txt +224 -0
  252. package/.claude/workflows/cli-templates/prompts/workflow/codex-feasibility-validation.txt +176 -0
  253. package/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt +131 -0
  254. package/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt +286 -0
  255. package/.claude/workflows/cli-templates/prompts/workflow/skill-aggregation.txt +172 -0
  256. package/.claude/workflows/cli-templates/prompts/workflow/skill-conflict-patterns.txt +94 -0
  257. package/.claude/workflows/cli-templates/prompts/workflow/skill-index.txt +224 -0
  258. package/.claude/workflows/cli-templates/prompts/workflow/skill-lessons-learned.txt +94 -0
  259. package/.claude/workflows/cli-templates/prompts/workflow/skill-sessions-timeline.txt +53 -0
  260. package/.claude/workflows/cli-templates/prompts/workflow/task-json-agent-mode.txt +123 -0
  261. package/.claude/workflows/cli-templates/prompts/workflow/task-json-cli-mode.txt +182 -0
  262. package/.claude/workflows/cli-templates/protocols/analysis-protocol.md +112 -0
  263. package/.claude/workflows/cli-templates/protocols/write-protocol.md +201 -0
  264. package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +137 -0
  265. package/.claude/workflows/cli-templates/schemas/debug-log-json-schema.json +127 -0
  266. package/.claude/workflows/cli-templates/schemas/diagnosis-json-schema.json +234 -0
  267. package/.claude/workflows/cli-templates/schemas/explore-json-schema.json +124 -0
  268. package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +298 -0
  269. package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +244 -0
  270. package/.claude/workflows/cli-templates/schemas/project-json-schema.json +221 -0
  271. package/.claude/workflows/cli-templates/schemas/review-deep-dive-results-schema.json +82 -0
  272. package/.claude/workflows/cli-templates/schemas/review-dimension-results-schema.json +51 -0
  273. package/.claude/workflows/cli-templates/tech-stacks/go-dev.md +91 -0
  274. package/.claude/workflows/cli-templates/tech-stacks/java-dev.md +107 -0
  275. package/.claude/workflows/cli-templates/tech-stacks/javascript-dev.md +58 -0
  276. package/.claude/workflows/cli-templates/tech-stacks/python-dev.md +79 -0
  277. package/.claude/workflows/cli-templates/tech-stacks/react-dev.md +103 -0
  278. package/.claude/workflows/cli-templates/tech-stacks/typescript-dev.md +83 -0
  279. package/.claude/workflows/cli-templates/ui-design/systems/animation-tokens.json +247 -0
  280. package/.claude/workflows/cli-templates/ui-design/systems/design-tokens.json +342 -0
  281. package/.claude/workflows/cli-templates/ui-design/systems/layout-templates.json +145 -0
  282. package/.claude/workflows/cli-tools-usage.md +526 -0
  283. package/.claude/workflows/coding-philosophy.md +70 -0
  284. package/.claude/workflows/context-tools.md +84 -0
  285. package/.claude/workflows/file-modification.md +64 -0
  286. package/.claude/workflows/review-directory-specification.md +336 -0
  287. package/.claude/workflows/task-core.md +214 -0
  288. package/.claude/workflows/tool-strategy.md +216 -0
  289. package/.claude/workflows/windows-platform.md +16 -0
  290. package/.claude/workflows/workflow-architecture.md +942 -0
  291. package/.codex/AGENTS.md +63 -0
  292. package/.codex/prompts/debug.md +318 -0
  293. package/.codex/prompts/execute.md +273 -0
  294. package/.codex/prompts/lite-execute.md +164 -0
  295. package/.codex/prompts/lite-plan.md +469 -0
  296. package/.codex/prompts.zip +0 -0
  297. package/.gemini/GEMINI.md +25 -0
  298. package/.qwen/QWEN.md +25 -0
  299. package/LICENSE +21 -0
  300. package/README.md +294 -145
  301. package/ccw/README.md +145 -0
  302. package/ccw/dist/core/lite-scanner-complete.d.ts.map +1 -0
  303. package/ccw/dist/core/lite-scanner-complete.js +371 -0
  304. package/ccw/dist/core/lite-scanner-complete.js.map +1 -0
  305. package/ccw/dist/core/lite-scanner.d.ts.map +1 -0
  306. package/ccw/dist/core/lite-scanner.js +371 -0
  307. package/ccw/dist/core/lite-scanner.js.map +1 -0
  308. package/ccw/dist/core/routes/claude-routes.d.ts.map +1 -0
  309. package/ccw/dist/core/routes/claude-routes.js +1015 -0
  310. package/ccw/dist/core/routes/claude-routes.js.map +1 -0
  311. package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -0
  312. package/ccw/dist/core/routes/cli-routes.js +469 -0
  313. package/ccw/dist/core/routes/cli-routes.js.map +1 -0
  314. package/ccw/dist/core/routes/rules-routes.d.ts.map +1 -0
  315. package/ccw/dist/core/routes/rules-routes.js +443 -0
  316. package/ccw/dist/core/routes/rules-routes.js.map +1 -0
  317. package/ccw/dist/core/routes/skills-routes.d.ts.map +1 -0
  318. package/ccw/dist/core/routes/skills-routes.js +651 -0
  319. package/ccw/dist/core/routes/skills-routes.js.map +1 -0
  320. package/ccw/dist/tools/cli-executor.d.ts +376 -0
  321. package/ccw/dist/tools/cli-executor.d.ts.map +1 -0
  322. package/ccw/dist/tools/cli-executor.js +1677 -0
  323. package/ccw/dist/tools/cli-executor.js.map +1 -0
  324. package/ccw/package.json +65 -0
  325. package/ccw/src/core/lite-scanner-complete.ts +473 -0
  326. package/ccw/src/core/lite-scanner.ts +473 -0
  327. package/ccw/src/core/routes/claude-routes.ts +1181 -0
  328. package/ccw/src/core/routes/cli-routes.ts +562 -0
  329. package/ccw/src/core/routes/rules-routes.ts +527 -0
  330. package/ccw/src/core/routes/skills-routes.ts +737 -0
  331. package/ccw/src/templates/dashboard-js/i18n.js +2969 -0
  332. package/ccw/src/templates/dashboard-js/views/claude-manager.js +926 -0
  333. package/ccw/src/templates/dashboard-js/views/cli-manager.js +2274 -0
  334. package/ccw/src/templates/dashboard-js/views/rules-manager.js +857 -0
  335. package/ccw/src/templates/dashboard-js/views/skills-manager.js +1183 -0
  336. package/ccw/src/tools/cli-executor.ts +2082 -0
  337. package/codex-lens/pyproject.toml +66 -0
  338. package/codex-lens/src/codexlens/.workflow/.cli-history/history.db +0 -0
  339. package/codex-lens/src/codexlens/__init__.py +28 -0
  340. package/codex-lens/src/codexlens/__main__.py +14 -0
  341. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-313.pyc +0 -0
  342. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-313.pyc +0 -0
  343. package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
  344. package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
  345. package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
  346. package/codex-lens/src/codexlens/cli/__init__.py +27 -0
  347. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-313.pyc +0 -0
  348. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
  349. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
  350. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
  351. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-313.pyc +0 -0
  352. package/codex-lens/src/codexlens/cli/commands.py +1931 -0
  353. package/codex-lens/src/codexlens/cli/embedding_manager.py +620 -0
  354. package/codex-lens/src/codexlens/cli/model_manager.py +311 -0
  355. package/codex-lens/src/codexlens/cli/output.py +124 -0
  356. package/codex-lens/src/codexlens/config.py +201 -0
  357. package/codex-lens/src/codexlens/entities.py +121 -0
  358. package/codex-lens/src/codexlens/errors.py +55 -0
  359. package/codex-lens/src/codexlens/indexing/README.md +77 -0
  360. package/codex-lens/src/codexlens/indexing/__init__.py +4 -0
  361. package/codex-lens/src/codexlens/indexing/__pycache__/__init__.cpython-313.pyc +0 -0
  362. package/codex-lens/src/codexlens/indexing/__pycache__/symbol_extractor.cpython-313.pyc +0 -0
  363. package/codex-lens/src/codexlens/indexing/symbol_extractor.py +243 -0
  364. package/codex-lens/src/codexlens/parsers/__init__.py +8 -0
  365. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
  366. package/codex-lens/src/codexlens/parsers/__pycache__/encoding.cpython-313.pyc +0 -0
  367. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-313.pyc +0 -0
  368. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-313.pyc +0 -0
  369. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
  370. package/codex-lens/src/codexlens/parsers/encoding.py +202 -0
  371. package/codex-lens/src/codexlens/parsers/factory.py +256 -0
  372. package/codex-lens/src/codexlens/parsers/tokenizer.py +98 -0
  373. package/codex-lens/src/codexlens/parsers/treesitter_parser.py +335 -0
  374. package/codex-lens/src/codexlens/search/__init__.py +15 -0
  375. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.pyc +0 -0
  376. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
  377. package/codex-lens/src/codexlens/search/__pycache__/enrichment.cpython-313.pyc +0 -0
  378. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
  379. package/codex-lens/src/codexlens/search/__pycache__/query_parser.cpython-313.pyc +0 -0
  380. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
  381. package/codex-lens/src/codexlens/search/chain_search.py +647 -0
  382. package/codex-lens/src/codexlens/search/enrichment.py +150 -0
  383. package/codex-lens/src/codexlens/search/hybrid_search.py +313 -0
  384. package/codex-lens/src/codexlens/search/query_parser.py +242 -0
  385. package/codex-lens/src/codexlens/search/ranking.py +274 -0
  386. package/codex-lens/src/codexlens/semantic/__init__.py +76 -0
  387. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-313.pyc +0 -0
  388. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
  389. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
  390. package/codex-lens/src/codexlens/semantic/__pycache__/code_extractor.cpython-313.pyc +0 -0
  391. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-313.pyc +0 -0
  392. package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-313.pyc +0 -0
  393. package/codex-lens/src/codexlens/semantic/__pycache__/graph_analyzer.cpython-313.pyc +0 -0
  394. package/codex-lens/src/codexlens/semantic/__pycache__/llm_enhancer.cpython-313.pyc +0 -0
  395. package/codex-lens/src/codexlens/semantic/__pycache__/ollama_backend.cpython-313.pyc +0 -0
  396. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
  397. package/codex-lens/src/codexlens/semantic/ann_index.py +414 -0
  398. package/codex-lens/src/codexlens/semantic/chunker.py +448 -0
  399. package/codex-lens/src/codexlens/semantic/code_extractor.py +274 -0
  400. package/codex-lens/src/codexlens/semantic/embedder.py +244 -0
  401. package/codex-lens/src/codexlens/semantic/gpu_support.py +192 -0
  402. package/codex-lens/src/codexlens/semantic/vector_store.py +955 -0
  403. package/codex-lens/src/codexlens/storage/__init__.py +29 -0
  404. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
  405. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
  406. package/codex-lens/src/codexlens/storage/__pycache__/file_cache.cpython-313.pyc +0 -0
  407. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
  408. package/codex-lens/src/codexlens/storage/__pycache__/migration_manager.cpython-313.pyc +0 -0
  409. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-313.pyc +0 -0
  410. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-313.pyc +0 -0
  411. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-313.pyc +0 -0
  412. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-313.pyc +0 -0
  413. package/codex-lens/src/codexlens/storage/dir_index.py +1850 -0
  414. package/codex-lens/src/codexlens/storage/file_cache.py +32 -0
  415. package/codex-lens/src/codexlens/storage/index_tree.py +776 -0
  416. package/codex-lens/src/codexlens/storage/migration_manager.py +154 -0
  417. package/codex-lens/src/codexlens/storage/migrations/__init__.py +1 -0
  418. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
  419. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_001_normalize_keywords.cpython-313.pyc +0 -0
  420. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_002_add_token_metadata.cpython-313.pyc +0 -0
  421. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_003_code_relationships.cpython-313.pyc +0 -0
  422. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_004_dual_fts.cpython-313.pyc +0 -0
  423. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_005_cleanup_unused_fields.cpython-313.pyc +0 -0
  424. package/codex-lens/src/codexlens/storage/migrations/migration_001_normalize_keywords.py +123 -0
  425. package/codex-lens/src/codexlens/storage/migrations/migration_002_add_token_metadata.py +48 -0
  426. package/codex-lens/src/codexlens/storage/migrations/migration_004_dual_fts.py +232 -0
  427. package/codex-lens/src/codexlens/storage/migrations/migration_005_cleanup_unused_fields.py +196 -0
  428. package/codex-lens/src/codexlens/storage/path_mapper.py +274 -0
  429. package/codex-lens/src/codexlens/storage/registry.py +670 -0
  430. package/codex-lens/src/codexlens/storage/sqlite_store.py +576 -0
  431. package/codex-lens/src/codexlens/storage/sqlite_utils.py +64 -0
  432. package/package.json +36 -28
  433. package/dist/core/lite-scanner-complete.d.ts.map +0 -1
  434. package/dist/core/lite-scanner-complete.js +0 -368
  435. package/dist/core/lite-scanner-complete.js.map +0 -1
  436. package/dist/core/lite-scanner.d.ts.map +0 -1
  437. package/dist/core/lite-scanner.js +0 -368
  438. package/dist/core/lite-scanner.js.map +0 -1
  439. package/dist/core/routes/claude-routes.d.ts.map +0 -1
  440. package/dist/core/routes/claude-routes.js +0 -1017
  441. package/dist/core/routes/claude-routes.js.map +0 -1
  442. package/dist/core/routes/cli-routes.d.ts.map +0 -1
  443. package/dist/core/routes/cli-routes.js +0 -468
  444. package/dist/core/routes/cli-routes.js.map +0 -1
  445. package/dist/core/routes/rules-routes.d.ts.map +0 -1
  446. package/dist/core/routes/rules-routes.js +0 -442
  447. package/dist/core/routes/rules-routes.js.map +0 -1
  448. package/dist/core/routes/skills-routes.d.ts.map +0 -1
  449. package/dist/core/routes/skills-routes.js +0 -533
  450. package/dist/core/routes/skills-routes.js.map +0 -1
  451. package/dist/tools/cli-executor.d.ts +0 -373
  452. package/dist/tools/cli-executor.d.ts.map +0 -1
  453. package/dist/tools/cli-executor.js +0 -1625
  454. package/dist/tools/cli-executor.js.map +0 -1
  455. package/src/core/lite-scanner-complete.ts +0 -469
  456. package/src/core/lite-scanner.ts +0 -469
  457. package/src/core/routes/claude-routes.ts +0 -1183
  458. package/src/core/routes/cli-routes.ts +0 -561
  459. package/src/core/routes/rules-routes.ts +0 -526
  460. package/src/core/routes/skills-routes.ts +0 -599
  461. package/src/templates/dashboard-js/i18n.js +0 -2963
  462. package/src/templates/dashboard-js/views/claude-manager.js +0 -912
  463. package/src/templates/dashboard-js/views/cli-manager.js +0 -2272
  464. package/src/templates/dashboard-js/views/rules-manager.js +0 -828
  465. package/src/templates/dashboard-js/views/skills-manager.js +0 -819
  466. package/src/tools/cli-executor.ts +0 -2014
  467. /package/{bin → ccw/bin}/ccw-mcp.js +0 -0
  468. /package/{bin → ccw/bin}/ccw.js +0 -0
  469. /package/{dist → ccw/dist}/cli.d.ts +0 -0
  470. /package/{dist → ccw/dist}/cli.d.ts.map +0 -0
  471. /package/{dist → ccw/dist}/cli.js +0 -0
  472. /package/{dist → ccw/dist}/cli.js.map +0 -0
  473. /package/{dist → ccw/dist}/commands/cli.d.ts +0 -0
  474. /package/{dist → ccw/dist}/commands/cli.d.ts.map +0 -0
  475. /package/{dist → ccw/dist}/commands/cli.js +0 -0
  476. /package/{dist → ccw/dist}/commands/cli.js.map +0 -0
  477. /package/{dist → ccw/dist}/commands/core-memory.d.ts +0 -0
  478. /package/{dist → ccw/dist}/commands/core-memory.d.ts.map +0 -0
  479. /package/{dist → ccw/dist}/commands/core-memory.js +0 -0
  480. /package/{dist → ccw/dist}/commands/core-memory.js.map +0 -0
  481. /package/{dist → ccw/dist}/commands/hook.d.ts +0 -0
  482. /package/{dist → ccw/dist}/commands/hook.d.ts.map +0 -0
  483. /package/{dist → ccw/dist}/commands/hook.js +0 -0
  484. /package/{dist → ccw/dist}/commands/hook.js.map +0 -0
  485. /package/{dist → ccw/dist}/commands/install.d.ts +0 -0
  486. /package/{dist → ccw/dist}/commands/install.d.ts.map +0 -0
  487. /package/{dist → ccw/dist}/commands/install.js +0 -0
  488. /package/{dist → ccw/dist}/commands/install.js.map +0 -0
  489. /package/{dist → ccw/dist}/commands/list.d.ts +0 -0
  490. /package/{dist → ccw/dist}/commands/list.d.ts.map +0 -0
  491. /package/{dist → ccw/dist}/commands/list.js +0 -0
  492. /package/{dist → ccw/dist}/commands/list.js.map +0 -0
  493. /package/{dist → ccw/dist}/commands/memory.d.ts +0 -0
  494. /package/{dist → ccw/dist}/commands/memory.d.ts.map +0 -0
  495. /package/{dist → ccw/dist}/commands/memory.js +0 -0
  496. /package/{dist → ccw/dist}/commands/memory.js.map +0 -0
  497. /package/{dist → ccw/dist}/commands/serve.d.ts +0 -0
  498. /package/{dist → ccw/dist}/commands/serve.d.ts.map +0 -0
  499. /package/{dist → ccw/dist}/commands/serve.js +0 -0
  500. /package/{dist → ccw/dist}/commands/serve.js.map +0 -0
  501. /package/{dist → ccw/dist}/commands/session-path-resolver.d.ts +0 -0
  502. /package/{dist → ccw/dist}/commands/session-path-resolver.d.ts.map +0 -0
  503. /package/{dist → ccw/dist}/commands/session-path-resolver.js +0 -0
  504. /package/{dist → ccw/dist}/commands/session-path-resolver.js.map +0 -0
  505. /package/{dist → ccw/dist}/commands/session.d.ts +0 -0
  506. /package/{dist → ccw/dist}/commands/session.d.ts.map +0 -0
  507. /package/{dist → ccw/dist}/commands/session.js +0 -0
  508. /package/{dist → ccw/dist}/commands/session.js.map +0 -0
  509. /package/{dist → ccw/dist}/commands/stop.d.ts +0 -0
  510. /package/{dist → ccw/dist}/commands/stop.d.ts.map +0 -0
  511. /package/{dist → ccw/dist}/commands/stop.js +0 -0
  512. /package/{dist → ccw/dist}/commands/stop.js.map +0 -0
  513. /package/{dist → ccw/dist}/commands/tool.d.ts +0 -0
  514. /package/{dist → ccw/dist}/commands/tool.d.ts.map +0 -0
  515. /package/{dist → ccw/dist}/commands/tool.js +0 -0
  516. /package/{dist → ccw/dist}/commands/tool.js.map +0 -0
  517. /package/{dist → ccw/dist}/commands/uninstall.d.ts +0 -0
  518. /package/{dist → ccw/dist}/commands/uninstall.d.ts.map +0 -0
  519. /package/{dist → ccw/dist}/commands/uninstall.js +0 -0
  520. /package/{dist → ccw/dist}/commands/uninstall.js.map +0 -0
  521. /package/{dist → ccw/dist}/commands/upgrade.d.ts +0 -0
  522. /package/{dist → ccw/dist}/commands/upgrade.d.ts.map +0 -0
  523. /package/{dist → ccw/dist}/commands/upgrade.js +0 -0
  524. /package/{dist → ccw/dist}/commands/upgrade.js.map +0 -0
  525. /package/{dist → ccw/dist}/commands/view.d.ts +0 -0
  526. /package/{dist → ccw/dist}/commands/view.d.ts.map +0 -0
  527. /package/{dist → ccw/dist}/commands/view.js +0 -0
  528. /package/{dist → ccw/dist}/commands/view.js.map +0 -0
  529. /package/{dist → ccw/dist}/config/storage-paths.d.ts +0 -0
  530. /package/{dist → ccw/dist}/config/storage-paths.d.ts.map +0 -0
  531. /package/{dist → ccw/dist}/config/storage-paths.js +0 -0
  532. /package/{dist → ccw/dist}/config/storage-paths.js.map +0 -0
  533. /package/{dist → ccw/dist}/core/cache-manager.d.ts +0 -0
  534. /package/{dist → ccw/dist}/core/cache-manager.d.ts.map +0 -0
  535. /package/{dist → ccw/dist}/core/cache-manager.js +0 -0
  536. /package/{dist → ccw/dist}/core/cache-manager.js.map +0 -0
  537. /package/{dist → ccw/dist}/core/claude-freshness.d.ts +0 -0
  538. /package/{dist → ccw/dist}/core/claude-freshness.d.ts.map +0 -0
  539. /package/{dist → ccw/dist}/core/claude-freshness.js +0 -0
  540. /package/{dist → ccw/dist}/core/claude-freshness.js.map +0 -0
  541. /package/{dist → ccw/dist}/core/core-memory-store.d.ts +0 -0
  542. /package/{dist → ccw/dist}/core/core-memory-store.d.ts.map +0 -0
  543. /package/{dist → ccw/dist}/core/core-memory-store.js +0 -0
  544. /package/{dist → ccw/dist}/core/core-memory-store.js.map +0 -0
  545. /package/{dist → ccw/dist}/core/dashboard-generator-patch.d.ts +0 -0
  546. /package/{dist → ccw/dist}/core/dashboard-generator-patch.d.ts.map +0 -0
  547. /package/{dist → ccw/dist}/core/dashboard-generator-patch.js +0 -0
  548. /package/{dist → ccw/dist}/core/dashboard-generator-patch.js.map +0 -0
  549. /package/{dist → ccw/dist}/core/dashboard-generator.d.ts +0 -0
  550. /package/{dist → ccw/dist}/core/dashboard-generator.d.ts.map +0 -0
  551. /package/{dist → ccw/dist}/core/dashboard-generator.js +0 -0
  552. /package/{dist → ccw/dist}/core/dashboard-generator.js.map +0 -0
  553. /package/{dist → ccw/dist}/core/data-aggregator.d.ts +0 -0
  554. /package/{dist → ccw/dist}/core/data-aggregator.d.ts.map +0 -0
  555. /package/{dist → ccw/dist}/core/data-aggregator.js +0 -0
  556. /package/{dist → ccw/dist}/core/data-aggregator.js.map +0 -0
  557. /package/{dist → ccw/dist}/core/history-importer.d.ts +0 -0
  558. /package/{dist → ccw/dist}/core/history-importer.d.ts.map +0 -0
  559. /package/{dist → ccw/dist}/core/history-importer.js +0 -0
  560. /package/{dist → ccw/dist}/core/history-importer.js.map +0 -0
  561. /package/{dist → ccw/dist}/core/lite-scanner-complete.d.ts +0 -0
  562. /package/{dist → ccw/dist}/core/lite-scanner.d.ts +0 -0
  563. /package/{dist → ccw/dist}/core/manifest.d.ts +0 -0
  564. /package/{dist → ccw/dist}/core/manifest.d.ts.map +0 -0
  565. /package/{dist → ccw/dist}/core/manifest.js +0 -0
  566. /package/{dist → ccw/dist}/core/manifest.js.map +0 -0
  567. /package/{dist → ccw/dist}/core/memory-embedder-bridge.d.ts +0 -0
  568. /package/{dist → ccw/dist}/core/memory-embedder-bridge.d.ts.map +0 -0
  569. /package/{dist → ccw/dist}/core/memory-embedder-bridge.js +0 -0
  570. /package/{dist → ccw/dist}/core/memory-embedder-bridge.js.map +0 -0
  571. /package/{dist → ccw/dist}/core/memory-store.d.ts +0 -0
  572. /package/{dist → ccw/dist}/core/memory-store.d.ts.map +0 -0
  573. /package/{dist → ccw/dist}/core/memory-store.js +0 -0
  574. /package/{dist → ccw/dist}/core/memory-store.js.map +0 -0
  575. /package/{dist → ccw/dist}/core/routes/ccw-routes.d.ts +0 -0
  576. /package/{dist → ccw/dist}/core/routes/ccw-routes.d.ts.map +0 -0
  577. /package/{dist → ccw/dist}/core/routes/ccw-routes.js +0 -0
  578. /package/{dist → ccw/dist}/core/routes/ccw-routes.js.map +0 -0
  579. /package/{dist → ccw/dist}/core/routes/claude-routes.d.ts +0 -0
  580. /package/{dist → ccw/dist}/core/routes/cli-routes.d.ts +0 -0
  581. /package/{dist → ccw/dist}/core/routes/codexlens-routes.d.ts +0 -0
  582. /package/{dist → ccw/dist}/core/routes/codexlens-routes.d.ts.map +0 -0
  583. /package/{dist → ccw/dist}/core/routes/codexlens-routes.js +0 -0
  584. /package/{dist → ccw/dist}/core/routes/codexlens-routes.js.map +0 -0
  585. /package/{dist → ccw/dist}/core/routes/core-memory-routes.d.ts +0 -0
  586. /package/{dist → ccw/dist}/core/routes/core-memory-routes.d.ts.map +0 -0
  587. /package/{dist → ccw/dist}/core/routes/core-memory-routes.js +0 -0
  588. /package/{dist → ccw/dist}/core/routes/core-memory-routes.js.map +0 -0
  589. /package/{dist → ccw/dist}/core/routes/files-routes.d.ts +0 -0
  590. /package/{dist → ccw/dist}/core/routes/files-routes.d.ts.map +0 -0
  591. /package/{dist → ccw/dist}/core/routes/files-routes.js +0 -0
  592. /package/{dist → ccw/dist}/core/routes/files-routes.js.map +0 -0
  593. /package/{dist → ccw/dist}/core/routes/graph-routes.d.ts +0 -0
  594. /package/{dist → ccw/dist}/core/routes/graph-routes.d.ts.map +0 -0
  595. /package/{dist → ccw/dist}/core/routes/graph-routes.js +0 -0
  596. /package/{dist → ccw/dist}/core/routes/graph-routes.js.map +0 -0
  597. /package/{dist → ccw/dist}/core/routes/help-routes.d.ts +0 -0
  598. /package/{dist → ccw/dist}/core/routes/help-routes.d.ts.map +0 -0
  599. /package/{dist → ccw/dist}/core/routes/help-routes.js +0 -0
  600. /package/{dist → ccw/dist}/core/routes/help-routes.js.map +0 -0
  601. /package/{dist → ccw/dist}/core/routes/hooks-routes.d.ts +0 -0
  602. /package/{dist → ccw/dist}/core/routes/hooks-routes.d.ts.map +0 -0
  603. /package/{dist → ccw/dist}/core/routes/hooks-routes.js +0 -0
  604. /package/{dist → ccw/dist}/core/routes/hooks-routes.js.map +0 -0
  605. /package/{dist → ccw/dist}/core/routes/mcp-routes.d.ts +0 -0
  606. /package/{dist → ccw/dist}/core/routes/mcp-routes.d.ts.map +0 -0
  607. /package/{dist → ccw/dist}/core/routes/mcp-routes.js +0 -0
  608. /package/{dist → ccw/dist}/core/routes/mcp-routes.js.map +0 -0
  609. /package/{dist → ccw/dist}/core/routes/mcp-templates-db.d.ts +0 -0
  610. /package/{dist → ccw/dist}/core/routes/mcp-templates-db.d.ts.map +0 -0
  611. /package/{dist → ccw/dist}/core/routes/mcp-templates-db.js +0 -0
  612. /package/{dist → ccw/dist}/core/routes/mcp-templates-db.js.map +0 -0
  613. /package/{dist → ccw/dist}/core/routes/memory-routes.d.ts +0 -0
  614. /package/{dist → ccw/dist}/core/routes/memory-routes.d.ts.map +0 -0
  615. /package/{dist → ccw/dist}/core/routes/memory-routes.js +0 -0
  616. /package/{dist → ccw/dist}/core/routes/memory-routes.js.map +0 -0
  617. /package/{dist → ccw/dist}/core/routes/rules-routes.d.ts +0 -0
  618. /package/{dist → ccw/dist}/core/routes/session-routes.d.ts +0 -0
  619. /package/{dist → ccw/dist}/core/routes/session-routes.d.ts.map +0 -0
  620. /package/{dist → ccw/dist}/core/routes/session-routes.js +0 -0
  621. /package/{dist → ccw/dist}/core/routes/session-routes.js.map +0 -0
  622. /package/{dist → ccw/dist}/core/routes/skills-routes.d.ts +0 -0
  623. /package/{dist → ccw/dist}/core/routes/status-routes.d.ts +0 -0
  624. /package/{dist → ccw/dist}/core/routes/status-routes.d.ts.map +0 -0
  625. /package/{dist → ccw/dist}/core/routes/status-routes.js +0 -0
  626. /package/{dist → ccw/dist}/core/routes/status-routes.js.map +0 -0
  627. /package/{dist → ccw/dist}/core/routes/system-routes.d.ts +0 -0
  628. /package/{dist → ccw/dist}/core/routes/system-routes.d.ts.map +0 -0
  629. /package/{dist → ccw/dist}/core/routes/system-routes.js +0 -0
  630. /package/{dist → ccw/dist}/core/routes/system-routes.js.map +0 -0
  631. /package/{dist → ccw/dist}/core/server.d.ts +0 -0
  632. /package/{dist → ccw/dist}/core/server.d.ts.map +0 -0
  633. /package/{dist → ccw/dist}/core/server.js +0 -0
  634. /package/{dist → ccw/dist}/core/server.js.map +0 -0
  635. /package/{dist → ccw/dist}/core/session-clustering-service.d.ts +0 -0
  636. /package/{dist → ccw/dist}/core/session-clustering-service.d.ts.map +0 -0
  637. /package/{dist → ccw/dist}/core/session-clustering-service.js +0 -0
  638. /package/{dist → ccw/dist}/core/session-clustering-service.js.map +0 -0
  639. /package/{dist → ccw/dist}/core/session-scanner.d.ts +0 -0
  640. /package/{dist → ccw/dist}/core/session-scanner.d.ts.map +0 -0
  641. /package/{dist → ccw/dist}/core/session-scanner.js +0 -0
  642. /package/{dist → ccw/dist}/core/session-scanner.js.map +0 -0
  643. /package/{dist → ccw/dist}/core/websocket.d.ts +0 -0
  644. /package/{dist → ccw/dist}/core/websocket.d.ts.map +0 -0
  645. /package/{dist → ccw/dist}/core/websocket.js +0 -0
  646. /package/{dist → ccw/dist}/core/websocket.js.map +0 -0
  647. /package/{dist → ccw/dist}/index.d.ts +0 -0
  648. /package/{dist → ccw/dist}/index.d.ts.map +0 -0
  649. /package/{dist → ccw/dist}/index.js +0 -0
  650. /package/{dist → ccw/dist}/index.js.map +0 -0
  651. /package/{dist → ccw/dist}/mcp-server/index.d.ts +0 -0
  652. /package/{dist → ccw/dist}/mcp-server/index.d.ts.map +0 -0
  653. /package/{dist → ccw/dist}/mcp-server/index.js +0 -0
  654. /package/{dist → ccw/dist}/mcp-server/index.js.map +0 -0
  655. /package/{dist → ccw/dist}/tools/classify-folders.d.ts +0 -0
  656. /package/{dist → ccw/dist}/tools/classify-folders.d.ts.map +0 -0
  657. /package/{dist → ccw/dist}/tools/classify-folders.js +0 -0
  658. /package/{dist → ccw/dist}/tools/classify-folders.js.map +0 -0
  659. /package/{dist → ccw/dist}/tools/cli-config-manager.d.ts +0 -0
  660. /package/{dist → ccw/dist}/tools/cli-config-manager.d.ts.map +0 -0
  661. /package/{dist → ccw/dist}/tools/cli-config-manager.js +0 -0
  662. /package/{dist → ccw/dist}/tools/cli-config-manager.js.map +0 -0
  663. /package/{dist → ccw/dist}/tools/cli-history-store.d.ts +0 -0
  664. /package/{dist → ccw/dist}/tools/cli-history-store.d.ts.map +0 -0
  665. /package/{dist → ccw/dist}/tools/cli-history-store.js +0 -0
  666. /package/{dist → ccw/dist}/tools/cli-history-store.js.map +0 -0
  667. /package/{dist → ccw/dist}/tools/codex-lens.d.ts +0 -0
  668. /package/{dist → ccw/dist}/tools/codex-lens.d.ts.map +0 -0
  669. /package/{dist → ccw/dist}/tools/codex-lens.js +0 -0
  670. /package/{dist → ccw/dist}/tools/codex-lens.js.map +0 -0
  671. /package/{dist → ccw/dist}/tools/convert-tokens-to-css.d.ts +0 -0
  672. /package/{dist → ccw/dist}/tools/convert-tokens-to-css.d.ts.map +0 -0
  673. /package/{dist → ccw/dist}/tools/convert-tokens-to-css.js +0 -0
  674. /package/{dist → ccw/dist}/tools/convert-tokens-to-css.js.map +0 -0
  675. /package/{dist → ccw/dist}/tools/core-memory.d.ts +0 -0
  676. /package/{dist → ccw/dist}/tools/core-memory.d.ts.map +0 -0
  677. /package/{dist → ccw/dist}/tools/core-memory.js +0 -0
  678. /package/{dist → ccw/dist}/tools/core-memory.js.map +0 -0
  679. /package/{dist → ccw/dist}/tools/detect-changed-modules.d.ts +0 -0
  680. /package/{dist → ccw/dist}/tools/detect-changed-modules.d.ts.map +0 -0
  681. /package/{dist → ccw/dist}/tools/detect-changed-modules.js +0 -0
  682. /package/{dist → ccw/dist}/tools/detect-changed-modules.js.map +0 -0
  683. /package/{dist → ccw/dist}/tools/discover-design-files.d.ts +0 -0
  684. /package/{dist → ccw/dist}/tools/discover-design-files.d.ts.map +0 -0
  685. /package/{dist → ccw/dist}/tools/discover-design-files.js +0 -0
  686. /package/{dist → ccw/dist}/tools/discover-design-files.js.map +0 -0
  687. /package/{dist → ccw/dist}/tools/edit-file.d.ts +0 -0
  688. /package/{dist → ccw/dist}/tools/edit-file.d.ts.map +0 -0
  689. /package/{dist → ccw/dist}/tools/edit-file.js +0 -0
  690. /package/{dist → ccw/dist}/tools/edit-file.js.map +0 -0
  691. /package/{dist → ccw/dist}/tools/generate-module-docs.d.ts +0 -0
  692. /package/{dist → ccw/dist}/tools/generate-module-docs.d.ts.map +0 -0
  693. /package/{dist → ccw/dist}/tools/generate-module-docs.js +0 -0
  694. /package/{dist → ccw/dist}/tools/generate-module-docs.js.map +0 -0
  695. /package/{dist → ccw/dist}/tools/get-modules-by-depth.d.ts +0 -0
  696. /package/{dist → ccw/dist}/tools/get-modules-by-depth.d.ts.map +0 -0
  697. /package/{dist → ccw/dist}/tools/get-modules-by-depth.js +0 -0
  698. /package/{dist → ccw/dist}/tools/get-modules-by-depth.js.map +0 -0
  699. /package/{dist → ccw/dist}/tools/index.d.ts +0 -0
  700. /package/{dist → ccw/dist}/tools/index.d.ts.map +0 -0
  701. /package/{dist → ccw/dist}/tools/index.js +0 -0
  702. /package/{dist → ccw/dist}/tools/index.js.map +0 -0
  703. /package/{dist → ccw/dist}/tools/native-session-discovery.d.ts +0 -0
  704. /package/{dist → ccw/dist}/tools/native-session-discovery.d.ts.map +0 -0
  705. /package/{dist → ccw/dist}/tools/native-session-discovery.js +0 -0
  706. /package/{dist → ccw/dist}/tools/native-session-discovery.js.map +0 -0
  707. /package/{dist → ccw/dist}/tools/notifier.d.ts +0 -0
  708. /package/{dist → ccw/dist}/tools/notifier.d.ts.map +0 -0
  709. /package/{dist → ccw/dist}/tools/notifier.js +0 -0
  710. /package/{dist → ccw/dist}/tools/notifier.js.map +0 -0
  711. /package/{dist → ccw/dist}/tools/read-file.d.ts +0 -0
  712. /package/{dist → ccw/dist}/tools/read-file.d.ts.map +0 -0
  713. /package/{dist → ccw/dist}/tools/read-file.js +0 -0
  714. /package/{dist → ccw/dist}/tools/read-file.js.map +0 -0
  715. /package/{dist → ccw/dist}/tools/resume-strategy.d.ts +0 -0
  716. /package/{dist → ccw/dist}/tools/resume-strategy.d.ts.map +0 -0
  717. /package/{dist → ccw/dist}/tools/resume-strategy.js +0 -0
  718. /package/{dist → ccw/dist}/tools/resume-strategy.js.map +0 -0
  719. /package/{dist → ccw/dist}/tools/session-content-parser.d.ts +0 -0
  720. /package/{dist → ccw/dist}/tools/session-content-parser.d.ts.map +0 -0
  721. /package/{dist → ccw/dist}/tools/session-content-parser.js +0 -0
  722. /package/{dist → ccw/dist}/tools/session-content-parser.js.map +0 -0
  723. /package/{dist → ccw/dist}/tools/session-manager.d.ts +0 -0
  724. /package/{dist → ccw/dist}/tools/session-manager.d.ts.map +0 -0
  725. /package/{dist → ccw/dist}/tools/session-manager.js +0 -0
  726. /package/{dist → ccw/dist}/tools/session-manager.js.map +0 -0
  727. /package/{dist → ccw/dist}/tools/smart-context.d.ts +0 -0
  728. /package/{dist → ccw/dist}/tools/smart-context.d.ts.map +0 -0
  729. /package/{dist → ccw/dist}/tools/smart-context.js +0 -0
  730. /package/{dist → ccw/dist}/tools/smart-context.js.map +0 -0
  731. /package/{dist → ccw/dist}/tools/smart-search.d.ts +0 -0
  732. /package/{dist → ccw/dist}/tools/smart-search.d.ts.map +0 -0
  733. /package/{dist → ccw/dist}/tools/smart-search.js +0 -0
  734. /package/{dist → ccw/dist}/tools/smart-search.js.map +0 -0
  735. /package/{dist → ccw/dist}/tools/storage-manager.d.ts +0 -0
  736. /package/{dist → ccw/dist}/tools/storage-manager.d.ts.map +0 -0
  737. /package/{dist → ccw/dist}/tools/storage-manager.js +0 -0
  738. /package/{dist → ccw/dist}/tools/storage-manager.js.map +0 -0
  739. /package/{dist → ccw/dist}/tools/ui-generate-preview.d.ts +0 -0
  740. /package/{dist → ccw/dist}/tools/ui-generate-preview.d.ts.map +0 -0
  741. /package/{dist → ccw/dist}/tools/ui-generate-preview.js +0 -0
  742. /package/{dist → ccw/dist}/tools/ui-generate-preview.js.map +0 -0
  743. /package/{dist → ccw/dist}/tools/ui-instantiate-prototypes.d.ts +0 -0
  744. /package/{dist → ccw/dist}/tools/ui-instantiate-prototypes.d.ts.map +0 -0
  745. /package/{dist → ccw/dist}/tools/ui-instantiate-prototypes.js +0 -0
  746. /package/{dist → ccw/dist}/tools/ui-instantiate-prototypes.js.map +0 -0
  747. /package/{dist → ccw/dist}/tools/update-module-claude.d.ts +0 -0
  748. /package/{dist → ccw/dist}/tools/update-module-claude.d.ts.map +0 -0
  749. /package/{dist → ccw/dist}/tools/update-module-claude.js +0 -0
  750. /package/{dist → ccw/dist}/tools/update-module-claude.js.map +0 -0
  751. /package/{dist → ccw/dist}/tools/write-file.d.ts +0 -0
  752. /package/{dist → ccw/dist}/tools/write-file.d.ts.map +0 -0
  753. /package/{dist → ccw/dist}/tools/write-file.js +0 -0
  754. /package/{dist → ccw/dist}/tools/write-file.js.map +0 -0
  755. /package/{dist → ccw/dist}/types/config.d.ts +0 -0
  756. /package/{dist → ccw/dist}/types/config.d.ts.map +0 -0
  757. /package/{dist → ccw/dist}/types/config.js +0 -0
  758. /package/{dist → ccw/dist}/types/config.js.map +0 -0
  759. /package/{dist → ccw/dist}/types/index.d.ts +0 -0
  760. /package/{dist → ccw/dist}/types/index.d.ts.map +0 -0
  761. /package/{dist → ccw/dist}/types/index.js +0 -0
  762. /package/{dist → ccw/dist}/types/index.js.map +0 -0
  763. /package/{dist → ccw/dist}/types/session.d.ts +0 -0
  764. /package/{dist → ccw/dist}/types/session.d.ts.map +0 -0
  765. /package/{dist → ccw/dist}/types/session.js +0 -0
  766. /package/{dist → ccw/dist}/types/session.js.map +0 -0
  767. /package/{dist → ccw/dist}/types/tool.d.ts +0 -0
  768. /package/{dist → ccw/dist}/types/tool.d.ts.map +0 -0
  769. /package/{dist → ccw/dist}/types/tool.js +0 -0
  770. /package/{dist → ccw/dist}/types/tool.js.map +0 -0
  771. /package/{dist → ccw/dist}/utils/browser-launcher.d.ts +0 -0
  772. /package/{dist → ccw/dist}/utils/browser-launcher.d.ts.map +0 -0
  773. /package/{dist → ccw/dist}/utils/browser-launcher.js +0 -0
  774. /package/{dist → ccw/dist}/utils/browser-launcher.js.map +0 -0
  775. /package/{dist → ccw/dist}/utils/file-utils.d.ts +0 -0
  776. /package/{dist → ccw/dist}/utils/file-utils.d.ts.map +0 -0
  777. /package/{dist → ccw/dist}/utils/file-utils.js +0 -0
  778. /package/{dist → ccw/dist}/utils/file-utils.js.map +0 -0
  779. /package/{dist → ccw/dist}/utils/path-resolver.d.ts +0 -0
  780. /package/{dist → ccw/dist}/utils/path-resolver.d.ts.map +0 -0
  781. /package/{dist → ccw/dist}/utils/path-resolver.js +0 -0
  782. /package/{dist → ccw/dist}/utils/path-resolver.js.map +0 -0
  783. /package/{dist → ccw/dist}/utils/path-validator.d.ts +0 -0
  784. /package/{dist → ccw/dist}/utils/path-validator.d.ts.map +0 -0
  785. /package/{dist → ccw/dist}/utils/path-validator.js +0 -0
  786. /package/{dist → ccw/dist}/utils/path-validator.js.map +0 -0
  787. /package/{dist → ccw/dist}/utils/ui.d.ts +0 -0
  788. /package/{dist → ccw/dist}/utils/ui.d.ts.map +0 -0
  789. /package/{dist → ccw/dist}/utils/ui.js +0 -0
  790. /package/{dist → ccw/dist}/utils/ui.js.map +0 -0
  791. /package/{src → ccw/src}/.workflow/.cli-history/history.db +0 -0
  792. /package/{src → ccw/src}/.workflow/.cli-history/history.db-shm +0 -0
  793. /package/{src → ccw/src}/.workflow/.cli-history/history.db-wal +0 -0
  794. /package/{src → ccw/src}/cli.ts +0 -0
  795. /package/{src → ccw/src}/commands/cli.ts +0 -0
  796. /package/{src → ccw/src}/commands/core-memory.ts +0 -0
  797. /package/{src → ccw/src}/commands/hook.ts +0 -0
  798. /package/{src → ccw/src}/commands/install.ts +0 -0
  799. /package/{src → ccw/src}/commands/list.ts +0 -0
  800. /package/{src → ccw/src}/commands/memory.ts +0 -0
  801. /package/{src → ccw/src}/commands/serve.ts +0 -0
  802. /package/{src → ccw/src}/commands/session-path-resolver.ts +0 -0
  803. /package/{src → ccw/src}/commands/session.ts +0 -0
  804. /package/{src → ccw/src}/commands/stop.ts +0 -0
  805. /package/{src → ccw/src}/commands/tool.ts +0 -0
  806. /package/{src → ccw/src}/commands/uninstall.ts +0 -0
  807. /package/{src → ccw/src}/commands/upgrade.ts +0 -0
  808. /package/{src → ccw/src}/commands/view.ts +0 -0
  809. /package/{src → ccw/src}/config/storage-paths.ts +0 -0
  810. /package/{src → ccw/src}/core/cache-manager.ts +0 -0
  811. /package/{src → ccw/src}/core/claude-freshness.ts +0 -0
  812. /package/{src → ccw/src}/core/core-memory-store.ts +0 -0
  813. /package/{src → ccw/src}/core/dashboard-generator-patch.ts +0 -0
  814. /package/{src → ccw/src}/core/dashboard-generator.ts +0 -0
  815. /package/{src → ccw/src}/core/data-aggregator.ts +0 -0
  816. /package/{src → ccw/src}/core/history-importer.ts +0 -0
  817. /package/{src → ccw/src}/core/manifest.ts +0 -0
  818. /package/{src → ccw/src}/core/memory-embedder-bridge.ts +0 -0
  819. /package/{src → ccw/src}/core/memory-store.ts +0 -0
  820. /package/{src → ccw/src}/core/routes/ccw-routes.ts +0 -0
  821. /package/{src → ccw/src}/core/routes/codexlens-routes.ts +0 -0
  822. /package/{src → ccw/src}/core/routes/core-memory-routes.ts +0 -0
  823. /package/{src → ccw/src}/core/routes/files-routes.ts +0 -0
  824. /package/{src → ccw/src}/core/routes/graph-routes.md +0 -0
  825. /package/{src → ccw/src}/core/routes/graph-routes.ts +0 -0
  826. /package/{src → ccw/src}/core/routes/help-routes.ts +0 -0
  827. /package/{src → ccw/src}/core/routes/hooks-routes.ts +0 -0
  828. /package/{src → ccw/src}/core/routes/mcp-routes.ts +0 -0
  829. /package/{src → ccw/src}/core/routes/mcp-routes.ts.backup +0 -0
  830. /package/{src → ccw/src}/core/routes/mcp-templates-db.ts +0 -0
  831. /package/{src → ccw/src}/core/routes/memory-routes.ts +0 -0
  832. /package/{src → ccw/src}/core/routes/session-routes.ts +0 -0
  833. /package/{src → ccw/src}/core/routes/status-routes.ts +0 -0
  834. /package/{src → ccw/src}/core/routes/system-routes.ts +0 -0
  835. /package/{src → ccw/src}/core/server.ts +0 -0
  836. /package/{src → ccw/src}/core/session-clustering-service.ts +0 -0
  837. /package/{src → ccw/src}/core/session-scanner.ts +0 -0
  838. /package/{src → ccw/src}/core/websocket.ts +0 -0
  839. /package/{src → ccw/src}/index.ts +0 -0
  840. /package/{src → ccw/src}/mcp-server/index.ts +0 -0
  841. /package/{src → ccw/src}/templates/assets/css/github-dark.min.css +0 -0
  842. /package/{src → ccw/src}/templates/assets/css/github.min.css +0 -0
  843. /package/{src → ccw/src}/templates/assets/js/cytoscape.min.js +0 -0
  844. /package/{src → ccw/src}/templates/assets/js/d3.min.js +0 -0
  845. /package/{src → ccw/src}/templates/assets/js/highlight.min.js +0 -0
  846. /package/{src → ccw/src}/templates/assets/js/lucide.min.js +0 -0
  847. /package/{src → ccw/src}/templates/assets/js/marked.min.js +0 -0
  848. /package/{src → ccw/src}/templates/assets/js/tailwind.js +0 -0
  849. /package/{src → ccw/src}/templates/dashboard-css/01-base.css +0 -0
  850. /package/{src → ccw/src}/templates/dashboard-css/02-session.css +0 -0
  851. /package/{src → ccw/src}/templates/dashboard-css/03-tasks.css +0 -0
  852. /package/{src → ccw/src}/templates/dashboard-css/04-lite-tasks.css +0 -0
  853. /package/{src → ccw/src}/templates/dashboard-css/05-context.css +0 -0
  854. /package/{src → ccw/src}/templates/dashboard-css/06-cards.css +0 -0
  855. /package/{src → ccw/src}/templates/dashboard-css/07-managers.css +0 -0
  856. /package/{src → ccw/src}/templates/dashboard-css/08-review.css +0 -0
  857. /package/{src → ccw/src}/templates/dashboard-css/09-explorer.css +0 -0
  858. /package/{src → ccw/src}/templates/dashboard-css/10-cli-status.css +0 -0
  859. /package/{src → ccw/src}/templates/dashboard-css/11-cli-history.css +0 -0
  860. /package/{src → ccw/src}/templates/dashboard-css/12-cli-legacy.css +0 -0
  861. /package/{src → ccw/src}/templates/dashboard-css/13-cli-ccw.css +0 -0
  862. /package/{src → ccw/src}/templates/dashboard-css/14-cli-modals.css +0 -0
  863. /package/{src → ccw/src}/templates/dashboard-css/15-cli-endpoints.css +0 -0
  864. /package/{src → ccw/src}/templates/dashboard-css/16-cli-session.css +0 -0
  865. /package/{src → ccw/src}/templates/dashboard-css/17-cli-conversation.css +0 -0
  866. /package/{src → ccw/src}/templates/dashboard-css/18-cli-settings.css +0 -0
  867. /package/{src → ccw/src}/templates/dashboard-css/19-cli-native-session.css +0 -0
  868. /package/{src → ccw/src}/templates/dashboard-css/20-cli-taskqueue.css +0 -0
  869. /package/{src → ccw/src}/templates/dashboard-css/21-cli-toolmgmt.css +0 -0
  870. /package/{src → ccw/src}/templates/dashboard-css/22-cli-semantic.css +0 -0
  871. /package/{src → ccw/src}/templates/dashboard-css/23-memory.css +0 -0
  872. /package/{src → ccw/src}/templates/dashboard-css/24-prompt-history.css +0 -0
  873. /package/{src → ccw/src}/templates/dashboard-css/25-skills-rules.css +0 -0
  874. /package/{src → ccw/src}/templates/dashboard-css/26-claude-manager.css +0 -0
  875. /package/{src → ccw/src}/templates/dashboard-css/27-graph-explorer.css +0 -0
  876. /package/{src → ccw/src}/templates/dashboard-css/28-mcp-manager.css +0 -0
  877. /package/{src → ccw/src}/templates/dashboard-css/29-help.css +0 -0
  878. /package/{src → ccw/src}/templates/dashboard-css/30-core-memory.css +0 -0
  879. /package/{src → ccw/src}/templates/dashboard-js/api.js +0 -0
  880. /package/{src → ccw/src}/templates/dashboard-js/components/_conflict_tab.js +0 -0
  881. /package/{src → ccw/src}/templates/dashboard-js/components/_exp_helpers.js +0 -0
  882. /package/{src → ccw/src}/templates/dashboard-js/components/_review_tab.js +0 -0
  883. /package/{src → ccw/src}/templates/dashboard-js/components/carousel.js +0 -0
  884. /package/{src → ccw/src}/templates/dashboard-js/components/cli-history.js +0 -0
  885. /package/{src → ccw/src}/templates/dashboard-js/components/cli-status.js +0 -0
  886. /package/{src → ccw/src}/templates/dashboard-js/components/flowchart.js +0 -0
  887. /package/{src → ccw/src}/templates/dashboard-js/components/global-notifications.js +0 -0
  888. /package/{src → ccw/src}/templates/dashboard-js/components/hook-manager.js +0 -0
  889. /package/{src → ccw/src}/templates/dashboard-js/components/index-manager.js +0 -0
  890. /package/{src → ccw/src}/templates/dashboard-js/components/mcp-manager.js +0 -0
  891. /package/{src → ccw/src}/templates/dashboard-js/components/modals.js +0 -0
  892. /package/{src → ccw/src}/templates/dashboard-js/components/navigation.js +0 -0
  893. /package/{src → ccw/src}/templates/dashboard-js/components/notifications.js +0 -0
  894. /package/{src → ccw/src}/templates/dashboard-js/components/sidebar.js +0 -0
  895. /package/{src → ccw/src}/templates/dashboard-js/components/storage-manager.js +0 -0
  896. /package/{src → ccw/src}/templates/dashboard-js/components/tabs-context.js +0 -0
  897. /package/{src → ccw/src}/templates/dashboard-js/components/tabs-other.js +0 -0
  898. /package/{src → ccw/src}/templates/dashboard-js/components/task-drawer-core.js +0 -0
  899. /package/{src → ccw/src}/templates/dashboard-js/components/task-drawer-renderers.js +0 -0
  900. /package/{src → ccw/src}/templates/dashboard-js/components/task-queue-sidebar.js +0 -0
  901. /package/{src → ccw/src}/templates/dashboard-js/components/theme.js +0 -0
  902. /package/{src → ccw/src}/templates/dashboard-js/components/version-check.js +0 -0
  903. /package/{src → ccw/src}/templates/dashboard-js/help-i18n.js +0 -0
  904. /package/{src → ccw/src}/templates/dashboard-js/main.js +0 -0
  905. /package/{src → ccw/src}/templates/dashboard-js/state.js +0 -0
  906. /package/{src → ccw/src}/templates/dashboard-js/utils.js +0 -0
  907. /package/{src → ccw/src}/templates/dashboard-js/views/codexlens-manager.js +0 -0
  908. /package/{src → ccw/src}/templates/dashboard-js/views/core-memory-clusters.js +0 -0
  909. /package/{src → ccw/src}/templates/dashboard-js/views/core-memory.js +0 -0
  910. /package/{src → ccw/src}/templates/dashboard-js/views/explorer.js +0 -0
  911. /package/{src → ccw/src}/templates/dashboard-js/views/fix-session.js +0 -0
  912. /package/{src → ccw/src}/templates/dashboard-js/views/graph-explorer.js +0 -0
  913. /package/{src → ccw/src}/templates/dashboard-js/views/help.js +0 -0
  914. /package/{src → ccw/src}/templates/dashboard-js/views/history.js +0 -0
  915. /package/{src → ccw/src}/templates/dashboard-js/views/home.js +0 -0
  916. /package/{src → ccw/src}/templates/dashboard-js/views/hook-manager.js +0 -0
  917. /package/{src → ccw/src}/templates/dashboard-js/views/lite-tasks.js +0 -0
  918. /package/{src → ccw/src}/templates/dashboard-js/views/mcp-manager.js +0 -0
  919. /package/{src → ccw/src}/templates/dashboard-js/views/mcp-manager.js.backup +0 -0
  920. /package/{src → ccw/src}/templates/dashboard-js/views/mcp-manager.js.new +0 -0
  921. /package/{src → ccw/src}/templates/dashboard-js/views/memory.js +0 -0
  922. /package/{src → ccw/src}/templates/dashboard-js/views/project-overview.js +0 -0
  923. /package/{src → ccw/src}/templates/dashboard-js/views/prompt-history.js +0 -0
  924. /package/{src → ccw/src}/templates/dashboard-js/views/review-session.js +0 -0
  925. /package/{src → ccw/src}/templates/dashboard-js/views/session-detail.js +0 -0
  926. /package/{src → ccw/src}/templates/dashboard.html +0 -0
  927. /package/{src → ccw/src}/templates/hooks-config-example.json +0 -0
  928. /package/{src → ccw/src}/templates/review-cycle-dashboard.html +0 -0
  929. /package/{src → ccw/src}/templates/workflow-dashboard.html +0 -0
  930. /package/{src → ccw/src}/tools/classify-folders.ts +0 -0
  931. /package/{src → ccw/src}/tools/cli-config-manager.ts +0 -0
  932. /package/{src → ccw/src}/tools/cli-history-store.ts +0 -0
  933. /package/{src → ccw/src}/tools/codex-lens.ts +0 -0
  934. /package/{src → ccw/src}/tools/convert-tokens-to-css.ts +0 -0
  935. /package/{src → ccw/src}/tools/core-memory.ts +0 -0
  936. /package/{src → ccw/src}/tools/detect-changed-modules.ts +0 -0
  937. /package/{src → ccw/src}/tools/discover-design-files.ts +0 -0
  938. /package/{src → ccw/src}/tools/edit-file.ts +0 -0
  939. /package/{src → ccw/src}/tools/generate-module-docs.ts +0 -0
  940. /package/{src → ccw/src}/tools/get-modules-by-depth.ts +0 -0
  941. /package/{src → ccw/src}/tools/index.ts +0 -0
  942. /package/{src → ccw/src}/tools/native-session-discovery.ts +0 -0
  943. /package/{src → ccw/src}/tools/notifier.ts +0 -0
  944. /package/{src → ccw/src}/tools/read-file.ts +0 -0
  945. /package/{src → ccw/src}/tools/resume-strategy.ts +0 -0
  946. /package/{src → ccw/src}/tools/session-content-parser.ts +0 -0
  947. /package/{src → ccw/src}/tools/session-manager.ts +0 -0
  948. /package/{src → ccw/src}/tools/smart-context.ts +0 -0
  949. /package/{src → ccw/src}/tools/smart-search.ts +0 -0
  950. /package/{src → ccw/src}/tools/smart-search.ts.backup +0 -0
  951. /package/{src → ccw/src}/tools/storage-manager.ts +0 -0
  952. /package/{src → ccw/src}/tools/ui-generate-preview.js +0 -0
  953. /package/{src → ccw/src}/tools/ui-instantiate-prototypes.js +0 -0
  954. /package/{src → ccw/src}/tools/update-module-claude.js +0 -0
  955. /package/{src → ccw/src}/tools/write-file.ts +0 -0
  956. /package/{src → ccw/src}/types/config.ts +0 -0
  957. /package/{src → ccw/src}/types/index.ts +0 -0
  958. /package/{src → ccw/src}/types/session.ts +0 -0
  959. /package/{src → ccw/src}/types/tool.ts +0 -0
  960. /package/{src → ccw/src}/utils/browser-launcher.ts +0 -0
  961. /package/{src → ccw/src}/utils/file-utils.ts +0 -0
  962. /package/{src → ccw/src}/utils/path-resolver.ts +0 -0
  963. /package/{src → ccw/src}/utils/path-validator.ts +0 -0
  964. /package/{src → ccw/src}/utils/ui.ts +0 -0
@@ -0,0 +1,1150 @@
1
+ ---
2
+ name: animation-extract
3
+ description: Extract animation and transition patterns from prompt inference and image references for design system documentation
4
+ argument-hint: "[--design-id <id>] [--session <id>] [--images "<glob>"] [--focus "<types>"] [--interactive] [--refine]"
5
+ allowed-tools: TodoWrite(*), Read(*), Write(*), Glob(*), Bash(*), AskUserQuestion(*), Task(ui-design-agent)
6
+ ---
7
+
8
+ # Animation Extraction Command
9
+
10
+ ## Overview
11
+
12
+ Extract animation and transition patterns from prompt inference and image references using AI analysis. Directly generates production-ready animation systems with complete `animation-tokens.json`.
13
+
14
+ **Strategy**: AI-Driven Animation Specification with Visual Previews
15
+
16
+ - **Dual Modes**: Exploration mode (generate from scratch) or Refinement mode (fine-tune existing)
17
+ - **Prompt Inference**: AI analyzes design intent from textual descriptions and image references
18
+ - **Question Generation**: Agent generates context-aware specification questions with visual previews
19
+ - **Refinement Options**: Fine-tune timing, easing, context variations, and interaction intensity
20
+ - **Visual Previews**: Timeline representations, easing curve ASCII art, and animation sequence diagrams
21
+ - **Flexible Input**: Image references and prompts for animation specification
22
+ - **Optional Interaction**: User answers questions only when `--interactive` flag present
23
+ - **Production-Ready**: CSS var() format, WCAG-compliant, semantic naming
24
+ - **Default Behavior**: Non-interactive mode uses inferred patterns + best practices
25
+
26
+ ## Execution Process
27
+
28
+ ```
29
+ Input Parsing:
30
+ ├─ Parse flags: --design-id, --session, --images, --focus, --interactive, --refine
31
+ └─ Decision (mode detection):
32
+ ├─ --refine flag → Refinement Mode
33
+ └─ No --refine → Exploration Mode
34
+
35
+ Phase 0: Setup & Input Validation
36
+ ├─ Step 1: Detect input mode & base path
37
+ ├─ Step 2: Prepare image references (if available)
38
+ ├─ Step 3: Load design tokens context
39
+ └─ Step 4: Memory check (skip if exists)
40
+
41
+ Phase 1: Animation Specification Generation
42
+ ├─ Step 1: Load project context
43
+ ├─ Step 2: Generate animation specification options (Agent Task 1)
44
+ │ └─ Decision:
45
+ │ ├─ Exploration Mode → Generate specification questions
46
+ │ └─ Refinement Mode → Generate refinement options
47
+ └─ Step 3: Verify options file created
48
+
49
+ Phase 1.5: User Confirmation (Optional)
50
+ └─ Decision (--interactive flag):
51
+ ├─ --interactive present → Present options, capture selection
52
+ └─ No --interactive → Skip to Phase 2
53
+
54
+ Phase 2: Animation System Generation
55
+ ├─ Step 1: Load user selection or use defaults
56
+ ├─ Step 2: Create output directory
57
+ └─ Step 3: Launch animation generation task (Agent Task 2)
58
+
59
+ Phase 3: Verify Output
60
+ ├─ Step 1: Check files created
61
+ └─ Step 2: Verify file sizes
62
+ ```
63
+
64
+ ## Phase 0: Setup & Input Validation
65
+
66
+ ### Step 1: Detect Input Mode & Base Path
67
+
68
+ ```bash
69
+ # Detect input source
70
+ # Priority: --images → visual references available | no --images → prompt-only mode
71
+
72
+ # Parse images if provided (glob pattern)
73
+ IF --images:
74
+ # Check if glob pattern matches any files
75
+ image_files = bash(find . -path "{--images}" -type f 2>/dev/null | head -10)
76
+ IF image_files:
77
+ has_images = true
78
+ image_count = bash(find . -path "{--images}" -type f 2>/dev/null | wc -l)
79
+ ELSE:
80
+ has_images = false
81
+ REPORT: "⚠️ No image files found matching pattern: {--images}"
82
+ ELSE:
83
+ has_images = false
84
+
85
+ # Parse animation focus (if provided)
86
+ IF --focus:
87
+ focus_types = split(--focus, ",") # e.g., "transitions,hover,scroll"
88
+ ELSE:
89
+ focus_types = ["all"] # Extract all animation types
90
+
91
+ # Check interactive mode flag
92
+ interactive_mode = --interactive OR false
93
+
94
+ # Check refinement mode flag
95
+ refine_mode = --refine OR false
96
+
97
+ IF refine_mode:
98
+ REPORT: "🔧 Refinement mode enabled: Will refine existing animation system"
99
+ ELSE:
100
+ REPORT: "✨ Exploration mode: Will generate animation system from scratch"
101
+
102
+ # Determine base path with priority: --design-id > --session > auto-detect
103
+ if [ -n "$DESIGN_ID" ]; then
104
+ # Exact match by design ID
105
+ relative_path=$(find .workflow -name "${DESIGN_ID}" -type d -print -quit)
106
+ elif [ -n "$SESSION_ID" ]; then
107
+ # Latest in session
108
+ 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)
109
+ else
110
+ # Latest globally
111
+ relative_path=$(find .workflow -name "design-run-*" -type d -printf "%T@ %p\n" 2>/dev/null | sort -nr | head -1 | cut -d' ' -f2)
112
+ fi
113
+
114
+ # Validate and convert to absolute path
115
+ if [ -z "$relative_path" ] || [ ! -d "$relative_path" ]; then
116
+ echo "❌ ERROR: Design run not found"
117
+ echo "💡 HINT: Run '/workflow:ui-design:list' to see available design runs"
118
+ exit 1
119
+ fi
120
+
121
+ base_path=$(cd "$relative_path" && pwd)
122
+ bash(echo "✓ Base path: $base_path")
123
+ ```
124
+
125
+ ### Step 2: Prepare Image References (If Available)
126
+
127
+ ```bash
128
+ # Load image references if provided
129
+ IF has_images:
130
+ REPORT: "🔍 Loading image references for animation analysis"
131
+ REPORT: " Pattern: {--images}"
132
+ REPORT: " Found: {image_count} image(s)"
133
+
134
+ bash(mkdir -p {base_path}/.intermediates/animation-analysis)
135
+
136
+ # Store image paths for agent reference
137
+ image_list = []
138
+ FOR image_file IN image_files:
139
+ image_list.append(image_file)
140
+ REPORT: " • {image_file}"
141
+
142
+ # Save image references metadata
143
+ image_metadata = {
144
+ "pattern": --images,
145
+ "count": image_count,
146
+ "files": image_list,
147
+ "timestamp": current_timestamp()
148
+ }
149
+ Write({base_path}/.intermediates/animation-analysis/image-references.json, JSON.stringify(image_metadata, indent=2))
150
+
151
+ REPORT: " ✅ Image references prepared for AI analysis"
152
+ ELSE:
153
+ REPORT: "ℹ️ No image references provided - using prompt-only mode"
154
+ ```
155
+
156
+ **Image Analysis Strategy**:
157
+ - Agent analyzes visual motion cues from reference images
158
+ - Infers animation patterns from UI element positioning and design style
159
+ - Generates context-aware animation specifications based on visual analysis
160
+
161
+
162
+
163
+ ### Step 3: Load Design Tokens Context
164
+
165
+ ```bash
166
+ # Load existing design tokens for duration/easing alignment
167
+ IF exists({base_path}/style-extraction/style-1/design-tokens.json):
168
+ design_tokens = Read({base_path}/style-extraction/style-1/design-tokens.json)
169
+ has_design_context = true
170
+ ELSE:
171
+ has_design_context = false
172
+ REPORT: "ℹ️ No design tokens found - animation tokens will use standalone values"
173
+
174
+ # Create output directory
175
+ bash(mkdir -p {base_path}/animation-extraction)
176
+ ```
177
+
178
+ ### Step 4: Memory Check
179
+
180
+ ```bash
181
+ # Check if output already exists
182
+ bash(test -f {base_path}/animation-extraction/animation-tokens.json && echo "exists")
183
+ IF exists: SKIP to completion
184
+ ```
185
+
186
+ ---
187
+
188
+ **Phase 0 Output**: `input_mode`, `base_path`, `has_images`, `image_list[]`, `focus_types[]`, `has_design_context`, `interactive_mode`, `refine_mode`
189
+
190
+ ## Phase 1: Animation Specification Generation
191
+
192
+ ### Step 1: Load Project Context
193
+
194
+ ```bash
195
+ # Load brainstorming context if available
196
+ bash(test -f {base_path}/.brainstorming/role-analysis.md && cat it)
197
+
198
+ # Load image references if available
199
+ IF has_images:
200
+ image_references = Read({base_path}/.intermediates/animation-analysis/image-references.json)
201
+ REPORT: "📸 Image references loaded: {image_references.count} file(s)"
202
+ ```
203
+
204
+ ### Step 2: Generate Animation Specification Options (Agent Task 1)
205
+
206
+ **Executor**: `Task(ui-design-agent)`
207
+
208
+ **Conditional Logic**: Branch based on `refine_mode` flag
209
+
210
+ ```javascript
211
+ IF NOT refine_mode:
212
+ // EXPLORATION MODE (default)
213
+ Task(ui-design-agent): `
214
+ [ANIMATION_SPECIFICATION_GENERATION_TASK]
215
+ Generate context-aware animation specification questions
216
+
217
+ SESSION: {session_id} | MODE: explore | BASE_PATH: {base_path}
218
+
219
+ ## Input Analysis
220
+ - Focus types: {focus_types.join(", ")}
221
+ - Design context: {has_design_context ? "Available" : "None"}
222
+ - Image references: {has_images ? "Available (" + image_count + " files)" : "None"}
223
+ ${has_images ? "- Image Data: Read from .intermediates/animation-analysis/image-references.json" : ""}
224
+
225
+ ## Analysis Rules
226
+ - Analyze image references (if available) to infer animation patterns from visual cues
227
+ - Generate questions covering timing, easing, interactions, and motion patterns
228
+ - Based on focus_types, include relevant categories:
229
+ * "all" or "transitions": timing_scale, easing_philosophy
230
+ * "all" or "interactions" or "hover": button_interactions, card_interactions, input_interactions
231
+ * "all" or "page": page_transitions
232
+ * "all" or "loading": loading_states
233
+ * "all" or "scroll": scroll_animations
234
+
235
+ ## Generate Questions
236
+ For each applicable category, create question with:
237
+ 1. **Category ID** (e.g., "timing_scale", "button_interactions")
238
+ 2. **Question text** (in Chinese, clear and concise)
239
+ 3. **Options** (2-5 options per question):
240
+ - Option key (a, b, c, d, e)
241
+ - Option label (brief description)
242
+ - Option details (detailed explanation with technical specs)
243
+ - Technical specs (duration values, easing curves, transform values)
244
+ - Visual preview (timeline representation or easing curve ASCII art)
245
+
246
+ ## Output
247
+ Write single JSON file: {base_path}/.intermediates/animation-analysis/analysis-options.json
248
+
249
+ Use schema:
250
+ {
251
+ "metadata": {
252
+ "generated_at": "<timestamp>",
253
+ "focus_types": [...],
254
+ "total_questions": <count>,
255
+ "has_css_data": <boolean>
256
+ },
257
+ "specification_options": [
258
+ {
259
+ "id": 1,
260
+ "category": "timing_scale",
261
+ "question": "您的设计需要什么样的过渡速度?",
262
+ "options": [
263
+ {
264
+ "key": "a",
265
+ "label": "快速敏捷",
266
+ "details": "100-200ms 过渡,适合工具型应用和即时反馈场景",
267
+ "duration_values": {"fast": "100ms", "normal": "150ms", "slow": "200ms"},
268
+ "visual_preview": {
269
+ "timeline": "0ms ━━━━━━━━━━ 150ms",
270
+ "description": "快速完成,几乎瞬时反馈"
271
+ }
272
+ },
273
+ ...
274
+ ]
275
+ },
276
+ {
277
+ "id": 2,
278
+ "category": "easing_philosophy",
279
+ "question": "您偏好什么样的动画缓动曲线?",
280
+ "options": [
281
+ {
282
+ "key": "a",
283
+ "label": "自然缓动",
284
+ "details": "标准 ease-out,模拟自然减速",
285
+ "easing_curves": {
286
+ "ease-in": "cubic-bezier(0.4, 0, 1, 1)",
287
+ "ease-out": "cubic-bezier(0, 0, 0.2, 1)",
288
+ "ease-in-out": "cubic-bezier(0.4, 0, 0.2, 1)"
289
+ },
290
+ "visual_preview": {
291
+ "curve_art": "│ ╱─\n│ ╱\n│ ╱\n│╱\n└─────",
292
+ "description": "快速启动,平滑减速"
293
+ }
294
+ },
295
+ ...
296
+ ]
297
+ },
298
+ ...
299
+ ]
300
+ }
301
+
302
+ CRITICAL: Use Write() tool immediately after generating complete JSON
303
+ `
304
+
305
+ ELSE:
306
+ // REFINEMENT MODE
307
+ Task(ui-design-agent): `
308
+ [ANIMATION_REFINEMENT_OPTIONS_TASK]
309
+ Generate refinement options for existing animation system
310
+
311
+ SESSION: {session_id} | MODE: refine | BASE_PATH: {base_path}
312
+
313
+ ## Load Existing Animation System
314
+ - Existing tokens: Read from {base_path}/animation-extraction/animation-tokens.json
315
+ - Focus types: {focus_types.join(", ")}
316
+ - Design context: {has_design_context ? "Available" : "None"}
317
+ ${has_images ? "- Image Data: Read from .intermediates/animation-analysis/image-references.json" : ""}
318
+
319
+ ## Refinement Categories
320
+ Generate 8-12 refinement options across these categories:
321
+
322
+ 1. **Timing Adjustments** (2-3 options):
323
+ - Duration scale: Faster timing across the board ↔ Slower, more deliberate timing
324
+ - Specific categories: Accelerate interactions only ↔ Extend page transitions
325
+ - Micro-timing: Adjust stagger delays ↔ Sequential animation gaps
326
+
327
+ 2. **Easing Fine-Tuning** (2-3 options):
328
+ - Curve intensity: Sharper, snappier curves ↔ Softer, smoother curves
329
+ - Category-specific: Bouncier interactions ↔ Linear state changes
330
+ - Spring physics: Adjust bounce/damping parameters
331
+
332
+ 3. **Context-Specific Variations** (2-3 options):
333
+ - Reduced motion: Adjust reduced-motion fallbacks
334
+ - Mobile optimization: Shorter durations for touch interactions
335
+ - Component-specific: Different hover styles for buttons vs cards
336
+
337
+ 4. **Interaction Intensity** (1-2 options):
338
+ - Transform magnitude: Subtle movements (2-4px) ↔ Dramatic movements (8-12px)
339
+ - Scale adjustments: Minimal scale changes ↔ Bold scale emphasis
340
+ - Opacity ranges: Partial fades ↔ Full visibility transitions
341
+
342
+ ## Generate Refinement Options
343
+ For each category, create option with:
344
+ 1. **Option ID** (sequential number)
345
+ 2. **Category** (timing_adjustments, easing_tuning, context_variations, interaction_intensity)
346
+ 3. **Label** (brief Chinese description, e.g., "加快整体节奏")
347
+ 4. **Description** (detailed explanation of changes)
348
+ 5. **Impact Scope** (which tokens will be modified)
349
+ 6. **Technical Changes** (specific value adjustments)
350
+ 7. **Before/After Preview** (show current vs proposed values)
351
+
352
+ ## Output
353
+ Write single JSON file: {base_path}/.intermediates/animation-analysis/refinement-options.json
354
+
355
+ Use schema:
356
+ {
357
+ "metadata": {
358
+ "generated_at": "<timestamp>",
359
+ "mode": "refinement",
360
+ "existing_tokens_loaded": true,
361
+ "total_refinements": <count>
362
+ },
363
+ "current_animation_system": {
364
+ // Copy from animation-tokens.json for reference
365
+ },
366
+ "refinement_options": [
367
+ {
368
+ "id": 1,
369
+ "category": "timing_adjustments",
370
+ "label": "加快整体动画节奏",
371
+ "description": "将所有 duration 值减少 30%,使界面响应更快速",
372
+ "impact_scope": "duration.fast, duration.normal, duration.slow",
373
+ "technical_changes": {
374
+ "duration.fast": {"from": "150ms", "to": "105ms"},
375
+ "duration.normal": {"from": "300ms", "to": "210ms"},
376
+ "duration.slow": {"from": "500ms", "to": "350ms"}
377
+ },
378
+ "preview": {
379
+ "before": "Normal button hover: 150ms",
380
+ "after": "Faster button hover: 105ms"
381
+ }
382
+ },
383
+ ...
384
+ ]
385
+ }
386
+
387
+ CRITICAL: Use Write() tool immediately after generating complete JSON
388
+ `
389
+ ```
390
+
391
+ ### Step 3: Verify Options File Created
392
+
393
+ ```bash
394
+ IF NOT refine_mode:
395
+ # Exploration mode: Check for analysis-options.json
396
+ bash(test -f {base_path}/.intermediates/animation-analysis/analysis-options.json && echo "created")
397
+ bash(cat {base_path}/.intermediates/animation-analysis/analysis-options.json | grep -q "specification_options" && echo "valid")
398
+ ELSE:
399
+ # Refinement mode: Check for refinement-options.json
400
+ bash(test -f {base_path}/.intermediates/animation-analysis/refinement-options.json && echo "created")
401
+ bash(cat {base_path}/.intermediates/animation-analysis/refinement-options.json | grep -q "refinement_options" && echo "valid")
402
+ ```
403
+
404
+ **Output**:
405
+ - Exploration mode: `analysis-options.json` with animation specification questions
406
+ - Refinement mode: `refinement-options.json` with refinement options
407
+
408
+ ---
409
+
410
+ **Phase 1 Output**:
411
+ - Exploration mode: `analysis-options.json` with generated specification questions
412
+ - Refinement mode: `refinement-options.json` with refinement options
413
+
414
+ ## Phase 1.5: User Confirmation (Optional - Triggered by --interactive)
415
+
416
+ **Purpose**: Allow user to answer animation specification questions (exploration) or select refinement options (refinement) before generating tokens
417
+
418
+ **Trigger Condition**: Execute this phase ONLY if `--interactive` flag is present
419
+
420
+ ### Step 1: Check Interactive Flag
421
+
422
+ ```bash
423
+ # Skip this entire phase if --interactive flag is not present
424
+ IF NOT --interactive:
425
+ SKIP to Phase 2
426
+ REPORT: "ℹ️ Non-interactive mode: Using CSS extraction + default animation preferences"
427
+
428
+ REPORT: "🎯 Interactive mode enabled: User answers required"
429
+ ```
430
+
431
+ ### Step 2: Load and Present Options
432
+
433
+ ```bash
434
+ # Read options file based on mode
435
+ IF NOT refine_mode:
436
+ # Exploration mode
437
+ options = Read({base_path}/.intermediates/animation-analysis/analysis-options.json)
438
+ specification_options = options.specification_options
439
+ ELSE:
440
+ # Refinement mode
441
+ options = Read({base_path}/.intermediates/animation-analysis/refinement-options.json)
442
+ refinement_options = options.refinement_options
443
+ ```
444
+
445
+ ### Step 3: Present Options to User
446
+
447
+ **Conditional Display**: Branch based on `refine_mode` flag
448
+
449
+ ```
450
+ IF NOT refine_mode:
451
+ // EXPLORATION MODE
452
+ 📋 Animation Specification Questions
453
+
454
+ We've generated {options.metadata.total_questions} questions to define your animation system.
455
+ Please answer each question to customize the animation behavior.
456
+
457
+ {FOR each question in specification_options:
458
+ ═══════════════════════════════════════════════════
459
+ Question {question.id}: {question.question}
460
+ Category: {question.category}
461
+ ═══════════════════════════════════════════════════
462
+
463
+ {FOR each option in question.options:
464
+ {option.key}) {option.label}
465
+ {option.details}
466
+
467
+ ${option.visual_preview ? "Preview:\n " + option.visual_preview.timeline || option.visual_preview.curve_art || option.visual_preview.animation_sequence : ""}
468
+ ${option.visual_preview ? " " + option.visual_preview.description : ""}
469
+
470
+ ${option.duration_values ? "Durations: " + JSON.stringify(option.duration_values) : ""}
471
+ ${option.easing_curves ? "Easing: " + JSON.stringify(option.easing_curves) : ""}
472
+ ${option.transform_value ? "Transform: " + option.transform_value : ""}
473
+ }
474
+
475
+ ═══════════════════════════════════════════════════
476
+ }
477
+
478
+ ELSE:
479
+ // REFINEMENT MODE
480
+ 🔧 Animation System Refinement Options
481
+
482
+ We've generated {options.metadata.total_refinements} refinement options to fine-tune your animation system.
483
+ Select which refinements to apply (can select multiple).
484
+
485
+ {FOR each refinement in refinement_options:
486
+ ═══════════════════════════════════════════════════
487
+ Option {refinement.id}: {refinement.label}
488
+ Category: {refinement.category}
489
+ ═══════════════════════════════════════════════════
490
+
491
+ Description: {refinement.description}
492
+ Impact Scope: {refinement.impact_scope}
493
+
494
+ Technical Changes:
495
+ {FOR each token, changes IN refinement.technical_changes:
496
+ • {token}:
497
+ Before: {changes.from}
498
+ After: {changes.to}
499
+ }
500
+
501
+ Preview:
502
+ {refinement.preview.before} → {refinement.preview.after}
503
+
504
+ ═══════════════════════════════════════════════════
505
+ }
506
+ ```
507
+
508
+ ### Step 4: Capture User Selection
509
+
510
+ **Conditional Interaction**: Branch based on `refine_mode` flag
511
+
512
+ ```javascript
513
+ IF NOT refine_mode:
514
+ // EXPLORATION MODE - Single selection per question
515
+ user_answers = {}
516
+
517
+ FOR each question IN specification_options:
518
+ AskUserQuestion({
519
+ questions: [{
520
+ question: question.question,
521
+ header: question.category,
522
+ multiSelect: false, // Single selection per question
523
+ options: [
524
+ {FOR each option IN question.options:
525
+ label: "{option.key}) {option.label}",
526
+ description: option.details
527
+ }
528
+ ]
529
+ }]
530
+ })
531
+
532
+ // Parse user response (single selection, e.g., "a) Fast & Snappy")
533
+ selected_option_text = user_answer
534
+
535
+ // Check for user cancellation
536
+ IF selected_option_text == null:
537
+ REPORT: "⚠️ User canceled selection. Using default animation preferences."
538
+ EXIT Phase 1.5
539
+
540
+ // Extract option key from selection text
541
+ match = selected_option_text.match(/^([a-e])\)/)
542
+ IF match:
543
+ selected_key = match[1]
544
+ user_answers[question.category] = selected_key
545
+ REPORT: "✅ {question.category}: Selected option {selected_key}"
546
+ ELSE:
547
+ ERROR: "Invalid selection format. Expected 'a) ...' format"
548
+ EXIT workflow
549
+
550
+ REPORT: "✅ Collected {Object.keys(user_answers).length} animation preferences"
551
+
552
+ ELSE:
553
+ // REFINEMENT MODE - Multi-selection of refinements
554
+ AskUserQuestion({
555
+ questions: [{
556
+ question: "Which refinement(s) would you like to apply to your animation system?",
557
+ header: "Refinements",
558
+ multiSelect: true, // Can select multiple refinements
559
+ options: [
560
+ {FOR each refinement IN refinement_options:
561
+ label: "{refinement.id}. {refinement.label}",
562
+ description: "{refinement.description} (Affects: {refinement.impact_scope})"
563
+ }
564
+ ]
565
+ }]
566
+ })
567
+
568
+ // Parse user response (multi-selection)
569
+ selected_refinements = user_answer
570
+
571
+ // Check for user cancellation
572
+ IF selected_refinements == null:
573
+ REPORT: "⚠️ User canceled selection. No refinements will be applied."
574
+ EXIT Phase 1.5
575
+
576
+ // Extract refinement IDs
577
+ selected_ids = []
578
+ FOR each selection IN selected_refinements:
579
+ match = selection.match(/^(\d+)\./)
580
+ IF match:
581
+ selected_ids.push(parseInt(match[1]))
582
+
583
+ REPORT: "✅ Selected {selected_ids.length} refinement(s) to apply"
584
+ ```
585
+
586
+ ### Step 5: Update Options File with User Selection
587
+
588
+ ```bash
589
+ IF NOT refine_mode:
590
+ # EXPLORATION MODE - Update analysis-options.json
591
+ options.user_selection = {
592
+ "selected_at": "{current_timestamp}",
593
+ "session_id": "{session_id}",
594
+ "answers": user_answers // {category: selected_key}
595
+ }
596
+
597
+ # Write updated file back
598
+ Write({base_path}/.intermediates/animation-analysis/analysis-options.json, JSON.stringify(options, indent=2))
599
+
600
+ # Verify
601
+ bash(test -f {base_path}/.intermediates/animation-analysis/analysis-options.json && echo "saved")
602
+
603
+ ELSE:
604
+ # REFINEMENT MODE - Update refinement-options.json
605
+ options.user_selection = {
606
+ "selected_at": "{current_timestamp}",
607
+ "session_id": "{session_id}",
608
+ "selected_refinements": selected_ids // Array of refinement IDs
609
+ }
610
+
611
+ # Write updated file back
612
+ Write({base_path}/.intermediates/animation-analysis/refinement-options.json, JSON.stringify(options, indent=2))
613
+
614
+ # Verify
615
+ bash(test -f {base_path}/.intermediates/animation-analysis/refinement-options.json && echo "saved")
616
+ ```
617
+
618
+ ### Step 6: Confirmation Message
619
+
620
+ ```
621
+ IF NOT refine_mode:
622
+ // EXPLORATION MODE
623
+ ✅ Animation preferences recorded!
624
+
625
+ You selected:
626
+ {FOR each category, selected_key IN user_answers:
627
+ question = find(specification_options, q => q.category == category)
628
+ option = find(question.options, o => o.key == selected_key)
629
+ • {category}: {option.label}
630
+ ({option.details})
631
+ }
632
+
633
+ Proceeding to generate animation system with your preferences...
634
+
635
+ ELSE:
636
+ // REFINEMENT MODE
637
+ ✅ Refinement selections recorded!
638
+
639
+ You selected {selected_ids.length} refinement(s):
640
+ {FOR each id IN selected_ids:
641
+ refinement = find(refinement_options, r => r.id == id)
642
+ • {refinement.label} ({refinement.category})
643
+ Impact: {refinement.impact_scope}
644
+ }
645
+
646
+ Proceeding to apply refinements to animation system...
647
+ ```
648
+
649
+ **Output**:
650
+ - Exploration mode: Updated `analysis-options.json` with embedded `user_selection` field
651
+ - Refinement mode: Updated `refinement-options.json` with `user_selection.selected_refinements` array
652
+
653
+ ## Phase 2: Animation System Generation (Agent Task 2)
654
+
655
+ **Executor**: `Task(ui-design-agent)` for animation token generation
656
+
657
+ ### Step 1: Load User Selection or Use Defaults
658
+
659
+ ```bash
660
+ IF NOT refine_mode:
661
+ # EXPLORATION MODE - Read analysis-options.json
662
+ options = Read({base_path}/.intermediates/animation-analysis/analysis-options.json)
663
+ specification_options = options.specification_options
664
+
665
+ # Check if user_selection field exists (interactive mode)
666
+ IF options.user_selection AND options.user_selection.answers:
667
+ # Interactive mode: Use user-selected preferences
668
+ user_answers = options.user_selection.answers
669
+ REPORT: "🎯 Interactive mode: Using user-selected animation preferences"
670
+ ELSE:
671
+ # Non-interactive mode: Use defaults (first option for each question)
672
+ user_answers = null
673
+ REPORT: "ℹ️ Non-interactive mode: Using default animation preferences"
674
+
675
+ ELSE:
676
+ # REFINEMENT MODE - Read refinement-options.json
677
+ options = Read({base_path}/.intermediates/animation-analysis/refinement-options.json)
678
+ refinement_options = options.refinement_options
679
+
680
+ # Check if user_selection field exists (interactive mode)
681
+ IF options.user_selection AND options.user_selection.selected_refinements:
682
+ # Interactive mode: Use user-selected refinements
683
+ selected_refinements = options.user_selection.selected_refinements
684
+ REPORT: "🎯 Interactive mode: Applying {selected_refinements.length} selected refinement(s)"
685
+ ELSE:
686
+ # Non-interactive mode: Apply all refinements
687
+ selected_refinements = null
688
+ REPORT: "ℹ️ Non-interactive mode: Applying all refinements"
689
+
690
+ # Load image references if available for agent context
691
+ image_context = null
692
+ IF has_images:
693
+ IF exists({base_path}/.intermediates/animation-analysis/image-references.json):
694
+ image_context = Read({base_path}/.intermediates/animation-analysis/image-references.json)
695
+ REPORT: "📸 Using {image_context.count} image reference(s) for animation inference"
696
+ ```
697
+
698
+ ### Step 2: Create Output Directory
699
+
700
+ ```bash
701
+ # Create directory for animation system
702
+ bash(mkdir -p {base_path}/animation-extraction)
703
+ ```
704
+
705
+ ### Step 3: Launch Animation Generation Task
706
+
707
+ **Conditional Task**: Branch based on `refine_mode` flag
708
+
709
+ ```javascript
710
+ IF NOT refine_mode:
711
+ // EXPLORATION MODE
712
+ Task(ui-design-agent): `
713
+ [ANIMATION_SYSTEM_GENERATION_TASK]
714
+ Generate production-ready animation system based on user preferences and CSS extraction
715
+
716
+ SESSION: {session_id} | MODE: explore | BASE_PATH: {base_path}
717
+
718
+ USER PREFERENCES:
719
+ ${user_answers ? "- User Selection: " + JSON.stringify(user_answers) : "- Using Defaults: First option for each category"}
720
+ ${user_answers ? "- Specification Options: Read from .intermediates/animation-analysis/analysis-options.json for detailed specs" : ""}
721
+
722
+ ## Input Analysis
723
+ - Interactive mode: {user_answers ? "Yes (user preferences available)" : "No (using defaults)"}
724
+ - Image references: {image_context ? "Available (" + image_context.count + " files)" : "None"}
725
+ ${image_context ? "- Image Data: " + JSON.stringify(image_context) : ""}
726
+ - Design context: {has_design_context ? "Available" : "None"}
727
+ ${has_design_context ? "- Design Tokens: Read from style-extraction/style-1/design-tokens.json" : ""}
728
+
729
+ ## Generation Rules
730
+ ${user_answers ? `
731
+ - Read analysis-options.json to get user_selection.answers
732
+ - For each category in user_selection.answers, find the selected option
733
+ - Use the selected option's technical specs (duration_values, easing_curves, transform_value, etc.)
734
+ - Apply these specs to generate animation tokens
735
+ ` : `
736
+ - Use first option (key "a") from each question in specification_options as default
737
+ - Extract technical specs from default options
738
+ `}
739
+ - Infer animation patterns from image references (if available)
740
+ - Align with design tokens (spacing, colors) if available
741
+ - All tokens use CSS Custom Property format: var(--duration-fast)
742
+ - WCAG-compliant: Respect prefers-reduced-motion
743
+ - Semantic naming for all animation values
744
+
745
+ ## Synthesis Priority
746
+ 1. User answers from analysis-options.json user_selection field (highest priority)
747
+ 2. Inferred patterns from image references (medium priority)
748
+ 3. Industry best practices (fallback)
749
+
750
+ ## Duration Normalization
751
+ - IF user_selection.answers.timing_scale EXISTS:
752
+ Find selected option in specification_options
753
+ Use option's duration_values for token generation
754
+ - ELSE IF image references available:
755
+ Infer timing patterns from visual design style (minimalist → faster, ornate → slower)
756
+ - ELSE:
757
+ Use standard scale (instant:0ms, fast:150ms, normal:300ms, slow:500ms, very-slow:800ms)
758
+
759
+ ## Easing Standardization
760
+ - IF user_selection.answers.easing_philosophy EXISTS:
761
+ Find selected option in specification_options
762
+ Use option's easing_curves for token generation
763
+ - ELSE IF image references available:
764
+ Infer easing preferences from visual style (sharp edges → snappy, soft curves → smooth)
765
+ - ELSE:
766
+ Use standard easings (linear, ease-in, ease-out, ease-in-out, spring)
767
+
768
+ ## Animation Categorization
769
+ Organize into:
770
+ - **duration**: Timing scale (instant, fast, normal, slow, very-slow)
771
+ - **easing**: Easing functions (linear, ease-in, ease-out, ease-in-out, spring)
772
+ - **transitions**: Property-specific transitions (color, transform, opacity, etc.)
773
+ - **keyframes**: Named @keyframe animations (fadeIn, slideInUp, pulse, etc.)
774
+ - **interactions**: Interaction-specific presets (button-hover, card-hover, input-focus, etc.)
775
+ - **page_transitions**: Route/view change animations (if user enabled)
776
+ - **scroll_animations**: Scroll-triggered animations (if user enabled)
777
+
778
+ ## Generate Files
779
+
780
+ ### 1. animation-tokens.json
781
+ Complete animation token structure using var() references:
782
+
783
+ {
784
+ "duration": {
785
+ "instant": "0ms",
786
+ "fast": "150ms", # From user_selection or CSS extraction or default
787
+ "normal": "300ms",
788
+ "slow": "500ms",
789
+ "very-slow": "800ms"
790
+ },
791
+ "easing": {
792
+ "linear": "linear",
793
+ "ease-in": "cubic-bezier(0.4, 0, 1, 1)",
794
+ "ease-out": "cubic-bezier(0, 0, 0.2, 1)", # From user_selection or CSS extraction or default
795
+ "ease-in-out": "cubic-bezier(0.4, 0, 0.2, 1)",
796
+ "spring": "cubic-bezier(0.34, 1.56, 0.64, 1)"
797
+ },
798
+ "transitions": {
799
+ "color": {
800
+ "property": "color, background-color, border-color",
801
+ "duration": "var(--duration-fast)",
802
+ "easing": "var(--easing-ease-out)"
803
+ },
804
+ "transform": {
805
+ "property": "transform",
806
+ "duration": "var(--duration-normal)",
807
+ "easing": "var(--easing-ease-out)"
808
+ },
809
+ "opacity": {
810
+ "property": "opacity",
811
+ "duration": "var(--duration-normal)",
812
+ "easing": "var(--easing-ease-in-out)"
813
+ }
814
+ },
815
+ "keyframes": {
816
+ "fadeIn": {"0%": {"opacity": "0"}, "100%": {"opacity": "1"}},
817
+ "slideInUp": {"0%": {"transform": "translateY(20px)", "opacity": "0"}, "100%": {"transform": "translateY(0)", "opacity": "1"}},
818
+ "pulse": {"0%, 100%": {"opacity": "1"}, "50%": {"opacity": "0.7"}}
819
+ },
820
+ "interactions": {
821
+ "button-hover": {
822
+ # From user_selection.answers.button_interactions or CSS extraction or default
823
+ "properties": ["background-color", "transform"],
824
+ "duration": "var(--duration-fast)",
825
+ "easing": "var(--easing-ease-out)",
826
+ "transform": "scale(1.02)"
827
+ },
828
+ "card-hover": {
829
+ # From user_selection.answers.card_interactions or CSS extraction or default
830
+ "properties": ["box-shadow", "transform"],
831
+ "duration": "var(--duration-normal)",
832
+ "easing": "var(--easing-ease-out)",
833
+ "transform": "translateY(-4px)"
834
+ }
835
+ },
836
+ "page_transitions": {
837
+ # IF user_selection.answers.page_transitions enabled
838
+ "fade": {
839
+ "duration": "var(--duration-normal)",
840
+ "enter": "fadeIn",
841
+ "exit": "fadeOut"
842
+ }
843
+ },
844
+ "scroll_animations": {
845
+ # IF user_selection.answers.scroll_animations enabled
846
+ "default": {
847
+ "animation": "fadeIn",
848
+ "duration": "var(--duration-slow)",
849
+ "easing": "var(--easing-ease-out)",
850
+ "threshold": "0.1"
851
+ }
852
+ }
853
+ }
854
+
855
+ ## Output File Paths
856
+ - animation-tokens.json: {base_path}/animation-extraction/animation-tokens.json
857
+
858
+ ## Critical Requirements
859
+ - ✅ Use Write() tool immediately to generate JSON file
860
+ - ✅ All tokens use CSS Custom Property format: var(--duration-fast)
861
+ - ✅ Include prefers-reduced-motion media query guidance
862
+ - ✅ Validate all cubic-bezier values are valid (4 numbers between 0-1)
863
+ - ${user_answers ? "✅ READ analysis-options.json for user_selection field" : "✅ Use first option from each question as default"}
864
+ - ❌ NO user questions or interaction in this phase
865
+ - ✅ Can use Exa MCP to research modern animation patterns and obtain code examples (Explore/Text mode)
866
+ `
867
+
868
+ ELSE:
869
+ // REFINEMENT MODE
870
+ Task(ui-design-agent): `
871
+ [ANIMATION_SYSTEM_REFINEMENT_TASK]
872
+ Apply selected refinements to existing animation system
873
+
874
+ SESSION: {session_id} | MODE: refine | BASE_PATH: {base_path}
875
+
876
+ ## Load Existing Animation System
877
+ - Current tokens: Read from {base_path}/animation-extraction/animation-tokens.json
878
+ - Refinement options: Read from .intermediates/animation-analysis/refinement-options.json
879
+
880
+ REFINEMENT SELECTION:
881
+ ${selected_refinements ? `
882
+ - Interactive mode: Apply selected refinements
883
+ - Selected IDs: ${JSON.stringify(selected_refinements)}
884
+ - For each ID in selected_refinements:
885
+ * Find refinement in refinement_options by id
886
+ * Apply technical_changes to corresponding tokens
887
+ ` : `
888
+ - Non-interactive mode: Apply ALL refinements
889
+ - For each refinement in refinement_options:
890
+ * Apply technical_changes to corresponding tokens
891
+ `}
892
+
893
+ ## Input Analysis
894
+ - Image references: {image_context ? "Available (" + image_context.count + " files)" : "None"}
895
+ ${image_context ? "- Image Data: " + JSON.stringify(image_context) : ""}
896
+ - Design context: {has_design_context ? "Available" : "None"}
897
+ ${has_design_context ? "- Design Tokens: Read from style-extraction/style-1/design-tokens.json" : ""}
898
+
899
+ ## Refinement Application Rules
900
+ ${selected_refinements ? `
901
+ - ONLY apply refinements with IDs in selected_refinements array
902
+ - Skip refinements not selected by user
903
+ ` : `
904
+ - Apply ALL refinements from refinement_options
905
+ - Combine multiple refinements that affect same token
906
+ `}
907
+ - Load current animation-tokens.json
908
+ - For each applicable refinement:
909
+ * Parse technical_changes field
910
+ * Apply "to" values to replace "from" values in tokens
911
+ * Preserve structure and var() references
912
+ - If multiple refinements affect same token, apply in sequence
913
+ - Maintain WCAG compliance and semantic naming
914
+ - All tokens use CSS Custom Property format: var(--duration-fast)
915
+
916
+ ## Conflict Resolution
917
+ - If multiple selected refinements modify same token:
918
+ * Apply refinements in ID order (lowest first)
919
+ * Later refinements override earlier ones
920
+
921
+ ## Generate Updated Files
922
+
923
+ ### 1. animation-tokens.json
924
+ Updated animation token structure with refinements applied:
925
+ - Load existing structure
926
+ - Apply technical_changes from selected/all refinements
927
+ - Maintain var() references and semantic naming
928
+ - Validate all cubic-bezier values
929
+
930
+ ## Output File Paths
931
+ - animation-tokens.json: {base_path}/animation-extraction/animation-tokens.json (OVERWRITE)
932
+
933
+ ## Critical Requirements
934
+ - ✅ Use Write() tool immediately to generate JSON file
935
+ - ✅ OVERWRITE existing animation-tokens.json with refined version
936
+ - ✅ All tokens use CSS Custom Property format: var(--duration-fast)
937
+ - ✅ Include prefers-reduced-motion media query guidance
938
+ - ✅ Validate all cubic-bezier values are valid (4 numbers between 0-1)
939
+ - ${selected_refinements ? "✅ READ refinement-options.json for user_selection.selected_refinements" : "✅ Apply ALL refinements from refinement_options"}
940
+ - ❌ NO user questions or interaction in this phase
941
+ - ✅ Can use Exa MCP to research modern animation patterns and obtain code examples (Explore/Text mode)
942
+ `
943
+ ```
944
+
945
+ **Output**: Agent generates/updates animation-tokens.json
946
+
947
+ ## Phase 3: Verify Output
948
+
949
+ ### Step 1: Check Files Created
950
+
951
+ ```bash
952
+ # Verify animation system created
953
+ bash(test -f {base_path}/animation-extraction/animation-tokens.json && echo "exists")
954
+
955
+ # Validate structure
956
+ bash(cat {base_path}/animation-extraction/animation-tokens.json | grep -q "duration" && echo "valid")
957
+ bash(cat {base_path}/animation-extraction/animation-tokens.json | grep -q "easing" && echo "valid")
958
+ ```
959
+
960
+ ### Step 2: Verify File Sizes
961
+
962
+ ```bash
963
+ bash(ls -lh {base_path}/animation-extraction/)
964
+ ```
965
+
966
+ **Output**: animation-tokens.json verified
967
+
968
+ ## Completion
969
+
970
+ ### Todo Update
971
+
972
+ ```javascript
973
+ TodoWrite({todos: [
974
+ {content: "Setup and input validation", status: "completed", activeForm: "Validating inputs"},
975
+ {content: "CSS animation extraction (Phase 1)", status: "completed", activeForm: "Extracting from CSS"},
976
+ {content: "Specification generation (Phase 1 - Agent)", status: "completed", activeForm: "Generating questions"},
977
+ {content: "User confirmation (Phase 1.5 - Optional)", status: "completed", activeForm: "Collecting user answers"},
978
+ {content: "Animation system generation (Phase 2 - Agent)", status: "completed", activeForm: "Generating animation system"},
979
+ {content: "Verify output files (Phase 3)", status: "completed", activeForm: "Verifying files"}
980
+ ]});
981
+ ```
982
+
983
+ ### Output Message
984
+
985
+ ```
986
+ ✅ Animation extraction complete!
987
+
988
+ Configuration:
989
+ - Session: {session_id}
990
+ - Interactive Mode: {interactive_mode ? "Enabled (user preferences collected)" : "Disabled (default preferences)"}
991
+ - Input Sources:
992
+ {IF has_images:
993
+ - ✅ Image references analyzed ({image_count} file(s))
994
+ }
995
+ {IF interactive_mode AND options.user_selection:
996
+ - ✅ User preferences collected via interactive mode
997
+ }
998
+ {IF NOT interactive_mode:
999
+ - ℹ️ Using default animation preferences (no user interaction)
1000
+ }
1001
+ {IF has_design_context:
1002
+ - ✅ Aligned with existing design tokens
1003
+ }
1004
+
1005
+ Generated Files:
1006
+ {base_path}/animation-extraction/
1007
+ └── animation-tokens.json # Production-ready animation tokens
1008
+
1009
+ {IF has_images OR options.user_selection:
1010
+ Intermediate Analysis:
1011
+ {base_path}/.intermediates/animation-analysis/
1012
+ {IF has_images:
1013
+ ├── image-references.json # Image reference metadata ({image_count} files)
1014
+ }
1015
+ ├── analysis-options.json # Generated questions{options.user_selection ? " + user answers" : ""}
1016
+ }
1017
+
1018
+ Extracted Data Summary:
1019
+ - Duration scales: {duration_count} values
1020
+ - Easing functions: {easing_count} types
1021
+ - Interaction presets: {interaction_count} patterns
1022
+ - Keyframe animations: {keyframe_count} animations
1023
+
1024
+ Next: Animation tokens ready for integration
1025
+ • style-extract/layout-extract can reference animation tokens
1026
+ • generate command will include animation CSS
1027
+ • Tokens use var() format for easy customization
1028
+ ```
1029
+
1030
+ ## Simple Bash Commands
1031
+
1032
+ ### Path Operations
1033
+
1034
+ ```bash
1035
+ # Find design directory
1036
+ bash(find .workflow -type d -name "design-run-*" | head -1)
1037
+
1038
+ # Create output directories
1039
+ bash(mkdir -p {base_path}/animation-extraction)
1040
+ bash(mkdir -p {base_path}/.intermediates/animation-analysis)
1041
+ ```
1042
+
1043
+ ### Validation Commands
1044
+
1045
+ ```bash
1046
+ # Check if already extracted
1047
+ bash(test -f {base_path}/animation-extraction/animation-tokens.json && echo "exists")
1048
+
1049
+ # Validate JSON structure
1050
+ bash(cat {base_path}/animation-extraction/animation-tokens.json | grep -q "duration" && echo "valid")
1051
+
1052
+ # Count animation types
1053
+ bash(cat animation-tokens.json | grep -c "\"keyframes\":")
1054
+ ```
1055
+
1056
+ ### File Operations
1057
+
1058
+ ```bash
1059
+ # Load design tokens context
1060
+ bash(test -f {base_path}/style-extraction/style-1/design-tokens.json && cat it)
1061
+
1062
+ # Verify output
1063
+ bash(ls {base_path}/animation-extraction/)
1064
+ ```
1065
+
1066
+ ## Output Structure
1067
+
1068
+ ```
1069
+ {base_path}/
1070
+ ├── .intermediates/ # Intermediate analysis files
1071
+ │ └── animation-analysis/
1072
+ │ ├── animations-{target}.json # Extracted CSS (URL mode only)
1073
+ │ └── analysis-options.json # Generated questions + user answers (embedded)
1074
+ └── animation-extraction/ # Final animation system
1075
+ └── animation-tokens.json # Production-ready animation tokens
1076
+ ```
1077
+
1078
+ ## animation-tokens.json Format
1079
+
1080
+ ```json
1081
+ {
1082
+ "duration": {
1083
+ "instant": "0ms",
1084
+ "fast": "150ms",
1085
+ "normal": "300ms",
1086
+ "slow": "500ms",
1087
+ "very-slow": "800ms"
1088
+ },
1089
+ "easing": {
1090
+ "linear": "linear",
1091
+ "ease-in": "cubic-bezier(0.4, 0, 1, 1)",
1092
+ "ease-out": "cubic-bezier(0, 0, 0.2, 1)",
1093
+ "ease-in-out": "cubic-bezier(0.4, 0, 0.2, 1)",
1094
+ "spring": "cubic-bezier(0.34, 1.56, 0.64, 1)"
1095
+ },
1096
+ "transitions": {
1097
+ "color": {"property": "...", "duration": "var(--duration-fast)", "easing": "..."},
1098
+ "transform": {"property": "...", "duration": "...", "easing": "..."}
1099
+ },
1100
+ "keyframes": {
1101
+ "fadeIn": {"0%": {...}, "100%": {...}},
1102
+ "slideInUp": {...}
1103
+ },
1104
+ "interactions": {
1105
+ "button-hover": {"properties": [...], "duration": "...", "transform": "..."},
1106
+ "card-hover": {...}
1107
+ },
1108
+ "page_transitions": {...},
1109
+ "scroll_animations": {...}
1110
+ }
1111
+ ```
1112
+
1113
+ **Requirements**: CSS var() format, valid cubic-bezier values, prefers-reduced-motion support
1114
+
1115
+ ## Error Handling
1116
+
1117
+ ### Common Errors
1118
+
1119
+ ```
1120
+ ERROR: No image references found
1121
+ → Provide valid --images glob pattern or proceed with prompt-only mode
1122
+
1123
+ ERROR: Invalid image format
1124
+ → Skips unsupported files, continues with valid images
1125
+
1126
+ ERROR: Invalid cubic-bezier values
1127
+ → Validates and corrects to nearest standard easing
1128
+ ```
1129
+
1130
+ ### Recovery Strategies
1131
+
1132
+ - **Image loading failure**: Falls back to prompt-only specification mode
1133
+ - **Partial image set**: Supplements with default values and best practices
1134
+ - **Invalid data**: Validates and uses fallback values
1135
+
1136
+ ## Key Features
1137
+
1138
+ - **Prompt & Image Inference** - Analyzes design intent from textual descriptions and visual references (Phase 0)
1139
+ - **Agent-Generated Questions** - Context-aware specification questions with visual previews (Phase 1)
1140
+ - **Visual Previews** - Timeline representations, easing curve ASCII art, and animation sequences for each option
1141
+ - **Optional User Interaction** - User answers questions only when `--interactive` flag present (Phase 1.5)
1142
+ - **Non-Interactive Mode** - Default behavior uses inferred patterns + best practices (no user questions)
1143
+ - **Hybrid Strategy** - Combines image analysis with user preferences (when interactive)
1144
+ - **No MCP Dependencies** - Pure AI-driven inference from visual and textual inputs
1145
+ - **Context-Aware** - Aligns with existing design tokens
1146
+ - **Production-Ready** - CSS var() format, accessibility support
1147
+ - **Comprehensive Coverage** - Transitions, keyframes, interactions, scroll animations
1148
+ - **Clear Phase Separation** - Question generation (Agent) → User confirmation (Optional) → Token synthesis (Agent)
1149
+
1150
+