claude-code-workflow 6.3.31 → 6.3.34

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 (492) hide show
  1. package/.claude/CLAUDE.md +7 -3
  2. package/.claude/agents/action-planning-agent.md +885 -885
  3. package/.claude/agents/cli-discuss-agent.md +391 -391
  4. package/.claude/agents/cli-execution-agent.md +7 -6
  5. package/.claude/agents/cli-lite-planning-agent.md +1 -1
  6. package/.claude/agents/cli-planning-agent.md +2 -2
  7. package/.claude/agents/code-developer.md +407 -403
  8. package/.claude/agents/conceptual-planning-agent.md +11 -0
  9. package/.claude/agents/debug-explore-agent.md +3 -3
  10. package/.claude/agents/doc-generator.md +3 -3
  11. package/.claude/agents/issue-plan-agent.md +333 -340
  12. package/.claude/agents/issue-queue-agent.md +1 -1
  13. package/.claude/agents/memory-bridge.md +95 -95
  14. package/.claude/agents/test-context-search-agent.md +402 -402
  15. package/.claude/agents/ui-design-agent.md +595 -595
  16. package/.claude/agents/universal-executor.md +134 -134
  17. package/.claude/commands/cli/codex-review.md +355 -0
  18. package/.claude/commands/issue/discover-by-prompt.md +1 -1
  19. package/.claude/commands/issue/execute.md +581 -581
  20. package/.claude/commands/issue/new.md +413 -413
  21. package/.claude/commands/issue/plan.md +1 -1
  22. package/.claude/commands/issue/queue.md +441 -382
  23. package/.claude/commands/memory/code-map-memory.md +687 -687
  24. package/.claude/commands/memory/compact.md +383 -383
  25. package/.claude/commands/memory/docs-full-cli.md +471 -471
  26. package/.claude/commands/memory/docs-related-cli.md +386 -386
  27. package/.claude/commands/memory/docs.md +615 -615
  28. package/.claude/commands/memory/load-skill-memory.md +182 -182
  29. package/.claude/commands/memory/skill-memory.md +525 -525
  30. package/.claude/commands/memory/style-skill-memory.md +396 -396
  31. package/.claude/commands/memory/swagger-docs.md +773 -773
  32. package/.claude/commands/memory/tech-research-rules.md +2 -2
  33. package/.claude/commands/memory/update-full.md +332 -332
  34. package/.claude/commands/memory/workflow-skill-memory.md +517 -517
  35. package/.claude/commands/task/create.md +151 -151
  36. package/.claude/commands/task/replan.md +436 -436
  37. package/.claude/commands/version.md +254 -254
  38. package/.claude/commands/workflow/brainstorm/api-designer.md +587 -587
  39. package/.claude/commands/workflow/brainstorm/auto-parallel.md +11 -0
  40. package/.claude/commands/workflow/brainstorm/data-architect.md +220 -220
  41. package/.claude/commands/workflow/brainstorm/product-manager.md +200 -200
  42. package/.claude/commands/workflow/brainstorm/product-owner.md +200 -200
  43. package/.claude/commands/workflow/brainstorm/scrum-master.md +200 -200
  44. package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +200 -200
  45. package/.claude/commands/workflow/brainstorm/system-architect.md +389 -389
  46. package/.claude/commands/workflow/brainstorm/ui-designer.md +221 -221
  47. package/.claude/commands/workflow/brainstorm/ux-expert.md +221 -221
  48. package/.claude/commands/workflow/clean.md +3 -3
  49. package/.claude/commands/workflow/debug-with-file.md +666 -0
  50. package/.claude/commands/workflow/debug.md +327 -327
  51. package/.claude/commands/workflow/execute.md +498 -498
  52. package/.claude/commands/workflow/init.md +25 -12
  53. package/.claude/commands/workflow/lite-execute.md +25 -22
  54. package/.claude/commands/workflow/lite-fix.md +631 -631
  55. package/.claude/commands/workflow/lite-lite-lite.md +39 -11
  56. package/.claude/commands/workflow/lite-plan.md +4 -2
  57. package/.claude/commands/workflow/multi-cli-plan.md +97 -39
  58. package/.claude/commands/workflow/plan.md +551 -551
  59. package/.claude/commands/workflow/replan.md +515 -515
  60. package/.claude/commands/workflow/review-fix.md +610 -610
  61. package/.claude/commands/workflow/review-module-cycle.md +771 -771
  62. package/.claude/commands/workflow/review-session-cycle.md +782 -782
  63. package/.claude/commands/workflow/review.md +322 -322
  64. package/.claude/commands/workflow/session/complete.md +31 -4
  65. package/.claude/commands/workflow/session/list.md +95 -95
  66. package/.claude/commands/workflow/session/resume.md +60 -60
  67. package/.claude/commands/workflow/session/solidify.md +299 -299
  68. package/.claude/commands/workflow/session/start.md +1 -1
  69. package/.claude/commands/workflow/tdd-plan.md +597 -460
  70. package/.claude/commands/workflow/test-cycle-execute.md +504 -504
  71. package/.claude/commands/workflow/test-fix-gen.md +699 -699
  72. package/.claude/commands/workflow/tools/conflict-resolution.md +2 -2
  73. package/.claude/commands/workflow/tools/context-gather.md +2 -2
  74. package/.claude/commands/workflow/tools/task-generate-tdd.md +517 -517
  75. package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +309 -309
  76. package/.claude/commands/workflow/tools/test-concept-enhanced.md +1 -1
  77. package/.claude/commands/workflow/tools/test-context-gather.md +235 -235
  78. package/.claude/commands/workflow/tools/test-task-generate.md +255 -255
  79. package/.claude/commands/workflow/ui-design/animation-extract.md +1150 -1150
  80. package/.claude/commands/workflow/ui-design/design-sync.md +454 -454
  81. package/.claude/commands/workflow/ui-design/explore-auto.md +678 -678
  82. package/.claude/commands/workflow/ui-design/imitate-auto.md +745 -745
  83. package/.claude/commands/workflow/ui-design/layout-extract.md +788 -788
  84. package/.claude/commands/workflow/ui-design/reference-page-generator.md +356 -356
  85. package/.claude/commands/workflow/ui-design/style-extract.md +773 -773
  86. package/.claude/skills/ccw/SKILL.md +522 -352
  87. package/.claude/skills/ccw/command.json +641 -547
  88. package/.claude/skills/ccw-help/SKILL.md +116 -116
  89. package/.claude/skills/ccw-help/command.json +520 -511
  90. package/.claude/skills/copyright-docs/phases/01.5-project-exploration.md +150 -150
  91. package/.claude/skills/copyright-docs/phases/02.5-consolidation.md +192 -192
  92. package/.claude/skills/copyright-docs/templates/agent-base.md +200 -200
  93. package/.claude/skills/project-analyze/phases/03.5-consolidation.md +233 -233
  94. package/.claude/skills/project-analyze/specs/writing-style.md +152 -152
  95. package/.claude/skills/review-code/phases/state-manager.md +752 -752
  96. package/.claude/skills/review-code/specs/rules/index.md +140 -140
  97. package/.claude/skills/skill-generator/specs/cli-integration.md +13 -19
  98. package/.claude/skills/skill-generator/specs/scripting-integration.md +265 -265
  99. package/.claude/skills/skill-generator/templates/code-analysis-action.md +503 -503
  100. package/.claude/skills/skill-generator/templates/llm-action.md +355 -355
  101. package/.claude/skills/skill-generator/templates/script-bash.md +277 -277
  102. package/.claude/skills/skill-generator/templates/script-python.md +198 -198
  103. package/.claude/skills/skill-generator/templates/skill-md.md +235 -235
  104. package/.claude/skills/skill-tuning/SKILL.md +303 -303
  105. package/.claude/skills/skill-tuning/phases/actions/action-abort.md +164 -164
  106. package/.claude/skills/skill-tuning/phases/actions/action-apply-fix.md +206 -206
  107. package/.claude/skills/skill-tuning/phases/actions/action-complete.md +195 -195
  108. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-agent.md +317 -317
  109. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-context.md +243 -243
  110. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-dataflow.md +318 -318
  111. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-memory.md +269 -269
  112. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-token-consumption.md +200 -200
  113. package/.claude/skills/skill-tuning/phases/actions/action-gemini-analysis.md +322 -322
  114. package/.claude/skills/skill-tuning/phases/actions/action-generate-report.md +228 -228
  115. package/.claude/skills/skill-tuning/phases/actions/action-init.md +149 -149
  116. package/.claude/skills/skill-tuning/phases/actions/action-propose-fixes.md +317 -317
  117. package/.claude/skills/skill-tuning/phases/actions/action-verify.md +222 -222
  118. package/.claude/skills/skill-tuning/phases/orchestrator.md +377 -377
  119. package/.claude/skills/skill-tuning/phases/state-schema.md +378 -378
  120. package/.claude/skills/skill-tuning/specs/problem-taxonomy.md +318 -318
  121. package/.claude/skills/skill-tuning/specs/quality-gates.md +263 -263
  122. package/.claude/skills/skill-tuning/specs/tuning-strategies.md +1537 -1537
  123. package/.claude/skills/skill-tuning/templates/diagnosis-report.md +153 -153
  124. package/.claude/skills/skill-tuning/templates/fix-proposal.md +204 -204
  125. package/.claude/skills/software-manual/SKILL.md +184 -184
  126. package/.claude/skills/software-manual/phases/01-requirements-discovery.md +162 -162
  127. package/.claude/skills/software-manual/phases/02-project-exploration.md +101 -101
  128. package/.claude/skills/software-manual/phases/03-parallel-analysis.md +183 -183
  129. package/.claude/skills/software-manual/phases/03.5-consolidation.md +82 -82
  130. package/.claude/skills/software-manual/phases/04-screenshot-capture.md +89 -89
  131. package/.claude/skills/software-manual/phases/05-html-assembly.md +132 -132
  132. package/.claude/skills/software-manual/phases/06-iterative-refinement.md +259 -259
  133. package/.claude/skills/software-manual/scripts/screenshot-helper.md +447 -447
  134. package/.claude/skills/software-manual/scripts/swagger-runner.md +419 -419
  135. package/.claude/skills/software-manual/scripts/typedoc-runner.md +357 -357
  136. package/.claude/skills/software-manual/specs/html-template.md +325 -325
  137. package/.claude/skills/software-manual/specs/quality-standards.md +253 -253
  138. package/.claude/skills/software-manual/specs/writing-style.md +298 -298
  139. package/.claude/skills/text-formatter/SKILL.md +196 -196
  140. package/.claude/skills/text-formatter/phases/01-input-collection.md +111 -111
  141. package/.claude/skills/text-formatter/phases/02-content-analysis.md +248 -248
  142. package/.claude/skills/text-formatter/phases/03-format-transform.md +245 -245
  143. package/.claude/skills/text-formatter/phases/04-output-preview.md +183 -183
  144. package/.claude/skills/text-formatter/specs/callout-types.md +293 -293
  145. package/.claude/skills/text-formatter/specs/element-mapping.md +226 -226
  146. package/.claude/skills/text-formatter/specs/format-rules.md +273 -273
  147. package/.claude/skills/text-formatter/templates/bbcode-template.md +350 -350
  148. package/.claude/workflows/chinese-response.md +25 -25
  149. package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +299 -299
  150. package/.claude/workflows/cli-templates/planning-roles/product-owner.md +261 -261
  151. package/.claude/workflows/cli-templates/prompts/{analysis/03-analyze-performance.txt → analysis-analyze-performance.txt} +29 -29
  152. package/.claude/workflows/cli-templates/prompts/{analysis/03-assess-security-risks.txt → analysis-assess-security-risks.txt} +29 -29
  153. package/.claude/workflows/cli-templates/prompts/{analysis/02-review-architecture.txt → analysis-review-architecture.txt} +29 -29
  154. package/.claude/workflows/cli-templates/prompts/{analysis/02-review-code-quality.txt → analysis-review-code-quality.txt} +28 -28
  155. package/.claude/workflows/cli-templates/prompts/{analysis/03-review-quality-standards.txt → analysis-review-quality-standards.txt} +29 -29
  156. package/.claude/workflows/cli-templates/prompts/{analysis/01-trace-code-execution.txt → analysis-trace-code-execution.txt} +115 -115
  157. package/.claude/workflows/cli-templates/prompts/{documentation/api.txt → documentation-api.txt} +14 -14
  158. package/.claude/workflows/cli-templates/prompts/{documentation/folder-navigation.txt → documentation-folder-navigation.txt} +26 -26
  159. package/.claude/workflows/cli-templates/prompts/{documentation/project-architecture.txt → documentation-project-architecture.txt} +40 -40
  160. package/.claude/workflows/cli-templates/prompts/{documentation/project-examples.txt → documentation-project-examples.txt} +34 -34
  161. package/.claude/workflows/cli-templates/prompts/{documentation/project-readme.txt → documentation-project-readme.txt} +34 -34
  162. package/.claude/workflows/cli-templates/prompts/{documentation/swagger-api.txt → documentation-swagger-api.txt} +266 -266
  163. package/.claude/workflows/cli-templates/prompts/{planning/02-design-component-spec.txt → planning-design-component-spec.txt} +28 -28
  164. package/.claude/workflows/cli-templates/prompts/{verification/codex-technical.txt → verification-codex-technical.txt} +28 -28
  165. package/.claude/workflows/cli-templates/prompts/{verification/cross-validation.txt → verification-cross-validation.txt} +28 -28
  166. package/.claude/workflows/cli-templates/prompts/{verification/gemini-strategic.txt → verification-gemini-strategic.txt} +27 -27
  167. package/.claude/workflows/cli-templates/prompts/{workflow/analysis-results-structure.txt → workflow-analysis-results-structure.txt} +224 -224
  168. package/.claude/workflows/cli-templates/prompts/{workflow/impl-plan-template.txt → workflow-impl-plan-template.txt} +286 -286
  169. package/.claude/workflows/cli-templates/prompts/{workflow/skill-conflict-patterns.txt → workflow-skill-conflict-patterns.txt} +2 -2
  170. package/.claude/workflows/cli-templates/prompts/{workflow/skill-lessons-learned.txt → workflow-skill-lessons-learned.txt} +2 -2
  171. package/.claude/workflows/cli-templates/prompts/{workflow/task-json-agent-mode.txt → workflow-task-json-agent-mode.txt} +123 -123
  172. package/.claude/workflows/cli-templates/schemas/project-guidelines-schema.json +141 -0
  173. package/.claude/workflows/cli-templates/schemas/{project-json-schema.json → project-tech-schema.json} +2 -2
  174. package/.claude/workflows/cli-tools-usage.md +135 -115
  175. package/.claude/workflows/coding-philosophy.md +69 -69
  176. package/.claude/workflows/context-tools.md +76 -76
  177. package/.claude/workflows/file-modification.md +64 -64
  178. package/.claude/workflows/review-directory-specification.md +336 -336
  179. package/.claude/workflows/windows-platform.md +19 -19
  180. package/.claude/workflows/workflow-architecture.md +942 -942
  181. package/.codex/prompts/issue-execute.md +176 -70
  182. package/README.md +250 -214
  183. package/ccw/dist/cli.d.ts.map +1 -1
  184. package/ccw/dist/cli.js +15 -0
  185. package/ccw/dist/cli.js.map +1 -1
  186. package/ccw/dist/commands/cli.d.ts +5 -0
  187. package/ccw/dist/commands/cli.d.ts.map +1 -1
  188. package/ccw/dist/commands/cli.js +117 -20
  189. package/ccw/dist/commands/cli.js.map +1 -1
  190. package/ccw/dist/commands/install.d.ts +17 -0
  191. package/ccw/dist/commands/install.d.ts.map +1 -1
  192. package/ccw/dist/commands/install.js +211 -2
  193. package/ccw/dist/commands/install.js.map +1 -1
  194. package/ccw/dist/commands/issue.d.ts.map +1 -1
  195. package/ccw/dist/commands/issue.js +208 -28
  196. package/ccw/dist/commands/issue.js.map +1 -1
  197. package/ccw/dist/commands/uninstall.d.ts.map +1 -1
  198. package/ccw/dist/commands/uninstall.js +22 -1
  199. package/ccw/dist/commands/uninstall.js.map +1 -1
  200. package/ccw/dist/commands/view.d.ts.map +1 -1
  201. package/ccw/dist/commands/view.js +3 -0
  202. package/ccw/dist/commands/view.js.map +1 -1
  203. package/ccw/dist/commands/workflow.d.ts +11 -0
  204. package/ccw/dist/commands/workflow.d.ts.map +1 -0
  205. package/ccw/dist/commands/workflow.js +294 -0
  206. package/ccw/dist/commands/workflow.js.map +1 -0
  207. package/ccw/dist/core/data-aggregator.d.ts +13 -2
  208. package/ccw/dist/core/data-aggregator.d.ts.map +1 -1
  209. package/ccw/dist/core/data-aggregator.js +10 -16
  210. package/ccw/dist/core/data-aggregator.js.map +1 -1
  211. package/ccw/dist/core/routes/claude-routes.d.ts.map +1 -1
  212. package/ccw/dist/core/routes/claude-routes.js +57 -3
  213. package/ccw/dist/core/routes/claude-routes.js.map +1 -1
  214. package/ccw/dist/core/routes/cli-routes.d.ts +13 -0
  215. package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
  216. package/ccw/dist/core/routes/cli-routes.js +46 -0
  217. package/ccw/dist/core/routes/cli-routes.js.map +1 -1
  218. package/ccw/dist/core/routes/help-routes.d.ts.map +1 -1
  219. package/ccw/dist/core/routes/help-routes.js +156 -58
  220. package/ccw/dist/core/routes/help-routes.js.map +1 -1
  221. package/ccw/dist/core/routes/hooks-routes.d.ts.map +1 -1
  222. package/ccw/dist/core/routes/hooks-routes.js +33 -0
  223. package/ccw/dist/core/routes/hooks-routes.js.map +1 -1
  224. package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -1
  225. package/ccw/dist/core/routes/issue-routes.js +211 -29
  226. package/ccw/dist/core/routes/issue-routes.js.map +1 -1
  227. package/ccw/dist/core/routes/mcp-routes.d.ts.map +1 -1
  228. package/ccw/dist/core/routes/mcp-routes.js +4 -1
  229. package/ccw/dist/core/routes/mcp-routes.js.map +1 -1
  230. package/ccw/dist/core/routes/rules-routes.d.ts.map +1 -1
  231. package/ccw/dist/core/routes/rules-routes.js +22 -6
  232. package/ccw/dist/core/routes/rules-routes.js.map +1 -1
  233. package/ccw/dist/core/routes/session-routes.d.ts.map +1 -1
  234. package/ccw/dist/core/routes/session-routes.js +23 -1
  235. package/ccw/dist/core/routes/session-routes.js.map +1 -1
  236. package/ccw/dist/mcp-server/index.js +8 -2
  237. package/ccw/dist/mcp-server/index.js.map +1 -1
  238. package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
  239. package/ccw/dist/tools/claude-cli-tools.js +52 -28
  240. package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
  241. package/ccw/dist/tools/cli-executor-core.d.ts.map +1 -1
  242. package/ccw/dist/tools/cli-executor-core.js +38 -12
  243. package/ccw/dist/tools/cli-executor-core.js.map +1 -1
  244. package/ccw/dist/tools/cli-executor-state.d.ts +2 -0
  245. package/ccw/dist/tools/cli-executor-state.d.ts.map +1 -1
  246. package/ccw/dist/tools/cli-executor-state.js.map +1 -1
  247. package/ccw/dist/tools/cli-executor-utils.d.ts +7 -0
  248. package/ccw/dist/tools/cli-executor-utils.d.ts.map +1 -1
  249. package/ccw/dist/tools/cli-executor-utils.js +31 -2
  250. package/ccw/dist/tools/cli-executor-utils.js.map +1 -1
  251. package/ccw/dist/tools/cli-history-store.d.ts +21 -0
  252. package/ccw/dist/tools/cli-history-store.d.ts.map +1 -1
  253. package/ccw/dist/tools/cli-history-store.js +106 -30
  254. package/ccw/dist/tools/cli-history-store.js.map +1 -1
  255. package/ccw/dist/tools/cli-output-converter.d.ts +2 -1
  256. package/ccw/dist/tools/cli-output-converter.d.ts.map +1 -1
  257. package/ccw/dist/tools/cli-output-converter.js +65 -10
  258. package/ccw/dist/tools/cli-output-converter.js.map +1 -1
  259. package/ccw/dist/tools/codex-lens-lsp.d.ts +61 -0
  260. package/ccw/dist/tools/codex-lens-lsp.d.ts.map +1 -0
  261. package/ccw/dist/tools/codex-lens-lsp.js +320 -0
  262. package/ccw/dist/tools/codex-lens-lsp.js.map +1 -0
  263. package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
  264. package/ccw/dist/tools/codex-lens.js +74 -54
  265. package/ccw/dist/tools/codex-lens.js.map +1 -1
  266. package/ccw/dist/tools/index.d.ts.map +1 -1
  267. package/ccw/dist/tools/index.js +4 -0
  268. package/ccw/dist/tools/index.js.map +1 -1
  269. package/ccw/dist/tools/template-discovery.d.ts +85 -0
  270. package/ccw/dist/tools/template-discovery.d.ts.map +1 -0
  271. package/ccw/dist/tools/template-discovery.js +239 -0
  272. package/ccw/dist/tools/template-discovery.js.map +1 -0
  273. package/ccw/dist/tools/vscode-lsp.d.ts +57 -0
  274. package/ccw/dist/tools/vscode-lsp.d.ts.map +1 -0
  275. package/ccw/dist/tools/vscode-lsp.js +250 -0
  276. package/ccw/dist/tools/vscode-lsp.js.map +1 -0
  277. package/ccw/dist/utils/path-resolver.d.ts +16 -2
  278. package/ccw/dist/utils/path-resolver.d.ts.map +1 -1
  279. package/ccw/dist/utils/path-resolver.js +36 -6
  280. package/ccw/dist/utils/path-resolver.js.map +1 -1
  281. package/ccw/dist/utils/path-validator.d.ts +5 -0
  282. package/ccw/dist/utils/path-validator.d.ts.map +1 -1
  283. package/ccw/dist/utils/path-validator.js +16 -5
  284. package/ccw/dist/utils/path-validator.js.map +1 -1
  285. package/ccw/dist/utils/project-root.d.ts +25 -0
  286. package/ccw/dist/utils/project-root.d.ts.map +1 -0
  287. package/ccw/dist/utils/project-root.js +63 -0
  288. package/ccw/dist/utils/project-root.js.map +1 -0
  289. package/ccw/dist/utils/shell-escape.d.ts +47 -3
  290. package/ccw/dist/utils/shell-escape.d.ts.map +1 -1
  291. package/ccw/dist/utils/shell-escape.js +98 -15
  292. package/ccw/dist/utils/shell-escape.js.map +1 -1
  293. package/ccw/dist/utils/update-checker.d.ts +11 -0
  294. package/ccw/dist/utils/update-checker.d.ts.map +1 -0
  295. package/ccw/dist/utils/update-checker.js +167 -0
  296. package/ccw/dist/utils/update-checker.js.map +1 -0
  297. package/ccw/src/cli.ts +16 -0
  298. package/ccw/src/commands/cli.ts +127 -20
  299. package/ccw/src/commands/install.ts +239 -2
  300. package/ccw/src/commands/issue.ts +245 -31
  301. package/ccw/src/commands/uninstall.ts +23 -1
  302. package/ccw/src/commands/view.ts +4 -0
  303. package/ccw/src/commands/workflow.ts +348 -0
  304. package/ccw/src/core/data-aggregator.ts +25 -19
  305. package/ccw/src/core/routes/claude-routes.ts +64 -3
  306. package/ccw/src/core/routes/cli-routes.ts +58 -0
  307. package/ccw/src/core/routes/help-routes.ts +172 -60
  308. package/ccw/src/core/routes/hooks-routes.ts +32 -0
  309. package/ccw/src/core/routes/issue-routes.ts +242 -28
  310. package/ccw/src/core/routes/mcp-routes.ts +6 -2
  311. package/ccw/src/core/routes/rules-routes.ts +24 -6
  312. package/ccw/src/core/routes/session-routes.ts +24 -1
  313. package/ccw/src/mcp-server/index.ts +7 -2
  314. package/ccw/src/templates/dashboard-css/26-claude-manager.css +179 -0
  315. package/ccw/src/templates/dashboard-css/32-issue-manager.css +3427 -3302
  316. package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +3 -2
  317. package/ccw/src/templates/dashboard-js/components/cli-history.js +4 -1
  318. package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +57 -21
  319. package/ccw/src/templates/dashboard-js/components/hook-manager.js +1492 -1372
  320. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +107 -20
  321. package/ccw/src/templates/dashboard-js/components/version-check.js +135 -1
  322. package/ccw/src/templates/dashboard-js/i18n.js +42 -0
  323. package/ccw/src/templates/dashboard-js/views/claude-manager.js +168 -0
  324. package/ccw/src/templates/dashboard-js/views/cli-manager.js +1 -0
  325. package/ccw/src/templates/dashboard-js/views/hook-manager.js +21 -5
  326. package/ccw/src/templates/dashboard-js/views/issue-manager.js +201 -1
  327. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +3502 -3478
  328. package/ccw/src/templates/dashboard-js/views/mcp-manager.js +16 -0
  329. package/ccw/src/templates/dashboard.html +112 -0
  330. package/ccw/src/tools/claude-cli-tools.ts +54 -28
  331. package/ccw/src/tools/cli-executor-core.ts +42 -13
  332. package/ccw/src/tools/cli-executor-state.ts +2 -0
  333. package/ccw/src/tools/cli-executor-utils.ts +38 -2
  334. package/ccw/src/tools/cli-history-store.ts +122 -31
  335. package/ccw/src/tools/cli-output-converter.ts +76 -12
  336. package/ccw/src/tools/codex-lens-lsp.ts +405 -0
  337. package/ccw/src/tools/codex-lens.ts +82 -59
  338. package/ccw/src/tools/index.ts +4 -0
  339. package/ccw/src/tools/template-discovery.ts +303 -0
  340. package/ccw/src/tools/vscode-lsp.ts +317 -0
  341. package/ccw/src/utils/path-resolver.ts +37 -6
  342. package/ccw/src/utils/path-validator.ts +17 -5
  343. package/ccw/src/utils/project-root.ts +73 -0
  344. package/ccw/src/utils/shell-escape.ts +103 -16
  345. package/ccw/src/utils/update-checker.ts +178 -0
  346. package/codex-lens/pyproject.toml +14 -0
  347. package/codex-lens/src/codexlens/__pycache__/config.cpython-312.pyc +0 -0
  348. package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
  349. package/codex-lens/src/codexlens/__pycache__/errors.cpython-312.pyc +0 -0
  350. package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
  351. package/codex-lens/src/codexlens/api/__init__.py +88 -0
  352. package/codex-lens/src/codexlens/api/__pycache__/__init__.cpython-312.pyc +0 -0
  353. package/codex-lens/src/codexlens/api/__pycache__/__init__.cpython-313.pyc +0 -0
  354. package/codex-lens/src/codexlens/api/__pycache__/definition.cpython-312.pyc +0 -0
  355. package/codex-lens/src/codexlens/api/__pycache__/definition.cpython-313.pyc +0 -0
  356. package/codex-lens/src/codexlens/api/__pycache__/file_context.cpython-312.pyc +0 -0
  357. package/codex-lens/src/codexlens/api/__pycache__/file_context.cpython-313.pyc +0 -0
  358. package/codex-lens/src/codexlens/api/__pycache__/hover.cpython-312.pyc +0 -0
  359. package/codex-lens/src/codexlens/api/__pycache__/hover.cpython-313.pyc +0 -0
  360. package/codex-lens/src/codexlens/api/__pycache__/models.cpython-312.pyc +0 -0
  361. package/codex-lens/src/codexlens/api/__pycache__/models.cpython-313.pyc +0 -0
  362. package/codex-lens/src/codexlens/api/__pycache__/references.cpython-312.pyc +0 -0
  363. package/codex-lens/src/codexlens/api/__pycache__/references.cpython-313.pyc +0 -0
  364. package/codex-lens/src/codexlens/api/__pycache__/semantic.cpython-312.pyc +0 -0
  365. package/codex-lens/src/codexlens/api/__pycache__/semantic.cpython-313.pyc +0 -0
  366. package/codex-lens/src/codexlens/api/__pycache__/symbols.cpython-312.pyc +0 -0
  367. package/codex-lens/src/codexlens/api/__pycache__/symbols.cpython-313.pyc +0 -0
  368. package/codex-lens/src/codexlens/api/__pycache__/utils.cpython-312.pyc +0 -0
  369. package/codex-lens/src/codexlens/api/__pycache__/utils.cpython-313.pyc +0 -0
  370. package/codex-lens/src/codexlens/api/definition.py +126 -0
  371. package/codex-lens/src/codexlens/api/file_context.py +271 -0
  372. package/codex-lens/src/codexlens/api/hover.py +148 -0
  373. package/codex-lens/src/codexlens/api/models.py +281 -0
  374. package/codex-lens/src/codexlens/api/references.py +345 -0
  375. package/codex-lens/src/codexlens/api/semantic.py +471 -0
  376. package/codex-lens/src/codexlens/api/symbols.py +146 -0
  377. package/codex-lens/src/codexlens/api/utils.py +153 -0
  378. package/codex-lens/src/codexlens/config.py +7 -0
  379. package/codex-lens/src/codexlens/errors.py +4 -0
  380. package/codex-lens/src/codexlens/hybrid_search/__init__.py +28 -0
  381. package/codex-lens/src/codexlens/hybrid_search/__pycache__/__init__.cpython-312.pyc +0 -0
  382. package/codex-lens/src/codexlens/hybrid_search/__pycache__/__init__.cpython-313.pyc +0 -0
  383. package/codex-lens/src/codexlens/hybrid_search/__pycache__/data_structures.cpython-312.pyc +0 -0
  384. package/codex-lens/src/codexlens/hybrid_search/__pycache__/data_structures.cpython-313.pyc +0 -0
  385. package/codex-lens/src/codexlens/hybrid_search/__pycache__/engine.cpython-313.pyc +0 -0
  386. package/codex-lens/src/codexlens/hybrid_search/data_structures.py +602 -0
  387. package/codex-lens/src/codexlens/lsp/__init__.py +34 -0
  388. package/codex-lens/src/codexlens/lsp/__pycache__/__init__.cpython-312.pyc +0 -0
  389. package/codex-lens/src/codexlens/lsp/__pycache__/__init__.cpython-313.pyc +0 -0
  390. package/codex-lens/src/codexlens/lsp/__pycache__/handlers.cpython-313.pyc +0 -0
  391. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_bridge.cpython-312.pyc +0 -0
  392. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_bridge.cpython-313.pyc +0 -0
  393. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_graph_builder.cpython-312.pyc +0 -0
  394. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_graph_builder.cpython-313.pyc +0 -0
  395. package/codex-lens/src/codexlens/lsp/__pycache__/providers.cpython-313.pyc +0 -0
  396. package/codex-lens/src/codexlens/lsp/__pycache__/server.cpython-313.pyc +0 -0
  397. package/codex-lens/src/codexlens/lsp/__pycache__/standalone_manager.cpython-313.pyc +0 -0
  398. package/codex-lens/src/codexlens/lsp/handlers.py +551 -0
  399. package/codex-lens/src/codexlens/lsp/lsp_bridge.py +834 -0
  400. package/codex-lens/src/codexlens/lsp/lsp_graph_builder.py +375 -0
  401. package/codex-lens/src/codexlens/lsp/providers.py +177 -0
  402. package/codex-lens/src/codexlens/lsp/server.py +263 -0
  403. package/codex-lens/src/codexlens/lsp/standalone_manager.py +1159 -0
  404. package/codex-lens/src/codexlens/mcp/__init__.py +20 -0
  405. package/codex-lens/src/codexlens/mcp/__pycache__/__init__.cpython-313.pyc +0 -0
  406. package/codex-lens/src/codexlens/mcp/__pycache__/hooks.cpython-313.pyc +0 -0
  407. package/codex-lens/src/codexlens/mcp/__pycache__/provider.cpython-313.pyc +0 -0
  408. package/codex-lens/src/codexlens/mcp/__pycache__/schema.cpython-313.pyc +0 -0
  409. package/codex-lens/src/codexlens/mcp/hooks.py +170 -0
  410. package/codex-lens/src/codexlens/mcp/provider.py +202 -0
  411. package/codex-lens/src/codexlens/mcp/schema.py +113 -0
  412. package/codex-lens/src/codexlens/search/__init__.py +53 -15
  413. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-312.pyc +0 -0
  414. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.pyc +0 -0
  415. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-312.pyc +0 -0
  416. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
  417. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-312.pyc +0 -0
  418. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
  419. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-312.pyc +0 -0
  420. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
  421. package/codex-lens/src/codexlens/search/association_tree/QUICK_START.md +257 -0
  422. package/codex-lens/src/codexlens/search/association_tree/README.md +188 -0
  423. package/codex-lens/src/codexlens/search/association_tree/__init__.py +21 -0
  424. package/codex-lens/src/codexlens/search/association_tree/__pycache__/__init__.cpython-313.pyc +0 -0
  425. package/codex-lens/src/codexlens/search/association_tree/__pycache__/builder.cpython-313.pyc +0 -0
  426. package/codex-lens/src/codexlens/search/association_tree/__pycache__/data_structures.cpython-313.pyc +0 -0
  427. package/codex-lens/src/codexlens/search/association_tree/__pycache__/deduplicator.cpython-313.pyc +0 -0
  428. package/codex-lens/src/codexlens/search/association_tree/builder.py +450 -0
  429. package/codex-lens/src/codexlens/search/association_tree/data_structures.py +191 -0
  430. package/codex-lens/src/codexlens/search/association_tree/deduplicator.py +301 -0
  431. package/codex-lens/src/codexlens/search/chain_search.py +864 -3
  432. package/codex-lens/src/codexlens/search/clustering/__init__.py +124 -0
  433. package/codex-lens/src/codexlens/search/clustering/__pycache__/__init__.cpython-312.pyc +0 -0
  434. package/codex-lens/src/codexlens/search/clustering/__pycache__/__init__.cpython-313.pyc +0 -0
  435. package/codex-lens/src/codexlens/search/clustering/__pycache__/base.cpython-312.pyc +0 -0
  436. package/codex-lens/src/codexlens/search/clustering/__pycache__/base.cpython-313.pyc +0 -0
  437. package/codex-lens/src/codexlens/search/clustering/__pycache__/dbscan_strategy.cpython-313.pyc +0 -0
  438. package/codex-lens/src/codexlens/search/clustering/__pycache__/factory.cpython-312.pyc +0 -0
  439. package/codex-lens/src/codexlens/search/clustering/__pycache__/factory.cpython-313.pyc +0 -0
  440. package/codex-lens/src/codexlens/search/clustering/__pycache__/frequency_strategy.cpython-312.pyc +0 -0
  441. package/codex-lens/src/codexlens/search/clustering/__pycache__/frequency_strategy.cpython-313.pyc +0 -0
  442. package/codex-lens/src/codexlens/search/clustering/__pycache__/hdbscan_strategy.cpython-313.pyc +0 -0
  443. package/codex-lens/src/codexlens/search/clustering/__pycache__/noop_strategy.cpython-312.pyc +0 -0
  444. package/codex-lens/src/codexlens/search/clustering/__pycache__/noop_strategy.cpython-313.pyc +0 -0
  445. package/codex-lens/src/codexlens/search/clustering/base.py +153 -0
  446. package/codex-lens/src/codexlens/search/clustering/dbscan_strategy.py +197 -0
  447. package/codex-lens/src/codexlens/search/clustering/factory.py +202 -0
  448. package/codex-lens/src/codexlens/search/clustering/frequency_strategy.py +263 -0
  449. package/codex-lens/src/codexlens/search/clustering/hdbscan_strategy.py +153 -0
  450. package/codex-lens/src/codexlens/search/clustering/noop_strategy.py +83 -0
  451. package/codex-lens/src/codexlens/search/hybrid_search.py +194 -2
  452. package/codex-lens/src/codexlens/search/ranking.py +6 -4
  453. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-312.pyc +0 -0
  454. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-312.pyc +0 -0
  455. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
  456. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-312.pyc +0 -0
  457. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-313.pyc +0 -0
  458. package/codex-lens/src/codexlens/storage/dir_index.py +172 -0
  459. package/codex-lens/src/codexlens/storage/global_index.py +33 -0
  460. package/package.json +92 -92
  461. /package/.claude/workflows/cli-templates/prompts/{analysis/02-analyze-code-patterns.txt → analysis-analyze-code-patterns.txt} +0 -0
  462. /package/.claude/workflows/cli-templates/prompts/{analysis/02-analyze-technical-document.txt → analysis-analyze-technical-document.txt} +0 -0
  463. /package/.claude/workflows/cli-templates/prompts/{analysis/01-diagnose-bug-root-cause.txt → analysis-diagnose-bug-root-cause.txt} +0 -0
  464. /package/.claude/workflows/cli-templates/prompts/{development/03-debug-runtime-issues.txt → development-debug-runtime-issues.txt} +0 -0
  465. /package/.claude/workflows/cli-templates/prompts/{development/02-generate-tests.txt → development-generate-tests.txt} +0 -0
  466. /package/.claude/workflows/cli-templates/prompts/{development/02-implement-component-ui.txt → development-implement-component-ui.txt} +0 -0
  467. /package/.claude/workflows/cli-templates/prompts/{development/02-implement-feature.txt → development-implement-feature.txt} +0 -0
  468. /package/.claude/workflows/cli-templates/prompts/{development/02-refactor-codebase.txt → development-refactor-codebase.txt} +0 -0
  469. /package/.claude/workflows/cli-templates/prompts/{documentation/module-readme.txt → documentation-module-readme.txt} +0 -0
  470. /package/.claude/workflows/cli-templates/prompts/{memory/02-document-module-structure.txt → memory-document-module-structure.txt} +0 -0
  471. /package/.claude/workflows/cli-templates/prompts/{planning/02-breakdown-task-steps.txt → planning-breakdown-task-steps.txt} +0 -0
  472. /package/.claude/workflows/cli-templates/prompts/{planning/03-evaluate-concept-feasibility.txt → planning-evaluate-concept-feasibility.txt} +0 -0
  473. /package/.claude/workflows/cli-templates/prompts/{planning/01-plan-architecture-design.txt → planning-plan-architecture-design.txt} +0 -0
  474. /package/.claude/workflows/cli-templates/prompts/{planning/03-plan-migration-strategy.txt → planning-plan-migration-strategy.txt} +0 -0
  475. /package/.claude/workflows/cli-templates/prompts/{rules/rule-api.txt → rules-rule-api.txt} +0 -0
  476. /package/.claude/workflows/cli-templates/prompts/{rules/rule-components.txt → rules-rule-components.txt} +0 -0
  477. /package/.claude/workflows/cli-templates/prompts/{rules/rule-config.txt → rules-rule-config.txt} +0 -0
  478. /package/.claude/workflows/cli-templates/prompts/{rules/rule-core.txt → rules-rule-core.txt} +0 -0
  479. /package/.claude/workflows/cli-templates/prompts/{rules/rule-patterns.txt → rules-rule-patterns.txt} +0 -0
  480. /package/.claude/workflows/cli-templates/prompts/{rules/rule-testing.txt → rules-rule-testing.txt} +0 -0
  481. /package/.claude/workflows/cli-templates/prompts/{rules/tech-rules-agent-prompt.txt → rules-tech-rules-agent-prompt.txt} +0 -0
  482. /package/.claude/workflows/cli-templates/prompts/{tech/tech-module-format.txt → tech-tech-module-format.txt} +0 -0
  483. /package/.claude/workflows/cli-templates/prompts/{tech/tech-skill-index.txt → tech-tech-skill-index.txt} +0 -0
  484. /package/.claude/workflows/cli-templates/prompts/{test/test-concept-analysis.txt → test-test-concept-analysis.txt} +0 -0
  485. /package/.claude/workflows/cli-templates/prompts/{universal/00-universal-creative-style.txt → universal-universal-creative-style.txt} +0 -0
  486. /package/.claude/workflows/cli-templates/prompts/{universal/00-universal-rigorous-style.txt → universal-universal-rigorous-style.txt} +0 -0
  487. /package/.claude/workflows/cli-templates/prompts/{workflow/codex-feasibility-validation.txt → workflow-codex-feasibility-validation.txt} +0 -0
  488. /package/.claude/workflows/cli-templates/prompts/{workflow/gemini-solution-design.txt → workflow-gemini-solution-design.txt} +0 -0
  489. /package/.claude/workflows/cli-templates/prompts/{workflow/skill-aggregation.txt → workflow-skill-aggregation.txt} +0 -0
  490. /package/.claude/workflows/cli-templates/prompts/{workflow/skill-index.txt → workflow-skill-index.txt} +0 -0
  491. /package/.claude/workflows/cli-templates/prompts/{workflow/skill-sessions-timeline.txt → workflow-skill-sessions-timeline.txt} +0 -0
  492. /package/.claude/workflows/cli-templates/prompts/{workflow/task-json-cli-mode.txt → workflow-task-json-cli-mode.txt} +0 -0
@@ -1,396 +1,396 @@
1
- ---
2
- name: style-skill-memory
3
- description: Generate SKILL memory package from style reference for easy loading and consistent design system usage
4
- argument-hint: "[package-name] [--regenerate]"
5
- allowed-tools: Bash,Read,Write,TodoWrite
6
- auto-continue: true
7
- ---
8
-
9
- # Memory: Style SKILL Memory Generator
10
-
11
- ## Overview
12
-
13
- **Purpose**: Convert style reference package into SKILL memory for easy loading and context management.
14
-
15
- **Input**: Style reference package at `.workflow/reference_style/{package-name}/`
16
-
17
- **Output**: SKILL memory index at `.claude/skills/style-{package-name}/SKILL.md`
18
-
19
- **Use Case**: Load design system context when working with UI components, analyzing design patterns, or implementing style guidelines.
20
-
21
- **Key Features**:
22
- - Extracts primary design references (colors, typography, spacing, etc.)
23
- - Provides dynamic adjustment guidelines for design tokens
24
- - Includes prerequisites and tooling requirements (browsers, PostCSS, dark mode)
25
- - Progressive loading structure for efficient token usage
26
- - Complete implementation examples with React components
27
- - Interactive preview showcase
28
-
29
- ---
30
-
31
- ## Quick Reference
32
-
33
- ### Command Syntax
34
-
35
- ```bash
36
- /memory:style-skill-memory [package-name] [--regenerate]
37
-
38
- # Arguments
39
- package-name Style reference package name (required)
40
- --regenerate Force regenerate SKILL.md even if it exists (optional)
41
- ```
42
-
43
- ### Usage Examples
44
-
45
- ```bash
46
- # Generate SKILL memory for package
47
- /memory:style-skill-memory main-app-style-v1
48
-
49
- # Regenerate SKILL memory
50
- /memory:style-skill-memory main-app-style-v1 --regenerate
51
-
52
- # Package name from current directory or default
53
- /memory:style-skill-memory
54
- ```
55
-
56
- ### Key Variables
57
-
58
- **Input Variables**:
59
- - `PACKAGE_NAME`: Style reference package name
60
- - `PACKAGE_DIR`: `.workflow/reference_style/${package_name}`
61
- - `SKILL_DIR`: `.claude/skills/style-${package_name}`
62
- - `REGENERATE`: `true` if --regenerate flag, `false` otherwise
63
-
64
- **Data Sources** (Phase 2):
65
- - `DESIGN_TOKENS_DATA`: Complete design-tokens.json content (from Read)
66
- - `LAYOUT_TEMPLATES_DATA`: Complete layout-templates.json content (from Read)
67
- - `ANIMATION_TOKENS_DATA`: Complete animation-tokens.json content (from Read, if exists)
68
-
69
- **Metadata** (Phase 2):
70
- - `COMPONENT_COUNT`: Total components
71
- - `UNIVERSAL_COUNT`: Universal components count
72
- - `SPECIALIZED_COUNT`: Specialized components count
73
- - `UNIVERSAL_COMPONENTS`: Universal component names (first 5)
74
- - `HAS_ANIMATIONS`: Whether animation-tokens.json exists
75
-
76
- **Analysis Output** (`DESIGN_ANALYSIS` - Phase 2):
77
- - `has_colors`: Colors exist
78
- - `color_semantic`: Has semantic naming (primary/secondary/accent)
79
- - `uses_oklch`: Uses modern color spaces (oklch, lab, etc.)
80
- - `has_dark_mode`: Has separate light/dark mode color tokens
81
- - `spacing_pattern`: Pattern type ("linear", "geometric", "custom")
82
- - `spacing_scale`: Actual scale values (e.g., [4, 8, 16, 32, 64])
83
- - `has_typography`: Typography system exists
84
- - `typography_hierarchy`: Has size scale for hierarchy
85
- - `uses_calc`: Uses calc() expressions in token values
86
- - `has_radius`: Border radius exists
87
- - `radius_style`: Style characteristic ("sharp" <4px, "moderate" 4-8px, "rounded" >8px)
88
- - `has_shadows`: Shadow system exists
89
- - `shadow_pattern`: Elevation naming pattern
90
- - `has_animations`: Animation tokens exist
91
- - `animation_range`: Duration range (fast to slow)
92
- - `easing_variety`: Types of easing functions
93
-
94
- ### Common Errors
95
-
96
- | Error | Cause | Resolution |
97
- |-------|-------|------------|
98
- | Package not found | Invalid package name or doesn't exist | Run `/workflow:ui-design:codify-style` first |
99
- | SKILL already exists | SKILL.md already generated | Use `--regenerate` flag |
100
- | Missing layout-templates.json | Incomplete package | Verify package integrity, re-run codify-style |
101
- | Invalid JSON format | Corrupted package files | Regenerate package with codify-style |
102
-
103
- ---
104
-
105
- ## Execution Process
106
-
107
- ### Phase 1: Validate Package
108
-
109
- **TodoWrite** (First Action):
110
- ```json
111
- [
112
- {
113
- "content": "Validate package exists and check SKILL status",
114
- "activeForm": "Validating package and SKILL status",
115
- "status": "in_progress"
116
- },
117
- {
118
- "content": "Read package data and analyze design system",
119
- "activeForm": "Reading package data and analyzing design system",
120
- "status": "pending"
121
- },
122
- {
123
- "content": "Generate SKILL.md with design principles and token values",
124
- "activeForm": "Generating SKILL.md with design principles and token values",
125
- "status": "pending"
126
- }
127
- ]
128
- ```
129
-
130
- **Step 1: Parse Package Name**
131
-
132
- ```bash
133
- # Get package name from argument or auto-detect
134
- bash(echo "${package_name}" || basename "$(pwd)" | sed 's/^style-//')
135
- ```
136
-
137
- **Step 2: Validate Package Exists**
138
-
139
- ```bash
140
- bash(test -d .workflow/reference_style/${package_name} && echo "exists" || echo "missing")
141
- ```
142
-
143
- **Error Handling**:
144
- ```javascript
145
- if (package_not_exists) {
146
- error("ERROR: Style reference package not found: ${package_name}")
147
- error("HINT: Run '/workflow:ui-design:codify-style' first to create package")
148
- error("Available packages:")
149
- bash(ls -1 .workflow/reference_style/ 2>/dev/null || echo " (none)")
150
- exit(1)
151
- }
152
- ```
153
-
154
- **Step 3: Check SKILL Already Exists**
155
-
156
- ```bash
157
- bash(test -f .claude/skills/style-${package_name}/SKILL.md && echo "exists" || echo "missing")
158
- ```
159
-
160
- **Decision Logic**:
161
- ```javascript
162
- if (skill_exists && !regenerate_flag) {
163
- echo("SKILL memory already exists for: ${package_name}")
164
- echo("Use --regenerate to force regeneration")
165
- exit(0)
166
- }
167
-
168
- if (regenerate_flag && skill_exists) {
169
- echo("Regenerating SKILL memory for: ${package_name}")
170
- }
171
- ```
172
-
173
- **TodoWrite Update**: Mark "Validate" as completed, "Read package data" as in_progress
174
-
175
- ---
176
-
177
- ### Phase 2: Read Package Data & Analyze Design System
178
-
179
- **Step 1: Read All JSON Files**
180
-
181
- ```bash
182
- # Read layout templates
183
- Read(file_path=".workflow/reference_style/${package_name}/layout-templates.json")
184
-
185
- # Read design tokens
186
- Read(file_path=".workflow/reference_style/${package_name}/design-tokens.json")
187
-
188
- # Read animation tokens (if exists)
189
- bash(test -f .workflow/reference_style/${package_name}/animation-tokens.json && echo "exists" || echo "missing")
190
- Read(file_path=".workflow/reference_style/${package_name}/animation-tokens.json") # if exists
191
- ```
192
-
193
- **Step 2: Extract Metadata for Description**
194
-
195
- ```bash
196
- # Count components and classify by type
197
- bash(jq '.layout_templates | length' layout-templates.json)
198
- bash(jq '[.layout_templates[] | select(.component_type == "universal")] | length' layout-templates.json)
199
- bash(jq '[.layout_templates[] | select(.component_type == "specialized")] | length' layout-templates.json)
200
- bash(jq -r '.layout_templates | to_entries[] | select(.value.component_type == "universal") | .key' layout-templates.json | head -5)
201
- ```
202
-
203
- Store results in metadata variables (see [Key Variables](#key-variables))
204
-
205
- **Step 3: Analyze Design System for Dynamic Principles**
206
-
207
- Analyze design-tokens.json to extract characteristics and patterns:
208
-
209
- ```bash
210
- # Color system characteristics
211
- bash(jq '.colors | keys' design-tokens.json)
212
- bash(jq '.colors | to_entries[0:2] | map(.value)' design-tokens.json)
213
- # Check for modern color spaces
214
- bash(jq '.colors | to_entries[] | .value | test("oklch|lab|lch")' design-tokens.json)
215
- # Check for dark mode variants
216
- bash(jq '.colors | keys | map(select(contains("dark") or contains("light")))' design-tokens.json)
217
- # → Store: has_colors, color_semantic, uses_oklch, has_dark_mode
218
-
219
- # Spacing pattern detection
220
- bash(jq '.spacing | to_entries | map(.value) | map(gsub("[^0-9.]"; "") | tonumber)' design-tokens.json)
221
- # Analyze pattern: linear (4-8-12-16) vs geometric (4-8-16-32) vs custom
222
- # → Store: spacing_pattern, spacing_scale
223
-
224
- # Typography characteristics
225
- bash(jq '.typography | keys | map(select(contains("family") or contains("weight")))' design-tokens.json)
226
- bash(jq '.typography | to_entries | map(select(.key | contains("size"))) | .[].value' design-tokens.json)
227
- # Check for calc() usage
228
- bash(jq '. | tostring | test("calc\\(")' design-tokens.json)
229
- # → Store: has_typography, typography_hierarchy, uses_calc
230
-
231
- # Border radius style
232
- bash(jq '.border_radius | to_entries | map(.value)' design-tokens.json)
233
- # Check range: small (sharp <4px) vs moderate (4-8px) vs large (rounded >8px)
234
- # → Store: has_radius, radius_style
235
-
236
- # Shadow characteristics
237
- bash(jq '.shadows | keys' design-tokens.json)
238
- bash(jq '.shadows | to_entries[0].value' design-tokens.json)
239
- # → Store: has_shadows, shadow_pattern
240
-
241
- # Animations (if available)
242
- bash(jq '.duration | to_entries | map(.value)' animation-tokens.json)
243
- bash(jq '.easing | keys' animation-tokens.json)
244
- # → Store: has_animations, animation_range, easing_variety
245
- ```
246
-
247
- Store analysis results in `DESIGN_ANALYSIS` (see [Key Variables](#key-variables))
248
-
249
- **Note**: Analysis focuses on characteristics and patterns, not counts. Include technical feature detection (oklch, calc, dark mode) for Prerequisites section.
250
-
251
- **TodoWrite Update**: Mark "Read package data" as completed, "Generate SKILL.md" as in_progress
252
-
253
- ---
254
-
255
- ### Phase 3: Generate SKILL.md
256
-
257
- **Step 1: Create SKILL Directory**
258
-
259
- ```bash
260
- bash(mkdir -p .claude/skills/style-${package_name})
261
- ```
262
-
263
- **Step 2: Generate Intelligent Description**
264
-
265
- **Format**:
266
- ```
267
- {package_name} project-independent design system with {universal_count} universal layout templates and interactive preview (located at .workflow/reference_style/{package_name}). Load when working with reusable UI components, design tokens, layout patterns, or implementing visual consistency. Excludes {specialized_count} project-specific components.
268
- ```
269
-
270
- **Step 3: Load and Process SKILL.md Template**
271
-
272
- **⚠️ CRITICAL - Execute First**:
273
- ```bash
274
- bash(cat ~/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md)
275
- ```
276
-
277
- **Template Processing**:
278
- 1. **Replace variables**: Substitute all `{variable}` placeholders with actual values from Phase 2
279
- 2. **Generate dynamic sections**:
280
- - **Prerequisites & Tooling**: Generate based on `DESIGN_ANALYSIS` technical features (oklch, calc, dark mode)
281
- - **Design Principles**: Generate based on `DESIGN_ANALYSIS` characteristics
282
- - **Complete Implementation Example**: Include React component example with token adaptation
283
- - **Design Token Values**: Iterate `DESIGN_TOKENS_DATA`, `ANIMATION_TOKENS_DATA` and display all key-value pairs with DEFAULT annotations
284
- 3. **Write to file**: Use Write tool to save to `.claude/skills/style-{package_name}/SKILL.md`
285
-
286
- **Variable Replacement Map**:
287
- - `{package_name}` → PACKAGE_NAME
288
- - `{intelligent_description}` → Generated description from Step 2
289
- - `{component_count}` → COMPONENT_COUNT
290
- - `{universal_count}` → UNIVERSAL_COUNT
291
- - `{specialized_count}` → SPECIALIZED_COUNT
292
- - `{universal_components_list}` → UNIVERSAL_COMPONENTS (comma-separated)
293
- - `{has_animations}` → HAS_ANIMATIONS
294
-
295
- **Dynamic Content Generation**:
296
-
297
- See template file for complete structure. Key dynamic sections:
298
-
299
- 1. **Prerequisites & Tooling** (based on DESIGN_ANALYSIS technical features):
300
- - IF uses_oklch → Include PostCSS plugin requirement (`postcss-oklab-function`)
301
- - IF uses_calc → Include preprocessor requirement for calc() expressions
302
- - IF has_dark_mode → Include dark mode implementation mechanism (class or media query)
303
- - ALWAYS include browser support, jq installation, and local server setup
304
-
305
- 2. **Design Principles** (based on DESIGN_ANALYSIS):
306
- - IF has_colors → Include "Color System" principle with semantic pattern
307
- - IF spacing_pattern detected → Include "Spatial Rhythm" with unified scale description (actual token values)
308
- - IF has_typography_hierarchy → Include "Typographic System" with scale examples
309
- - IF has_radius → Include "Shape Language" with style characteristic
310
- - IF has_shadows → Include "Depth & Elevation" with elevation pattern
311
- - IF has_animations → Include "Motion & Timing" with duration range
312
- - ALWAYS include "Accessibility First" principle
313
-
314
- 3. **Design Token Values** (iterate from read data):
315
- - Colors: Iterate `DESIGN_TOKENS_DATA.colors`
316
- - Typography: Iterate `DESIGN_TOKENS_DATA.typography`
317
- - Spacing: Iterate `DESIGN_TOKENS_DATA.spacing`
318
- - Border Radius: Iterate `DESIGN_TOKENS_DATA.border_radius` with calc() explanations
319
- - Shadows: Iterate `DESIGN_TOKENS_DATA.shadows` with DEFAULT token annotations
320
- - Animations (if available): Iterate `ANIMATION_TOKENS_DATA.duration` and `ANIMATION_TOKENS_DATA.easing`
321
-
322
- **Step 4: Verify SKILL.md Created**
323
-
324
- ```bash
325
- bash(test -f .claude/skills/style-${package_name}/SKILL.md && echo "success" || echo "failed")
326
- ```
327
-
328
- **TodoWrite Update**: Mark all todos as completed
329
-
330
- ---
331
-
332
- ### Completion Message
333
-
334
- Display a simple completion message with key information:
335
-
336
- ```
337
- ✅ SKILL memory generated for style package: {package_name}
338
-
339
- 📁 Location: .claude/skills/style-{package_name}/SKILL.md
340
-
341
- 📊 Package Summary:
342
- - {component_count} components ({universal_count} universal, {specialized_count} specialized)
343
- - Design tokens: colors, typography, spacing, shadows{animations_note}
344
-
345
- 💡 Usage: /memory:load-skill-memory style-{package_name} "your task description"
346
- ```
347
-
348
- Variables: `{package_name}`, `{component_count}`, `{universal_count}`, `{specialized_count}`, `{animations_note}` (", animations" if exists)
349
-
350
- ---
351
-
352
- ## Implementation Details
353
-
354
- ### Critical Rules
355
-
356
- 1. **Check Before Generate**: Verify package exists before attempting SKILL generation
357
- 2. **Respect Existing SKILL**: Don't overwrite unless --regenerate flag provided
358
- 3. **Load Templates via cat**: Use `cat ~/.claude/workflows/cli-templates/memory/style-skill-memory/{template}` to load templates
359
- 4. **Variable Substitution**: Replace all `{variable}` placeholders with actual values
360
- 5. **Technical Feature Detection**: Analyze tokens for modern features (oklch, calc, dark mode) and generate appropriate Prerequisites section
361
- 6. **Dynamic Content Generation**: Generate sections based on DESIGN_ANALYSIS characteristics
362
- 7. **Unified Spacing Scale**: Use actual token values as primary scale reference, avoid contradictory pattern descriptions
363
- 8. **Direct Iteration**: Iterate data structures (DESIGN_TOKENS_DATA, etc.) for token values
364
- 9. **Annotate Special Tokens**: Add comments for DEFAULT tokens and calc() expressions
365
- 10. **Embed jq Commands**: Include bash/jq commands in SKILL.md for dynamic loading
366
- 11. **Progressive Loading**: Include all 3 levels (0-2) with specific jq commands
367
- 12. **Complete Examples**: Include end-to-end implementation examples (React components)
368
- 13. **Intelligent Description**: Extract component count and key features from metadata
369
- 14. **Emphasize Flexibility**: Strongly warn against rigid copying - values are references for creative adaptation
370
-
371
- ### Template Files Location
372
-
373
-
374
- ```
375
- Phase 1: Validate
376
- ├─ Parse package_name
377
- ├─ Check PACKAGE_DIR exists
378
- └─ Check SKILL_DIR exists (skip if exists and no --regenerate)
379
-
380
- Phase 2: Read & Analyze
381
- ├─ Read design-tokens.json → DESIGN_TOKENS_DATA
382
- ├─ Read layout-templates.json → LAYOUT_TEMPLATES_DATA
383
- ├─ Read animation-tokens.json → ANIMATION_TOKENS_DATA (if exists)
384
- ├─ Extract Metadata → COMPONENT_COUNT, UNIVERSAL_COUNT, etc.
385
- └─ Analyze Design System → DESIGN_ANALYSIS (characteristics)
386
-
387
- Phase 3: Generate
388
- ├─ Create SKILL directory
389
- ├─ Generate intelligent description
390
- ├─ Load SKILL.md template (cat command)
391
- ├─ Replace variables and generate dynamic content
392
- ├─ Write SKILL.md
393
- ├─ Verify creation
394
- ├─ Load completion message template (cat command)
395
- └─ Display completion message
396
- ```
1
+ ---
2
+ name: style-skill-memory
3
+ description: Generate SKILL memory package from style reference for easy loading and consistent design system usage
4
+ argument-hint: "[package-name] [--regenerate]"
5
+ allowed-tools: Bash,Read,Write,TodoWrite
6
+ auto-continue: true
7
+ ---
8
+
9
+ # Memory: Style SKILL Memory Generator
10
+
11
+ ## Overview
12
+
13
+ **Purpose**: Convert style reference package into SKILL memory for easy loading and context management.
14
+
15
+ **Input**: Style reference package at `.workflow/reference_style/{package-name}/`
16
+
17
+ **Output**: SKILL memory index at `.claude/skills/style-{package-name}/SKILL.md`
18
+
19
+ **Use Case**: Load design system context when working with UI components, analyzing design patterns, or implementing style guidelines.
20
+
21
+ **Key Features**:
22
+ - Extracts primary design references (colors, typography, spacing, etc.)
23
+ - Provides dynamic adjustment guidelines for design tokens
24
+ - Includes prerequisites and tooling requirements (browsers, PostCSS, dark mode)
25
+ - Progressive loading structure for efficient token usage
26
+ - Complete implementation examples with React components
27
+ - Interactive preview showcase
28
+
29
+ ---
30
+
31
+ ## Quick Reference
32
+
33
+ ### Command Syntax
34
+
35
+ ```bash
36
+ /memory:style-skill-memory [package-name] [--regenerate]
37
+
38
+ # Arguments
39
+ package-name Style reference package name (required)
40
+ --regenerate Force regenerate SKILL.md even if it exists (optional)
41
+ ```
42
+
43
+ ### Usage Examples
44
+
45
+ ```bash
46
+ # Generate SKILL memory for package
47
+ /memory:style-skill-memory main-app-style-v1
48
+
49
+ # Regenerate SKILL memory
50
+ /memory:style-skill-memory main-app-style-v1 --regenerate
51
+
52
+ # Package name from current directory or default
53
+ /memory:style-skill-memory
54
+ ```
55
+
56
+ ### Key Variables
57
+
58
+ **Input Variables**:
59
+ - `PACKAGE_NAME`: Style reference package name
60
+ - `PACKAGE_DIR`: `.workflow/reference_style/${package_name}`
61
+ - `SKILL_DIR`: `.claude/skills/style-${package_name}`
62
+ - `REGENERATE`: `true` if --regenerate flag, `false` otherwise
63
+
64
+ **Data Sources** (Phase 2):
65
+ - `DESIGN_TOKENS_DATA`: Complete design-tokens.json content (from Read)
66
+ - `LAYOUT_TEMPLATES_DATA`: Complete layout-templates.json content (from Read)
67
+ - `ANIMATION_TOKENS_DATA`: Complete animation-tokens.json content (from Read, if exists)
68
+
69
+ **Metadata** (Phase 2):
70
+ - `COMPONENT_COUNT`: Total components
71
+ - `UNIVERSAL_COUNT`: Universal components count
72
+ - `SPECIALIZED_COUNT`: Specialized components count
73
+ - `UNIVERSAL_COMPONENTS`: Universal component names (first 5)
74
+ - `HAS_ANIMATIONS`: Whether animation-tokens.json exists
75
+
76
+ **Analysis Output** (`DESIGN_ANALYSIS` - Phase 2):
77
+ - `has_colors`: Colors exist
78
+ - `color_semantic`: Has semantic naming (primary/secondary/accent)
79
+ - `uses_oklch`: Uses modern color spaces (oklch, lab, etc.)
80
+ - `has_dark_mode`: Has separate light/dark mode color tokens
81
+ - `spacing_pattern`: Pattern type ("linear", "geometric", "custom")
82
+ - `spacing_scale`: Actual scale values (e.g., [4, 8, 16, 32, 64])
83
+ - `has_typography`: Typography system exists
84
+ - `typography_hierarchy`: Has size scale for hierarchy
85
+ - `uses_calc`: Uses calc() expressions in token values
86
+ - `has_radius`: Border radius exists
87
+ - `radius_style`: Style characteristic ("sharp" <4px, "moderate" 4-8px, "rounded" >8px)
88
+ - `has_shadows`: Shadow system exists
89
+ - `shadow_pattern`: Elevation naming pattern
90
+ - `has_animations`: Animation tokens exist
91
+ - `animation_range`: Duration range (fast to slow)
92
+ - `easing_variety`: Types of easing functions
93
+
94
+ ### Common Errors
95
+
96
+ | Error | Cause | Resolution |
97
+ |-------|-------|------------|
98
+ | Package not found | Invalid package name or doesn't exist | Run `/workflow:ui-design:codify-style` first |
99
+ | SKILL already exists | SKILL.md already generated | Use `--regenerate` flag |
100
+ | Missing layout-templates.json | Incomplete package | Verify package integrity, re-run codify-style |
101
+ | Invalid JSON format | Corrupted package files | Regenerate package with codify-style |
102
+
103
+ ---
104
+
105
+ ## Execution Process
106
+
107
+ ### Phase 1: Validate Package
108
+
109
+ **TodoWrite** (First Action):
110
+ ```json
111
+ [
112
+ {
113
+ "content": "Validate package exists and check SKILL status",
114
+ "activeForm": "Validating package and SKILL status",
115
+ "status": "in_progress"
116
+ },
117
+ {
118
+ "content": "Read package data and analyze design system",
119
+ "activeForm": "Reading package data and analyzing design system",
120
+ "status": "pending"
121
+ },
122
+ {
123
+ "content": "Generate SKILL.md with design principles and token values",
124
+ "activeForm": "Generating SKILL.md with design principles and token values",
125
+ "status": "pending"
126
+ }
127
+ ]
128
+ ```
129
+
130
+ **Step 1: Parse Package Name**
131
+
132
+ ```bash
133
+ # Get package name from argument or auto-detect
134
+ bash(echo "${package_name}" || basename "$(pwd)" | sed 's/^style-//')
135
+ ```
136
+
137
+ **Step 2: Validate Package Exists**
138
+
139
+ ```bash
140
+ bash(test -d .workflow/reference_style/${package_name} && echo "exists" || echo "missing")
141
+ ```
142
+
143
+ **Error Handling**:
144
+ ```javascript
145
+ if (package_not_exists) {
146
+ error("ERROR: Style reference package not found: ${package_name}")
147
+ error("HINT: Run '/workflow:ui-design:codify-style' first to create package")
148
+ error("Available packages:")
149
+ bash(ls -1 .workflow/reference_style/ 2>/dev/null || echo " (none)")
150
+ exit(1)
151
+ }
152
+ ```
153
+
154
+ **Step 3: Check SKILL Already Exists**
155
+
156
+ ```bash
157
+ bash(test -f .claude/skills/style-${package_name}/SKILL.md && echo "exists" || echo "missing")
158
+ ```
159
+
160
+ **Decision Logic**:
161
+ ```javascript
162
+ if (skill_exists && !regenerate_flag) {
163
+ echo("SKILL memory already exists for: ${package_name}")
164
+ echo("Use --regenerate to force regeneration")
165
+ exit(0)
166
+ }
167
+
168
+ if (regenerate_flag && skill_exists) {
169
+ echo("Regenerating SKILL memory for: ${package_name}")
170
+ }
171
+ ```
172
+
173
+ **TodoWrite Update**: Mark "Validate" as completed, "Read package data" as in_progress
174
+
175
+ ---
176
+
177
+ ### Phase 2: Read Package Data & Analyze Design System
178
+
179
+ **Step 1: Read All JSON Files**
180
+
181
+ ```bash
182
+ # Read layout templates
183
+ Read(file_path=".workflow/reference_style/${package_name}/layout-templates.json")
184
+
185
+ # Read design tokens
186
+ Read(file_path=".workflow/reference_style/${package_name}/design-tokens.json")
187
+
188
+ # Read animation tokens (if exists)
189
+ bash(test -f .workflow/reference_style/${package_name}/animation-tokens.json && echo "exists" || echo "missing")
190
+ Read(file_path=".workflow/reference_style/${package_name}/animation-tokens.json") # if exists
191
+ ```
192
+
193
+ **Step 2: Extract Metadata for Description**
194
+
195
+ ```bash
196
+ # Count components and classify by type
197
+ bash(jq '.layout_templates | length' layout-templates.json)
198
+ bash(jq '[.layout_templates[] | select(.component_type == "universal")] | length' layout-templates.json)
199
+ bash(jq '[.layout_templates[] | select(.component_type == "specialized")] | length' layout-templates.json)
200
+ bash(jq -r '.layout_templates | to_entries[] | select(.value.component_type == "universal") | .key' layout-templates.json | head -5)
201
+ ```
202
+
203
+ Store results in metadata variables (see [Key Variables](#key-variables))
204
+
205
+ **Step 3: Analyze Design System for Dynamic Principles**
206
+
207
+ Analyze design-tokens.json to extract characteristics and patterns:
208
+
209
+ ```bash
210
+ # Color system characteristics
211
+ bash(jq '.colors | keys' design-tokens.json)
212
+ bash(jq '.colors | to_entries[0:2] | map(.value)' design-tokens.json)
213
+ # Check for modern color spaces
214
+ bash(jq '.colors | to_entries[] | .value | test("oklch|lab|lch")' design-tokens.json)
215
+ # Check for dark mode variants
216
+ bash(jq '.colors | keys | map(select(contains("dark") or contains("light")))' design-tokens.json)
217
+ # → Store: has_colors, color_semantic, uses_oklch, has_dark_mode
218
+
219
+ # Spacing pattern detection
220
+ bash(jq '.spacing | to_entries | map(.value) | map(gsub("[^0-9.]"; "") | tonumber)' design-tokens.json)
221
+ # Analyze pattern: linear (4-8-12-16) vs geometric (4-8-16-32) vs custom
222
+ # → Store: spacing_pattern, spacing_scale
223
+
224
+ # Typography characteristics
225
+ bash(jq '.typography | keys | map(select(contains("family") or contains("weight")))' design-tokens.json)
226
+ bash(jq '.typography | to_entries | map(select(.key | contains("size"))) | .[].value' design-tokens.json)
227
+ # Check for calc() usage
228
+ bash(jq '. | tostring | test("calc\\(")' design-tokens.json)
229
+ # → Store: has_typography, typography_hierarchy, uses_calc
230
+
231
+ # Border radius style
232
+ bash(jq '.border_radius | to_entries | map(.value)' design-tokens.json)
233
+ # Check range: small (sharp <4px) vs moderate (4-8px) vs large (rounded >8px)
234
+ # → Store: has_radius, radius_style
235
+
236
+ # Shadow characteristics
237
+ bash(jq '.shadows | keys' design-tokens.json)
238
+ bash(jq '.shadows | to_entries[0].value' design-tokens.json)
239
+ # → Store: has_shadows, shadow_pattern
240
+
241
+ # Animations (if available)
242
+ bash(jq '.duration | to_entries | map(.value)' animation-tokens.json)
243
+ bash(jq '.easing | keys' animation-tokens.json)
244
+ # → Store: has_animations, animation_range, easing_variety
245
+ ```
246
+
247
+ Store analysis results in `DESIGN_ANALYSIS` (see [Key Variables](#key-variables))
248
+
249
+ **Note**: Analysis focuses on characteristics and patterns, not counts. Include technical feature detection (oklch, calc, dark mode) for Prerequisites section.
250
+
251
+ **TodoWrite Update**: Mark "Read package data" as completed, "Generate SKILL.md" as in_progress
252
+
253
+ ---
254
+
255
+ ### Phase 3: Generate SKILL.md
256
+
257
+ **Step 1: Create SKILL Directory**
258
+
259
+ ```bash
260
+ bash(mkdir -p .claude/skills/style-${package_name})
261
+ ```
262
+
263
+ **Step 2: Generate Intelligent Description**
264
+
265
+ **Format**:
266
+ ```
267
+ {package_name} project-independent design system with {universal_count} universal layout templates and interactive preview (located at .workflow/reference_style/{package_name}). Load when working with reusable UI components, design tokens, layout patterns, or implementing visual consistency. Excludes {specialized_count} project-specific components.
268
+ ```
269
+
270
+ **Step 3: Load and Process SKILL.md Template**
271
+
272
+ **⚠️ CRITICAL - Execute First**:
273
+ ```bash
274
+ bash(cat ~/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md)
275
+ ```
276
+
277
+ **Template Processing**:
278
+ 1. **Replace variables**: Substitute all `{variable}` placeholders with actual values from Phase 2
279
+ 2. **Generate dynamic sections**:
280
+ - **Prerequisites & Tooling**: Generate based on `DESIGN_ANALYSIS` technical features (oklch, calc, dark mode)
281
+ - **Design Principles**: Generate based on `DESIGN_ANALYSIS` characteristics
282
+ - **Complete Implementation Example**: Include React component example with token adaptation
283
+ - **Design Token Values**: Iterate `DESIGN_TOKENS_DATA`, `ANIMATION_TOKENS_DATA` and display all key-value pairs with DEFAULT annotations
284
+ 3. **Write to file**: Use Write tool to save to `.claude/skills/style-{package_name}/SKILL.md`
285
+
286
+ **Variable Replacement Map**:
287
+ - `{package_name}` → PACKAGE_NAME
288
+ - `{intelligent_description}` → Generated description from Step 2
289
+ - `{component_count}` → COMPONENT_COUNT
290
+ - `{universal_count}` → UNIVERSAL_COUNT
291
+ - `{specialized_count}` → SPECIALIZED_COUNT
292
+ - `{universal_components_list}` → UNIVERSAL_COMPONENTS (comma-separated)
293
+ - `{has_animations}` → HAS_ANIMATIONS
294
+
295
+ **Dynamic Content Generation**:
296
+
297
+ See template file for complete structure. Key dynamic sections:
298
+
299
+ 1. **Prerequisites & Tooling** (based on DESIGN_ANALYSIS technical features):
300
+ - IF uses_oklch → Include PostCSS plugin requirement (`postcss-oklab-function`)
301
+ - IF uses_calc → Include preprocessor requirement for calc() expressions
302
+ - IF has_dark_mode → Include dark mode implementation mechanism (class or media query)
303
+ - ALWAYS include browser support, jq installation, and local server setup
304
+
305
+ 2. **Design Principles** (based on DESIGN_ANALYSIS):
306
+ - IF has_colors → Include "Color System" principle with semantic pattern
307
+ - IF spacing_pattern detected → Include "Spatial Rhythm" with unified scale description (actual token values)
308
+ - IF has_typography_hierarchy → Include "Typographic System" with scale examples
309
+ - IF has_radius → Include "Shape Language" with style characteristic
310
+ - IF has_shadows → Include "Depth & Elevation" with elevation pattern
311
+ - IF has_animations → Include "Motion & Timing" with duration range
312
+ - ALWAYS include "Accessibility First" principle
313
+
314
+ 3. **Design Token Values** (iterate from read data):
315
+ - Colors: Iterate `DESIGN_TOKENS_DATA.colors`
316
+ - Typography: Iterate `DESIGN_TOKENS_DATA.typography`
317
+ - Spacing: Iterate `DESIGN_TOKENS_DATA.spacing`
318
+ - Border Radius: Iterate `DESIGN_TOKENS_DATA.border_radius` with calc() explanations
319
+ - Shadows: Iterate `DESIGN_TOKENS_DATA.shadows` with DEFAULT token annotations
320
+ - Animations (if available): Iterate `ANIMATION_TOKENS_DATA.duration` and `ANIMATION_TOKENS_DATA.easing`
321
+
322
+ **Step 4: Verify SKILL.md Created**
323
+
324
+ ```bash
325
+ bash(test -f .claude/skills/style-${package_name}/SKILL.md && echo "success" || echo "failed")
326
+ ```
327
+
328
+ **TodoWrite Update**: Mark all todos as completed
329
+
330
+ ---
331
+
332
+ ### Completion Message
333
+
334
+ Display a simple completion message with key information:
335
+
336
+ ```
337
+ ✅ SKILL memory generated for style package: {package_name}
338
+
339
+ 📁 Location: .claude/skills/style-{package_name}/SKILL.md
340
+
341
+ 📊 Package Summary:
342
+ - {component_count} components ({universal_count} universal, {specialized_count} specialized)
343
+ - Design tokens: colors, typography, spacing, shadows{animations_note}
344
+
345
+ 💡 Usage: /memory:load-skill-memory style-{package_name} "your task description"
346
+ ```
347
+
348
+ Variables: `{package_name}`, `{component_count}`, `{universal_count}`, `{specialized_count}`, `{animations_note}` (", animations" if exists)
349
+
350
+ ---
351
+
352
+ ## Implementation Details
353
+
354
+ ### Critical Rules
355
+
356
+ 1. **Check Before Generate**: Verify package exists before attempting SKILL generation
357
+ 2. **Respect Existing SKILL**: Don't overwrite unless --regenerate flag provided
358
+ 3. **Load Templates via cat**: Use `cat ~/.claude/workflows/cli-templates/memory/style-skill-memory/{template}` to load templates
359
+ 4. **Variable Substitution**: Replace all `{variable}` placeholders with actual values
360
+ 5. **Technical Feature Detection**: Analyze tokens for modern features (oklch, calc, dark mode) and generate appropriate Prerequisites section
361
+ 6. **Dynamic Content Generation**: Generate sections based on DESIGN_ANALYSIS characteristics
362
+ 7. **Unified Spacing Scale**: Use actual token values as primary scale reference, avoid contradictory pattern descriptions
363
+ 8. **Direct Iteration**: Iterate data structures (DESIGN_TOKENS_DATA, etc.) for token values
364
+ 9. **Annotate Special Tokens**: Add comments for DEFAULT tokens and calc() expressions
365
+ 10. **Embed jq Commands**: Include bash/jq commands in SKILL.md for dynamic loading
366
+ 11. **Progressive Loading**: Include all 3 levels (0-2) with specific jq commands
367
+ 12. **Complete Examples**: Include end-to-end implementation examples (React components)
368
+ 13. **Intelligent Description**: Extract component count and key features from metadata
369
+ 14. **Emphasize Flexibility**: Strongly warn against rigid copying - values are references for creative adaptation
370
+
371
+ ### Template Files Location
372
+
373
+
374
+ ```
375
+ Phase 1: Validate
376
+ ├─ Parse package_name
377
+ ├─ Check PACKAGE_DIR exists
378
+ └─ Check SKILL_DIR exists (skip if exists and no --regenerate)
379
+
380
+ Phase 2: Read & Analyze
381
+ ├─ Read design-tokens.json → DESIGN_TOKENS_DATA
382
+ ├─ Read layout-templates.json → LAYOUT_TEMPLATES_DATA
383
+ ├─ Read animation-tokens.json → ANIMATION_TOKENS_DATA (if exists)
384
+ ├─ Extract Metadata → COMPONENT_COUNT, UNIVERSAL_COUNT, etc.
385
+ └─ Analyze Design System → DESIGN_ANALYSIS (characteristics)
386
+
387
+ Phase 3: Generate
388
+ ├─ Create SKILL directory
389
+ ├─ Generate intelligent description
390
+ ├─ Load SKILL.md template (cat command)
391
+ ├─ Replace variables and generate dynamic content
392
+ ├─ Write SKILL.md
393
+ ├─ Verify creation
394
+ ├─ Load completion message template (cat command)
395
+ └─ Display completion message
396
+ ```