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,110 +0,0 @@
1
- #!/usr/bin/env node
2
- 'use strict';
3
-
4
- /**
5
- * ClaudeKit Paths - Centralized path constants for all temporary/runtime files
6
- *
7
- * All ClaudeKit temp files consolidated under /tmp/ck/ namespace for:
8
- * - Cleaner /tmp directory (single namespace)
9
- * - Easier cleanup (rm -rf /tmp/ck/)
10
- * - Debugging (all state in one place)
11
- * - No collisions with other tools
12
- *
13
- * Fixes:
14
- * - #177: Race condition from shared global state file
15
- * - #178: Scattered temp files consolidation
16
- *
17
- * @module ck-paths
18
- */
19
-
20
- const path = require('path');
21
- const os = require('os');
22
- const fs = require('fs');
23
-
24
- // Root directory for all ClaudeKit temp files
25
- const CK_TMP_DIR = path.join(os.tmpdir(), 'ck');
26
-
27
- // Session-specific marker files (per-session, no race conditions)
28
- const MARKERS_DIR = path.join(CK_TMP_DIR, 'markers');
29
-
30
- // Global calibration data (shared by design - records compact thresholds)
31
- const CALIBRATION_PATH = path.join(CK_TMP_DIR, 'calibration.json');
32
-
33
- // Debug logs directory
34
- const DEBUG_DIR = path.join(CK_TMP_DIR, 'debug');
35
-
36
- /**
37
- * Ensure directory exists
38
- * @param {string} dirPath - Directory path to create
39
- */
40
- function ensureDir(dirPath) {
41
- try {
42
- if (!fs.existsSync(dirPath)) {
43
- fs.mkdirSync(dirPath, { recursive: true });
44
- }
45
- } catch (err) {
46
- // Silent fail - non-critical, but log for debugging
47
- if (process.env.CK_DEBUG) {
48
- console.error(`[CK] Failed to create ${dirPath}: ${err.message}`);
49
- }
50
- }
51
- }
52
-
53
- /**
54
- * Get marker file path for a session
55
- * @param {string} sessionId - Session ID
56
- * @returns {string} Full path to marker file
57
- */
58
- function getMarkerPath(sessionId) {
59
- return path.join(MARKERS_DIR, `${sessionId}.json`);
60
- }
61
-
62
- /**
63
- * Get debug log path for a session
64
- * @param {string} sessionId - Session ID
65
- * @returns {string} Full path to debug log
66
- */
67
- function getDebugLogPath(sessionId) {
68
- return path.join(DEBUG_DIR, `${sessionId}.log`);
69
- }
70
-
71
- /**
72
- * Initialize ClaudeKit temp directories
73
- * Call this at startup to ensure directories exist
74
- */
75
- function initDirs() {
76
- ensureDir(CK_TMP_DIR);
77
- ensureDir(MARKERS_DIR);
78
- ensureDir(DEBUG_DIR);
79
- }
80
-
81
- /**
82
- * Clean up all ClaudeKit temp files
83
- * Useful for testing or manual cleanup
84
- */
85
- function cleanAll() {
86
- try {
87
- if (fs.existsSync(CK_TMP_DIR)) {
88
- fs.rmSync(CK_TMP_DIR, { recursive: true, force: true });
89
- }
90
- } catch (err) {
91
- // Silent fail
92
- }
93
- }
94
-
95
- module.exports = {
96
- // Directories
97
- CK_TMP_DIR,
98
- MARKERS_DIR,
99
- DEBUG_DIR,
100
-
101
- // Files
102
- CALIBRATION_PATH,
103
-
104
- // Helpers
105
- ensureDir,
106
- getMarkerPath,
107
- getDebugLogPath,
108
- initDirs,
109
- cleanAll
110
- };
@@ -1,335 +0,0 @@
1
- #!/usr/bin/env node
2
- 'use strict';
3
-
4
- /**
5
- * Context Window Tracker - Self-healing context reset detection
6
- *
7
- * Fixes #177: Race condition from shared global state file
8
- * Fixes #178: Consolidates temp files to /tmp/ck/ namespace
9
- *
10
- * Architecture:
11
- * - NO global state file (was causing race conditions in concurrent sessions)
12
- * - All state embedded in session-specific marker files
13
- * - Each session is completely isolated (no shared state)
14
- *
15
- * Detection layers:
16
- * - Layer 1: Hook markers (explicit reset signal from PreCompact/SessionStart)
17
- * - Layer 2: Token drop detection (50% threshold fallback for hook failures)
18
- *
19
- * Removed:
20
- * - Old Layer 1 (session ID change detection) - was the BUG source
21
- * - Global STATE_FILE - caused race conditions in concurrent sessions
22
- *
23
- * Marker schema:
24
- * {
25
- * sessionId: string,
26
- * trigger: string, // 'session_start_clear', 'manual', 'auto', 'new_session', 'token_drop'
27
- * baselineRecorded: boolean,
28
- * baseline: number, // Token count at baseline
29
- * lastTokenTotal: number, // For token drop detection (replaces global state)
30
- * timestamp: number
31
- * }
32
- *
33
- * @module context-tracker
34
- */
35
-
36
- const fs = require('fs');
37
- const {
38
- MARKERS_DIR,
39
- CALIBRATION_PATH,
40
- ensureDir,
41
- getMarkerPath
42
- } = require('./ck-paths.cjs');
43
-
44
- // Token drop threshold for Layer 2 detection (50%)
45
- // Rationale: /compact typically reduces tokens by 60-80%, so 50% catches
46
- // context resets while avoiding false positives from normal token accumulation.
47
- // Exclusive: drops below (<) 50% trigger reset
48
- const TOKEN_DROP_THRESHOLD = 0.5;
49
-
50
- /**
51
- * Get smart default compact threshold based on context window size
52
- * Research-based defaults:
53
- * - 200k window: ~77.5% (155k) - confirmed from GitHub issues
54
- * - 1M window: ~33% (330k) - derived from user observations
55
- *
56
- * @param {number} contextWindowSize - Model's context window size
57
- * @returns {number} Estimated compact threshold in tokens
58
- */
59
- function getDefaultCompactThreshold(contextWindowSize) {
60
- const KNOWN_THRESHOLDS = {
61
- 200000: 155000, // 77.5% - confirmed via /context showing 45k buffer
62
- 1000000: 330000, // 33% - 1M beta window
63
- };
64
-
65
- if (KNOWN_THRESHOLDS[contextWindowSize]) {
66
- return KNOWN_THRESHOLDS[contextWindowSize];
67
- }
68
-
69
- // Tiered defaults based on window size
70
- if (contextWindowSize >= 1000000) {
71
- return Math.floor(contextWindowSize * 0.33);
72
- }
73
- return Math.floor(contextWindowSize * 0.775);
74
- }
75
-
76
- /**
77
- * Read calibration data from file (recorded by PreCompact hook)
78
- * @returns {Object} Calibration data keyed by context window size
79
- */
80
- function readCalibration() {
81
- try {
82
- if (fs.existsSync(CALIBRATION_PATH)) {
83
- return JSON.parse(fs.readFileSync(CALIBRATION_PATH, 'utf8'));
84
- }
85
- } catch (err) {
86
- // Silent fail - use defaults
87
- }
88
- return {};
89
- }
90
-
91
- /**
92
- * Get compact threshold, preferring calibrated value over default
93
- * @param {number} contextWindowSize - Model's context window size
94
- * @returns {number} Compact threshold in tokens
95
- */
96
- function getCompactThreshold(contextWindowSize) {
97
- const calibration = readCalibration();
98
- const key = String(contextWindowSize);
99
-
100
- if (calibration[key] && calibration[key].threshold > 0) {
101
- return calibration[key].threshold;
102
- }
103
- return getDefaultCompactThreshold(contextWindowSize);
104
- }
105
-
106
- /**
107
- * Read marker file for a session
108
- * Defensive: handles missing/empty/corrupt files gracefully
109
- * @param {string} sessionId - Session ID
110
- * @returns {Object|null} Marker data or null
111
- */
112
- function readMarker(sessionId) {
113
- try {
114
- const markerPath = getMarkerPath(sessionId);
115
- if (!fs.existsSync(markerPath)) return null;
116
- const data = fs.readFileSync(markerPath, 'utf8');
117
- if (!data.trim()) return null; // Catch empty/corrupt files
118
- const marker = JSON.parse(data);
119
- // Basic schema validation
120
- if (!marker || typeof marker.sessionId !== 'string') {
121
- return null;
122
- }
123
- return marker;
124
- } catch (err) {
125
- // Silent fail - corrupt JSON or read error
126
- }
127
- return null;
128
- }
129
-
130
- /**
131
- * Write marker file for a session
132
- * @param {string} sessionId - Session ID
133
- * @param {Object} marker - Marker data
134
- */
135
- function writeMarker(sessionId, marker) {
136
- try {
137
- ensureDir(MARKERS_DIR);
138
- const markerPath = getMarkerPath(sessionId);
139
- fs.writeFileSync(markerPath, JSON.stringify(marker));
140
- } catch (err) {
141
- // Silent fail
142
- }
143
- }
144
-
145
- /**
146
- * Delete marker file for a session
147
- * @param {string} sessionId - Session ID
148
- */
149
- function deleteMarker(sessionId) {
150
- try {
151
- const markerPath = getMarkerPath(sessionId);
152
- if (fs.existsSync(markerPath)) {
153
- fs.unlinkSync(markerPath);
154
- }
155
- } catch (err) {
156
- // Silent fail
157
- }
158
- }
159
-
160
- /**
161
- * Layer 2: Detect significant token drop (50%+ reduction)
162
- * Uses session-specific lastTokenTotal from marker (no global state)
163
- * @param {number} currentTotal - Current cumulative token total
164
- * @param {Object|null} marker - Session marker with lastTokenTotal
165
- * @returns {boolean} True if token drop detected
166
- */
167
- function detectTokenDrop(currentTotal, marker) {
168
- if (!marker || !marker.lastTokenTotal || marker.lastTokenTotal <= 0 || currentTotal <= 0) {
169
- return false;
170
- }
171
-
172
- // Token total dropped by more than 50%
173
- const dropRatio = currentTotal / marker.lastTokenTotal;
174
- return dropRatio < TOKEN_DROP_THRESHOLD;
175
- }
176
-
177
- /**
178
- * Layer 1: Check for explicit reset marker from hooks
179
- * @param {Object|null} marker - Session marker
180
- * @returns {{ shouldReset: boolean, trigger: string|null }}
181
- */
182
- function checkResetMarker(marker) {
183
- if (!marker) {
184
- return { shouldReset: false, trigger: null };
185
- }
186
-
187
- // Check if marker indicates a reset (clear/compact)
188
- const resetTriggers = ['clear', 'session_start_clear'];
189
- if (resetTriggers.includes(marker.trigger)) {
190
- return { shouldReset: true, trigger: marker.trigger };
191
- }
192
-
193
- return { shouldReset: false, trigger: marker.trigger };
194
- }
195
-
196
- /**
197
- * Main context tracking function with 2-layer self-healing detection
198
- *
199
- * Layer 1: Hook markers (explicit reset from PreCompact/SessionStart)
200
- * Layer 2: Token drop detection (50% threshold fallback)
201
- *
202
- * NO global state - all state is session-specific in marker files
203
- *
204
- * @param {Object} params - Tracking parameters
205
- * @param {string} params.sessionId - Current session ID
206
- * @param {number} params.contextInput - Input tokens
207
- * @param {number} params.contextOutput - Output tokens
208
- * @param {number} params.contextWindowSize - Model's context window size
209
- * @returns {Object} { percentage, baseline, showCompactIndicator, resetLayer }
210
- */
211
- function trackContext({ sessionId, contextInput, contextOutput, contextWindowSize }) {
212
- const currentTotal = contextInput + contextOutput;
213
- const compactThreshold = getCompactThreshold(contextWindowSize);
214
- const effectiveSessionId = sessionId || 'default';
215
-
216
- // Read session-specific marker (no global state!)
217
- let marker = readMarker(effectiveSessionId);
218
-
219
- // Track which layer triggered reset (for debugging)
220
- let resetLayer = null;
221
- let baseline = 0;
222
- let showCompactIndicator = false;
223
-
224
- // --- Layer 1: Hook marker system ---
225
- // Markers from PreCompact/SessionStart hooks are explicit signals
226
- const { shouldReset, trigger } = checkResetMarker(marker);
227
- if (shouldReset) {
228
- resetLayer = `marker_${trigger}`;
229
- baseline = currentTotal;
230
- // Clear the reset trigger after processing
231
- marker = null; // Force fresh marker creation below
232
- }
233
-
234
- // --- Layer 2: Token drop detection (fallback for hook failures) ---
235
- if (!resetLayer && detectTokenDrop(currentTotal, marker)) {
236
- resetLayer = 'token_drop';
237
- baseline = currentTotal;
238
- marker = null; // Force fresh marker creation below
239
- }
240
-
241
- // --- No reset triggered - use existing marker/baseline ---
242
- if (!resetLayer && marker) {
243
- if (!marker.baselineRecorded) {
244
- // Marker exists but baseline not recorded yet (from PreCompact)
245
- marker.baselineRecorded = true;
246
- marker.baseline = currentTotal;
247
- marker.lastTokenTotal = currentTotal;
248
- writeMarker(effectiveSessionId, marker);
249
- baseline = currentTotal;
250
- // PreCompact triggers: "manual" (from /compact) or "auto" (from auto-compact)
251
- showCompactIndicator = ['compact', 'manual', 'auto'].includes(marker.trigger);
252
- } else {
253
- // Use stored baseline
254
- baseline = marker.baseline || 0;
255
- }
256
- }
257
-
258
- // --- Create fresh marker if needed ---
259
- if (!marker || resetLayer) {
260
- const newMarker = {
261
- sessionId: effectiveSessionId,
262
- trigger: resetLayer || 'new_session',
263
- baselineRecorded: true,
264
- baseline: currentTotal,
265
- lastTokenTotal: currentTotal,
266
- timestamp: Date.now()
267
- };
268
- writeMarker(effectiveSessionId, newMarker);
269
- if (!resetLayer) {
270
- baseline = currentTotal;
271
- }
272
- } else {
273
- // Update lastTokenTotal for next token drop detection
274
- marker.lastTokenTotal = currentTotal;
275
- writeMarker(effectiveSessionId, marker);
276
- }
277
-
278
- // Calculate effective tokens (since baseline)
279
- let effectiveTotal = baseline > 0 ? currentTotal - baseline : currentTotal;
280
- if (effectiveTotal < 0) effectiveTotal = 0;
281
-
282
- // Calculate percentage against compact threshold (not model limit)
283
- const percentage = Math.min(100, Math.floor(effectiveTotal * 100 / compactThreshold));
284
-
285
- return {
286
- percentage,
287
- baseline,
288
- effectiveTotal,
289
- compactThreshold,
290
- showCompactIndicator,
291
- resetLayer
292
- };
293
- }
294
-
295
- /**
296
- * Write reset marker for session (called by SessionStart hook on /clear)
297
- * @param {string} sessionId - Session ID
298
- * @param {string} trigger - Reset trigger ('clear', 'compact', etc.)
299
- */
300
- function writeResetMarker(sessionId, trigger = 'clear') {
301
- const effectiveSessionId = sessionId || 'default';
302
- ensureDir(MARKERS_DIR);
303
- writeMarker(effectiveSessionId, {
304
- sessionId: effectiveSessionId,
305
- trigger: `session_start_${trigger}`,
306
- baselineRecorded: false,
307
- baseline: 0,
308
- lastTokenTotal: 0,
309
- timestamp: Date.now()
310
- });
311
- }
312
-
313
- /**
314
- * Clear all markers (for testing/cleanup)
315
- * Uses new /tmp/ck/ namespace
316
- */
317
- function clearAllState() {
318
- const { cleanAll } = require('./ck-paths.cjs');
319
- cleanAll();
320
- }
321
-
322
- module.exports = {
323
- trackContext,
324
- writeResetMarker,
325
- clearAllState,
326
- getCompactThreshold,
327
- // Export for testing
328
- detectTokenDrop,
329
- checkResetMarker,
330
- readMarker,
331
- writeMarker,
332
- deleteMarker,
333
- TOKEN_DROP_THRESHOLD,
334
- MARKERS_DIR
335
- };
@@ -1,117 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Claude Code Notification Hook (Cross-Platform)
4
- *
5
- * Sends a non-blocking notification when Claude is waiting for user input.
6
- * Supports Windows, macOS, and Linux.
7
- *
8
- * Hook Type: Notification
9
- * Trigger: When Claude is waiting for user input
10
- * Exit code: Always 0 (notifications are fire-and-forget)
11
- */
12
-
13
- const { execSync, exec } = require('child_process');
14
- const os = require('os');
15
-
16
- const TITLE = 'Claude Code';
17
- const MESSAGE = 'Waiting for your input';
18
-
19
- /**
20
- * Send notification on Windows using inline PowerShell
21
- * Uses Windows 10/11 notifications that work without focus
22
- */
23
- function notifyWindows() {
24
- // Try BurntToast first (if installed)
25
- try {
26
- execSync(
27
- `powershell -NoProfile -Command "if (Get-Module -ListAvailable -Name BurntToast) { Import-Module BurntToast; New-BurntToastNotification -Text '${TITLE}', '${MESSAGE}'; exit 0 } else { exit 1 }"`,
28
- { stdio: 'inherit', timeout: 3000 }
29
- );
30
- return;
31
- } catch {
32
- // BurntToast not available
33
- }
34
-
35
- // Try System.Windows.Forms notification
36
- try {
37
- execSync(
38
- `powershell -NoProfile -Command "Add-Type -AssemblyName System.Windows.Forms; Add-Type -AssemblyName System.Drawing; $n = New-Object System.Windows.Forms.NotifyIcon; $n.Icon = [System.Drawing.SystemIcons]::Information; $n.BalloonTipIcon = 'Info'; $n.BalloonTipTitle = '${TITLE}'; $n.BalloonTipText = '${MESSAGE}'; $n.Visible = $true; $n.ShowBalloonTip(30000); Start-Sleep -Seconds 3; $n.Dispose()"`,
39
- { stdio: 'inherit', timeout: 5000 }
40
- );
41
- return;
42
- } catch {
43
- // Notification failed
44
- }
45
-
46
- // Final fallback: Beep
47
- try {
48
- execSync('powershell -NoProfile -Command "[console]::beep(800,300)"', {
49
- stdio: 'ignore',
50
- timeout: 1000
51
- });
52
- } catch {
53
- // All methods failed
54
- }
55
- }
56
-
57
- /**
58
- * Send notification on macOS
59
- */
60
- function notifyMacOS() {
61
- try {
62
- // Use osascript for native macOS notifications
63
- exec(`osascript -e 'display notification "${MESSAGE}" with title "${TITLE}"'`, { timeout: 5000 });
64
- } catch {
65
- // Try terminal-notifier if available
66
- try {
67
- exec(`terminal-notifier -title "${TITLE}" -message "${MESSAGE}" -sound default`, { timeout: 5000 });
68
- } catch {
69
- // Silently ignore
70
- }
71
- }
72
- }
73
-
74
- /**
75
- * Send notification on Linux
76
- */
77
- function notifyLinux() {
78
- try {
79
- // Try notify-send (common on most Linux distros)
80
- exec(`notify-send "${TITLE}" "${MESSAGE}" --urgency=normal`, { timeout: 5000 });
81
- } catch {
82
- // Try zenity as fallback
83
- try {
84
- exec(`zenity --notification --text="${TITLE}: ${MESSAGE}"`, { timeout: 5000 });
85
- } catch {
86
- // Silently ignore
87
- }
88
- }
89
- }
90
-
91
- /**
92
- * Main notification dispatcher
93
- */
94
- function sendNotification() {
95
- const platform = os.platform();
96
-
97
- switch (platform) {
98
- case 'win32':
99
- notifyWindows();
100
- break;
101
- case 'darwin':
102
- notifyMacOS();
103
- break;
104
- case 'linux':
105
- notifyLinux();
106
- break;
107
- default:
108
- // Unknown platform - silently ignore
109
- break;
110
- }
111
- }
112
-
113
- // Execute notification
114
- sendNotification();
115
-
116
- // Always exit successfully
117
- process.exit(0);