thanh-kit 2.5.0 → 2.5.1

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 (766) hide show
  1. package/package.json +1 -1
  2. package/templates/.ck.json +60 -0
  3. package/templates/.ckignore +27 -0
  4. package/templates/.mcp.json.example +23 -0
  5. package/templates/agents/brainstormer.md +18 -2
  6. package/templates/agents/code-reviewer.md +122 -142
  7. package/templates/agents/code-simplifier.md +50 -100
  8. package/templates/agents/debugger.md +27 -11
  9. package/templates/agents/docs-manager.md +100 -38
  10. package/templates/agents/fullstack-developer.md +15 -3
  11. package/templates/agents/git-manager.md +11 -386
  12. package/templates/agents/journal-writer.md +13 -8
  13. package/templates/agents/mcp-manager.md +21 -6
  14. package/templates/agents/planner.md +24 -8
  15. package/templates/agents/project-manager.md +17 -121
  16. package/templates/agents/researcher.md +22 -7
  17. package/templates/agents/tester.md +23 -7
  18. package/templates/agents/ui-ux-designer.md +23 -14
  19. package/templates/hooks/__tests__/ck-config-utils.test.cjs +557 -0
  20. package/templates/hooks/__tests__/descriptive-name.test.cjs +292 -0
  21. package/templates/hooks/__tests__/dev-rules-reminder.test.cjs +336 -0
  22. package/templates/hooks/__tests__/integration/path-resolution.test.cjs +319 -0
  23. package/templates/hooks/__tests__/privacy-block.test.cjs +273 -0
  24. package/templates/hooks/__tests__/session-init.test.cjs +308 -0
  25. package/templates/hooks/__tests__/skill-dedup.test.cjs +527 -0
  26. package/templates/hooks/__tests__/subagent-init.test.cjs +622 -0
  27. package/templates/hooks/__tests__/task-completed-handler.test.cjs +246 -0
  28. package/templates/hooks/__tests__/team-context-inject.test.cjs +804 -0
  29. package/templates/hooks/__tests__/teammate-idle-handler.test.cjs +254 -0
  30. package/templates/hooks/cook-after-plan-reminder.cjs +72 -0
  31. package/templates/hooks/descriptive-name.cjs +47 -0
  32. package/templates/hooks/dev-rules-reminder.cjs +37 -214
  33. package/templates/hooks/lib/__tests__/README.md +240 -0
  34. package/templates/hooks/lib/__tests__/ck-config-utils.test.cjs +613 -1
  35. package/templates/hooks/lib/__tests__/context-builder.test.cjs +468 -0
  36. package/templates/hooks/lib/__tests__/project-detector.test.cjs +754 -0
  37. package/templates/hooks/lib/__tests__/statusline-integration.test.cjs +678 -0
  38. package/templates/hooks/lib/__tests__/statusline.test.cjs +689 -0
  39. package/templates/hooks/lib/ck-config-utils.cjs +146 -21
  40. package/templates/hooks/lib/colors.cjs +95 -0
  41. package/templates/hooks/lib/config-counter.cjs +103 -0
  42. package/templates/hooks/lib/context-builder.cjs +616 -0
  43. package/templates/hooks/lib/git-info-cache.cjs +143 -0
  44. package/templates/hooks/lib/hook-logger.cjs +92 -0
  45. package/templates/hooks/lib/privacy-checker.cjs +297 -0
  46. package/templates/hooks/lib/project-detector.cjs +474 -0
  47. package/templates/hooks/lib/scout-checker.cjs +263 -0
  48. package/templates/hooks/lib/transcript-parser.cjs +181 -0
  49. package/templates/hooks/notifications/discord_notify.sh +17 -4
  50. package/templates/hooks/notifications/docs/discord-hook-setup.md +26 -10
  51. package/templates/hooks/notifications/docs/telegram-hook-setup.md +24 -6
  52. package/templates/hooks/notifications/notify.cjs +0 -0
  53. package/templates/hooks/notifications/send-discord.sh +0 -0
  54. package/templates/hooks/notifications/telegram_notify.sh +17 -4
  55. package/templates/hooks/post-edit-simplify-reminder.cjs +156 -0
  56. package/templates/hooks/privacy-block.cjs +97 -188
  57. package/templates/hooks/scout-block/broad-pattern-detector.cjs +4 -6
  58. package/templates/hooks/scout-block/error-formatter.cjs +0 -0
  59. package/templates/hooks/scout-block/path-extractor.cjs +102 -13
  60. package/templates/hooks/scout-block/pattern-matcher.cjs +16 -1
  61. package/templates/hooks/scout-block/tests/{test-broad-pattern-detector.js → test-broad-pattern-detector.cjs} +1 -61
  62. package/templates/hooks/scout-block/tests/{test-build-command-allowlist.js → test-build-command-allowlist.cjs} +1 -1
  63. package/templates/hooks/scout-block/tests/{test-error-formatter.js → test-error-formatter.cjs} +1 -1
  64. package/templates/hooks/scout-block/tests/{test-full-flow-edge-cases.js → test-full-flow-edge-cases.cjs} +1 -1
  65. package/templates/hooks/scout-block/tests/{test-monorepo-scenarios.js → test-monorepo-scenarios.cjs} +1 -1
  66. package/templates/hooks/scout-block/tests/{test-path-extractor.js → test-path-extractor.cjs} +1 -1
  67. package/templates/hooks/scout-block/tests/{test-pattern-matcher.js → test-pattern-matcher.cjs} +1 -1
  68. package/templates/hooks/scout-block.cjs +100 -87
  69. package/templates/hooks/session-init.cjs +197 -330
  70. package/templates/hooks/skill-dedup.cjs +268 -0
  71. package/templates/hooks/subagent-init.cjs +75 -22
  72. package/templates/hooks/task-completed-handler.cjs +118 -0
  73. package/templates/hooks/team-context-inject.cjs +176 -0
  74. package/templates/hooks/teammate-idle-handler.cjs +121 -0
  75. package/templates/hooks/tests/scout-block/broad-pattern-detector.test.cjs +231 -0
  76. package/templates/hooks/tests/scout-block/fixtures/ckignore-custom.txt +6 -0
  77. package/templates/hooks/tests/scout-block/fixtures/ckignore-default.txt +13 -0
  78. package/templates/hooks/tests/scout-block/fixtures/ckignore-negation.txt +8 -0
  79. package/templates/hooks/tests/scout-block/path-extractor.test.cjs +527 -0
  80. package/templates/hooks/tests/scout-block/pattern-matcher.test.cjs +293 -0
  81. package/templates/hooks/tests/scout-block/scout-checker.test.cjs +741 -0
  82. package/templates/hooks/tests/{test-ckignore.js → test-ckignore.cjs} +0 -0
  83. package/templates/hooks/tests/{test-modularization-hook.js → test-modularization-hook.cjs} +0 -0
  84. package/templates/hooks/tests/{test-privacy-block.js → test-privacy-block.cjs} +1 -1
  85. package/templates/hooks/tests/test-scout-block.cjs +315 -0
  86. package/templates/hooks/usage-context-awareness.cjs +179 -0
  87. package/templates/metadata.json +104 -0
  88. package/templates/scripts/README.md +94 -198
  89. package/templates/scripts/ck-help.py +19 -855
  90. package/templates/scripts/commands_data.yaml +3 -621
  91. package/templates/scripts/fix-shebang-permissions.sh +50 -0
  92. package/templates/scripts/generate_catalogs.py +37 -8
  93. package/templates/scripts/resolve_env.py +0 -0
  94. package/templates/scripts/scan_commands.py +14 -96
  95. package/templates/scripts/scan_skills.py +59 -19
  96. package/templates/scripts/set-active-plan.cjs +8 -3
  97. package/templates/scripts/skills_data.yaml +2 -596
  98. package/templates/scripts/test-ck-help.py +15 -0
  99. package/templates/scripts/test_ck_help.py +139 -0
  100. package/templates/scripts/test_ck_help_integration.py +72 -0
  101. package/templates/scripts/validate-docs.cjs +342 -0
  102. package/templates/scripts/win_compat.py +0 -0
  103. package/templates/scripts/worktree.cjs +4 -652
  104. package/templates/scripts/worktree.test.cjs +5 -330
  105. package/templates/settings.json +104 -239
  106. package/templates/skills/README.md +95 -255
  107. package/templates/skills/THIRD_PARTY_NOTICES.md +405 -0
  108. package/templates/skills/agent-browser/SKILL.md +294 -0
  109. package/templates/skills/agent-browser/references/.gitkeep +0 -0
  110. package/templates/skills/agent-browser/references/agent-browser-vs-chrome-devtools.md +112 -0
  111. package/templates/skills/agent-browser/references/browserbase-cloud-setup.md +161 -0
  112. package/templates/skills/ai-artist/SKILL.md +103 -56
  113. package/templates/skills/ai-artist/data/awesome-prompts.csv +3592 -0
  114. package/templates/skills/ai-artist/data/lighting.csv +19 -0
  115. package/templates/skills/ai-artist/data/nano-banana-templates.csv +17 -0
  116. package/templates/skills/ai-artist/data/platforms.csv +11 -0
  117. package/templates/skills/ai-artist/data/styles.csv +26 -0
  118. package/templates/skills/ai-artist/data/techniques.csv +19 -0
  119. package/templates/skills/ai-artist/data/use-cases.csv +16 -0
  120. package/templates/skills/ai-artist/references/awesome-nano-banana-pro-prompts.md +8575 -0
  121. package/templates/skills/ai-artist/references/nano-banana.md +78 -1
  122. package/templates/skills/ai-artist/references/validation-workflow.md +117 -0
  123. package/templates/skills/ai-artist/scripts/core.py +197 -0
  124. package/templates/skills/ai-artist/scripts/extract_prompts.py +102 -0
  125. package/templates/skills/ai-artist/scripts/generate.py +370 -0
  126. package/templates/skills/ai-artist/scripts/search.py +147 -0
  127. package/templates/skills/ai-multimodal/SKILL.md +4 -3
  128. package/templates/skills/ai-multimodal/scripts/check_setup.py +12 -2
  129. package/templates/skills/ai-multimodal/scripts/document_converter.py +0 -0
  130. package/templates/skills/ai-multimodal/scripts/gemini_batch_process.py +3 -2
  131. package/templates/skills/ai-multimodal/scripts/media_optimizer.py +0 -0
  132. package/templates/skills/ask/SKILL.md +58 -0
  133. package/templates/skills/backend-development/SKILL.md +3 -2
  134. package/templates/skills/better-auth/SKILL.md +3 -2
  135. package/templates/skills/better-auth/scripts/better_auth_init.py +3 -3
  136. package/templates/skills/bootstrap/SKILL.md +101 -0
  137. package/templates/skills/bootstrap/references/shared-phases.md +59 -0
  138. package/templates/skills/bootstrap/references/workflow-auto.md +52 -0
  139. package/templates/skills/bootstrap/references/workflow-fast.md +50 -0
  140. package/templates/skills/bootstrap/references/workflow-full.md +60 -0
  141. package/templates/skills/bootstrap/references/workflow-parallel.md +59 -0
  142. package/templates/skills/brainstorm/SKILL.md +77 -0
  143. package/templates/skills/chrome-devtools/SKILL.md +221 -68
  144. package/templates/skills/chrome-devtools/scripts/README.md +18 -0
  145. package/templates/skills/chrome-devtools/scripts/__tests__/error-handling.test.js +102 -0
  146. package/templates/skills/chrome-devtools/scripts/aria-snapshot.js +2 -1
  147. package/templates/skills/chrome-devtools/scripts/click.js +2 -1
  148. package/templates/skills/chrome-devtools/scripts/connect-chrome.js +146 -0
  149. package/templates/skills/chrome-devtools/scripts/console.js +3 -1
  150. package/templates/skills/chrome-devtools/scripts/evaluate.js +6 -3
  151. package/templates/skills/chrome-devtools/scripts/fill.js +2 -1
  152. package/templates/skills/chrome-devtools/scripts/import-cookies.js +205 -0
  153. package/templates/skills/chrome-devtools/scripts/inject-auth.js +2 -1
  154. package/templates/skills/chrome-devtools/scripts/install-deps.sh +0 -0
  155. package/templates/skills/chrome-devtools/scripts/install.sh +0 -0
  156. package/templates/skills/chrome-devtools/scripts/lib/browser.js +60 -4
  157. package/templates/skills/chrome-devtools/scripts/navigate.js +86 -2
  158. package/templates/skills/chrome-devtools/scripts/network.js +3 -1
  159. package/templates/skills/chrome-devtools/scripts/performance.js +3 -1
  160. package/templates/skills/chrome-devtools/scripts/screenshot.js +2 -1
  161. package/templates/skills/chrome-devtools/scripts/select-ref.js +2 -1
  162. package/templates/skills/chrome-devtools/scripts/snapshot.js +2 -1
  163. package/templates/skills/chrome-devtools/scripts/ws-debug.js +44 -0
  164. package/templates/skills/chrome-devtools/scripts/ws-full-debug.js +107 -0
  165. package/templates/skills/ck-help/SKILL.md +102 -0
  166. package/templates/skills/ck-help/scripts/ck-help.py +1321 -0
  167. package/templates/skills/ck-help/scripts/commands_data.yaml +3 -0
  168. package/templates/skills/ck-help/scripts/skills_data.yaml +593 -0
  169. package/templates/skills/code-review/SKILL.md +97 -93
  170. package/templates/skills/code-review/references/code-review-reception.md +113 -209
  171. package/templates/skills/code-review/references/codebase-scan-workflow.md +29 -0
  172. package/templates/skills/code-review/references/edge-case-scouting.md +119 -0
  173. package/templates/skills/code-review/references/parallel-review-workflow.md +69 -0
  174. package/templates/skills/code-review/references/requesting-code-review.md +115 -104
  175. package/templates/skills/code-review/references/task-management-reviews.md +140 -0
  176. package/templates/skills/code-review/references/verification-before-completion.md +138 -138
  177. package/templates/skills/coding-level/SKILL.md +56 -0
  178. package/templates/skills/common/README.md +120 -0
  179. package/templates/skills/common/api_key_helper.py +411 -0
  180. package/templates/skills/common/api_key_rotator.py +248 -0
  181. package/templates/skills/context-engineering/SKILL.md +108 -0
  182. package/templates/skills/context-engineering/references/context-compression.md +84 -0
  183. package/templates/skills/context-engineering/references/context-degradation.md +93 -0
  184. package/templates/skills/context-engineering/references/context-fundamentals.md +75 -0
  185. package/templates/skills/context-engineering/references/context-optimization.md +82 -0
  186. package/templates/skills/context-engineering/references/evaluation.md +89 -0
  187. package/templates/skills/context-engineering/references/memory-systems.md +88 -0
  188. package/templates/skills/context-engineering/references/multi-agent-patterns.md +90 -0
  189. package/templates/skills/context-engineering/references/project-development.md +97 -0
  190. package/templates/skills/context-engineering/references/runtime-awareness.md +202 -0
  191. package/templates/skills/context-engineering/references/tool-design.md +86 -0
  192. package/templates/skills/context-engineering/scripts/compression_evaluator.py +349 -0
  193. package/templates/skills/context-engineering/scripts/context_analyzer.py +317 -0
  194. package/templates/skills/context-engineering/scripts/tests/test_edge_cases.py +246 -0
  195. package/templates/skills/cook/README.md +86 -0
  196. package/templates/skills/cook/SKILL.md +113 -0
  197. package/templates/skills/cook/references/intent-detection.md +101 -0
  198. package/templates/skills/cook/references/review-cycle.md +75 -0
  199. package/templates/skills/cook/references/subagent-patterns.md +75 -0
  200. package/templates/skills/cook/references/workflow-steps.md +172 -0
  201. package/templates/skills/copywriting/SKILL.md +94 -0
  202. package/templates/skills/copywriting/references/copy-formulas.md +150 -0
  203. package/templates/skills/copywriting/references/cta-patterns.md +168 -0
  204. package/templates/skills/copywriting/references/email-copy.md +193 -0
  205. package/templates/skills/copywriting/references/headline-templates.md +140 -0
  206. package/templates/skills/copywriting/references/landing-page-copy.md +175 -0
  207. package/templates/skills/copywriting/references/power-words.md +189 -0
  208. package/templates/skills/copywriting/references/social-media-copy.md +222 -0
  209. package/templates/skills/copywriting/references/workflow-cro.md +83 -0
  210. package/templates/skills/copywriting/references/workflow-enhance.md +32 -0
  211. package/templates/skills/copywriting/references/workflow-fast.md +29 -0
  212. package/templates/skills/copywriting/references/workflow-good.md +39 -0
  213. package/templates/skills/copywriting/references/writing-styles.md +247 -0
  214. package/templates/skills/copywriting/scripts/extract-writing-styles.py +308 -0
  215. package/templates/skills/copywriting/templates/copy-brief.md +49 -0
  216. package/templates/skills/databases/SKILL.md +7 -155
  217. package/templates/skills/databases/analytics.md +198 -0
  218. package/templates/skills/databases/db-design.md +188 -0
  219. package/templates/skills/databases/incremental-etl.md +213 -0
  220. package/templates/skills/databases/scripts/db_backup.py +0 -0
  221. package/templates/skills/databases/scripts/db_migrate.py +3 -2
  222. package/templates/skills/databases/scripts/db_performance_check.py +3 -2
  223. package/templates/skills/databases/stacks/bigquery.md +231 -0
  224. package/templates/skills/databases/stacks/d1_cloudflare.md +137 -0
  225. package/templates/skills/databases/stacks/mysql.md +216 -0
  226. package/templates/skills/databases/stacks/postgres.md +235 -0
  227. package/templates/skills/databases/stacks/sqlite.md +244 -0
  228. package/templates/skills/databases/transactional.md +176 -0
  229. package/templates/skills/debug/SKILL.md +121 -0
  230. package/templates/skills/debug/references/frontend-verification.md +103 -0
  231. package/templates/skills/debug/references/investigation-methodology.md +101 -0
  232. package/templates/skills/debug/references/log-and-ci-analysis.md +97 -0
  233. package/templates/skills/debug/references/performance-diagnostics.md +113 -0
  234. package/templates/skills/debug/references/reporting-standards.md +122 -0
  235. package/templates/skills/debug/references/task-management-debugging.md +155 -0
  236. package/templates/skills/devops/SKILL.md +65 -253
  237. package/templates/skills/devops/references/kubernetes-basics.md +99 -0
  238. package/templates/skills/devops/references/kubernetes-helm-advanced.md +75 -0
  239. package/templates/skills/devops/references/kubernetes-helm.md +81 -0
  240. package/templates/skills/devops/references/kubernetes-kubectl.md +74 -0
  241. package/templates/skills/devops/references/kubernetes-security-advanced.md +98 -0
  242. package/templates/skills/devops/references/kubernetes-security.md +95 -0
  243. package/templates/skills/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
  244. package/templates/skills/devops/references/kubernetes-troubleshooting.md +49 -0
  245. package/templates/skills/devops/references/kubernetes-workflows-advanced.md +75 -0
  246. package/templates/skills/devops/references/kubernetes-workflows.md +78 -0
  247. package/templates/skills/devops/scripts/cloudflare_deploy.py +0 -0
  248. package/templates/skills/devops/scripts/docker_optimize.py +3 -2
  249. package/templates/skills/docs/SKILL.md +55 -0
  250. package/templates/skills/docs/references/init-workflow.md +32 -0
  251. package/templates/skills/docs/references/summarize-workflow.md +18 -0
  252. package/templates/skills/docs/references/update-workflow.md +59 -0
  253. package/templates/skills/docs-seeker/SKILL.md +3 -2
  254. package/templates/skills/docs-seeker/scripts/analyze-llms-txt.js +0 -0
  255. package/templates/skills/docs-seeker/scripts/detect-topic.js +0 -0
  256. package/templates/skills/docs-seeker/scripts/fetch-docs.js +0 -0
  257. package/templates/skills/docs-seeker/scripts/tests/run-tests.js +0 -0
  258. package/templates/skills/docs-seeker/scripts/tests/test-analyze-llms.js +0 -0
  259. package/templates/skills/docs-seeker/scripts/tests/test-detect-topic.js +0 -0
  260. package/templates/skills/docs-seeker/scripts/tests/test-fetch-docs.js +0 -0
  261. package/templates/skills/docs-seeker/scripts/utils/env-loader.js +0 -0
  262. package/templates/skills/document-skills/docx/SKILL.md +2 -2
  263. package/templates/skills/document-skills/docx/ooxml/scripts/pack.py +0 -0
  264. package/templates/skills/document-skills/docx/ooxml/scripts/unpack.py +0 -0
  265. package/templates/skills/document-skills/docx/ooxml/scripts/validate.py +0 -0
  266. package/templates/skills/document-skills/docx/scripts/document.py +0 -0
  267. package/templates/skills/document-skills/docx/scripts/utilities.py +0 -0
  268. package/templates/skills/document-skills/pdf/SKILL.md +2 -2
  269. package/templates/skills/document-skills/pptx/SKILL.md +2 -2
  270. package/templates/skills/document-skills/pptx/ooxml/scripts/pack.py +0 -0
  271. package/templates/skills/document-skills/pptx/ooxml/scripts/unpack.py +0 -0
  272. package/templates/skills/document-skills/pptx/ooxml/scripts/validate.py +0 -0
  273. package/templates/skills/document-skills/pptx/scripts/inventory.py +0 -0
  274. package/templates/skills/document-skills/pptx/scripts/rearrange.py +0 -0
  275. package/templates/skills/document-skills/pptx/scripts/replace.py +0 -0
  276. package/templates/skills/document-skills/pptx/scripts/thumbnail.py +0 -0
  277. package/templates/skills/document-skills/xlsx/SKILL.md +2 -2
  278. package/templates/skills/document-skills/xlsx/recalc.py +3 -2
  279. package/templates/skills/find-skills/SKILL.md +134 -0
  280. package/templates/skills/fix/SKILL.md +111 -0
  281. package/templates/skills/fix/references/complexity-assessment.md +72 -0
  282. package/templates/skills/fix/references/mode-selection.md +46 -0
  283. package/templates/skills/fix/references/parallel-exploration.md +100 -0
  284. package/templates/skills/fix/references/review-cycle.md +77 -0
  285. package/templates/skills/fix/references/skill-activation-matrix.md +78 -0
  286. package/templates/skills/fix/references/task-orchestration.md +103 -0
  287. package/templates/skills/fix/references/workflow-ci.md +28 -0
  288. package/templates/skills/fix/references/workflow-deep.md +122 -0
  289. package/templates/skills/fix/references/workflow-logs.md +72 -0
  290. package/templates/skills/fix/references/workflow-quick.md +59 -0
  291. package/templates/skills/fix/references/workflow-standard.md +111 -0
  292. package/templates/skills/fix/references/workflow-test.md +75 -0
  293. package/templates/skills/fix/references/workflow-types.md +33 -0
  294. package/templates/skills/fix/references/workflow-ui.md +75 -0
  295. package/templates/skills/frontend-design/SKILL.md +78 -91
  296. package/templates/skills/frontend-design/references/ai-multimodal-overview.md +6 -6
  297. package/templates/skills/frontend-design/references/animejs.md +395 -395
  298. package/templates/skills/frontend-design/references/asset-generation.md +4 -4
  299. package/templates/skills/frontend-design/references/visual-analysis-overview.md +1 -1
  300. package/templates/skills/frontend-design/references/workflow-3d.md +102 -0
  301. package/templates/skills/frontend-design/references/workflow-describe.md +87 -0
  302. package/templates/skills/frontend-design/references/workflow-immersive.md +87 -0
  303. package/templates/skills/frontend-design/references/workflow-quick.md +57 -0
  304. package/templates/skills/frontend-design/references/workflow-screenshot.md +63 -0
  305. package/templates/skills/frontend-design/references/workflow-video.md +74 -0
  306. package/templates/skills/frontend-development/SKILL.md +4 -3
  307. package/templates/skills/git/SKILL.md +114 -0
  308. package/templates/skills/git/references/branch-management.md +88 -0
  309. package/templates/skills/git/references/commit-standards.md +46 -0
  310. package/templates/skills/git/references/gh-cli-guide.md +109 -0
  311. package/templates/skills/git/references/safety-protocols.md +69 -0
  312. package/templates/skills/git/references/workflow-commit.md +58 -0
  313. package/templates/skills/git/references/workflow-merge.md +48 -0
  314. package/templates/skills/git/references/workflow-pr.md +58 -0
  315. package/templates/skills/git/references/workflow-push.md +52 -0
  316. package/templates/skills/gkg/SKILL.md +91 -0
  317. package/templates/skills/gkg/references/cli-commands.md +106 -0
  318. package/templates/skills/gkg/references/http-api.md +102 -0
  319. package/templates/skills/gkg/references/language-support.md +57 -0
  320. package/templates/skills/gkg/references/mcp-tools.md +99 -0
  321. package/templates/skills/google-adk-python/SKILL.md +91 -195
  322. package/templates/skills/google-adk-python/references/agent-types-and-architecture.md +128 -0
  323. package/templates/skills/google-adk-python/references/callbacks-plugins-observability.md +117 -0
  324. package/templates/skills/google-adk-python/references/deployment-cloud-run-vertex-gke.md +138 -0
  325. package/templates/skills/google-adk-python/references/evaluation-testing-cli.md +112 -0
  326. package/templates/skills/google-adk-python/references/multi-agent-and-a2a-protocol.md +145 -0
  327. package/templates/skills/google-adk-python/references/sessions-state-memory-artifacts.md +131 -0
  328. package/templates/skills/google-adk-python/references/tools-and-mcp-integration.md +146 -0
  329. package/templates/skills/install.ps1 +130 -26
  330. package/templates/skills/install.sh +383 -63
  331. package/templates/skills/journal/SKILL.md +11 -0
  332. package/templates/skills/kanban/SKILL.md +99 -0
  333. package/templates/skills/markdown-novel-viewer/SKILL.md +314 -0
  334. package/templates/skills/markdown-novel-viewer/assets/directory-browser.css +215 -0
  335. package/templates/skills/markdown-novel-viewer/assets/favicon.png +0 -0
  336. package/templates/skills/markdown-novel-viewer/assets/novel-theme.css +16 -0
  337. package/templates/skills/markdown-novel-viewer/assets/reader.js +838 -0
  338. package/templates/skills/markdown-novel-viewer/assets/styles/novel-theme-base.css +54 -0
  339. package/templates/skills/markdown-novel-viewer/assets/styles/novel-theme-components.css +180 -0
  340. package/templates/skills/markdown-novel-viewer/assets/styles/novel-theme-content.css +176 -0
  341. package/templates/skills/markdown-novel-viewer/assets/styles/novel-theme-header.css +217 -0
  342. package/templates/skills/markdown-novel-viewer/assets/styles/novel-theme-mermaid.css +153 -0
  343. package/templates/skills/markdown-novel-viewer/assets/styles/novel-theme-overlays.css +202 -0
  344. package/templates/skills/markdown-novel-viewer/assets/styles/novel-theme-responsive.css +285 -0
  345. package/templates/skills/markdown-novel-viewer/assets/styles/novel-theme-sidebar.css +359 -0
  346. package/templates/skills/markdown-novel-viewer/assets/styles/novel-theme-variables.css +56 -0
  347. package/templates/skills/markdown-novel-viewer/assets/template.html +149 -0
  348. package/templates/skills/markdown-novel-viewer/bun.lock +38 -0
  349. package/templates/skills/markdown-novel-viewer/package.json +15 -0
  350. package/templates/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
  351. package/templates/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +335 -0
  352. package/templates/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +571 -0
  353. package/templates/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
  354. package/templates/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
  355. package/templates/skills/markdown-novel-viewer/scripts/server.cjs +411 -0
  356. package/templates/skills/markdown-novel-viewer/scripts/tests/server.test.cjs +283 -0
  357. package/templates/skills/markdown-novel-viewer/tests/dashboard-assets.test.cjs +340 -0
  358. package/templates/skills/markdown-novel-viewer/tests/dashboard-renderer.test.cjs +404 -0
  359. package/templates/skills/markdown-novel-viewer/tests/http-server.test.cjs +271 -0
  360. package/templates/skills/markdown-novel-viewer/tests/run-tests.cjs +51 -0
  361. package/templates/skills/markdown-novel-viewer/tests/test-framework.cjs +154 -0
  362. package/templates/skills/markdown-novel-viewer/tests/verify-xss.cjs +90 -0
  363. package/templates/skills/mcp-builder/SKILL.md +3 -2
  364. package/templates/skills/mcp-builder/scripts/evaluation.py +9 -1
  365. package/templates/skills/mcp-management/SKILL.md +8 -7
  366. package/templates/skills/mcp-management/references/gemini-cli-integration.md +16 -10
  367. package/templates/skills/mcp-management/scripts/cli.ts +0 -0
  368. package/templates/skills/mcp-management/scripts/dist/analyze-tools.js +0 -0
  369. package/templates/skills/mcp-management/scripts/dist/cli.js +0 -0
  370. package/templates/skills/mcp-management/scripts/dist/mcp-client.js +0 -0
  371. package/templates/skills/mcp-management/scripts/mcp-client.ts +0 -0
  372. package/templates/skills/media-processing/SKILL.md +3 -2
  373. package/templates/skills/media-processing/scripts/batch-remove-background.sh +0 -0
  374. package/templates/skills/media-processing/scripts/batch_resize.py +0 -0
  375. package/templates/skills/media-processing/scripts/media_convert.py +0 -0
  376. package/templates/skills/media-processing/scripts/remove-background.sh +0 -0
  377. package/templates/skills/media-processing/scripts/remove-bg-node.js +0 -0
  378. package/templates/skills/media-processing/scripts/tests/test_batch_resize.py +0 -0
  379. package/templates/skills/media-processing/scripts/tests/test_media_convert.py +0 -0
  380. package/templates/skills/media-processing/scripts/tests/test_video_optimize.py +0 -0
  381. package/templates/skills/media-processing/scripts/video_optimize.py +0 -0
  382. package/templates/skills/mermaidjs-v11/SKILL.md +116 -0
  383. package/templates/skills/mermaidjs-v11/references/cli-usage.md +228 -0
  384. package/templates/skills/mermaidjs-v11/references/configuration.md +232 -0
  385. package/templates/skills/mermaidjs-v11/references/diagram-types.md +315 -0
  386. package/templates/skills/mermaidjs-v11/references/examples.md +344 -0
  387. package/templates/skills/mermaidjs-v11/references/integration.md +310 -0
  388. package/templates/skills/mintlify/SKILL.md +121 -0
  389. package/templates/skills/mintlify/references/ai-features-and-integrations-reference.md +756 -0
  390. package/templates/skills/mintlify/references/api-documentation-components-reference.md +873 -0
  391. package/templates/skills/mintlify/references/deployment-and-continuous-integration-reference.md +674 -0
  392. package/templates/skills/mintlify/references/docs-json-configuration-reference.md +724 -0
  393. package/templates/skills/mintlify/references/mdx-components-reference.md +551 -0
  394. package/templates/skills/mintlify/references/navigation-structure-and-organization-reference.md +775 -0
  395. package/templates/skills/mobile-development/SKILL.md +3 -2
  396. package/templates/skills/payment-integration/README.md +44 -12
  397. package/templates/skills/payment-integration/SKILL.md +82 -97
  398. package/templates/skills/payment-integration/references/creem/api.md +139 -0
  399. package/templates/skills/payment-integration/references/creem/checkouts.md +99 -0
  400. package/templates/skills/payment-integration/references/creem/licensing.md +136 -0
  401. package/templates/skills/payment-integration/references/creem/overview.md +65 -0
  402. package/templates/skills/payment-integration/references/creem/sdk.md +161 -0
  403. package/templates/skills/payment-integration/references/creem/subscriptions.md +129 -0
  404. package/templates/skills/payment-integration/references/creem/webhooks.md +120 -0
  405. package/templates/skills/payment-integration/references/implementation-workflows.md +43 -0
  406. package/templates/skills/payment-integration/references/multi-provider-order-management-patterns.md +821 -0
  407. package/templates/skills/payment-integration/references/paddle/api.md +116 -0
  408. package/templates/skills/payment-integration/references/paddle/best-practices.md +130 -0
  409. package/templates/skills/payment-integration/references/paddle/overview.md +57 -0
  410. package/templates/skills/payment-integration/references/paddle/paddle-js.md +106 -0
  411. package/templates/skills/payment-integration/references/paddle/sdk.md +131 -0
  412. package/templates/skills/payment-integration/references/paddle/subscriptions.md +118 -0
  413. package/templates/skills/payment-integration/references/paddle/webhooks.md +112 -0
  414. package/templates/skills/payment-integration/references/polar/best-practices.md +781 -361
  415. package/templates/skills/payment-integration/references/sepay/best-practices.md +870 -268
  416. package/templates/skills/payment-integration/references/stripe/stripe-best-practices.md +32 -0
  417. package/templates/skills/payment-integration/references/stripe/stripe-cli.md +148 -0
  418. package/templates/skills/payment-integration/references/stripe/stripe-js.md +116 -0
  419. package/templates/skills/payment-integration/references/stripe/stripe-sdks.md +84 -0
  420. package/templates/skills/payment-integration/references/stripe/stripe-upgrade.md +175 -0
  421. package/templates/skills/payment-integration/scripts/checkout-helper.js +0 -0
  422. package/templates/skills/payment-integration/scripts/polar-webhook-verify.js +0 -0
  423. package/templates/skills/payment-integration/scripts/sepay-webhook-verify.js +0 -0
  424. package/templates/skills/payment-integration/scripts/test-scripts.js +0 -0
  425. package/templates/skills/plan/SKILL.md +137 -0
  426. package/templates/skills/plan/references/archive-workflow.md +53 -0
  427. package/templates/skills/{planning → plan}/references/codebase-understanding.md +1 -1
  428. package/templates/skills/{planning → plan}/references/output-standards.md +15 -1
  429. package/templates/skills/{planning → plan}/references/plan-organization.md +12 -19
  430. package/templates/skills/plan/references/red-team-personas.md +69 -0
  431. package/templates/skills/plan/references/red-team-workflow.md +77 -0
  432. package/templates/skills/{planning → plan}/references/research-phase.md +2 -2
  433. package/templates/skills/plan/references/task-management.md +132 -0
  434. package/templates/skills/plan/references/validate-question-framework.md +80 -0
  435. package/templates/skills/plan/references/validate-workflow.md +65 -0
  436. package/templates/skills/plan/references/workflow-modes.md +145 -0
  437. package/templates/skills/plans-kanban/SKILL.md +167 -0
  438. package/templates/skills/plans-kanban/assets/dashboard-template.html +119 -0
  439. package/templates/skills/plans-kanban/assets/dashboard.css +1594 -0
  440. package/templates/skills/plans-kanban/assets/dashboard.js +596 -0
  441. package/templates/skills/plans-kanban/assets/favicon.png +0 -0
  442. package/templates/skills/plans-kanban/package.json +13 -0
  443. package/templates/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +884 -0
  444. package/templates/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
  445. package/templates/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
  446. package/templates/skills/plans-kanban/scripts/lib/plan-parser.cjs +175 -0
  447. package/templates/skills/plans-kanban/scripts/lib/plan-scanner.cjs +272 -0
  448. package/templates/skills/plans-kanban/scripts/lib/port-finder.cjs +48 -0
  449. package/templates/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
  450. package/templates/skills/plans-kanban/scripts/server.cjs +260 -0
  451. package/templates/skills/preview/SKILL.md +75 -0
  452. package/templates/skills/preview/references/generation-modes.md +95 -0
  453. package/templates/skills/preview/references/view-mode.md +42 -0
  454. package/templates/skills/problem-solving/SKILL.md +3 -2
  455. package/templates/skills/project-management/SKILL.md +122 -0
  456. package/templates/skills/project-management/references/documentation-triggers.md +60 -0
  457. package/templates/skills/project-management/references/hydration-workflow.md +85 -0
  458. package/templates/skills/project-management/references/progress-tracking.md +96 -0
  459. package/templates/skills/project-management/references/reporting-patterns.md +94 -0
  460. package/templates/skills/project-management/references/task-operations.md +85 -0
  461. package/templates/skills/react-best-practices/AGENTS.md +2249 -0
  462. package/templates/skills/react-best-practices/README.md +123 -0
  463. package/templates/skills/react-best-practices/SKILL.md +122 -0
  464. package/templates/skills/react-best-practices/metadata.json +15 -0
  465. package/templates/skills/react-best-practices/rules/_sections.md +46 -0
  466. package/templates/skills/react-best-practices/rules/_template.md +28 -0
  467. package/templates/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  468. package/templates/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  469. package/templates/skills/react-best-practices/rules/async-api-routes.md +38 -0
  470. package/templates/skills/react-best-practices/rules/async-defer-await.md +80 -0
  471. package/templates/skills/react-best-practices/rules/async-dependencies.md +36 -0
  472. package/templates/skills/react-best-practices/rules/async-parallel.md +28 -0
  473. package/templates/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  474. package/templates/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  475. package/templates/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  476. package/templates/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  477. package/templates/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  478. package/templates/skills/react-best-practices/rules/bundle-preload.md +50 -0
  479. package/templates/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  480. package/templates/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  481. package/templates/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  482. package/templates/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  483. package/templates/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  484. package/templates/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  485. package/templates/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  486. package/templates/skills/react-best-practices/rules/js-early-exit.md +50 -0
  487. package/templates/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  488. package/templates/skills/react-best-practices/rules/js-index-maps.md +37 -0
  489. package/templates/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  490. package/templates/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  491. package/templates/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  492. package/templates/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  493. package/templates/skills/react-best-practices/rules/rendering-activity.md +26 -0
  494. package/templates/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  495. package/templates/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  496. package/templates/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  497. package/templates/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  498. package/templates/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  499. package/templates/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  500. package/templates/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  501. package/templates/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  502. package/templates/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  503. package/templates/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  504. package/templates/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  505. package/templates/skills/react-best-practices/rules/rerender-memo.md +44 -0
  506. package/templates/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  507. package/templates/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  508. package/templates/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  509. package/templates/skills/react-best-practices/rules/server-cache-react.md +26 -0
  510. package/templates/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
  511. package/templates/skills/react-best-practices/rules/server-serialization.md +38 -0
  512. package/templates/skills/remotion/SKILL.md +44 -0
  513. package/templates/skills/remotion/rules/3d.md +86 -0
  514. package/templates/skills/remotion/rules/animations.md +29 -0
  515. package/templates/skills/remotion/rules/assets/charts-bar-chart.tsx +173 -0
  516. package/templates/skills/remotion/rules/assets/text-animations-typewriter.tsx +100 -0
  517. package/templates/skills/remotion/rules/assets/text-animations-word-highlight.tsx +108 -0
  518. package/templates/skills/remotion/rules/assets.md +78 -0
  519. package/templates/skills/remotion/rules/audio.md +172 -0
  520. package/templates/skills/remotion/rules/calculate-metadata.md +104 -0
  521. package/templates/skills/remotion/rules/can-decode.md +75 -0
  522. package/templates/skills/remotion/rules/charts.md +58 -0
  523. package/templates/skills/remotion/rules/compositions.md +146 -0
  524. package/templates/skills/remotion/rules/display-captions.md +126 -0
  525. package/templates/skills/remotion/rules/extract-frames.md +229 -0
  526. package/templates/skills/remotion/rules/fonts.md +152 -0
  527. package/templates/skills/remotion/rules/get-audio-duration.md +58 -0
  528. package/templates/skills/remotion/rules/get-video-dimensions.md +68 -0
  529. package/templates/skills/remotion/rules/get-video-duration.md +58 -0
  530. package/templates/skills/remotion/rules/gifs.md +138 -0
  531. package/templates/skills/remotion/rules/images.md +130 -0
  532. package/templates/skills/remotion/rules/import-srt-captions.md +67 -0
  533. package/templates/skills/remotion/rules/lottie.md +68 -0
  534. package/templates/skills/remotion/rules/measuring-dom-nodes.md +35 -0
  535. package/templates/skills/remotion/rules/measuring-text.md +143 -0
  536. package/templates/skills/remotion/rules/sequencing.md +106 -0
  537. package/templates/skills/remotion/rules/tailwind.md +11 -0
  538. package/templates/skills/remotion/rules/text-animations.md +20 -0
  539. package/templates/skills/remotion/rules/timing.md +179 -0
  540. package/templates/skills/remotion/rules/transcribe-captions.md +19 -0
  541. package/templates/skills/remotion/rules/transitions.md +122 -0
  542. package/templates/skills/remotion/rules/trimming.md +53 -0
  543. package/templates/skills/remotion/rules/videos.md +171 -0
  544. package/templates/skills/repomix/SKILL.md +3 -2
  545. package/templates/skills/repomix/scripts/repomix_batch.py +0 -0
  546. package/templates/skills/research/SKILL.md +9 -6
  547. package/templates/skills/scout/SKILL.md +89 -0
  548. package/templates/skills/scout/references/external-scouting.md +140 -0
  549. package/templates/skills/scout/references/internal-scouting.md +119 -0
  550. package/templates/skills/scout/references/task-management-scouting.md +125 -0
  551. package/templates/skills/sequential-thinking/SKILL.md +3 -2
  552. package/templates/skills/sequential-thinking/scripts/format-thought.js +0 -0
  553. package/templates/skills/sequential-thinking/scripts/process-thought.js +0 -0
  554. package/templates/skills/shader/SKILL.md +113 -0
  555. package/templates/skills/shader/references/glsl-cellular-voronoi-worley-noise-patterns.md +142 -0
  556. package/templates/skills/shader/references/glsl-colors-rgb-hsb-gradients-mixing-color-spaces.md +143 -0
  557. package/templates/skills/shader/references/glsl-fbm-fractional-brownian-motion-turbulence-octaves.md +146 -0
  558. package/templates/skills/shader/references/glsl-fundamentals-data-types-vectors-precision-coordinates.md +104 -0
  559. package/templates/skills/shader/references/glsl-noise-random-perlin-simplex-cellular-voronoi.md +115 -0
  560. package/templates/skills/shader/references/glsl-pattern-symmetry-truchet-domain-warping.md +134 -0
  561. package/templates/skills/shader/references/glsl-patterns-tiling-fract-matrices-transformations.md +133 -0
  562. package/templates/skills/shader/references/glsl-procedural-textures-clouds-marble-wood-terrain.md +144 -0
  563. package/templates/skills/shader/references/glsl-shader-builtin-functions-complete-api-reference.md +112 -0
  564. package/templates/skills/shader/references/glsl-shapes-polygon-star-polar-sdf-combinations.md +124 -0
  565. package/templates/skills/shader/references/glsl-shapes-sdf-circles-rectangles-polar-distance-fields.md +106 -0
  566. package/templates/skills/shader/references/glsl-shaping-functions-step-smoothstep-curves-interpolation.md +141 -0
  567. package/templates/skills/shopify/SKILL.md +3 -2
  568. package/templates/skills/shopify/scripts/shopify_init.py +5 -5
  569. package/templates/skills/skill-creator/SKILL.md +91 -238
  570. package/templates/skills/skill-creator/references/benchmark-optimization-guide.md +86 -0
  571. package/templates/skills/skill-creator/references/distribution-guide.md +79 -0
  572. package/templates/skills/skill-creator/references/mcp-skills-integration.md +71 -0
  573. package/templates/skills/skill-creator/references/metadata-quality-criteria.md +76 -0
  574. package/templates/skills/skill-creator/references/plugin-marketplace-hosting.md +104 -0
  575. package/templates/skills/skill-creator/references/plugin-marketplace-overview.md +89 -0
  576. package/templates/skills/skill-creator/references/plugin-marketplace-schema.md +93 -0
  577. package/templates/skills/skill-creator/references/plugin-marketplace-sources.md +103 -0
  578. package/templates/skills/skill-creator/references/plugin-marketplace-troubleshooting.md +76 -0
  579. package/templates/skills/skill-creator/references/script-quality-criteria.md +106 -0
  580. package/templates/skills/skill-creator/references/skill-anatomy-and-requirements.md +76 -0
  581. package/templates/skills/skill-creator/references/skill-creation-workflow.md +95 -0
  582. package/templates/skills/skill-creator/references/skill-design-patterns.md +75 -0
  583. package/templates/skills/skill-creator/references/skillmark-benchmark-criteria.md +102 -0
  584. package/templates/skills/skill-creator/references/structure-organization-criteria.md +114 -0
  585. package/templates/skills/skill-creator/references/testing-and-iteration.md +78 -0
  586. package/templates/skills/skill-creator/references/token-efficiency-criteria.md +74 -0
  587. package/templates/skills/skill-creator/references/troubleshooting-guide.md +80 -0
  588. package/templates/skills/skill-creator/references/validation-checklist.md +83 -0
  589. package/templates/skills/skill-creator/references/writing-effective-instructions.md +88 -0
  590. package/templates/skills/skill-creator/references/yaml-frontmatter-reference.md +91 -0
  591. package/templates/skills/skill-creator/scripts/debug.zip +0 -0
  592. package/templates/skills/skill-creator/scripts/encoding_utils.py +36 -0
  593. package/templates/skills/skill-creator/scripts/init_skill.py +9 -4
  594. package/templates/skills/skill-creator/scripts/package_skill.py +5 -0
  595. package/templates/skills/skill-creator/scripts/quick_validate.py +6 -2
  596. package/templates/skills/tanstack/SKILL.md +141 -0
  597. package/templates/skills/tanstack/references/tanstack-ai.md +97 -0
  598. package/templates/skills/tanstack/references/tanstack-form.md +125 -0
  599. package/templates/skills/tanstack/references/tanstack-start.md +100 -0
  600. package/templates/skills/team/SKILL.md +285 -0
  601. package/templates/skills/team/references/agent-teams-controls-and-modes.md +107 -0
  602. package/templates/skills/team/references/agent-teams-examples-and-best-practices.md +182 -0
  603. package/templates/skills/team/references/agent-teams-official-docs.md +175 -0
  604. package/templates/skills/template-skill/SKILL.md +1 -1
  605. package/templates/skills/test/SKILL.md +109 -0
  606. package/templates/skills/test/references/report-format.md +58 -0
  607. package/templates/skills/test/references/test-execution-workflow.md +103 -0
  608. package/templates/skills/test/references/ui-testing-workflow.md +65 -0
  609. package/templates/skills/threejs/SKILL.md +106 -53
  610. package/templates/skills/threejs/data/api-reference.csv +61 -0
  611. package/templates/skills/threejs/data/categories.csv +14 -0
  612. package/templates/skills/threejs/data/examples-all.csv +557 -0
  613. package/templates/skills/threejs/data/use-cases.csv +21 -0
  614. package/templates/skills/threejs/references/00-fundamentals.md +487 -0
  615. package/templates/skills/threejs/references/11-materials-advanced.md +1 -1
  616. package/templates/skills/threejs/references/11-materials.md +519 -0
  617. package/templates/skills/threejs/references/17-shader.md +641 -0
  618. package/templates/skills/threejs/references/18-geometry.md +547 -0
  619. package/templates/skills/threejs/scripts/core.py +236 -0
  620. package/templates/skills/threejs/scripts/extract_examples.py +688 -0
  621. package/templates/skills/threejs/scripts/generate_csv_from_json.py +135 -0
  622. package/templates/skills/threejs/scripts/search.py +77 -0
  623. package/templates/skills/ui-styling/SKILL.md +3 -2
  624. package/templates/skills/ui-styling/scripts/shadcn_add.py +0 -0
  625. package/templates/skills/ui-styling/scripts/tailwind_config_gen.py +1 -1
  626. package/templates/skills/ui-ux-pro-max/SKILL.md +69 -32
  627. package/templates/skills/ui-ux-pro-max/data/charts.csv +25 -25
  628. package/templates/skills/ui-ux-pro-max/data/colors.csv +96 -96
  629. package/templates/skills/ui-ux-pro-max/data/landing.csv +30 -30
  630. package/templates/skills/ui-ux-pro-max/data/products.csv +96 -96
  631. package/templates/skills/ui-ux-pro-max/data/prompts.csv +20 -20
  632. package/templates/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  633. package/templates/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  634. package/templates/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  635. package/templates/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
  636. package/templates/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
  637. package/templates/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  638. package/templates/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  639. package/templates/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
  640. package/templates/skills/ui-ux-pro-max/data/styles.csv +58 -58
  641. package/templates/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  642. package/templates/skills/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
  643. package/templates/skills/ui-ux-pro-max/scripts/design_system.py +494 -0
  644. package/templates/skills/ui-ux-pro-max/scripts/search.py +84 -61
  645. package/templates/skills/use-mcp/SKILL.md +42 -0
  646. package/templates/skills/watzup/SKILL.md +12 -0
  647. package/templates/skills/web-design-guidelines/SKILL.md +36 -0
  648. package/templates/skills/web-frameworks/SKILL.md +4 -3
  649. package/templates/skills/web-frameworks/scripts/nextjs_init.py +13 -13
  650. package/templates/skills/web-frameworks/scripts/turborepo_migrate.py +0 -0
  651. package/templates/skills/web-testing/SKILL.md +97 -0
  652. package/templates/skills/web-testing/references/accessibility-testing.md +84 -0
  653. package/templates/skills/web-testing/references/api-testing.md +78 -0
  654. package/templates/skills/web-testing/references/ci-cd-testing-workflows.md +121 -0
  655. package/templates/skills/web-testing/references/component-testing.md +94 -0
  656. package/templates/skills/web-testing/references/contract-testing.md +146 -0
  657. package/templates/skills/web-testing/references/cross-browser-checklist.md +72 -0
  658. package/templates/skills/web-testing/references/database-testing.md +139 -0
  659. package/templates/skills/web-testing/references/e2e-testing-playwright.md +119 -0
  660. package/templates/skills/web-testing/references/functional-testing-checklist.md +88 -0
  661. package/templates/skills/web-testing/references/interactive-testing-patterns.md +89 -0
  662. package/templates/skills/web-testing/references/load-testing-k6.md +93 -0
  663. package/templates/skills/web-testing/references/mobile-gesture-testing.md +85 -0
  664. package/templates/skills/web-testing/references/performance-core-web-vitals.md +124 -0
  665. package/templates/skills/web-testing/references/playwright-component-testing.md +115 -0
  666. package/templates/skills/web-testing/references/pre-release-checklist.md +75 -0
  667. package/templates/skills/web-testing/references/security-checklists.md +81 -0
  668. package/templates/skills/web-testing/references/security-testing-overview.md +92 -0
  669. package/templates/skills/web-testing/references/shadow-dom-testing.md +70 -0
  670. package/templates/skills/web-testing/references/test-data-management.md +131 -0
  671. package/templates/skills/web-testing/references/test-flakiness-mitigation.md +86 -0
  672. package/templates/skills/web-testing/references/testing-pyramid-strategy.md +76 -0
  673. package/templates/skills/web-testing/references/unit-integration-testing.md +138 -0
  674. package/templates/skills/web-testing/references/visual-regression.md +92 -0
  675. package/templates/skills/web-testing/references/vulnerability-payloads.md +93 -0
  676. package/templates/skills/web-testing/scripts/analyze-test-results.js +280 -0
  677. package/templates/skills/web-testing/scripts/init-playwright.js +233 -0
  678. package/templates/skills/worktree/SKILL.md +96 -0
  679. package/templates/skills/worktree/scripts/worktree.cjs +916 -0
  680. package/templates/skills/worktree/scripts/worktree.test.cjs +792 -0
  681. package/templates/statusline.cjs +477 -244
  682. package/templates/statusline.ps1 +0 -1
  683. package/templates/statusline.sh +0 -1
  684. package/templates/agents/README.md +0 -172
  685. package/templates/agents/copywriter.md +0 -113
  686. package/templates/agents/database-admin.md +0 -97
  687. package/templates/agents/scout-external.md +0 -146
  688. package/templates/agents/scout.md +0 -260
  689. package/templates/hooks/.python-cache.json +0 -1
  690. package/templates/hooks/README.md +0 -246
  691. package/templates/hooks/backend-csharp-context.cjs +0 -223
  692. package/templates/hooks/design-system-context.cjs +0 -185
  693. package/templates/hooks/frontend-typescript-context.cjs +0 -233
  694. package/templates/hooks/lib/ck-paths.cjs +0 -110
  695. package/templates/hooks/lib/context-tracker.cjs +0 -335
  696. package/templates/hooks/notify-waiting.js +0 -117
  697. package/templates/hooks/post-edit-prettier.cjs +0 -189
  698. package/templates/hooks/post-task-review.cjs +0 -142
  699. package/templates/hooks/scss-styling-context.cjs +0 -213
  700. package/templates/hooks/session-end.cjs +0 -35
  701. package/templates/hooks/tests/test-context-tracker.cjs +0 -454
  702. package/templates/hooks/tests/test-scout-block.js +0 -163
  703. package/templates/hooks/workflow-router.cjs +0 -326
  704. package/templates/hooks/write-compact-marker.cjs +0 -159
  705. package/templates/scripts/__pycache__/win_compat.cpython-312.pyc +0 -0
  706. package/templates/scripts/plan-preview.cjs +0 -921
  707. package/templates/skills/arch-cross-service-integration/SKILL.md +0 -48
  708. package/templates/skills/arch-performance-optimization/SKILL.md +0 -306
  709. package/templates/skills/arch-security-review/SKILL.md +0 -344
  710. package/templates/skills/branch-comparison/SKILL.md +0 -150
  711. package/templates/skills/bug-diagnosis/SKILL.md +0 -309
  712. package/templates/skills/claude-code/references/advanced-features.md +0 -399
  713. package/templates/skills/claude-code/references/agent-skills.md +0 -399
  714. package/templates/skills/claude-code/references/api-reference.md +0 -498
  715. package/templates/skills/claude-code/references/best-practices.md +0 -447
  716. package/templates/skills/claude-code/references/cicd-integration.md +0 -428
  717. package/templates/skills/claude-code/references/common-workflows.md +0 -119
  718. package/templates/skills/claude-code/references/configuration.md +0 -480
  719. package/templates/skills/claude-code/references/enterprise-features.md +0 -472
  720. package/templates/skills/claude-code/references/getting-started.md +0 -252
  721. package/templates/skills/claude-code/references/hooks-and-plugins.md +0 -444
  722. package/templates/skills/claude-code/references/hooks-comprehensive.md +0 -622
  723. package/templates/skills/claude-code/references/ide-integration.md +0 -316
  724. package/templates/skills/claude-code/references/mcp-integration.md +0 -386
  725. package/templates/skills/claude-code/references/slash-commands.md +0 -489
  726. package/templates/skills/claude-code/references/troubleshooting.md +0 -456
  727. package/templates/skills/claude-code/skill.md +0 -60
  728. package/templates/skills/debugging/SKILL.md +0 -84
  729. package/templates/skills/developer-growth-analysis/SKILL.md +0 -322
  730. package/templates/skills/documentation/SKILL.md +0 -134
  731. package/templates/skills/domain-name-brainstormer/SKILL.md +0 -212
  732. package/templates/skills/dual-pass-review/SKILL.md +0 -249
  733. package/templates/skills/feature-docs/SKILL.md +0 -294
  734. package/templates/skills/feature-implementation/SKILL.md +0 -262
  735. package/templates/skills/feature-investigation/SKILL.md +0 -346
  736. package/templates/skills/frontend-design-pro/SKILL.md +0 -58
  737. package/templates/skills/package-upgrade/SKILL.md +0 -189
  738. package/templates/skills/plan-analysis/SKILL.md +0 -191
  739. package/templates/skills/planning/SKILL.md +0 -115
  740. package/templates/skills/planning-with-files/SKILL.md +0 -160
  741. package/templates/skills/planning-with-files/examples.md +0 -202
  742. package/templates/skills/planning-with-files/reference.md +0 -110
  743. package/templates/skills/project-index/SKILL.md +0 -97
  744. package/templates/skills/project-index/scripts/scan-structure.js +0 -417
  745. package/templates/skills/project-index/scripts/scan_structure.py +0 -450
  746. package/templates/skills/readme-improvement/SKILL.md +0 -177
  747. package/templates/skills/skill-share/SKILL.md +0 -80
  748. package/templates/skills/tasks-code-review/SKILL.md +0 -298
  749. package/templates/skills/tasks-documentation/SKILL.md +0 -328
  750. package/templates/skills/tasks-spec-update/SKILL.md +0 -318
  751. package/templates/skills/tasks-test-generation/SKILL.md +0 -433
  752. package/templates/skills/test-generation/SKILL.md +0 -203
  753. package/templates/skills/webapp-testing/LICENSE.txt +0 -202
  754. package/templates/skills/webapp-testing/SKILL.md +0 -96
  755. package/templates/skills/webapp-testing/examples/console_logging.py +0 -35
  756. package/templates/skills/webapp-testing/examples/element_discovery.py +0 -40
  757. package/templates/skills/webapp-testing/examples/static_html_automation.py +0 -33
  758. package/templates/skills/webapp-testing/scripts/with_server.py +0 -106
  759. /package/templates/hooks/scout-block/vendor/{ignore.js → ignore.cjs} +0 -0
  760. /package/templates/skills/{debugging → debug}/references/defense-in-depth.md +0 -0
  761. /package/templates/skills/{debugging → debug}/references/root-cause-tracing.md +0 -0
  762. /package/templates/skills/{debugging → debug}/references/systematic-debugging.md +0 -0
  763. /package/templates/skills/{debugging → debug}/references/verification.md +0 -0
  764. /package/templates/skills/{debugging → debug}/scripts/find-polluter.sh +0 -0
  765. /package/templates/skills/{debugging → debug}/scripts/find-polluter.test.md +0 -0
  766. /package/templates/skills/{planning → plan}/references/solution-design.md +0 -0
@@ -1,869 +1,33 @@
1
1
  #!/usr/bin/env python3
2
2
  """
3
- ClaudeKit Help Command - All-in-one guide with dynamic command discovery.
4
- Scans .claude/commands/ directory to build catalog at runtime.
3
+ Backward-compatible wrapper for ck-help.
5
4
 
6
- Usage:
7
- python ck-help.py # Overview with quick start
8
- python ck-help.py fix # Category guide with workflow
9
- python ck-help.py plan/fast # Command details
10
- python ck-help.py debug login error # Task recommendations
11
- python ck-help.py auth # Search (unknown word)
5
+ Canonical implementation lives at:
6
+ .claude/skills/ck-help/scripts/ck-help.py
12
7
  """
13
8
 
9
+ import runpy
14
10
  import sys
15
- import re
16
- import io
17
11
  from pathlib import Path
18
12
 
19
- # Fix Windows console encoding for Unicode characters
20
- if sys.platform == 'win32':
21
- sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
22
13
 
14
+ def main() -> int:
15
+ target = (
16
+ Path(__file__).resolve().parent.parent
17
+ / "skills"
18
+ / "ck-help"
19
+ / "scripts"
20
+ / "ck-help.py"
21
+ )
23
22
 
24
- # Output type markers for LLM presentation guidance
25
- # Format: @CK_OUTPUT_TYPE:<type>
26
- # Types:
27
- # - comprehensive-docs: Full documentation, show verbatim + add context
28
- # - category-guide: Workflow guide, show full + explain workflow
29
- # - command-details: Single command, show + offer to run
30
- # - search-results: Search matches, show + offer alternatives
31
- # - task-recommendations: Task-based suggestions, explain reasoning
32
- OUTPUT_TYPES = {
33
- "comprehensive-docs": "Show FULL output verbatim, then ADD helpful context, examples, and real-world tips",
34
- "category-guide": "Show complete workflow, then ENHANCE with practical usage scenarios",
35
- "command-details": "Show command info, then ADD usage examples and related commands",
36
- "search-results": "Show all matches, then HELP user narrow down or explore",
37
- "task-recommendations": "Show recommendations, then EXPLAIN why these fit and offer to start",
38
- }
23
+ if not target.exists():
24
+ print(f"Error: canonical ck-help script not found: {target}", file=sys.stderr)
25
+ return 1
39
26
 
40
-
41
- def emit_output_type(output_type: str) -> None:
42
- """Emit output type marker for LLM presentation guidance."""
43
- print(f"@CK_OUTPUT_TYPE:{output_type}")
44
- print()
45
-
46
-
47
- # Task keyword mappings for intent detection
48
- TASK_MAPPINGS = {
49
- "fix": ["fix", "bug", "error", "broken", "issue", "debug", "crash", "fail", "wrong", "not working"],
50
- "plan": ["plan", "design", "architect", "research", "think", "analyze", "strategy", "how to", "approach"],
51
- "cook": ["implement", "build", "create", "add", "feature", "code", "develop", "make", "write"],
52
- "bootstrap": ["start", "new", "init", "setup", "project", "scaffold", "generate", "begin"],
53
- "test": ["test", "check", "verify", "validate", "spec", "unit", "integration", "coverage"],
54
- "docs": ["document", "readme", "docs", "explain", "comment", "documentation"],
55
- "git": ["commit", "push", "pr", "merge", "branch", "pull", "request", "git"],
56
- "design": ["ui", "ux", "style", "layout", "visual", "css", "component", "page", "responsive"],
57
- "review": ["review", "audit", "inspect", "quality", "refactor", "clean"],
58
- "content": ["copy", "text", "marketing", "content", "blog", "seo"],
59
- "integrate": ["integrate", "payment", "api", "connect", "webhook", "third-party"],
60
- "skill": ["skill", "agent", "automate", "workflow"],
61
- "scout": ["find", "search", "locate", "explore", "scan", "where"],
62
- "config": ["config", "configure", "settings", "ck.json", ".ck.json", "setup", "locale", "language", "paths"],
63
- "coding-level": ["coding", "level", "eli5", "junior", "senior", "lead", "god", "beginner", "expert", "teach", "learn", "explain"],
64
- }
65
-
66
- # Category workflows and tips
67
- CATEGORY_GUIDES = {
68
- "fix": {
69
- "title": "Fixing Issues",
70
- "workflow": [
71
- ("Start", "`/fix` \"describe your issue\""),
72
- ("If stuck", "`/debug` \"more details\""),
73
- ("Verify", "`/test`"),
74
- ],
75
- "tip": "Include error messages for better results",
76
- },
77
- "plan": {
78
- "title": "Planning",
79
- "workflow": [
80
- ("Quick plan", "`/plan/fast` \"your task\""),
81
- ("Deep research", "`/plan/hard` \"complex task\""),
82
- ("Validate", "`/plan/validate` (interview to confirm decisions)"),
83
- ("Execute plan", "`/code` (runs the plan)"),
84
- ],
85
- "tip": "Use /plan/validate to confirm assumptions before coding",
86
- },
87
- "cook": {
88
- "title": "Implementation",
89
- "workflow": [
90
- ("Quick impl", "`/cook` \"your feature\""),
91
- ("Auto mode", "`/cook/auto` \"trust me bro\""),
92
- ("Test", "`/test`"),
93
- ],
94
- "tip": "Cook is standalone - it plans internally. Use /plan → /code for explicit planning",
95
- },
96
- "bootstrap": {
97
- "title": "Project Setup",
98
- "workflow": [
99
- ("Quick start", "`/bootstrap/auto/fast` \"requirements\""),
100
- ("Full setup", "`/bootstrap` \"detailed requirements\""),
101
- ],
102
- "tip": "Include tech stack preferences in description",
103
- },
104
- "test": {
105
- "title": "Testing",
106
- "workflow": [
107
- ("Run tests", "`/test`"),
108
- ("Fix failures", "`/fix/test`"),
109
- ],
110
- "tip": "Run tests frequently during development",
111
- },
112
- "docs": {
113
- "title": "Documentation",
114
- "workflow": [
115
- ("Initialize", "`/docs/init`"),
116
- ("Update", "`/docs/update`"),
117
- ],
118
- "tip": "Keep docs close to code for accuracy",
119
- },
120
- "git": {
121
- "title": "Git Workflow",
122
- "workflow": [
123
- ("Commit", "`/git/cm`"),
124
- ("Push", "`/git/cp`"),
125
- ("PR", "`/git/pr`"),
126
- ],
127
- "tip": "Commit often with clear messages",
128
- },
129
- "design": {
130
- "title": "Design",
131
- "workflow": [
132
- ("Quick design", "`/design/fast` \"description\""),
133
- ("From screenshot", "`/design/screenshot` <path>"),
134
- ("3D design", "`/design/3d` \"description\""),
135
- ],
136
- "tip": "Reference existing designs for consistency",
137
- },
138
- "review": {
139
- "title": "Code Review",
140
- "workflow": [
141
- ("Full review", "`/review/codebase`"),
142
- ],
143
- "tip": "Review before merging to main",
144
- },
145
- "content": {
146
- "title": "Content Creation",
147
- "workflow": [
148
- ("Quick copy", "`/content/fast` \"requirements\""),
149
- ("Quality copy", "`/content/good` \"requirements\""),
150
- ("Optimize", "`/content/cro`"),
151
- ],
152
- "tip": "Know your audience before writing",
153
- },
154
- "integrate": {
155
- "title": "Integration",
156
- "workflow": [
157
- ("Polar.sh", "`/integrate/polar`"),
158
- ("SePay", "`/integrate/sepay`"),
159
- ],
160
- "tip": "Read API docs before integrating",
161
- },
162
- "skill": {
163
- "title": "Skill Management",
164
- "workflow": [
165
- ("Create", "`/skill/create`"),
166
- ("Optimize", "`/skill/optimize`"),
167
- ],
168
- "tip": "Skills extend agent capabilities",
169
- },
170
- "scout": {
171
- "title": "Codebase Exploration",
172
- "workflow": [
173
- ("Find files", "`/scout` \"what to find\""),
174
- ("External tools", "`/scout/ext` \"query\""),
175
- ],
176
- "tip": "Be specific about what you're looking for",
177
- },
178
- "coding-level": {
179
- "title": "Coding Level (Adaptive Communication)",
180
- "workflow": [
181
- ("Disabled", "`codingLevel: -1` (default, no injection)"),
182
- ("ELI5", "`codingLevel: 0` (analogies, baby steps)"),
183
- ("Junior", "`codingLevel: 1` (WHY before HOW)"),
184
- ("Mid-Level", "`codingLevel: 2` (patterns, trade-offs)"),
185
- ("Senior", "`codingLevel: 3` (production code, ops)"),
186
- ("Tech Lead", "`codingLevel: 4` (risk matrix, strategy)"),
187
- ("God Mode", "`codingLevel: 5` (code first, no fluff)"),
188
- ],
189
- "tip": "Set in .ck.json. Guidelines auto-inject on session start",
190
- },
191
- "config": {
192
- "title": "ClaudeKit Configuration (.ck.json)",
193
- "workflow": [
194
- ("Global", "Set user prefs in `~/.claude/.ck.json`"),
195
- ("Local", "Override per-project in `./.claude/.ck.json`"),
196
- ("Resolution", "DEFAULT → global → local (deep merge)"),
197
- ],
198
- "tip": "Global config works in fresh dirs; local overrides for projects",
199
- },
200
- }
201
-
202
-
203
- def detect_prefix(commands_dir: Path) -> str:
204
- """Legacy hook: commands used to support a /ck: namespace.
205
-
206
- This repo uses canonical command names like `/fix/ui` (no `/ck:` prefix).
207
- """
208
- return ""
209
-
210
-
211
- def parse_frontmatter(file_path: Path) -> dict:
212
- """Parse YAML frontmatter from a markdown file."""
213
- try:
214
- content = file_path.read_text(encoding='utf-8')
215
- except Exception:
216
- return {}
217
-
218
- # Check for frontmatter
219
- if not content.startswith('---'):
220
- return {}
221
-
222
- # Find closing ---
223
- end_idx = content.find('---', 3)
224
- if end_idx == -1:
225
- return {}
226
-
227
- frontmatter = content[3:end_idx].strip()
228
- result = {}
229
-
230
- for line in frontmatter.split('\n'):
231
- if ':' in line:
232
- key, value = line.split(':', 1)
233
- result[key.strip()] = value.strip()
234
-
235
- return result
236
-
237
-
238
- def discover_commands(commands_dir: Path, prefix: str) -> dict:
239
- """Scan .claude/commands/ and build command catalog."""
240
- commands = {}
241
- categories = {}
242
-
243
- if not commands_dir.exists():
244
- return {"commands": commands, "categories": categories}
245
-
246
- # Scan all .md files
247
- for md_file in commands_dir.rglob("*.md"):
248
- # Skip non-command files
249
- rel_path = md_file.relative_to(commands_dir)
250
- parts = rel_path.parts
251
-
252
- # Get command name from path
253
- # e.g., fix/fast.md -> fix/fast, plan.md -> plan
254
- if len(parts) == 1:
255
- # Root command: plan.md -> plan
256
- cmd_name = parts[0].replace('.md', '')
257
- category = "core"
258
- else:
259
- # Nested command: fix/fast.md -> fix/fast
260
- category = parts[0]
261
- cmd_name = '/'.join([p.replace('.md', '') for p in parts])
262
-
263
- # Parse frontmatter
264
- fm = parse_frontmatter(md_file)
265
- description = fm.get('description', '')
266
-
267
- # Skip if no description (not a real command)
268
- if not description:
269
- continue
270
-
271
- # Clean description (remove emoji indicators)
272
- clean_desc = re.sub(r'^[^\w\s]+\s*', '', description).strip()
273
-
274
- # Format command name with prefix
275
- formatted_name = f"/{prefix}{cmd_name}" if prefix else f"/{cmd_name}"
276
-
277
- # Add to commands
278
- if category not in commands:
279
- commands[category] = []
280
-
281
- commands[category].append({
282
- "name": formatted_name,
283
- "description": clean_desc,
284
- "category": category,
285
- })
286
-
287
- # Track categories
288
- if category not in categories:
289
- categories[category] = category.title()
290
-
291
- # Sort commands within each category
292
- for cat in commands:
293
- commands[cat].sort(key=lambda x: x["name"])
294
-
295
- return {"commands": commands, "categories": categories}
296
-
297
-
298
- def detect_intent(input_str: str, categories: list) -> str:
299
- """Smart auto-detection of user intent."""
300
- if not input_str:
301
- return "overview"
302
-
303
- input_lower = input_str.lower()
304
-
305
- # Check if it's a known category
306
- if input_lower in [c.lower() for c in categories]:
307
- return "category"
308
-
309
- # Check if it looks like a command (legacy ':' or canonical '/')
310
- if (':' in input_str or '/' in input_str) and ' ' not in input_str:
311
- return "command"
312
-
313
- # Multiple words = task description
314
- if len(input_str.split()) >= 2:
315
- return "task"
316
-
317
- return "search"
318
-
319
-
320
- def show_overview(data: dict, prefix: str) -> None:
321
- """Display overview with quick start guide."""
322
- emit_output_type("category-guide")
323
-
324
- commands = data["commands"]
325
- categories = data["categories"]
326
- total = sum(len(cmds) for cmds in commands.values())
327
- help_cmd = f"/{prefix}ck-help" if prefix else "/ck-help"
328
-
329
- print("# ClaudeKit Commands")
330
- print()
331
- print(f"{total} commands across {len(categories)} categories.")
332
- print()
333
- print("**Quick Start:**")
334
- print(f"- `/{prefix}cook` - Implement features (standalone)")
335
- print(f"- `/{prefix}plan` + `/{prefix}code` - Plan then execute")
336
- print(f"- `/{prefix}fix` - Fix bugs intelligently")
337
- print(f"- `/{prefix}test` - Run and analyze tests")
338
- print()
339
- print("**Categories:**")
340
- for cat_key in sorted(categories.keys()):
341
- count = len(commands.get(cat_key, []))
342
- print(f"- `{cat_key}` ({count})")
343
- print()
344
- print("**Usage:**")
345
- print(f"- `{help_cmd} <category>` - Category guide with workflow")
346
- print(f"- `{help_cmd} <command>` - Command details")
347
- print(f"- `{help_cmd} <task description>` - Recommendations")
348
-
349
-
350
- def show_category_guide(data: dict, category: str, prefix: str) -> None:
351
- """Display category guide with workflow and tips."""
352
- emit_output_type("category-guide")
353
-
354
- categories = data["categories"]
355
- commands = data["commands"]
356
-
357
- # Find matching category (case-insensitive)
358
- cat_key = None
359
- for key in categories:
360
- if key.lower() == category.lower():
361
- cat_key = key
362
- break
363
-
364
- if not cat_key:
365
- print(f"Category '{category}' not found.")
366
- print()
367
- print("Available: " + ", ".join(f"`{c}`" for c in sorted(categories.keys())))
368
- return
369
-
370
- cmds = commands.get(cat_key, [])
371
- guide = CATEGORY_GUIDES.get(cat_key, {})
372
-
373
- print(f"# {guide.get('title', cat_key.title())}")
374
- print()
375
-
376
- # Workflow first (most important)
377
- if "workflow" in guide:
378
- print("**Workflow:**")
379
- for step, cmd in guide["workflow"]:
380
- print(f"- {step}: {cmd}")
381
- print()
382
-
383
- # Commands list
384
- print("**Commands:**")
385
- for cmd in cmds:
386
- print(f"- `{cmd['name']}` - {cmd['description']}")
387
-
388
- # Tip at the end
389
- if "tip" in guide:
390
- print()
391
- print(f"*Tip: {guide['tip']}*")
392
-
393
-
394
- def show_command(data: dict, command: str, prefix: str) -> None:
395
- """Display command details."""
396
- emit_output_type("command-details")
397
-
398
- commands = data["commands"]
399
-
400
- def canonicalize_command_name(value: str) -> str:
401
- """Canonicalize input to the repo's command format: /a/b/c.
402
-
403
- Also accepts legacy formats like `plan:fast` or `/ck:plan:fast`.
404
- """
405
- s = (value or "").strip().lower()
406
- if not s:
407
- return s
408
- if not s.startswith("/"):
409
- s = "/" + s
410
- s = s.replace("/ck:", "/")
411
- s = s.replace(":", "/")
412
- s = re.sub(r"/{2,}", "/", s)
413
- return s
414
-
415
- # Normalize search term
416
- search = canonicalize_command_name(command)
417
-
418
- found = None
419
- for cmds in commands.values():
420
- for cmd in cmds:
421
- if canonicalize_command_name(cmd["name"]) == search:
422
- found = cmd
423
- break
424
- if found:
425
- break
426
-
427
- if not found:
428
- print(f"Command '{command}' not found.")
429
- print()
430
- do_search(data, command.replace(":", " ").replace("/", " "), prefix)
431
- return
432
-
433
- print(f"# `{found['name']}`")
434
- print()
435
- print(found['description'])
436
- print()
437
- print(f"**Category:** {found['category']}")
438
- print()
439
- print(f"**Usage:** `{found['name']} <your-input>`")
440
-
441
- # Show related commands (same category)
442
- cat = found['category']
443
- if cat in commands:
444
- related = [c for c in commands[cat] if c['name'] != found['name']][:3]
445
- if related:
446
- related_names = ", ".join(f"`{r['name']}`" for r in related)
447
- print()
448
- print(f"**Related:** {related_names}")
449
-
450
-
451
- def do_search(data: dict, term: str, prefix: str) -> None:
452
- """Search commands by keyword."""
453
- emit_output_type("search-results")
454
-
455
- commands = data["commands"]
456
- term_lower = term.lower()
457
- matches = []
458
-
459
- for cmds in commands.values():
460
- for cmd in cmds:
461
- if term_lower in cmd["name"].lower() or term_lower in cmd["description"].lower():
462
- matches.append(cmd)
463
-
464
- if not matches:
465
- print(f"No commands found for '{term}'.")
466
- print()
467
- print("Try browsing categories: " + ", ".join(f"`{c}`" for c in sorted(data["categories"].keys())))
468
- return
469
-
470
- print(f"# Search: {term}")
471
- print()
472
- print(f"Found {len(matches)} matches:")
473
- for cmd in matches[:8]:
474
- print(f"- `{cmd['name']}` - {cmd['description']}")
475
-
476
-
477
- def recommend_task(data: dict, task: str, prefix: str) -> None:
478
- """Recommend commands for a task description."""
479
- emit_output_type("task-recommendations")
480
-
481
- commands = data["commands"]
482
- task_lower = task.lower()
483
-
484
- # Score categories by keyword matches
485
- scores = {}
486
- for cat, keywords in TASK_MAPPINGS.items():
487
- score = sum(1 for kw in keywords if kw in task_lower)
488
- if score > 0:
489
- scores[cat] = score
490
-
491
- if not scores:
492
- print(f"Not sure about: {task}")
493
- print()
494
- print("Try being more specific, or browse categories: " + ", ".join(f"`{c}`" for c in sorted(data["categories"].keys())))
495
- return
496
-
497
- sorted_cats = sorted(scores.items(), key=lambda x: -x[1])
498
- top_cat = sorted_cats[0][0]
499
- guide = CATEGORY_GUIDES.get(top_cat, {})
500
-
501
- print(f"# Recommended for: {task}")
502
- print()
503
-
504
- # Show workflow first (most actionable)
505
- if "workflow" in guide:
506
- print("**Workflow:**")
507
- for step, cmd in guide["workflow"][:3]:
508
- print(f"- {step}: {cmd}")
509
- print()
510
-
511
- # Show relevant commands
512
- print("**Commands:**")
513
- shown = 0
514
- for cat, _ in sorted_cats[:2]:
515
- if cat in commands:
516
- for cmd in commands[cat][:2]:
517
- print(f"- `{cmd['name']}` - {cmd['description']}")
518
- shown += 1
519
- if shown >= 4:
520
- break
521
- if shown >= 4:
522
- break
523
-
524
- if "tip" in guide:
525
- print()
526
- print(f"*Tip: {guide['tip']}*")
527
-
528
-
529
- def show_config_guide() -> None:
530
- """Display comprehensive .ck.json configuration guide."""
531
- emit_output_type("comprehensive-docs")
532
-
533
- print("# ClaudeKit Configuration (.ck.json)")
534
- print()
535
- print("**Locations (cascading resolution):**")
536
- print("- Global: `~/.claude/.ck.json` (user preferences)")
537
- print("- Local: `./.claude/.ck.json` (project overrides)")
538
- print()
539
- print("**Resolution Order:** `DEFAULT → global → local`")
540
- print("- Global config sets user defaults")
541
- print("- Local config overrides for specific projects")
542
- print("- Deep merge: nested objects merge recursively")
543
- print()
544
- print("**Purpose:** Customize plan naming, paths, locale, and hook behavior.")
545
- print()
546
- print("---")
547
- print()
548
- print("## Quick Start")
549
- print()
550
- print("**Global config** (`~/.claude/.ck.json`) - your preferences:")
551
- print("```json")
552
- print('{')
553
- print(' "locale": {')
554
- print(' "thinkingLanguage": "en",')
555
- print(' "responseLanguage": "vi"')
556
- print(' },')
557
- print(' "plan": { "issuePrefix": "GH-" }')
558
- print('}')
559
- print("```")
560
- print()
561
- print("**Local override** (`./.claude/.ck.json`) - project-specific:")
562
- print("```json")
563
- print('{')
564
- print(' "plan": { "issuePrefix": "JIRA-" },')
565
- print(' "paths": { "docs": "documentation" }')
566
- print('}')
567
- print("```")
568
- print()
569
- print("---")
570
- print()
571
- print("## Full Schema")
572
- print()
573
- print("```json")
574
- print('{')
575
- print(' "plan": {')
576
- print(' "namingFormat": "{date}-{issue}-{slug}", // Plan folder naming')
577
- print(' "dateFormat": "YYMMDD-HHmm", // Date format in names')
578
- print(' "issuePrefix": "GH-", // Issue ID prefix (null = #)')
579
- print(' "reportsDir": "reports", // Reports subfolder')
580
- print(' "resolution": {')
581
- print(' "order": ["session", "branch"], // Resolution chain')
582
- print(' "branchPattern": "(?:feat|fix|...)/.+" // Branch slug regex')
583
- print(' },')
584
- print(' "validation": {')
585
- print(' "mode": "prompt", // "auto" | "prompt" | "off"')
586
- print(' "minQuestions": 3, // Min questions to ask')
587
- print(' "maxQuestions": 8, // Max questions to ask')
588
- print(' "focusAreas": ["assumptions", "risks", "tradeoffs", "architecture"]')
589
- print(' }')
590
- print(' },')
591
- print(' "paths": {')
592
- print(' "docs": "docs", // Documentation directory')
593
- print(' "plans": "plans" // Plans directory')
594
- print(' },')
595
- print(' "locale": {')
596
- print(' "thinkingLanguage": null, // Language for reasoning ("en" recommended)')
597
- print(' "responseLanguage": null // Language for output ("vi", "fr", etc.)')
598
- print(' },')
599
- print(' "trust": {')
600
- print(' "passphrase": null, // Secret for testing context injection')
601
- print(' "enabled": false // Enable trust verification')
602
- print(' },')
603
- print(' "project": {')
604
- print(' "type": "auto", // "monorepo", "single-repo", "auto"')
605
- print(' "packageManager": "auto", // "npm", "pnpm", "yarn", "auto"')
606
- print(' "framework": "auto" // "next", "react", "vue", "auto"')
607
- print(' },')
608
- print(' "codingLevel": -1 // Adaptive communication (-1 to 5)')
609
- print('}')
610
- print("```")
611
- print()
612
- print("---")
613
- print()
614
- print("## Key Concepts")
615
- print()
616
- print("**Plan Resolution Chain:**")
617
- print("1. `session` - Check session temp file for active plan")
618
- print("2. `branch` - Match git branch slug to plan folder")
619
- print()
620
- print("**Naming Format Variables:**")
621
- print("- `{date}` - Formatted date (per dateFormat)")
622
- print("- `{issue}` - Issue ID with prefix")
623
- print("- `{slug}` - Descriptive slug from branch or input")
624
- print()
625
- print("**Language Settings:**")
626
- print("- `thinkingLanguage` - Language for internal reasoning (\"en\" recommended)")
627
- print("- `responseLanguage` - Language for user-facing output (\"vi\", \"fr\", etc.)")
628
- print()
629
- print("When both are set, Claude thinks in one language but responds in another.")
630
- print("This improves precision (English) while maintaining natural output (your language).")
631
- print()
632
- print("**Plan Validation:**")
633
- print("- `mode: \"prompt\"` - Ask user after plan creation (default)")
634
- print("- `mode: \"auto\"` - Always run validation interview")
635
- print("- `mode: \"off\"` - Skip; user runs `/plan/validate` manually")
636
- print()
637
- print("Validation interviews the user with critical questions to confirm")
638
- print("assumptions, risks, and architectural decisions before implementation.")
639
- print()
640
- print("**Coding Level (Adaptive Communication):**")
641
- print("- `-1` = Disabled (default) - no injection, saves tokens")
642
- print("- `0` = ELI5 - analogies, baby steps, check-ins")
643
- print("- `1` = Junior - WHY before HOW, pitfalls, takeaways")
644
- print("- `2` = Mid-Level - patterns, trade-offs, scalability")
645
- print("- `3` = Senior - trade-offs table, production code, ops")
646
- print("- `4` = Tech Lead - executive summary, risk matrix, business impact")
647
- print("- `5` = God Mode - code first, minimal prose, no hand-holding")
648
- print()
649
- print("Guidelines auto-inject on session start. Commands like `/brainstorm` respect them.")
650
- print()
651
- print("---")
652
- print()
653
- print("## Edge Cases & Validation")
654
- print()
655
- print("**Path Handling:**")
656
- print("- Trailing slashes normalized (`plans/` → `plans`)")
657
- print("- Empty/whitespace-only paths fall back to defaults")
658
- print("- Absolute paths supported (e.g., `/home/user/all-plans`)")
659
- print("- Path traversal (`../`) blocked for relative paths")
660
- print("- Null bytes and control chars rejected")
661
- print()
662
- print("**Slug Sanitization:**")
663
- print("- Invalid filename chars removed: `< > : \" / \\ | ? *`")
664
- print("- Non-alphanumeric replaced with hyphen")
665
- print("- Multiple hyphens collapsed: `foo---bar` → `foo-bar`")
666
- print("- Leading/trailing hyphens removed")
667
- print("- Max 100 chars to prevent filesystem issues")
668
- print()
669
- print("**Naming Pattern Validation:**")
670
- print("- Pattern must contain `{slug}` placeholder")
671
- print("- Result must be non-empty after variable substitution")
672
- print("- Unresolved placeholders (except `{slug}`) trigger error")
673
- print("- Malformed JSON config falls back to defaults")
674
- print()
675
- print("**Consolidated Plans (advanced):**")
676
- print("```json")
677
- print('{')
678
- print(' "paths": {')
679
- print(' "plans": "/home/user/all-my-plans"')
680
- print(' }')
681
- print('}')
682
- print("```")
683
- print("Absolute paths allow storing all plans in one location across projects.")
684
- print()
685
- print("---")
686
- print()
687
- print("## Examples")
688
- print()
689
- print("**Global install user (fresh directories work):**")
690
- print("```bash")
691
- print("# ~/.claude/.ck.json - applies everywhere")
692
- print("cd /tmp/new-project && claude # Uses global config")
693
- print("```")
694
- print()
695
- print("**Project with local override:**")
696
- print("```bash")
697
- print("# Global: issuePrefix = \"GH-\"")
698
- print("# Local (.claude/.ck.json): issuePrefix = \"JIRA-\"")
699
- print("# Result: issuePrefix = \"JIRA-\" (local wins)")
700
- print("```")
701
- print()
702
- print("**Deep merge behavior:**")
703
- print("```")
704
- print("Global: { plan: { issuePrefix: \"GH-\", dateFormat: \"YYMMDD\" } }")
705
- print("Local: { plan: { issuePrefix: \"JIRA-\" } }")
706
- print("Result: { plan: { issuePrefix: \"JIRA-\", dateFormat: \"YYMMDD\" } }")
707
- print("```")
708
- print()
709
- print("*Tip: Config is optional - all fields have sensible defaults.*")
710
-
711
-
712
- def show_coding_level_guide() -> None:
713
- """Display comprehensive codingLevel configuration guide."""
714
- emit_output_type("comprehensive-docs")
715
-
716
- print("# Coding Level (Adaptive Communication)")
717
- print()
718
- print("Adjusts Claude's communication style based on user's experience level.")
719
- print("Guidelines auto-inject on SessionStart. Commands respect them.")
720
- print()
721
- print("---")
722
- print()
723
- print("## Levels")
724
- print()
725
- print("| Level | Name | Description |")
726
- print("|-------|------|-------------|")
727
- print("| **-1** | **Disabled** | Default - no injection, saves tokens |")
728
- print("| 0 | ELI5 | Zero experience - analogies, baby steps, check-ins |")
729
- print("| 1 | Junior | 0-2 years - WHY before HOW, pitfalls, takeaways |")
730
- print("| 2 | Mid-Level | 3-5 years - patterns, trade-offs, scalability |")
731
- print("| 3 | Senior | 5-8 years - trade-offs table, production code, ops |")
732
- print("| 4 | Tech Lead | 8-15 years - executive summary, risk matrix, strategy |")
733
- print("| 5 | God Mode | 15+ years - code first, minimal prose, no fluff |")
734
- print()
735
- print("---")
736
- print()
737
- print("## Configuration")
738
- print()
739
- print("**Set in `.ck.json`:**")
740
- print("```json")
741
- print('{')
742
- print(' "codingLevel": 0')
743
- print('}')
744
- print("```")
745
- print()
746
- print("**Location (cascading):**")
747
- print("- Global: `~/.claude/.ck.json` - personal preference")
748
- print("- Local: `./.claude/.ck.json` - project override")
749
- print()
750
- print("---")
751
- print()
752
- print("## How It Works")
753
- print()
754
- print("1. SessionStart hook reads `codingLevel` from `.ck.json`")
755
- print("2. If 0-5, injects guidelines from `.claude/output-styles/coding-level-*.md`")
756
- print("3. Commands like `/brainstorm` follow the injected guidelines")
757
- print()
758
- print("**Token Efficiency:**")
759
- print("- `-1` (default): Zero injection, zero overhead")
760
- print("- `0-5`: Only selected level's guidelines injected (not all)")
761
- print()
762
- print("---")
763
- print()
764
- print("## Level Details")
765
- print()
766
- print("### Level 0 (ELI5)")
767
- print("- **MUST** use real-world analogies (labeled boxes, recipes)")
768
- print("- **MUST** define every technical term")
769
- print("- **MUST** use \"we\" language")
770
- print("- **MUST** end with check-in: \"Does this make sense?\"")
771
- print("- **MUST** comment every line of code")
772
- print("- Structure: Big Picture → Analogy → Baby Steps → Try It → Check-In")
773
- print()
774
- print("### Level 1 (Junior)")
775
- print("- Explain WHY before HOW")
776
- print("- Define technical terms on first use")
777
- print("- Include common pitfalls section")
778
- print("- Add Key Takeaways and Learn More links")
779
- print("- Structure: Context → Approach → Implementation → Pitfalls → Takeaways")
780
- print()
781
- print("### Level 2 (Mid-Level)")
782
- print("- Discuss design patterns and when to use them")
783
- print("- Highlight trade-offs explicitly")
784
- print("- Consider scalability implications")
785
- print("- Reference patterns by name")
786
- print("- Structure: Approach → Design → Implementation → Edge Cases")
787
- print()
788
- print("### Level 3 (Senior)")
789
- print("- Lead with trade-offs table")
790
- print("- Show production-ready code")
791
- print("- Discuss operational concerns (monitoring, logging)")
792
- print("- Flag security implications")
793
- print("- **NEVER** explain basic concepts")
794
- print("- Structure: Trade-offs → Implementation → Ops → Security")
795
- print()
796
- print("### Level 4 (Tech Lead)")
797
- print("- Executive summary first (3-4 sentences)")
798
- print("- Risk assessment matrix (Likelihood × Impact)")
799
- print("- Strategic options comparison")
800
- print("- Business impact analysis")
801
- print("- Identify decisions needing stakeholder alignment")
802
- print("- Structure: Summary → Risks → Options → Approach → Business Impact")
803
- print()
804
- print("### Level 5 (God Mode)")
805
- print("- Answer exactly what was asked, nothing more")
806
- print("- Code first, minimal prose")
807
- print("- No explanations unless asked")
808
- print("- **NEVER** use filler phrases")
809
- print("- Trust their judgment completely")
810
- print()
811
- print("---")
812
- print()
813
- print("## Customization")
814
- print()
815
- print("Guidelines live in `.claude/output-styles/coding-level-*.md`")
816
- print("Edit these files directly to customize behavior per level.")
817
- print()
818
- print("*Tip: Use `-1` (disabled) unless you're teaching or want guided explanations.*")
819
-
820
-
821
- def main():
822
- # Find .claude/commands directory
823
- script_path = Path(__file__).resolve()
824
- claude_dir = script_path.parent.parent # .claude/scripts -> .claude
825
- commands_dir = claude_dir / "commands"
826
-
827
- if not commands_dir.exists():
828
- print("Error: .claude/commands/ directory not found.")
829
- sys.exit(1)
830
-
831
- # Detect prefix and discover commands
832
- prefix = detect_prefix(commands_dir)
833
- data = discover_commands(commands_dir, prefix)
834
-
835
- if not data["commands"]:
836
- print("No commands found in .claude/commands/")
837
- sys.exit(1)
838
-
839
- # Parse input
840
- args = sys.argv[1:]
841
- input_str = " ".join(args).strip()
842
-
843
- # Special case: config documentation (not a command category)
844
- if input_str.lower() in ["config", "configuration", ".ck.json", "ck.json"]:
845
- show_config_guide()
846
- return
847
-
848
- # Special case: coding level documentation
849
- if input_str.lower() in ["coding-level", "codinglevel", "coding level", "level", "eli5", "god mode"]:
850
- show_coding_level_guide()
851
- return
852
-
853
- # Detect intent and route
854
- intent = detect_intent(input_str, list(data["categories"].keys()))
855
-
856
- if intent == "overview":
857
- show_overview(data, prefix)
858
- elif intent == "category":
859
- show_category_guide(data, input_str, prefix)
860
- elif intent == "command":
861
- show_command(data, input_str, prefix)
862
- elif intent == "task":
863
- recommend_task(data, input_str, prefix)
864
- else:
865
- do_search(data, input_str, prefix)
27
+ # Preserve argv; run canonical script as __main__.
28
+ runpy.run_path(str(target), run_name="__main__")
29
+ return 0
866
30
 
867
31
 
868
32
  if __name__ == "__main__":
869
- main()
33
+ raise SystemExit(main())