@stella-studio/ck 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1202) hide show
  1. package/.agents/skills/find-skills/SKILL.md +133 -0
  2. package/.claude/.ck.json +60 -0
  3. package/.claude/.ckignore +27 -0
  4. package/.claude/.env.example +100 -0
  5. package/.claude/.mcp.json.example +23 -0
  6. package/.claude/agents/brainstormer.md +113 -0
  7. package/.claude/agents/code-reviewer.md +131 -0
  8. package/.claude/agents/code-simplifier.md +42 -0
  9. package/.claude/agents/debugger.md +137 -0
  10. package/.claude/agents/docs-manager.md +208 -0
  11. package/.claude/agents/fullstack-developer.md +95 -0
  12. package/.claude/agents/git-manager.md +9 -0
  13. package/.claude/agents/journal-writer.md +113 -0
  14. package/.claude/agents/mcp-manager.md +97 -0
  15. package/.claude/agents/planner.md +108 -0
  16. package/.claude/agents/project-manager.md +125 -0
  17. package/.claude/agents/researcher.md +38 -0
  18. package/.claude/agents/tester.md +105 -0
  19. package/.claude/agents/ui-ux-designer.md +236 -0
  20. package/.claude/commands/ask.md +56 -0
  21. package/.claude/commands/bootstrap/auto/fast.md +111 -0
  22. package/.claude/commands/bootstrap/auto/parallel.md +66 -0
  23. package/.claude/commands/bootstrap/auto.md +115 -0
  24. package/.claude/commands/bootstrap.md +137 -0
  25. package/.claude/commands/ck-help.md +129 -0
  26. package/.claude/commands/coding-level.md +48 -0
  27. package/.claude/commands/docs/init.md +38 -0
  28. package/.claude/commands/docs/summarize.md +22 -0
  29. package/.claude/commands/docs/update.md +76 -0
  30. package/.claude/commands/journal.md +7 -0
  31. package/.claude/commands/kanban.md +99 -0
  32. package/.claude/commands/plan/archive.md +57 -0
  33. package/.claude/commands/plan/ci.md +33 -0
  34. package/.claude/commands/plan/cro.md +69 -0
  35. package/.claude/commands/plan/fast.md +82 -0
  36. package/.claude/commands/plan/hard.md +108 -0
  37. package/.claude/commands/plan/parallel.md +145 -0
  38. package/.claude/commands/plan/two.md +61 -0
  39. package/.claude/commands/plan/validate.md +188 -0
  40. package/.claude/commands/plan.md +30 -0
  41. package/.claude/commands/preview.md +280 -0
  42. package/.claude/commands/review/codebase/parallel.md +122 -0
  43. package/.claude/commands/review/codebase.md +49 -0
  44. package/.claude/commands/test/ui.md +92 -0
  45. package/.claude/commands/test.md +8 -0
  46. package/.claude/commands/use-mcp.md +38 -0
  47. package/.claude/commands/watzup.md +8 -0
  48. package/.claude/commands/worktree.md +109 -0
  49. package/.claude/commands-archived/code/auto.md +203 -0
  50. package/.claude/commands-archived/code/no-test.md +174 -0
  51. package/.claude/commands-archived/code/parallel.md +100 -0
  52. package/.claude/commands-archived/code.md +205 -0
  53. package/.claude/commands-archived/content/cro.md +43 -0
  54. package/.claude/commands-archived/content/enhance.md +14 -0
  55. package/.claude/commands-archived/content/fast.md +13 -0
  56. package/.claude/commands-archived/content/good.md +16 -0
  57. package/.claude/commands-archived/cook/auto/fast.md +26 -0
  58. package/.claude/commands-archived/cook/auto/parallel.md +49 -0
  59. package/.claude/commands-archived/cook/auto.md +15 -0
  60. package/.claude/commands-archived/cook.md +105 -0
  61. package/.claude/commands-archived/debug.md +13 -0
  62. package/.claude/commands-archived/design/3d.md +83 -0
  63. package/.claude/commands-archived/design/describe.md +23 -0
  64. package/.claude/commands-archived/design/fast.md +31 -0
  65. package/.claude/commands-archived/design/good.md +35 -0
  66. package/.claude/commands-archived/design/screenshot.md +34 -0
  67. package/.claude/commands-archived/design/video.md +34 -0
  68. package/.claude/commands-archived/fix/ci.md +17 -0
  69. package/.claude/commands-archived/fix/fast.md +19 -0
  70. package/.claude/commands-archived/fix/hard.md +39 -0
  71. package/.claude/commands-archived/fix/logs.md +26 -0
  72. package/.claude/commands-archived/fix/parallel.md +54 -0
  73. package/.claude/commands-archived/fix/test.md +20 -0
  74. package/.claude/commands-archived/fix/types.md +9 -0
  75. package/.claude/commands-archived/fix/ui.md +48 -0
  76. package/.claude/commands-archived/fix.md +43 -0
  77. package/.claude/commands-archived/scout/ext.md +39 -0
  78. package/.claude/commands-archived/scout.md +28 -0
  79. package/.claude/commands-archived/skill/add.md +36 -0
  80. package/.claude/commands-archived/skill/create.md +29 -0
  81. package/.claude/commands-archived/skill/fix-logs.md +22 -0
  82. package/.claude/commands-archived/skill/optimize/auto.md +25 -0
  83. package/.claude/commands-archived/skill/optimize.md +34 -0
  84. package/.claude/commands-archived/skill/plan.md +45 -0
  85. package/.claude/commands-archived/skill/update.md +36 -0
  86. package/.claude/hooks/__tests__/ck-config-utils.test.cjs +557 -0
  87. package/.claude/hooks/__tests__/descriptive-name.test.cjs +292 -0
  88. package/.claude/hooks/__tests__/dev-rules-reminder.test.cjs +336 -0
  89. package/.claude/hooks/__tests__/integration/path-resolution.test.cjs +319 -0
  90. package/.claude/hooks/__tests__/privacy-block.test.cjs +273 -0
  91. package/.claude/hooks/__tests__/session-init.test.cjs +308 -0
  92. package/.claude/hooks/__tests__/skill-dedup.test.cjs +527 -0
  93. package/.claude/hooks/__tests__/subagent-init.test.cjs +622 -0
  94. package/.claude/hooks/cook-after-plan-reminder.cjs +58 -0
  95. package/.claude/hooks/descriptive-name.cjs +33 -0
  96. package/.claude/hooks/dev-rules-reminder.cjs +58 -0
  97. package/.claude/hooks/docs/README.md +179 -0
  98. package/.claude/hooks/lib/__tests__/README.md +240 -0
  99. package/.claude/hooks/lib/__tests__/ck-config-utils.test.cjs +781 -0
  100. package/.claude/hooks/lib/__tests__/context-builder.test.cjs +450 -0
  101. package/.claude/hooks/lib/__tests__/statusline-integration.test.cjs +678 -0
  102. package/.claude/hooks/lib/__tests__/statusline.test.cjs +689 -0
  103. package/.claude/hooks/lib/ck-config-utils.cjs +829 -0
  104. package/.claude/hooks/lib/colors.cjs +95 -0
  105. package/.claude/hooks/lib/config-counter.cjs +103 -0
  106. package/.claude/hooks/lib/context-builder.cjs +612 -0
  107. package/.claude/hooks/lib/privacy-checker.cjs +297 -0
  108. package/.claude/hooks/lib/project-detector.cjs +430 -0
  109. package/.claude/hooks/lib/scout-checker.cjs +191 -0
  110. package/.claude/hooks/lib/transcript-parser.cjs +181 -0
  111. package/.claude/hooks/notifications/.env.example +21 -0
  112. package/.claude/hooks/notifications/discord_notify.sh +234 -0
  113. package/.claude/hooks/notifications/docs/discord-hook-setup.md +461 -0
  114. package/.claude/hooks/notifications/docs/slack-hook-setup.md +118 -0
  115. package/.claude/hooks/notifications/docs/telegram-hook-setup.md +813 -0
  116. package/.claude/hooks/notifications/lib/env-loader.cjs +105 -0
  117. package/.claude/hooks/notifications/lib/sender.cjs +128 -0
  118. package/.claude/hooks/notifications/notify.cjs +156 -0
  119. package/.claude/hooks/notifications/providers/discord.cjs +197 -0
  120. package/.claude/hooks/notifications/providers/slack.cjs +111 -0
  121. package/.claude/hooks/notifications/providers/telegram.cjs +109 -0
  122. package/.claude/hooks/notifications/send-discord.sh +75 -0
  123. package/.claude/hooks/notifications/telegram_notify.sh +137 -0
  124. package/.claude/hooks/post-edit-simplify-reminder.cjs +138 -0
  125. package/.claude/hooks/privacy-block.cjs +151 -0
  126. package/.claude/hooks/scout-block/broad-pattern-detector.cjs +260 -0
  127. package/.claude/hooks/scout-block/error-formatter.cjs +156 -0
  128. package/.claude/hooks/scout-block/path-extractor.cjs +265 -0
  129. package/.claude/hooks/scout-block/pattern-matcher.cjs +184 -0
  130. package/.claude/hooks/scout-block/tests/test-broad-pattern-detector.cjs +165 -0
  131. package/.claude/hooks/scout-block/tests/test-build-command-allowlist.cjs +137 -0
  132. package/.claude/hooks/scout-block/tests/test-error-formatter.cjs +109 -0
  133. package/.claude/hooks/scout-block/tests/test-full-flow-edge-cases.cjs +75 -0
  134. package/.claude/hooks/scout-block/tests/test-monorepo-scenarios.cjs +225 -0
  135. package/.claude/hooks/scout-block/tests/test-path-extractor.cjs +138 -0
  136. package/.claude/hooks/scout-block/tests/test-pattern-matcher.cjs +64 -0
  137. package/.claude/hooks/scout-block/vendor/ignore.cjs +627 -0
  138. package/.claude/hooks/scout-block.cjs +123 -0
  139. package/.claude/hooks/session-init.cjs +299 -0
  140. package/.claude/hooks/skill-dedup.cjs +254 -0
  141. package/.claude/hooks/subagent-init.cjs +189 -0
  142. package/.claude/hooks/tests/test-ckignore.cjs +194 -0
  143. package/.claude/hooks/tests/test-modularization-hook.cjs +126 -0
  144. package/.claude/hooks/tests/test-privacy-block.cjs +298 -0
  145. package/.claude/hooks/tests/test-scout-block.cjs +288 -0
  146. package/.claude/hooks/usage-context-awareness.cjs +165 -0
  147. package/.claude/metadata.json +44 -0
  148. package/.claude/output-styles/coding-level-0-eli5.md +103 -0
  149. package/.claude/output-styles/coding-level-1-junior.md +124 -0
  150. package/.claude/output-styles/coding-level-2-mid.md +146 -0
  151. package/.claude/output-styles/coding-level-3-senior.md +148 -0
  152. package/.claude/output-styles/coding-level-4-lead.md +159 -0
  153. package/.claude/output-styles/coding-level-5-god.md +91 -0
  154. package/.claude/rules/development-rules.md +52 -0
  155. package/.claude/rules/documentation-management.md +121 -0
  156. package/.claude/rules/orchestration-protocol.md +36 -0
  157. package/.claude/rules/primary-workflow.md +57 -0
  158. package/.claude/schemas/ck-config.schema.json +381 -0
  159. package/.claude/scripts/README.md +153 -0
  160. package/.claude/scripts/ck-help.py +1088 -0
  161. package/.claude/scripts/commands_data.yaml +363 -0
  162. package/.claude/scripts/fix-shebang-permissions.sh +50 -0
  163. package/.claude/scripts/requirements.txt +1 -0
  164. package/.claude/scripts/resolve_env.py +329 -0
  165. package/.claude/scripts/scan_commands.py +98 -0
  166. package/.claude/scripts/scan_skills.py +186 -0
  167. package/.claude/scripts/set-active-plan.cjs +50 -0
  168. package/.claude/scripts/skills_data.yaml +370 -0
  169. package/.claude/scripts/test-ck-help.py +218 -0
  170. package/.claude/scripts/test_ck_help.py +420 -0
  171. package/.claude/scripts/test_ck_help_integration.py +127 -0
  172. package/.claude/scripts/validate-docs.cjs +342 -0
  173. package/.claude/scripts/win_compat.py +57 -0
  174. package/.claude/scripts/worktree.cjs +825 -0
  175. package/.claude/scripts/worktree.test.cjs +770 -0
  176. package/.claude/settings.json +102 -0
  177. package/.claude/skills/.env.example +101 -0
  178. package/.claude/skills/INSTALLATION.md +360 -0
  179. package/.claude/skills/README.md +149 -0
  180. package/.claude/skills/THIRD_PARTY_NOTICES.md +405 -0
  181. package/.claude/skills/agent-browser/SKILL.md +293 -0
  182. package/.claude/skills/agent-browser/references/.gitkeep +0 -0
  183. package/.claude/skills/agent-browser/references/agent-browser-vs-chrome-devtools.md +112 -0
  184. package/.claude/skills/agent-browser/references/browserbase-cloud-setup.md +161 -0
  185. package/.claude/skills/agent_skills_spec.md +55 -0
  186. package/.claude/skills/ai-artist/SKILL.md +121 -0
  187. package/.claude/skills/ai-artist/data/awesome-prompts.csv +3592 -0
  188. package/.claude/skills/ai-artist/data/lighting.csv +19 -0
  189. package/.claude/skills/ai-artist/data/nano-banana-templates.csv +17 -0
  190. package/.claude/skills/ai-artist/data/platforms.csv +11 -0
  191. package/.claude/skills/ai-artist/data/styles.csv +26 -0
  192. package/.claude/skills/ai-artist/data/techniques.csv +19 -0
  193. package/.claude/skills/ai-artist/data/use-cases.csv +16 -0
  194. package/.claude/skills/ai-artist/references/advanced-techniques.md +184 -0
  195. package/.claude/skills/ai-artist/references/awesome-nano-banana-pro-prompts.md +8575 -0
  196. package/.claude/skills/ai-artist/references/domain-code.md +66 -0
  197. package/.claude/skills/ai-artist/references/domain-data.md +72 -0
  198. package/.claude/skills/ai-artist/references/domain-marketing.md +66 -0
  199. package/.claude/skills/ai-artist/references/domain-patterns.md +33 -0
  200. package/.claude/skills/ai-artist/references/domain-writing.md +68 -0
  201. package/.claude/skills/ai-artist/references/image-prompting.md +141 -0
  202. package/.claude/skills/ai-artist/references/llm-prompting.md +165 -0
  203. package/.claude/skills/ai-artist/references/nano-banana.md +136 -0
  204. package/.claude/skills/ai-artist/references/reasoning-techniques.md +201 -0
  205. package/.claude/skills/ai-artist/references/validation-workflow.md +117 -0
  206. package/.claude/skills/ai-artist/scripts/core.py +197 -0
  207. package/.claude/skills/ai-artist/scripts/extract_prompts.py +102 -0
  208. package/.claude/skills/ai-artist/scripts/generate.py +370 -0
  209. package/.claude/skills/ai-artist/scripts/search.py +147 -0
  210. package/.claude/skills/ai-multimodal/.env.example +204 -0
  211. package/.claude/skills/ai-multimodal/SKILL.md +109 -0
  212. package/.claude/skills/ai-multimodal/references/audio-processing.md +387 -0
  213. package/.claude/skills/ai-multimodal/references/image-generation.md +939 -0
  214. package/.claude/skills/ai-multimodal/references/music-generation.md +311 -0
  215. package/.claude/skills/ai-multimodal/references/video-analysis.md +515 -0
  216. package/.claude/skills/ai-multimodal/references/video-generation.md +457 -0
  217. package/.claude/skills/ai-multimodal/references/vision-understanding.md +492 -0
  218. package/.claude/skills/ai-multimodal/scripts/.coverage +0 -0
  219. package/.claude/skills/ai-multimodal/scripts/check_setup.py +315 -0
  220. package/.claude/skills/ai-multimodal/scripts/document_converter.py +395 -0
  221. package/.claude/skills/ai-multimodal/scripts/gemini_batch_process.py +1185 -0
  222. package/.claude/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
  223. package/.claude/skills/ai-multimodal/scripts/requirements.txt +26 -0
  224. package/.claude/skills/ai-multimodal/scripts/tests/.coverage +0 -0
  225. package/.claude/skills/ai-multimodal/scripts/tests/requirements.txt +20 -0
  226. package/.claude/skills/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
  227. package/.claude/skills/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
  228. package/.claude/skills/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
  229. package/.claude/skills/backend-development/SKILL.md +95 -0
  230. package/.claude/skills/backend-development/references/backend-api-design.md +495 -0
  231. package/.claude/skills/backend-development/references/backend-architecture.md +454 -0
  232. package/.claude/skills/backend-development/references/backend-authentication.md +338 -0
  233. package/.claude/skills/backend-development/references/backend-code-quality.md +659 -0
  234. package/.claude/skills/backend-development/references/backend-debugging.md +904 -0
  235. package/.claude/skills/backend-development/references/backend-devops.md +494 -0
  236. package/.claude/skills/backend-development/references/backend-mindset.md +387 -0
  237. package/.claude/skills/backend-development/references/backend-performance.md +397 -0
  238. package/.claude/skills/backend-development/references/backend-security.md +290 -0
  239. package/.claude/skills/backend-development/references/backend-technologies.md +256 -0
  240. package/.claude/skills/backend-development/references/backend-testing.md +429 -0
  241. package/.claude/skills/better-auth/SKILL.md +204 -0
  242. package/.claude/skills/better-auth/references/advanced-features.md +553 -0
  243. package/.claude/skills/better-auth/references/database-integration.md +577 -0
  244. package/.claude/skills/better-auth/references/email-password-auth.md +416 -0
  245. package/.claude/skills/better-auth/references/oauth-providers.md +430 -0
  246. package/.claude/skills/better-auth/scripts/.coverage +0 -0
  247. package/.claude/skills/better-auth/scripts/better_auth_init.py +521 -0
  248. package/.claude/skills/better-auth/scripts/requirements.txt +15 -0
  249. package/.claude/skills/better-auth/scripts/tests/.coverage +0 -0
  250. package/.claude/skills/better-auth/scripts/tests/test_better_auth_init.py +421 -0
  251. package/.claude/skills/brainstorm/SKILL.md +76 -0
  252. package/.claude/skills/chrome-devtools/SKILL.md +587 -0
  253. package/.claude/skills/chrome-devtools/references/cdp-domains.md +694 -0
  254. package/.claude/skills/chrome-devtools/references/performance-guide.md +940 -0
  255. package/.claude/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
  256. package/.claude/skills/chrome-devtools/scripts/README.md +290 -0
  257. package/.claude/skills/chrome-devtools/scripts/__tests__/error-handling.test.js +102 -0
  258. package/.claude/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
  259. package/.claude/skills/chrome-devtools/scripts/aria-snapshot.js +363 -0
  260. package/.claude/skills/chrome-devtools/scripts/click.js +84 -0
  261. package/.claude/skills/chrome-devtools/scripts/connect-chrome.js +146 -0
  262. package/.claude/skills/chrome-devtools/scripts/console.js +81 -0
  263. package/.claude/skills/chrome-devtools/scripts/evaluate.js +55 -0
  264. package/.claude/skills/chrome-devtools/scripts/fill.js +77 -0
  265. package/.claude/skills/chrome-devtools/scripts/import-cookies.js +205 -0
  266. package/.claude/skills/chrome-devtools/scripts/inject-auth.js +230 -0
  267. package/.claude/skills/chrome-devtools/scripts/install-deps.sh +181 -0
  268. package/.claude/skills/chrome-devtools/scripts/install.sh +83 -0
  269. package/.claude/skills/chrome-devtools/scripts/lib/browser.js +341 -0
  270. package/.claude/skills/chrome-devtools/scripts/lib/selector.js +178 -0
  271. package/.claude/skills/chrome-devtools/scripts/navigate.js +66 -0
  272. package/.claude/skills/chrome-devtools/scripts/network.js +108 -0
  273. package/.claude/skills/chrome-devtools/scripts/package.json +16 -0
  274. package/.claude/skills/chrome-devtools/scripts/performance.js +151 -0
  275. package/.claude/skills/chrome-devtools/scripts/screenshot.js +199 -0
  276. package/.claude/skills/chrome-devtools/scripts/select-ref.js +132 -0
  277. package/.claude/skills/chrome-devtools/scripts/snapshot.js +136 -0
  278. package/.claude/skills/chrome-devtools/scripts/ws-debug.js +44 -0
  279. package/.claude/skills/chrome-devtools/scripts/ws-full-debug.js +107 -0
  280. package/.claude/skills/code-review/SKILL.md +106 -0
  281. package/.claude/skills/code-review/references/code-review-reception.md +113 -0
  282. package/.claude/skills/code-review/references/edge-case-scouting.md +119 -0
  283. package/.claude/skills/code-review/references/requesting-code-review.md +116 -0
  284. package/.claude/skills/code-review/references/verification-before-completion.md +139 -0
  285. package/.claude/skills/common/README.md +120 -0
  286. package/.claude/skills/common/api_key_helper.py +411 -0
  287. package/.claude/skills/common/api_key_rotator.py +248 -0
  288. package/.claude/skills/context-engineering/SKILL.md +107 -0
  289. package/.claude/skills/context-engineering/references/context-compression.md +84 -0
  290. package/.claude/skills/context-engineering/references/context-degradation.md +93 -0
  291. package/.claude/skills/context-engineering/references/context-fundamentals.md +75 -0
  292. package/.claude/skills/context-engineering/references/context-optimization.md +82 -0
  293. package/.claude/skills/context-engineering/references/evaluation.md +89 -0
  294. package/.claude/skills/context-engineering/references/memory-systems.md +88 -0
  295. package/.claude/skills/context-engineering/references/multi-agent-patterns.md +90 -0
  296. package/.claude/skills/context-engineering/references/project-development.md +97 -0
  297. package/.claude/skills/context-engineering/references/runtime-awareness.md +202 -0
  298. package/.claude/skills/context-engineering/references/tool-design.md +86 -0
  299. package/.claude/skills/context-engineering/scripts/compression_evaluator.py +349 -0
  300. package/.claude/skills/context-engineering/scripts/context_analyzer.py +317 -0
  301. package/.claude/skills/context-engineering/scripts/tests/test_edge_cases.py +246 -0
  302. package/.claude/skills/cook/README.md +86 -0
  303. package/.claude/skills/cook/SKILL.md +112 -0
  304. package/.claude/skills/cook/references/intent-detection.md +101 -0
  305. package/.claude/skills/cook/references/review-cycle.md +75 -0
  306. package/.claude/skills/cook/references/subagent-patterns.md +75 -0
  307. package/.claude/skills/cook/references/workflow-steps.md +166 -0
  308. package/.claude/skills/copywriting/SKILL.md +93 -0
  309. package/.claude/skills/copywriting/references/copy-formulas.md +150 -0
  310. package/.claude/skills/copywriting/references/cta-patterns.md +168 -0
  311. package/.claude/skills/copywriting/references/email-copy.md +193 -0
  312. package/.claude/skills/copywriting/references/headline-templates.md +140 -0
  313. package/.claude/skills/copywriting/references/landing-page-copy.md +175 -0
  314. package/.claude/skills/copywriting/references/power-words.md +189 -0
  315. package/.claude/skills/copywriting/references/social-media-copy.md +222 -0
  316. package/.claude/skills/copywriting/references/workflow-cro.md +54 -0
  317. package/.claude/skills/copywriting/references/workflow-enhance.md +32 -0
  318. package/.claude/skills/copywriting/references/workflow-fast.md +29 -0
  319. package/.claude/skills/copywriting/references/workflow-good.md +39 -0
  320. package/.claude/skills/copywriting/references/writing-styles.md +247 -0
  321. package/.claude/skills/copywriting/scripts/extract-writing-styles.py +308 -0
  322. package/.claude/skills/copywriting/templates/copy-brief.md +49 -0
  323. package/.claude/skills/databases/SKILL.md +83 -0
  324. package/.claude/skills/databases/analytics.md +198 -0
  325. package/.claude/skills/databases/db-design.md +188 -0
  326. package/.claude/skills/databases/incremental-etl.md +213 -0
  327. package/.claude/skills/databases/references/mongodb-aggregation.md +447 -0
  328. package/.claude/skills/databases/references/mongodb-atlas.md +465 -0
  329. package/.claude/skills/databases/references/mongodb-crud.md +408 -0
  330. package/.claude/skills/databases/references/mongodb-indexing.md +442 -0
  331. package/.claude/skills/databases/references/postgresql-administration.md +594 -0
  332. package/.claude/skills/databases/references/postgresql-performance.md +527 -0
  333. package/.claude/skills/databases/references/postgresql-psql-cli.md +467 -0
  334. package/.claude/skills/databases/references/postgresql-queries.md +475 -0
  335. package/.claude/skills/databases/scripts/.coverage +0 -0
  336. package/.claude/skills/databases/scripts/db_backup.py +502 -0
  337. package/.claude/skills/databases/scripts/db_migrate.py +426 -0
  338. package/.claude/skills/databases/scripts/db_performance_check.py +457 -0
  339. package/.claude/skills/databases/scripts/requirements.txt +20 -0
  340. package/.claude/skills/databases/scripts/tests/coverage-db.json +1 -0
  341. package/.claude/skills/databases/scripts/tests/requirements.txt +4 -0
  342. package/.claude/skills/databases/scripts/tests/test_db_backup.py +340 -0
  343. package/.claude/skills/databases/scripts/tests/test_db_migrate.py +277 -0
  344. package/.claude/skills/databases/scripts/tests/test_db_performance_check.py +370 -0
  345. package/.claude/skills/databases/stacks/bigquery.md +231 -0
  346. package/.claude/skills/databases/stacks/d1_cloudflare.md +137 -0
  347. package/.claude/skills/databases/stacks/mysql.md +216 -0
  348. package/.claude/skills/databases/stacks/postgres.md +235 -0
  349. package/.claude/skills/databases/stacks/sqlite.md +244 -0
  350. package/.claude/skills/databases/transactional.md +176 -0
  351. package/.claude/skills/debug/SKILL.md +84 -0
  352. package/.claude/skills/debug/references/defense-in-depth.md +124 -0
  353. package/.claude/skills/debug/references/root-cause-tracing.md +122 -0
  354. package/.claude/skills/debug/references/systematic-debugging.md +102 -0
  355. package/.claude/skills/debug/references/verification.md +123 -0
  356. package/.claude/skills/debug/scripts/find-polluter.sh +63 -0
  357. package/.claude/skills/debug/scripts/find-polluter.test.md +102 -0
  358. package/.claude/skills/devops/.env.example +76 -0
  359. package/.claude/skills/devops/SKILL.md +96 -0
  360. package/.claude/skills/devops/references/browser-rendering.md +305 -0
  361. package/.claude/skills/devops/references/cloudflare-d1-kv.md +123 -0
  362. package/.claude/skills/devops/references/cloudflare-platform.md +271 -0
  363. package/.claude/skills/devops/references/cloudflare-r2-storage.md +280 -0
  364. package/.claude/skills/devops/references/cloudflare-workers-advanced.md +312 -0
  365. package/.claude/skills/devops/references/cloudflare-workers-apis.md +309 -0
  366. package/.claude/skills/devops/references/cloudflare-workers-basics.md +418 -0
  367. package/.claude/skills/devops/references/docker-basics.md +297 -0
  368. package/.claude/skills/devops/references/docker-compose.md +292 -0
  369. package/.claude/skills/devops/references/gcloud-platform.md +297 -0
  370. package/.claude/skills/devops/references/gcloud-services.md +304 -0
  371. package/.claude/skills/devops/references/kubernetes-basics.md +99 -0
  372. package/.claude/skills/devops/references/kubernetes-helm-advanced.md +75 -0
  373. package/.claude/skills/devops/references/kubernetes-helm.md +81 -0
  374. package/.claude/skills/devops/references/kubernetes-kubectl.md +74 -0
  375. package/.claude/skills/devops/references/kubernetes-security-advanced.md +98 -0
  376. package/.claude/skills/devops/references/kubernetes-security.md +95 -0
  377. package/.claude/skills/devops/references/kubernetes-troubleshooting-advanced.md +74 -0
  378. package/.claude/skills/devops/references/kubernetes-troubleshooting.md +49 -0
  379. package/.claude/skills/devops/references/kubernetes-workflows-advanced.md +75 -0
  380. package/.claude/skills/devops/references/kubernetes-workflows.md +78 -0
  381. package/.claude/skills/devops/scripts/cloudflare_deploy.py +269 -0
  382. package/.claude/skills/devops/scripts/docker_optimize.py +332 -0
  383. package/.claude/skills/devops/scripts/requirements.txt +20 -0
  384. package/.claude/skills/devops/scripts/tests/requirements.txt +3 -0
  385. package/.claude/skills/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
  386. package/.claude/skills/devops/scripts/tests/test_docker_optimize.py +436 -0
  387. package/.claude/skills/docs-seeker/.env.example +15 -0
  388. package/.claude/skills/docs-seeker/SKILL.md +97 -0
  389. package/.claude/skills/docs-seeker/package.json +25 -0
  390. package/.claude/skills/docs-seeker/references/advanced.md +79 -0
  391. package/.claude/skills/docs-seeker/references/context7-patterns.md +68 -0
  392. package/.claude/skills/docs-seeker/references/errors.md +68 -0
  393. package/.claude/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
  394. package/.claude/skills/docs-seeker/scripts/detect-topic.js +172 -0
  395. package/.claude/skills/docs-seeker/scripts/fetch-docs.js +213 -0
  396. package/.claude/skills/docs-seeker/scripts/tests/run-tests.js +72 -0
  397. package/.claude/skills/docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
  398. package/.claude/skills/docs-seeker/scripts/tests/test-detect-topic.js +112 -0
  399. package/.claude/skills/docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
  400. package/.claude/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
  401. package/.claude/skills/docs-seeker/workflows/library-search.md +87 -0
  402. package/.claude/skills/docs-seeker/workflows/repo-analysis.md +91 -0
  403. package/.claude/skills/docs-seeker/workflows/topic-search.md +77 -0
  404. package/.claude/skills/document-skills/docx/LICENSE.txt +30 -0
  405. package/.claude/skills/document-skills/docx/SKILL.md +197 -0
  406. package/.claude/skills/document-skills/docx/docx-js.md +350 -0
  407. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  408. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  409. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  410. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  411. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  412. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  413. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  414. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  415. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  416. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  417. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  418. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  419. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  420. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  421. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  422. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  423. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  424. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  425. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  426. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  427. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  428. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  429. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  430. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  431. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  432. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  433. package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  434. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  435. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  436. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  437. package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  438. package/.claude/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  439. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  440. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  441. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  442. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  443. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  444. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  445. package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  446. package/.claude/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
  447. package/.claude/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
  448. package/.claude/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
  449. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  450. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
  451. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
  452. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  453. package/.claude/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  454. package/.claude/skills/document-skills/docx/ooxml.md +610 -0
  455. package/.claude/skills/document-skills/docx/scripts/__init__.py +1 -0
  456. package/.claude/skills/document-skills/docx/scripts/document.py +1276 -0
  457. package/.claude/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
  458. package/.claude/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
  459. package/.claude/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  460. package/.claude/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
  461. package/.claude/skills/document-skills/docx/scripts/templates/people.xml +3 -0
  462. package/.claude/skills/document-skills/docx/scripts/utilities.py +374 -0
  463. package/.claude/skills/document-skills/pdf/LICENSE.txt +30 -0
  464. package/.claude/skills/document-skills/pdf/SKILL.md +294 -0
  465. package/.claude/skills/document-skills/pdf/forms.md +205 -0
  466. package/.claude/skills/document-skills/pdf/reference.md +612 -0
  467. package/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
  468. package/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  469. package/.claude/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
  470. package/.claude/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  471. package/.claude/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
  472. package/.claude/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
  473. package/.claude/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
  474. package/.claude/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  475. package/.claude/skills/document-skills/pptx/LICENSE.txt +30 -0
  476. package/.claude/skills/document-skills/pptx/SKILL.md +484 -0
  477. package/.claude/skills/document-skills/pptx/html2pptx.md +625 -0
  478. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  479. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  480. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  481. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  482. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  483. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  484. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  485. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  486. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  487. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  488. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  489. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  490. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  491. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  492. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  493. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  494. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  495. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  496. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  497. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  498. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  499. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  500. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  501. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  502. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  503. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  504. package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  505. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  506. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  507. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  508. package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  509. package/.claude/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  510. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  511. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  512. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  513. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  514. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  515. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  516. package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  517. package/.claude/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
  518. package/.claude/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
  519. package/.claude/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
  520. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  521. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
  522. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  523. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  524. package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  525. package/.claude/skills/document-skills/pptx/ooxml.md +427 -0
  526. package/.claude/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
  527. package/.claude/skills/document-skills/pptx/scripts/inventory.py +1020 -0
  528. package/.claude/skills/document-skills/pptx/scripts/rearrange.py +231 -0
  529. package/.claude/skills/document-skills/pptx/scripts/replace.py +385 -0
  530. package/.claude/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
  531. package/.claude/skills/document-skills/xlsx/LICENSE.txt +30 -0
  532. package/.claude/skills/document-skills/xlsx/SKILL.md +289 -0
  533. package/.claude/skills/document-skills/xlsx/recalc.py +191 -0
  534. package/.claude/skills/find-skills/SKILL.md +133 -0
  535. package/.claude/skills/fix/SKILL.md +104 -0
  536. package/.claude/skills/fix/references/complexity-assessment.md +64 -0
  537. package/.claude/skills/fix/references/mode-selection.md +46 -0
  538. package/.claude/skills/fix/references/parallel-exploration.md +77 -0
  539. package/.claude/skills/fix/references/review-cycle.md +77 -0
  540. package/.claude/skills/fix/references/skill-activation-matrix.md +65 -0
  541. package/.claude/skills/fix/references/workflow-ci.md +28 -0
  542. package/.claude/skills/fix/references/workflow-deep.md +91 -0
  543. package/.claude/skills/fix/references/workflow-logs.md +36 -0
  544. package/.claude/skills/fix/references/workflow-quick.md +59 -0
  545. package/.claude/skills/fix/references/workflow-standard.md +86 -0
  546. package/.claude/skills/fix/references/workflow-test.md +36 -0
  547. package/.claude/skills/fix/references/workflow-types.md +33 -0
  548. package/.claude/skills/fix/references/workflow-ui.md +37 -0
  549. package/.claude/skills/frontend-design/SKILL.md +78 -0
  550. package/.claude/skills/frontend-design/references/ai-multimodal-overview.md +165 -0
  551. package/.claude/skills/frontend-design/references/analysis-best-practices.md +80 -0
  552. package/.claude/skills/frontend-design/references/analysis-prompts.md +141 -0
  553. package/.claude/skills/frontend-design/references/analysis-techniques.md +118 -0
  554. package/.claude/skills/frontend-design/references/animejs.md +396 -0
  555. package/.claude/skills/frontend-design/references/asset-generation.md +337 -0
  556. package/.claude/skills/frontend-design/references/design-extraction-overview.md +71 -0
  557. package/.claude/skills/frontend-design/references/extraction-best-practices.md +141 -0
  558. package/.claude/skills/frontend-design/references/extraction-output-templates.md +162 -0
  559. package/.claude/skills/frontend-design/references/extraction-prompts.md +127 -0
  560. package/.claude/skills/frontend-design/references/technical-accessibility.md +119 -0
  561. package/.claude/skills/frontend-design/references/technical-best-practices.md +97 -0
  562. package/.claude/skills/frontend-design/references/technical-optimization.md +44 -0
  563. package/.claude/skills/frontend-design/references/technical-overview.md +90 -0
  564. package/.claude/skills/frontend-design/references/technical-workflows.md +150 -0
  565. package/.claude/skills/frontend-design/references/visual-analysis-overview.md +95 -0
  566. package/.claude/skills/frontend-design/references/workflow-3d.md +102 -0
  567. package/.claude/skills/frontend-design/references/workflow-describe.md +87 -0
  568. package/.claude/skills/frontend-design/references/workflow-immersive.md +87 -0
  569. package/.claude/skills/frontend-design/references/workflow-quick.md +57 -0
  570. package/.claude/skills/frontend-design/references/workflow-screenshot.md +63 -0
  571. package/.claude/skills/frontend-design/references/workflow-video.md +74 -0
  572. package/.claude/skills/frontend-development/SKILL.md +399 -0
  573. package/.claude/skills/frontend-development/resources/common-patterns.md +331 -0
  574. package/.claude/skills/frontend-development/resources/complete-examples.md +872 -0
  575. package/.claude/skills/frontend-development/resources/component-patterns.md +502 -0
  576. package/.claude/skills/frontend-development/resources/data-fetching.md +767 -0
  577. package/.claude/skills/frontend-development/resources/file-organization.md +502 -0
  578. package/.claude/skills/frontend-development/resources/loading-and-error-states.md +501 -0
  579. package/.claude/skills/frontend-development/resources/performance.md +406 -0
  580. package/.claude/skills/frontend-development/resources/routing-guide.md +364 -0
  581. package/.claude/skills/frontend-development/resources/styling-guide.md +428 -0
  582. package/.claude/skills/frontend-development/resources/typescript-standards.md +418 -0
  583. package/.claude/skills/git/SKILL.md +100 -0
  584. package/.claude/skills/git/references/branch-management.md +88 -0
  585. package/.claude/skills/git/references/commit-standards.md +46 -0
  586. package/.claude/skills/git/references/gh-cli-guide.md +109 -0
  587. package/.claude/skills/git/references/safety-protocols.md +69 -0
  588. package/.claude/skills/git/references/workflow-commit.md +58 -0
  589. package/.claude/skills/git/references/workflow-merge.md +48 -0
  590. package/.claude/skills/git/references/workflow-pr.md +58 -0
  591. package/.claude/skills/git/references/workflow-push.md +52 -0
  592. package/.claude/skills/gkg/SKILL.md +90 -0
  593. package/.claude/skills/gkg/references/cli-commands.md +106 -0
  594. package/.claude/skills/gkg/references/http-api.md +102 -0
  595. package/.claude/skills/gkg/references/language-support.md +57 -0
  596. package/.claude/skills/gkg/references/mcp-tools.md +99 -0
  597. package/.claude/skills/google-adk-python/SKILL.md +132 -0
  598. package/.claude/skills/google-adk-python/references/agent-types-and-architecture.md +128 -0
  599. package/.claude/skills/google-adk-python/references/callbacks-plugins-observability.md +117 -0
  600. package/.claude/skills/google-adk-python/references/deployment-cloud-run-vertex-gke.md +138 -0
  601. package/.claude/skills/google-adk-python/references/evaluation-testing-cli.md +112 -0
  602. package/.claude/skills/google-adk-python/references/multi-agent-and-a2a-protocol.md +145 -0
  603. package/.claude/skills/google-adk-python/references/sessions-state-memory-artifacts.md +131 -0
  604. package/.claude/skills/google-adk-python/references/tools-and-mcp-integration.md +146 -0
  605. package/.claude/skills/install.ps1 +1295 -0
  606. package/.claude/skills/install.sh +1339 -0
  607. package/.claude/skills/markdown-novel-viewer/SKILL.md +313 -0
  608. package/.claude/skills/markdown-novel-viewer/assets/directory-browser.css +215 -0
  609. package/.claude/skills/markdown-novel-viewer/assets/favicon.png +0 -0
  610. package/.claude/skills/markdown-novel-viewer/assets/novel-theme.css +16 -0
  611. package/.claude/skills/markdown-novel-viewer/assets/reader.js +746 -0
  612. package/.claude/skills/markdown-novel-viewer/assets/styles/novel-theme-base.css +54 -0
  613. package/.claude/skills/markdown-novel-viewer/assets/styles/novel-theme-components.css +83 -0
  614. package/.claude/skills/markdown-novel-viewer/assets/styles/novel-theme-content.css +175 -0
  615. package/.claude/skills/markdown-novel-viewer/assets/styles/novel-theme-header.css +217 -0
  616. package/.claude/skills/markdown-novel-viewer/assets/styles/novel-theme-mermaid.css +128 -0
  617. package/.claude/skills/markdown-novel-viewer/assets/styles/novel-theme-overlays.css +202 -0
  618. package/.claude/skills/markdown-novel-viewer/assets/styles/novel-theme-responsive.css +285 -0
  619. package/.claude/skills/markdown-novel-viewer/assets/styles/novel-theme-sidebar.css +359 -0
  620. package/.claude/skills/markdown-novel-viewer/assets/styles/novel-theme-variables.css +56 -0
  621. package/.claude/skills/markdown-novel-viewer/assets/template.html +149 -0
  622. package/.claude/skills/markdown-novel-viewer/package.json +15 -0
  623. package/.claude/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
  624. package/.claude/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +335 -0
  625. package/.claude/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +571 -0
  626. package/.claude/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
  627. package/.claude/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
  628. package/.claude/skills/markdown-novel-viewer/scripts/server.cjs +411 -0
  629. package/.claude/skills/markdown-novel-viewer/scripts/tests/server.test.cjs +283 -0
  630. package/.claude/skills/markdown-novel-viewer/tests/dashboard-assets.test.cjs +340 -0
  631. package/.claude/skills/markdown-novel-viewer/tests/dashboard-renderer.test.cjs +404 -0
  632. package/.claude/skills/markdown-novel-viewer/tests/http-server.test.cjs +271 -0
  633. package/.claude/skills/markdown-novel-viewer/tests/run-tests.cjs +51 -0
  634. package/.claude/skills/markdown-novel-viewer/tests/test-framework.cjs +154 -0
  635. package/.claude/skills/markdown-novel-viewer/tests/verify-xss.cjs +90 -0
  636. package/.claude/skills/mcp-builder/LICENSE.txt +202 -0
  637. package/.claude/skills/mcp-builder/SKILL.md +328 -0
  638. package/.claude/skills/mcp-builder/reference/evaluation.md +602 -0
  639. package/.claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
  640. package/.claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
  641. package/.claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
  642. package/.claude/skills/mcp-builder/scripts/connections.py +151 -0
  643. package/.claude/skills/mcp-builder/scripts/evaluation.py +381 -0
  644. package/.claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  645. package/.claude/skills/mcp-builder/scripts/requirements.txt +2 -0
  646. package/.claude/skills/mcp-management/README.md +219 -0
  647. package/.claude/skills/mcp-management/SKILL.md +209 -0
  648. package/.claude/skills/mcp-management/assets/tools.json +3146 -0
  649. package/.claude/skills/mcp-management/references/configuration.md +114 -0
  650. package/.claude/skills/mcp-management/references/gemini-cli-integration.md +221 -0
  651. package/.claude/skills/mcp-management/references/mcp-protocol.md +116 -0
  652. package/.claude/skills/mcp-management/scripts/.env.example +10 -0
  653. package/.claude/skills/mcp-management/scripts/cli.ts +195 -0
  654. package/.claude/skills/mcp-management/scripts/mcp-client.ts +230 -0
  655. package/.claude/skills/mcp-management/scripts/package.json +20 -0
  656. package/.claude/skills/mcp-management/scripts/tsconfig.json +15 -0
  657. package/.claude/skills/media-processing/SKILL.md +91 -0
  658. package/.claude/skills/media-processing/references/common-workflows.md +132 -0
  659. package/.claude/skills/media-processing/references/ffmpeg-encoding.md +358 -0
  660. package/.claude/skills/media-processing/references/ffmpeg-filters.md +503 -0
  661. package/.claude/skills/media-processing/references/ffmpeg-streaming.md +403 -0
  662. package/.claude/skills/media-processing/references/format-compatibility.md +375 -0
  663. package/.claude/skills/media-processing/references/imagemagick-batch.md +612 -0
  664. package/.claude/skills/media-processing/references/imagemagick-editing.md +623 -0
  665. package/.claude/skills/media-processing/references/rmbg-background-removal.md +66 -0
  666. package/.claude/skills/media-processing/references/troubleshooting.md +109 -0
  667. package/.claude/skills/media-processing/scripts/README.md +111 -0
  668. package/.claude/skills/media-processing/scripts/batch-remove-background.sh +124 -0
  669. package/.claude/skills/media-processing/scripts/batch_resize.py +342 -0
  670. package/.claude/skills/media-processing/scripts/media_convert.py +311 -0
  671. package/.claude/skills/media-processing/scripts/remove-background.sh +96 -0
  672. package/.claude/skills/media-processing/scripts/remove-bg-node.js +158 -0
  673. package/.claude/skills/media-processing/scripts/requirements.txt +24 -0
  674. package/.claude/skills/media-processing/scripts/tests/.coverage +0 -0
  675. package/.claude/skills/media-processing/scripts/tests/requirements.txt +2 -0
  676. package/.claude/skills/media-processing/scripts/tests/test_batch_resize.py +372 -0
  677. package/.claude/skills/media-processing/scripts/tests/test_media_convert.py +259 -0
  678. package/.claude/skills/media-processing/scripts/tests/test_video_optimize.py +397 -0
  679. package/.claude/skills/media-processing/scripts/video_optimize.py +414 -0
  680. package/.claude/skills/mermaidjs-v11/SKILL.md +115 -0
  681. package/.claude/skills/mermaidjs-v11/references/cli-usage.md +228 -0
  682. package/.claude/skills/mermaidjs-v11/references/configuration.md +232 -0
  683. package/.claude/skills/mermaidjs-v11/references/diagram-types.md +315 -0
  684. package/.claude/skills/mermaidjs-v11/references/examples.md +344 -0
  685. package/.claude/skills/mermaidjs-v11/references/integration.md +310 -0
  686. package/.claude/skills/mintlify/SKILL.md +120 -0
  687. package/.claude/skills/mintlify/references/ai-features-and-integrations-reference.md +756 -0
  688. package/.claude/skills/mintlify/references/api-documentation-components-reference.md +873 -0
  689. package/.claude/skills/mintlify/references/deployment-and-continuous-integration-reference.md +674 -0
  690. package/.claude/skills/mintlify/references/docs-json-configuration-reference.md +724 -0
  691. package/.claude/skills/mintlify/references/mdx-components-reference.md +551 -0
  692. package/.claude/skills/mintlify/references/navigation-structure-and-organization-reference.md +775 -0
  693. package/.claude/skills/mobile-development/SKILL.md +212 -0
  694. package/.claude/skills/mobile-development/references/mobile-android.md +604 -0
  695. package/.claude/skills/mobile-development/references/mobile-best-practices.md +545 -0
  696. package/.claude/skills/mobile-development/references/mobile-debugging.md +1089 -0
  697. package/.claude/skills/mobile-development/references/mobile-frameworks.md +465 -0
  698. package/.claude/skills/mobile-development/references/mobile-ios.md +496 -0
  699. package/.claude/skills/mobile-development/references/mobile-mindset.md +544 -0
  700. package/.claude/skills/payment-integration/README.md +217 -0
  701. package/.claude/skills/payment-integration/SKILL.md +102 -0
  702. package/.claude/skills/payment-integration/references/creem/api.md +139 -0
  703. package/.claude/skills/payment-integration/references/creem/checkouts.md +99 -0
  704. package/.claude/skills/payment-integration/references/creem/licensing.md +136 -0
  705. package/.claude/skills/payment-integration/references/creem/overview.md +65 -0
  706. package/.claude/skills/payment-integration/references/creem/sdk.md +161 -0
  707. package/.claude/skills/payment-integration/references/creem/subscriptions.md +129 -0
  708. package/.claude/skills/payment-integration/references/creem/webhooks.md +120 -0
  709. package/.claude/skills/payment-integration/references/implementation-workflows.md +43 -0
  710. package/.claude/skills/payment-integration/references/multi-provider-order-management-patterns.md +821 -0
  711. package/.claude/skills/payment-integration/references/paddle/api.md +116 -0
  712. package/.claude/skills/payment-integration/references/paddle/best-practices.md +130 -0
  713. package/.claude/skills/payment-integration/references/paddle/overview.md +57 -0
  714. package/.claude/skills/payment-integration/references/paddle/paddle-js.md +106 -0
  715. package/.claude/skills/payment-integration/references/paddle/sdk.md +131 -0
  716. package/.claude/skills/payment-integration/references/paddle/subscriptions.md +118 -0
  717. package/.claude/skills/payment-integration/references/paddle/webhooks.md +112 -0
  718. package/.claude/skills/payment-integration/references/polar/benefits.md +396 -0
  719. package/.claude/skills/payment-integration/references/polar/best-practices.md +902 -0
  720. package/.claude/skills/payment-integration/references/polar/checkouts.md +266 -0
  721. package/.claude/skills/payment-integration/references/polar/overview.md +184 -0
  722. package/.claude/skills/payment-integration/references/polar/products.md +244 -0
  723. package/.claude/skills/payment-integration/references/polar/sdk.md +436 -0
  724. package/.claude/skills/payment-integration/references/polar/subscriptions.md +340 -0
  725. package/.claude/skills/payment-integration/references/polar/webhooks.md +405 -0
  726. package/.claude/skills/payment-integration/references/sepay/api.md +140 -0
  727. package/.claude/skills/payment-integration/references/sepay/best-practices.md +939 -0
  728. package/.claude/skills/payment-integration/references/sepay/overview.md +138 -0
  729. package/.claude/skills/payment-integration/references/sepay/qr-codes.md +228 -0
  730. package/.claude/skills/payment-integration/references/sepay/sdk.md +213 -0
  731. package/.claude/skills/payment-integration/references/sepay/webhooks.md +208 -0
  732. package/.claude/skills/payment-integration/references/stripe/stripe-best-practices.md +32 -0
  733. package/.claude/skills/payment-integration/references/stripe/stripe-cli.md +148 -0
  734. package/.claude/skills/payment-integration/references/stripe/stripe-js.md +116 -0
  735. package/.claude/skills/payment-integration/references/stripe/stripe-sdks.md +84 -0
  736. package/.claude/skills/payment-integration/references/stripe/stripe-upgrade.md +175 -0
  737. package/.claude/skills/payment-integration/scripts/.env.example +20 -0
  738. package/.claude/skills/payment-integration/scripts/checkout-helper.js +244 -0
  739. package/.claude/skills/payment-integration/scripts/package.json +17 -0
  740. package/.claude/skills/payment-integration/scripts/polar-webhook-verify.js +202 -0
  741. package/.claude/skills/payment-integration/scripts/sepay-webhook-verify.js +193 -0
  742. package/.claude/skills/payment-integration/scripts/test-scripts.js +237 -0
  743. package/.claude/skills/planning/SKILL.md +132 -0
  744. package/.claude/skills/planning/references/codebase-understanding.md +62 -0
  745. package/.claude/skills/planning/references/output-standards.md +141 -0
  746. package/.claude/skills/planning/references/plan-organization.md +160 -0
  747. package/.claude/skills/planning/references/research-phase.md +49 -0
  748. package/.claude/skills/planning/references/solution-design.md +63 -0
  749. package/.claude/skills/plans-kanban/SKILL.md +166 -0
  750. package/.claude/skills/plans-kanban/assets/dashboard-template.html +119 -0
  751. package/.claude/skills/plans-kanban/assets/dashboard.css +1594 -0
  752. package/.claude/skills/plans-kanban/assets/dashboard.js +596 -0
  753. package/.claude/skills/plans-kanban/assets/favicon.png +0 -0
  754. package/.claude/skills/plans-kanban/package.json +13 -0
  755. package/.claude/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +884 -0
  756. package/.claude/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
  757. package/.claude/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
  758. package/.claude/skills/plans-kanban/scripts/lib/plan-parser.cjs +175 -0
  759. package/.claude/skills/plans-kanban/scripts/lib/plan-scanner.cjs +272 -0
  760. package/.claude/skills/plans-kanban/scripts/lib/port-finder.cjs +48 -0
  761. package/.claude/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
  762. package/.claude/skills/plans-kanban/scripts/server.cjs +260 -0
  763. package/.claude/skills/problem-solving/SKILL.md +96 -0
  764. package/.claude/skills/problem-solving/references/attribution.md +69 -0
  765. package/.claude/skills/problem-solving/references/collision-zone-thinking.md +79 -0
  766. package/.claude/skills/problem-solving/references/inversion-exercise.md +91 -0
  767. package/.claude/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
  768. package/.claude/skills/problem-solving/references/scale-game.md +95 -0
  769. package/.claude/skills/problem-solving/references/simplification-cascades.md +80 -0
  770. package/.claude/skills/problem-solving/references/when-stuck.md +72 -0
  771. package/.claude/skills/react-best-practices/AGENTS.md +2249 -0
  772. package/.claude/skills/react-best-practices/README.md +123 -0
  773. package/.claude/skills/react-best-practices/SKILL.md +121 -0
  774. package/.claude/skills/react-best-practices/metadata.json +15 -0
  775. package/.claude/skills/react-best-practices/rules/_sections.md +46 -0
  776. package/.claude/skills/react-best-practices/rules/_template.md +28 -0
  777. package/.claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  778. package/.claude/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  779. package/.claude/skills/react-best-practices/rules/async-api-routes.md +38 -0
  780. package/.claude/skills/react-best-practices/rules/async-defer-await.md +80 -0
  781. package/.claude/skills/react-best-practices/rules/async-dependencies.md +36 -0
  782. package/.claude/skills/react-best-practices/rules/async-parallel.md +28 -0
  783. package/.claude/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  784. package/.claude/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  785. package/.claude/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  786. package/.claude/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  787. package/.claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  788. package/.claude/skills/react-best-practices/rules/bundle-preload.md +50 -0
  789. package/.claude/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  790. package/.claude/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  791. package/.claude/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  792. package/.claude/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  793. package/.claude/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  794. package/.claude/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  795. package/.claude/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  796. package/.claude/skills/react-best-practices/rules/js-early-exit.md +50 -0
  797. package/.claude/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  798. package/.claude/skills/react-best-practices/rules/js-index-maps.md +37 -0
  799. package/.claude/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  800. package/.claude/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  801. package/.claude/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  802. package/.claude/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  803. package/.claude/skills/react-best-practices/rules/rendering-activity.md +26 -0
  804. package/.claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  805. package/.claude/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  806. package/.claude/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  807. package/.claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  808. package/.claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  809. package/.claude/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  810. package/.claude/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  811. package/.claude/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  812. package/.claude/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  813. package/.claude/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  814. package/.claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  815. package/.claude/skills/react-best-practices/rules/rerender-memo.md +44 -0
  816. package/.claude/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  817. package/.claude/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  818. package/.claude/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  819. package/.claude/skills/react-best-practices/rules/server-cache-react.md +26 -0
  820. package/.claude/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
  821. package/.claude/skills/react-best-practices/rules/server-serialization.md +38 -0
  822. package/.claude/skills/remotion/SKILL.md +43 -0
  823. package/.claude/skills/remotion/rules/3d.md +86 -0
  824. package/.claude/skills/remotion/rules/animations.md +29 -0
  825. package/.claude/skills/remotion/rules/assets/charts-bar-chart.tsx +173 -0
  826. package/.claude/skills/remotion/rules/assets/text-animations-typewriter.tsx +100 -0
  827. package/.claude/skills/remotion/rules/assets/text-animations-word-highlight.tsx +108 -0
  828. package/.claude/skills/remotion/rules/assets.md +78 -0
  829. package/.claude/skills/remotion/rules/audio.md +172 -0
  830. package/.claude/skills/remotion/rules/calculate-metadata.md +104 -0
  831. package/.claude/skills/remotion/rules/can-decode.md +75 -0
  832. package/.claude/skills/remotion/rules/charts.md +58 -0
  833. package/.claude/skills/remotion/rules/compositions.md +146 -0
  834. package/.claude/skills/remotion/rules/display-captions.md +126 -0
  835. package/.claude/skills/remotion/rules/extract-frames.md +229 -0
  836. package/.claude/skills/remotion/rules/fonts.md +152 -0
  837. package/.claude/skills/remotion/rules/get-audio-duration.md +58 -0
  838. package/.claude/skills/remotion/rules/get-video-dimensions.md +68 -0
  839. package/.claude/skills/remotion/rules/get-video-duration.md +58 -0
  840. package/.claude/skills/remotion/rules/gifs.md +138 -0
  841. package/.claude/skills/remotion/rules/images.md +130 -0
  842. package/.claude/skills/remotion/rules/import-srt-captions.md +67 -0
  843. package/.claude/skills/remotion/rules/lottie.md +68 -0
  844. package/.claude/skills/remotion/rules/measuring-dom-nodes.md +35 -0
  845. package/.claude/skills/remotion/rules/measuring-text.md +143 -0
  846. package/.claude/skills/remotion/rules/sequencing.md +106 -0
  847. package/.claude/skills/remotion/rules/tailwind.md +11 -0
  848. package/.claude/skills/remotion/rules/text-animations.md +20 -0
  849. package/.claude/skills/remotion/rules/timing.md +179 -0
  850. package/.claude/skills/remotion/rules/transcribe-captions.md +19 -0
  851. package/.claude/skills/remotion/rules/transitions.md +122 -0
  852. package/.claude/skills/remotion/rules/trimming.md +53 -0
  853. package/.claude/skills/remotion/rules/videos.md +171 -0
  854. package/.claude/skills/repomix/SKILL.md +247 -0
  855. package/.claude/skills/repomix/references/configuration.md +211 -0
  856. package/.claude/skills/repomix/references/usage-patterns.md +232 -0
  857. package/.claude/skills/repomix/scripts/.coverage +0 -0
  858. package/.claude/skills/repomix/scripts/README.md +179 -0
  859. package/.claude/skills/repomix/scripts/repomix_batch.py +455 -0
  860. package/.claude/skills/repomix/scripts/repos.example.json +15 -0
  861. package/.claude/skills/repomix/scripts/requirements.txt +15 -0
  862. package/.claude/skills/repomix/scripts/tests/test_repomix_batch.py +531 -0
  863. package/.claude/skills/research/SKILL.md +170 -0
  864. package/.claude/skills/scout/SKILL.md +79 -0
  865. package/.claude/skills/scout/references/external-scouting.md +140 -0
  866. package/.claude/skills/scout/references/internal-scouting.md +119 -0
  867. package/.claude/skills/sequential-thinking/.env.example +8 -0
  868. package/.claude/skills/sequential-thinking/README.md +183 -0
  869. package/.claude/skills/sequential-thinking/SKILL.md +94 -0
  870. package/.claude/skills/sequential-thinking/package.json +31 -0
  871. package/.claude/skills/sequential-thinking/references/advanced-strategies.md +79 -0
  872. package/.claude/skills/sequential-thinking/references/advanced-techniques.md +76 -0
  873. package/.claude/skills/sequential-thinking/references/core-patterns.md +95 -0
  874. package/.claude/skills/sequential-thinking/references/examples-api.md +88 -0
  875. package/.claude/skills/sequential-thinking/references/examples-architecture.md +94 -0
  876. package/.claude/skills/sequential-thinking/references/examples-debug.md +90 -0
  877. package/.claude/skills/sequential-thinking/scripts/format-thought.js +159 -0
  878. package/.claude/skills/sequential-thinking/scripts/process-thought.js +236 -0
  879. package/.claude/skills/sequential-thinking/tests/format-thought.test.js +133 -0
  880. package/.claude/skills/sequential-thinking/tests/process-thought.test.js +215 -0
  881. package/.claude/skills/shader/SKILL.md +112 -0
  882. package/.claude/skills/shader/references/glsl-cellular-voronoi-worley-noise-patterns.md +142 -0
  883. package/.claude/skills/shader/references/glsl-colors-rgb-hsb-gradients-mixing-color-spaces.md +143 -0
  884. package/.claude/skills/shader/references/glsl-fbm-fractional-brownian-motion-turbulence-octaves.md +146 -0
  885. package/.claude/skills/shader/references/glsl-fundamentals-data-types-vectors-precision-coordinates.md +104 -0
  886. package/.claude/skills/shader/references/glsl-noise-random-perlin-simplex-cellular-voronoi.md +115 -0
  887. package/.claude/skills/shader/references/glsl-pattern-symmetry-truchet-domain-warping.md +134 -0
  888. package/.claude/skills/shader/references/glsl-patterns-tiling-fract-matrices-transformations.md +133 -0
  889. package/.claude/skills/shader/references/glsl-procedural-textures-clouds-marble-wood-terrain.md +144 -0
  890. package/.claude/skills/shader/references/glsl-shader-builtin-functions-complete-api-reference.md +112 -0
  891. package/.claude/skills/shader/references/glsl-shapes-polygon-star-polar-sdf-combinations.md +124 -0
  892. package/.claude/skills/shader/references/glsl-shapes-sdf-circles-rectangles-polar-distance-fields.md +106 -0
  893. package/.claude/skills/shader/references/glsl-shaping-functions-step-smoothstep-curves-interpolation.md +141 -0
  894. package/.claude/skills/shopify/README.md +66 -0
  895. package/.claude/skills/shopify/SKILL.md +319 -0
  896. package/.claude/skills/shopify/references/app-development.md +470 -0
  897. package/.claude/skills/shopify/references/extensions.md +493 -0
  898. package/.claude/skills/shopify/references/themes.md +498 -0
  899. package/.claude/skills/shopify/scripts/.coverage +0 -0
  900. package/.claude/skills/shopify/scripts/requirements.txt +19 -0
  901. package/.claude/skills/shopify/scripts/shopify_init.py +423 -0
  902. package/.claude/skills/shopify/scripts/tests/.coverage +0 -0
  903. package/.claude/skills/shopify/scripts/tests/test_shopify_init.py +385 -0
  904. package/.claude/skills/skill-creator/LICENSE.txt +202 -0
  905. package/.claude/skills/skill-creator/SKILL.md +309 -0
  906. package/.claude/skills/skill-creator/references/metadata-quality-criteria.md +76 -0
  907. package/.claude/skills/skill-creator/references/plugin-marketplace-hosting.md +101 -0
  908. package/.claude/skills/skill-creator/references/plugin-marketplace-overview.md +55 -0
  909. package/.claude/skills/skill-creator/references/plugin-marketplace-schema.md +88 -0
  910. package/.claude/skills/skill-creator/references/plugin-marketplace-sources.md +103 -0
  911. package/.claude/skills/skill-creator/references/plugin-marketplace-troubleshooting.md +80 -0
  912. package/.claude/skills/skill-creator/references/script-quality-criteria.md +106 -0
  913. package/.claude/skills/skill-creator/references/structure-organization-criteria.md +114 -0
  914. package/.claude/skills/skill-creator/references/token-efficiency-criteria.md +74 -0
  915. package/.claude/skills/skill-creator/references/validation-checklist.md +83 -0
  916. package/.claude/skills/skill-creator/scripts/encoding_utils.py +36 -0
  917. package/.claude/skills/skill-creator/scripts/init_skill.py +308 -0
  918. package/.claude/skills/skill-creator/scripts/package_skill.py +115 -0
  919. package/.claude/skills/skill-creator/scripts/quick_validate.py +69 -0
  920. package/.claude/skills/template-skill/SKILL.md +6 -0
  921. package/.claude/skills/threejs/SKILL.md +141 -0
  922. package/.claude/skills/threejs/data/api-reference.csv +61 -0
  923. package/.claude/skills/threejs/data/categories.csv +14 -0
  924. package/.claude/skills/threejs/data/examples-all.csv +557 -0
  925. package/.claude/skills/threejs/data/use-cases.csv +21 -0
  926. package/.claude/skills/threejs/references/00-fundamentals.md +487 -0
  927. package/.claude/skills/threejs/references/01-getting-started.md +177 -0
  928. package/.claude/skills/threejs/references/02-loaders.md +169 -0
  929. package/.claude/skills/threejs/references/03-textures.md +170 -0
  930. package/.claude/skills/threejs/references/04-cameras.md +195 -0
  931. package/.claude/skills/threejs/references/05-lights.md +183 -0
  932. package/.claude/skills/threejs/references/06-animations.md +214 -0
  933. package/.claude/skills/threejs/references/07-math.md +260 -0
  934. package/.claude/skills/threejs/references/08-interaction.md +267 -0
  935. package/.claude/skills/threejs/references/09-postprocessing.md +240 -0
  936. package/.claude/skills/threejs/references/10-controls.md +259 -0
  937. package/.claude/skills/threejs/references/11-materials-advanced.md +270 -0
  938. package/.claude/skills/threejs/references/11-materials.md +519 -0
  939. package/.claude/skills/threejs/references/12-performance.md +269 -0
  940. package/.claude/skills/threejs/references/13-node-materials.md +298 -0
  941. package/.claude/skills/threejs/references/14-physics-vr.md +304 -0
  942. package/.claude/skills/threejs/references/15-specialized-loaders.md +333 -0
  943. package/.claude/skills/threejs/references/16-webgpu.md +302 -0
  944. package/.claude/skills/threejs/references/17-shader.md +641 -0
  945. package/.claude/skills/threejs/references/18-geometry.md +547 -0
  946. package/.claude/skills/threejs/scripts/core.py +236 -0
  947. package/.claude/skills/threejs/scripts/extract_examples.py +688 -0
  948. package/.claude/skills/threejs/scripts/generate_csv_from_json.py +135 -0
  949. package/.claude/skills/threejs/scripts/search.py +77 -0
  950. package/.claude/skills/ui-styling/LICENSE.txt +202 -0
  951. package/.claude/skills/ui-styling/SKILL.md +321 -0
  952. package/.claude/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  953. package/.claude/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  954. package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  955. package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  956. package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  957. package/.claude/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  958. package/.claude/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  959. package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  960. package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  961. package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  962. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  963. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  964. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  965. package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  966. package/.claude/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  967. package/.claude/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  968. package/.claude/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  969. package/.claude/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  970. package/.claude/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  971. package/.claude/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  972. package/.claude/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  973. package/.claude/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  974. package/.claude/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  975. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  976. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  977. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  978. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  979. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  980. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  981. package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  982. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  983. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  984. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  985. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  986. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  987. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  988. package/.claude/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  989. package/.claude/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  990. package/.claude/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  991. package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  992. package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  993. package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  994. package/.claude/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  995. package/.claude/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  996. package/.claude/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  997. package/.claude/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  998. package/.claude/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  999. package/.claude/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  1000. package/.claude/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  1001. package/.claude/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  1002. package/.claude/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  1003. package/.claude/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  1004. package/.claude/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  1005. package/.claude/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  1006. package/.claude/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  1007. package/.claude/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  1008. package/.claude/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  1009. package/.claude/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  1010. package/.claude/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  1011. package/.claude/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  1012. package/.claude/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  1013. package/.claude/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  1014. package/.claude/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  1015. package/.claude/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  1016. package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  1017. package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  1018. package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  1019. package/.claude/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  1020. package/.claude/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  1021. package/.claude/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  1022. package/.claude/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  1023. package/.claude/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  1024. package/.claude/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  1025. package/.claude/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  1026. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  1027. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  1028. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  1029. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  1030. package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  1031. package/.claude/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  1032. package/.claude/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  1033. package/.claude/skills/ui-styling/references/canvas-design-system.md +320 -0
  1034. package/.claude/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  1035. package/.claude/skills/ui-styling/references/shadcn-components.md +424 -0
  1036. package/.claude/skills/ui-styling/references/shadcn-theming.md +373 -0
  1037. package/.claude/skills/ui-styling/references/tailwind-customization.md +483 -0
  1038. package/.claude/skills/ui-styling/references/tailwind-responsive.md +382 -0
  1039. package/.claude/skills/ui-styling/references/tailwind-utilities.md +455 -0
  1040. package/.claude/skills/ui-styling/scripts/.coverage +0 -0
  1041. package/.claude/skills/ui-styling/scripts/requirements.txt +17 -0
  1042. package/.claude/skills/ui-styling/scripts/shadcn_add.py +292 -0
  1043. package/.claude/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
  1044. package/.claude/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
  1045. package/.claude/skills/ui-styling/scripts/tests/requirements.txt +3 -0
  1046. package/.claude/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  1047. package/.claude/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  1048. package/.claude/skills/ui-ux-pro-max/SKILL.md +351 -0
  1049. package/.claude/skills/ui-ux-pro-max/data/charts.csv +26 -0
  1050. package/.claude/skills/ui-ux-pro-max/data/colors.csv +97 -0
  1051. package/.claude/skills/ui-ux-pro-max/data/icons.csv +101 -0
  1052. package/.claude/skills/ui-ux-pro-max/data/landing.csv +31 -0
  1053. package/.claude/skills/ui-ux-pro-max/data/products.csv +97 -0
  1054. package/.claude/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  1055. package/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  1056. package/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  1057. package/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  1058. package/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  1059. package/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  1060. package/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  1061. package/.claude/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  1062. package/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  1063. package/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  1064. package/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  1065. package/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  1066. package/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  1067. package/.claude/skills/ui-ux-pro-max/data/styles.csv +59 -0
  1068. package/.claude/skills/ui-ux-pro-max/data/typography.csv +58 -0
  1069. package/.claude/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  1070. package/.claude/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  1071. package/.claude/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  1072. package/.claude/skills/ui-ux-pro-max/scripts/core.py +257 -0
  1073. package/.claude/skills/ui-ux-pro-max/scripts/design_system.py +494 -0
  1074. package/.claude/skills/ui-ux-pro-max/scripts/search.py +84 -0
  1075. package/.claude/skills/web-design-guidelines/SKILL.md +36 -0
  1076. package/.claude/skills/web-frameworks/SKILL.md +324 -0
  1077. package/.claude/skills/web-frameworks/references/nextjs-app-router.md +465 -0
  1078. package/.claude/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
  1079. package/.claude/skills/web-frameworks/references/nextjs-optimization.md +511 -0
  1080. package/.claude/skills/web-frameworks/references/nextjs-server-components.md +495 -0
  1081. package/.claude/skills/web-frameworks/references/remix-icon-integration.md +603 -0
  1082. package/.claude/skills/web-frameworks/references/turborepo-caching.md +551 -0
  1083. package/.claude/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
  1084. package/.claude/skills/web-frameworks/references/turborepo-setup.md +542 -0
  1085. package/.claude/skills/web-frameworks/scripts/.coverage +0 -0
  1086. package/.claude/skills/web-frameworks/scripts/__init__.py +0 -0
  1087. package/.claude/skills/web-frameworks/scripts/nextjs_init.py +547 -0
  1088. package/.claude/skills/web-frameworks/scripts/requirements.txt +16 -0
  1089. package/.claude/skills/web-frameworks/scripts/tests/coverage-web.json +1 -0
  1090. package/.claude/skills/web-frameworks/scripts/tests/requirements.txt +3 -0
  1091. package/.claude/skills/web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
  1092. package/.claude/skills/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
  1093. package/.claude/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
  1094. package/.claude/skills/web-testing/SKILL.md +96 -0
  1095. package/.claude/skills/web-testing/references/accessibility-testing.md +84 -0
  1096. package/.claude/skills/web-testing/references/api-testing.md +78 -0
  1097. package/.claude/skills/web-testing/references/ci-cd-testing-workflows.md +121 -0
  1098. package/.claude/skills/web-testing/references/component-testing.md +94 -0
  1099. package/.claude/skills/web-testing/references/contract-testing.md +146 -0
  1100. package/.claude/skills/web-testing/references/cross-browser-checklist.md +72 -0
  1101. package/.claude/skills/web-testing/references/database-testing.md +139 -0
  1102. package/.claude/skills/web-testing/references/e2e-testing-playwright.md +119 -0
  1103. package/.claude/skills/web-testing/references/functional-testing-checklist.md +88 -0
  1104. package/.claude/skills/web-testing/references/interactive-testing-patterns.md +89 -0
  1105. package/.claude/skills/web-testing/references/load-testing-k6.md +93 -0
  1106. package/.claude/skills/web-testing/references/mobile-gesture-testing.md +85 -0
  1107. package/.claude/skills/web-testing/references/performance-core-web-vitals.md +124 -0
  1108. package/.claude/skills/web-testing/references/playwright-component-testing.md +115 -0
  1109. package/.claude/skills/web-testing/references/pre-release-checklist.md +75 -0
  1110. package/.claude/skills/web-testing/references/security-checklists.md +81 -0
  1111. package/.claude/skills/web-testing/references/security-testing-overview.md +92 -0
  1112. package/.claude/skills/web-testing/references/shadow-dom-testing.md +70 -0
  1113. package/.claude/skills/web-testing/references/test-data-management.md +131 -0
  1114. package/.claude/skills/web-testing/references/test-flakiness-mitigation.md +86 -0
  1115. package/.claude/skills/web-testing/references/testing-pyramid-strategy.md +76 -0
  1116. package/.claude/skills/web-testing/references/unit-integration-testing.md +138 -0
  1117. package/.claude/skills/web-testing/references/visual-regression.md +92 -0
  1118. package/.claude/skills/web-testing/references/vulnerability-payloads.md +93 -0
  1119. package/.claude/skills/web-testing/scripts/analyze-test-results.js +280 -0
  1120. package/.claude/skills/web-testing/scripts/init-playwright.js +233 -0
  1121. package/.claude/statusline.cjs +571 -0
  1122. package/.claude/statusline.ps1 +307 -0
  1123. package/.claude/statusline.sh +237 -0
  1124. package/.commitlintrc.json +27 -0
  1125. package/.coverage +0 -0
  1126. package/.env.example +26 -0
  1127. package/.github/workflows/branch-protection.yml +33 -0
  1128. package/.github/workflows/release-beta.yml +63 -0
  1129. package/.github/workflows/release.yml +63 -0
  1130. package/.github/workflows/sync-dev-after-release.yml +32 -0
  1131. package/.github/workflows/sync-main-to-dev.yml +35 -0
  1132. package/.husky/commit-msg +12 -0
  1133. package/.releaserc.beta-config.json +136 -0
  1134. package/.releaserc.cjs +183 -0
  1135. package/.releaserc.production.json +132 -0
  1136. package/.repomixignore +22 -0
  1137. package/AGENTS.md +61 -0
  1138. package/CHANGELOG.md +2928 -0
  1139. package/CLAUDE.md +88 -0
  1140. package/GEMINI.md +75 -0
  1141. package/LICENSE +18 -0
  1142. package/README-MIRROR.md +174 -0
  1143. package/README.md +602 -0
  1144. package/TEST-MANIFEST.md +220 -0
  1145. package/docs/assets/demo-landing-page-2.png +0 -0
  1146. package/docs/assets/demo-landing-page-3.png +0 -0
  1147. package/docs/assets/demo-landing-page.jpg +0 -0
  1148. package/docs/assets/generated_generated_0.png +0 -0
  1149. package/docs/assets/image-generation-test-report.md +223 -0
  1150. package/docs/assets/imagen-correction-summary.md +161 -0
  1151. package/docs/assets/imagen4_generated_1763658214_0.png +0 -0
  1152. package/docs/assets/imagen4_generated_1763658238_0.png +0 -0
  1153. package/docs/assets/imagen4_generated_1763658255_0.png +0 -0
  1154. package/docs/assets/model-support-status.md +338 -0
  1155. package/docs/assets/multimodal-generation-comprehensive-report.md +369 -0
  1156. package/docs/assets/veo-video-generation-test-report.md +139 -0
  1157. package/docs/assets/veo_generated_1763658722.mp4 +0 -0
  1158. package/docs/assets/veo_generated_1763659088.mp4 +0 -0
  1159. package/docs/code-standards.md +946 -0
  1160. package/docs/codebase-summary.md +365 -0
  1161. package/docs/infographics/cpg-marketing-2026-landscape.png +0 -0
  1162. package/docs/infographics/cpg-marketing-2026-vietnam-creative.png +0 -0
  1163. package/docs/infographics/cpg-marketing-2026-vietnam-search.png +0 -0
  1164. package/docs/infographics/cpg-marketing-2026-vietnam-wild.png +0 -0
  1165. package/docs/journals/2025-11-11-planning-skill-never-started.md +86 -0
  1166. package/docs/journals/2025-11-11-windows-statusline-complete.md +71 -0
  1167. package/docs/journals/2025-11-14-aesthetic-skill-ambitious-planning.md +107 -0
  1168. package/docs/journals/2025-11-14-docs-commands-optimization-stuck.md +137 -0
  1169. package/docs/journals/2510181655-massive-skills-integration-technical-debt.md +75 -0
  1170. package/docs/journals/2510181700-obsession-with-conciseness.md +89 -0
  1171. package/docs/journals/2510181710-git-workflow-evolution.md +108 -0
  1172. package/docs/journals/2510181720-release-automation-reality-check.md +134 -0
  1173. package/docs/journals/251106135700-wrong-about-agent-skills.md +184 -0
  1174. package/docs/journals/251212-ck-name-pattern-refactor.md +70 -0
  1175. package/docs/journals/INDEX.md +81 -0
  1176. package/docs/project-overview-pdr.md +585 -0
  1177. package/docs/project-roadmap.md +534 -0
  1178. package/docs/referecences/claude-cli-usage-limits-api.md +522 -0
  1179. package/docs/stlck-installation-guide.md +157 -0
  1180. package/docs/system-architecture.md +1029 -0
  1181. package/guide/COMMANDS.md +403 -0
  1182. package/guide/COMMANDS.yaml +403 -0
  1183. package/guide/ENVIRONMENT_RESOLVER.md +255 -0
  1184. package/guide/SKILLS.md +234 -0
  1185. package/guide/SKILLS.yaml +386 -0
  1186. package/install-stlck.sh +163 -0
  1187. package/package.json +18 -0
  1188. package/plans/templates/bug-fix-template.md +69 -0
  1189. package/plans/templates/feature-implementation-template.md +84 -0
  1190. package/plans/templates/refactor-template.md +82 -0
  1191. package/plans/templates/template-usage-guide.md +58 -0
  1192. package/scripts/commands_data.yaml +363 -0
  1193. package/scripts/generate-opencode.py +914 -0
  1194. package/scripts/generate-release-manifest.cjs +201 -0
  1195. package/scripts/generate_catalogs.py +168 -0
  1196. package/scripts/prepare-release-assets.cjs +158 -0
  1197. package/scripts/send-discord-release.cjs +204 -0
  1198. package/scripts/skills_data.yaml +370 -0
  1199. package/scripts/win_compat.py +57 -0
  1200. package/shader.zip +0 -0
  1201. package/tests/test-scout-block.ps1 +60 -0
  1202. package/tests/test-scout-block.sh +117 -0
@@ -0,0 +1,1088 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ ClaudeKit Help Command - All-in-one guide with dynamic command discovery.
4
+ Scans .claude/commands/ directory to build catalog at runtime.
5
+
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)
12
+ """
13
+
14
+ import sys
15
+ import re
16
+ import io
17
+ from pathlib import Path
18
+
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
+
23
+
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
+ }
39
+
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
+ # Fuzzy matching for typo tolerance
48
+ def levenshtein_distance(s1: str, s2: str) -> int:
49
+ """Standard Levenshtein distance algorithm."""
50
+ if len(s1) < len(s2):
51
+ return levenshtein_distance(s2, s1)
52
+ if len(s2) == 0:
53
+ return len(s1)
54
+
55
+ prev_row = range(len(s2) + 1)
56
+ for i, c1 in enumerate(s1):
57
+ curr_row = [i + 1]
58
+ for j, c2 in enumerate(s2):
59
+ insertions = prev_row[j + 1] + 1
60
+ deletions = curr_row[j] + 1
61
+ substitutions = prev_row[j] + (c1 != c2)
62
+ curr_row.append(min(insertions, deletions, substitutions))
63
+ prev_row = curr_row
64
+ return prev_row[-1]
65
+
66
+
67
+ def fuzzy_match(word: str, target: str, threshold: int = 2) -> bool:
68
+ """Check if word matches target within edit distance threshold."""
69
+ if len(word) < 3: # Skip very short words
70
+ return word == target
71
+
72
+ # Exact match short-circuit
73
+ if word == target:
74
+ return True
75
+
76
+ # Require similar lengths to avoid false positives (e.g., "create" ≠ "creative")
77
+ len_diff = abs(len(word) - len(target))
78
+ if len_diff > 1:
79
+ return False
80
+
81
+ # Allow threshold based on word length (max 1/3 of target length)
82
+ max_edits = min(threshold, len(target) // 3)
83
+ if max_edits < 1:
84
+ return word == target
85
+
86
+ return levenshtein_distance(word, target) <= max_edits
87
+
88
+
89
+ # Disambiguation threshold - if top 2 scores within this, ask user
90
+ DISAMBIGUATION_THRESHOLD = 0.5
91
+
92
+
93
+ # Synonym mappings for normalization (term → canonical)
94
+ SYNONYMS = {
95
+ # Notifications
96
+ "alerts": "notifications",
97
+ "alert": "notification",
98
+
99
+ # Git/GitHub
100
+ "ci": "github actions",
101
+ "ci/cd": "github actions",
102
+ "pipeline": "github actions",
103
+ "actions": "github actions",
104
+
105
+ # Common abbreviations
106
+ "auth": "authentication",
107
+ "authn": "authentication",
108
+ "db": "database",
109
+ "repo": "repository",
110
+ "deps": "dependencies",
111
+
112
+ # Commands
113
+ "pr": "pull request",
114
+ "mr": "pull request", # GitLab users
115
+
116
+ # Testing
117
+ "specs": "tests",
118
+ "e2e": "integration test",
119
+ }
120
+
121
+
122
+ def expand_synonyms(text: str) -> str:
123
+ """Replace synonyms with canonical terms."""
124
+ result = text.lower()
125
+
126
+ # Sort by length (longest first) to handle multi-word synonyms
127
+ sorted_synonyms = sorted(SYNONYMS.items(), key=lambda x: -len(x[0]))
128
+
129
+ for synonym, canonical in sorted_synonyms:
130
+ # Word boundary aware replacement
131
+ pattern = r'\b' + re.escape(synonym) + r'\b'
132
+ result = re.sub(pattern, canonical, result, flags=re.IGNORECASE)
133
+
134
+ return result
135
+
136
+
137
+ # Task keyword mappings for intent detection
138
+ TASK_MAPPINGS = {
139
+ "plan": ["plan", "design", "architect", "research", "think", "analyze", "strategy", "how to", "approach"],
140
+ "cook": ["implement", "build", "create", "add", "feature", "code", "develop", "make", "write"],
141
+ "bootstrap": ["start", "new", "init", "setup", "project", "scaffold", "generate", "begin"],
142
+ "test": ["test", "check", "verify", "validate", "spec", "unit", "integration", "coverage", "login", "auth", "e2e"],
143
+ "docs": ["document", "readme", "docs", "explain", "comment", "documentation"],
144
+ "review": ["review", "audit", "inspect", "quality", "refactor", "clean"],
145
+ "config": ["config", "configure", "settings", "ck.json", ".ck.json", "setup", "locale", "language", "paths"],
146
+ "coding-level": ["coding", "level", "eli5", "junior", "senior", "lead", "god", "beginner", "expert", "teach", "learn", "explain"],
147
+ # New categories
148
+ "worktree": ["worktree", "parallel", "isolate", "isolation", "concurrent", "multiple branches"],
149
+ "kanban": ["kanban", "board", "dashboard", "progress", "track", "orchestration", "visualize"],
150
+ "preview": ["preview", "view", "render", "markdown", "reader", "novel", "explain", "slides", "diagram", "ascii", "visualize", "visual"],
151
+ "journal": ["journal", "diary", "log", "entry", "reflect", "failure", "lesson"],
152
+ "watzup": ["watzup", "status", "summary", "wrap up", "what's up", "recent", "changes"],
153
+ "notifications": ["notification", "notifications", "notify", "discord", "telegram", "slack", "alert", "webhook", "stop hook", "session end", "setup notification", "setup notifications", "configure discord", "configure telegram", "configure slack", "discord webhook", "telegram bot", "slack webhook"],
154
+ }
155
+
156
+ # Category workflows and tips
157
+ CATEGORY_GUIDES = {
158
+ "plan": {
159
+ "title": "Planning",
160
+ "workflow": [
161
+ ("Quick plan", "`/plan:fast` \"your task\""),
162
+ ("Deep research", "`/plan:hard` \"complex task\""),
163
+ ("Validate", "`/plan:validate` (interview to confirm decisions)"),
164
+ ("Execute plan", "`/cook` (runs the plan)"),
165
+ ],
166
+ "tip": "Use /plan:validate to confirm assumptions before coding",
167
+ },
168
+ "cook": {
169
+ "title": "Implementation",
170
+ "workflow": [
171
+ ("Quick impl", "`/cook` \"your feature\""),
172
+ ("Auto mode", "`/cook:auto` \"trust me bro\""),
173
+ ("Test", "`/test`"),
174
+ ],
175
+ "tip": "Cook is standalone - it plans internally. Use /plan → /cook for explicit planning",
176
+ },
177
+ "bootstrap": {
178
+ "title": "Project Setup",
179
+ "workflow": [
180
+ ("Quick start", "`/bootstrap:auto:fast` \"requirements\""),
181
+ ("Full setup", "`/bootstrap` \"detailed requirements\""),
182
+ ],
183
+ "tip": "Include tech stack preferences in description",
184
+ },
185
+ "test": {
186
+ "title": "Testing",
187
+ "workflow": [
188
+ ("Run tests", "`/test`"),
189
+ ],
190
+ "tip": "Run tests frequently during development",
191
+ },
192
+ "docs": {
193
+ "title": "Documentation",
194
+ "workflow": [
195
+ ("Initialize", "`/docs:init`"),
196
+ ("Update", "`/docs:update`"),
197
+ ],
198
+ "tip": "Keep docs close to code for accuracy",
199
+ },
200
+ "review": {
201
+ "title": "Code Review",
202
+ "workflow": [
203
+ ("Full review", "`/review:codebase`"),
204
+ ],
205
+ "tip": "Review before merging to main",
206
+ },
207
+ "coding-level": {
208
+ "title": "Coding Level (Adaptive Communication)",
209
+ "workflow": [
210
+ ("Disabled", "`codingLevel: -1` (default, no injection)"),
211
+ ("ELI5", "`codingLevel: 0` (analogies, baby steps)"),
212
+ ("Junior", "`codingLevel: 1` (WHY before HOW)"),
213
+ ("Mid-Level", "`codingLevel: 2` (patterns, trade-offs)"),
214
+ ("Senior", "`codingLevel: 3` (production code, ops)"),
215
+ ("Tech Lead", "`codingLevel: 4` (risk matrix, strategy)"),
216
+ ("God Mode", "`codingLevel: 5` (code first, no fluff)"),
217
+ ],
218
+ "tip": "Set in .ck.json. Guidelines auto-inject on session start",
219
+ },
220
+ "config": {
221
+ "title": "ClaudeKit Configuration (.ck.json)",
222
+ "workflow": [
223
+ ("Global", "Set user prefs in `~/.claude/.ck.json`"),
224
+ ("Local", "Override per-project in `./.claude/.ck.json`"),
225
+ ("Resolution", "DEFAULT → global → local (deep merge)"),
226
+ ],
227
+ "tip": "Global config works in fresh dirs; local overrides for projects",
228
+ },
229
+ # New category guides (workflow-first approach)
230
+ "worktree": {
231
+ "title": "Git Worktrees (Parallel Development)",
232
+ "workflow": [
233
+ ("Create worktree", "`/worktree` \"feature description\""),
234
+ ("Work in isolation", "cd to worktree, implement, test"),
235
+ ("Review & merge", "Create PR from worktree → merge → cleanup"),
236
+ ("List worktrees", "`/worktree list`"),
237
+ ("Remove worktree", "`/worktree remove <name>`"),
238
+ ],
239
+ "tip": "Use worktrees for parallel features without stashing. Each worktree = isolated branch + clean working directory",
240
+ },
241
+ "kanban": {
242
+ "title": "AI Orchestration Board",
243
+ "workflow": [
244
+ ("View dashboard", "`/kanban` (opens browser)"),
245
+ ("Specific plans", "`/kanban plans/my-feature/`"),
246
+ ("Track progress", "View phase completion, timeline, activity"),
247
+ ("Stop server", "`/kanban --stop`"),
248
+ ],
249
+ "tip": "Dashboard shows plan phases, progress bars, and agent activity. Future: worktree + agent orchestration",
250
+ },
251
+ "preview": {
252
+ "title": "Content Preview & Visual Generation",
253
+ "workflow": [
254
+ ("View markdown", "`/preview plans/plan.md`"),
255
+ ("Browse directory", "`/preview docs/`"),
256
+ ("Explain topic", "`/preview --explain OAuth flow`"),
257
+ ("Generate slides", "`/preview --slides API architecture`"),
258
+ ("Create diagram", "`/preview --diagram data flow`"),
259
+ ("ASCII only", "`/preview --ascii auth process`"),
260
+ ("Stop server", "`/preview --stop`"),
261
+ ],
262
+ "tip": "View existing markdown OR generate visual explanations (ASCII + Mermaid). Visuals save to active plan's visuals/ folder",
263
+ },
264
+ "journal": {
265
+ "title": "Technical Journaling",
266
+ "workflow": [
267
+ ("Write entry", "`/journal`"),
268
+ ("Document failures", "Capture what went wrong with emotional honesty"),
269
+ ("Lessons learned", "Turn setbacks into future guidance"),
270
+ ],
271
+ "tip": "Use after repeated test failures, critical bugs, or architectural pivots. Raw honesty = future wisdom",
272
+ },
273
+ "watzup": {
274
+ "title": "Session Review & Wrap-up",
275
+ "workflow": [
276
+ ("Review changes", "`/watzup`"),
277
+ ("Get summary", "See what was done, what files changed"),
278
+ ("Next steps", "Receive suggestions for what to do next"),
279
+ ],
280
+ "tip": "Run before ending session to capture progress and plan next steps",
281
+ },
282
+ "notifications": {
283
+ "title": "Session Notifications (Discord/Telegram/Slack)",
284
+ "workflow": [
285
+ ("1. Set env vars", "Add `DISCORD_WEBHOOK_URL` or `TELEGRAM_BOT_TOKEN`+`TELEGRAM_CHAT_ID` to `~/.claude/.env`"),
286
+ ("2. Add hook", "Add Stop hook to `.claude/settings.json` (see below)"),
287
+ ("3. Test", "`echo '{\"hook_event_name\":\"Stop\"}' | node .claude/hooks/notifications/notify.cjs`"),
288
+ ],
289
+ "tip": """Add to settings.json:
290
+ ```json
291
+ "Stop": [{"matcher": "*", "hooks": [{"type": "command", "command": "node .claude/hooks/notifications/notify.cjs"}]}]
292
+ ```
293
+ Docs: `.claude/hooks/notifications/docs/`""",
294
+ },
295
+ }
296
+
297
+
298
+ def detect_prefix(commands_dir: Path) -> str:
299
+ """Detect if commands use /ck: prefix based on directory structure."""
300
+ ck_commands_dir = commands_dir / "ck"
301
+ return "ck:" if ck_commands_dir.exists() and ck_commands_dir.is_dir() else ""
302
+
303
+
304
+ def parse_frontmatter(file_path: Path) -> dict:
305
+ """Parse YAML frontmatter from a markdown file."""
306
+ try:
307
+ content = file_path.read_text(encoding='utf-8')
308
+ except Exception:
309
+ return {}
310
+
311
+ # Check for frontmatter
312
+ if not content.startswith('---'):
313
+ return {}
314
+
315
+ # Find closing ---
316
+ end_idx = content.find('---', 3)
317
+ if end_idx == -1:
318
+ return {}
319
+
320
+ frontmatter = content[3:end_idx].strip()
321
+ result = {}
322
+
323
+ for line in frontmatter.split('\n'):
324
+ if ':' in line:
325
+ key, value = line.split(':', 1)
326
+ result[key.strip()] = value.strip()
327
+
328
+ return result
329
+
330
+
331
+ def discover_commands(commands_dir: Path, prefix: str) -> dict:
332
+ """Scan .claude/commands/ and build command catalog."""
333
+ commands = {}
334
+ categories = {}
335
+
336
+ if not commands_dir.exists():
337
+ return {"commands": commands, "categories": categories}
338
+
339
+ # Scan all .md files
340
+ for md_file in commands_dir.rglob("*.md"):
341
+ # Skip non-command files
342
+ rel_path = md_file.relative_to(commands_dir)
343
+ parts = rel_path.parts
344
+
345
+ # Get command name from path
346
+ # e.g., fix/fast.md -> fix:fast, plan.md -> plan
347
+ if len(parts) == 1:
348
+ # Root command: plan.md -> plan
349
+ cmd_name = parts[0].replace('.md', '')
350
+ category = "core"
351
+ else:
352
+ # Nested command: fix/fast.md -> fix:fast
353
+ category = parts[0]
354
+ cmd_name = ':'.join([p.replace('.md', '') for p in parts])
355
+
356
+ # Parse frontmatter
357
+ fm = parse_frontmatter(md_file)
358
+ description = fm.get('description', '')
359
+
360
+ # Skip if no description (not a real command)
361
+ if not description:
362
+ continue
363
+
364
+ # Clean description (remove emoji indicators)
365
+ clean_desc = re.sub(r'^[^\w\s]+\s*', '', description).strip()
366
+
367
+ # Format command name with prefix
368
+ formatted_name = f"/{prefix}{cmd_name}" if prefix else f"/{cmd_name}"
369
+
370
+ # Add to commands
371
+ if category not in commands:
372
+ commands[category] = []
373
+
374
+ commands[category].append({
375
+ "name": formatted_name,
376
+ "description": clean_desc,
377
+ "category": category,
378
+ })
379
+
380
+ # Track categories
381
+ if category not in categories:
382
+ categories[category] = category.title()
383
+
384
+ # Sort commands within each category
385
+ for cat in commands:
386
+ commands[cat].sort(key=lambda x: x["name"])
387
+
388
+ return {"commands": commands, "categories": categories}
389
+
390
+
391
+ def detect_intent(input_str: str, categories: list) -> str:
392
+ """Smart auto-detection of user intent."""
393
+ if not input_str:
394
+ return "overview"
395
+
396
+ input_lower = input_str.lower()
397
+ words = input_str.split()
398
+
399
+ # Multiple words = likely task description (even if first word is a category)
400
+ # e.g., "test my login" should be task, not category "test"
401
+ if len(words) >= 2:
402
+ # Exception: if it looks like a command (has colon), treat as command
403
+ if ':' in input_str:
404
+ return "command"
405
+ return "task"
406
+
407
+ # Single word: check if it's a known category from discovered commands
408
+ if input_lower in [c.lower() for c in categories]:
409
+ return "category"
410
+
411
+ # Check if it's a known category from CATEGORY_GUIDES (includes non-command categories)
412
+ if input_lower in [c.lower() for c in CATEGORY_GUIDES.keys()]:
413
+ return "category"
414
+
415
+ # Single word typo tolerance: fuzzy match against categories
416
+ all_categories = set(c.lower() for c in categories) | set(c.lower() for c in CATEGORY_GUIDES.keys())
417
+ for cat in all_categories:
418
+ if fuzzy_match(input_lower, cat):
419
+ return "category"
420
+
421
+ # Single word typo tolerance: fuzzy match against task keywords
422
+ for cat, keywords in TASK_MAPPINGS.items():
423
+ for kw in keywords:
424
+ if ' ' not in kw and fuzzy_match(input_lower, kw):
425
+ return "task"
426
+
427
+ # Check if it looks like a command (has colon)
428
+ if ':' in input_str:
429
+ return "command"
430
+
431
+ return "search"
432
+
433
+
434
+ def show_overview(data: dict, prefix: str) -> None:
435
+ """Display overview with quick start guide."""
436
+ emit_output_type("category-guide")
437
+
438
+ commands = data["commands"]
439
+ categories = data["categories"]
440
+ total = sum(len(cmds) for cmds in commands.values())
441
+ help_cmd = f"/{prefix}ck-help" if prefix else "/ck-help"
442
+
443
+ print("# ClaudeKit Commands")
444
+ print()
445
+ print(f"{total} commands across {len(categories)} categories.")
446
+ print()
447
+ print("**Quick Start:**")
448
+ print(f"- `/{prefix}cook` - Implement features (standalone)")
449
+ print(f"- `/{prefix}plan` + `/{prefix}cook` - Plan then execute")
450
+ print(f"- `/{prefix}test` - Run and analyze tests")
451
+ print()
452
+ print("**Common Workflows:**")
453
+ print(f"- New feature: `/{prefix}plan` → `/{prefix}cook` → `/{prefix}test`")
454
+ print(f"- Review: `/{prefix}review` → `/{prefix}watzup`")
455
+ print()
456
+ print("**Categories:**")
457
+ for cat_key in sorted(categories.keys()):
458
+ count = len(commands.get(cat_key, []))
459
+ print(f"- `{cat_key}` ({count})")
460
+ print()
461
+ print("**Usage:**")
462
+ print(f"- `{help_cmd} <category>` - Category guide with workflow")
463
+ print(f"- `{help_cmd} <command>` - Command details")
464
+ print(f"- `{help_cmd} <task description>` - Recommendations")
465
+ print()
466
+ print("**Tips:**")
467
+ print(f"- Unclear about approach? → `/{prefix}brainstorm` first")
468
+ print(f"- Agent generated report? → `/{prefix}preview` to view")
469
+ print("- Add `ultrathink` for deep analysis (more tokens)")
470
+ print("- `:parallel` variants (e.g., `/code:parallel`) = faster but more tokens, check quota")
471
+
472
+
473
+ def show_category_guide(data: dict, category: str, prefix: str) -> None:
474
+ """Display category guide with workflow and tips."""
475
+ emit_output_type("category-guide")
476
+
477
+ categories = data["categories"]
478
+ commands = data["commands"]
479
+
480
+ # Find matching category (case-insensitive) - check both discovered and CATEGORY_GUIDES
481
+ cat_key = None
482
+ category_lower = category.lower()
483
+
484
+ for key in categories:
485
+ if key.lower() == category_lower:
486
+ cat_key = key
487
+ break
488
+
489
+ # Also check CATEGORY_GUIDES for categories without discovered commands (worktree, kanban, etc.)
490
+ if not cat_key:
491
+ for key in CATEGORY_GUIDES.keys():
492
+ if key.lower() == category_lower:
493
+ cat_key = key
494
+ break
495
+
496
+ # Fuzzy match for typos (e.g., "notifcations" → "notifications")
497
+ if not cat_key:
498
+ all_categories = list(categories.keys()) + list(CATEGORY_GUIDES.keys())
499
+ for key in all_categories:
500
+ if fuzzy_match(category_lower, key.lower()):
501
+ cat_key = key
502
+ break
503
+
504
+ if not cat_key:
505
+ all_cats = set(categories.keys()) | set(CATEGORY_GUIDES.keys())
506
+ print(f"Category '{category}' not found.")
507
+ print()
508
+ print("Available: " + ", ".join(f"`{c}`" for c in sorted(all_cats)))
509
+ return
510
+
511
+ cmds = commands.get(cat_key, [])
512
+ guide = CATEGORY_GUIDES.get(cat_key, {})
513
+
514
+ print(f"# {guide.get('title', cat_key.title())}")
515
+ print()
516
+
517
+ # Workflow first (most important)
518
+ if "workflow" in guide:
519
+ print("**Workflow:**")
520
+ for step, cmd in guide["workflow"]:
521
+ print(f"- {step}: {cmd}")
522
+ print()
523
+
524
+ # Commands list (only if we have discovered commands for this category)
525
+ if cmds:
526
+ print("**Commands:**")
527
+ for cmd in cmds:
528
+ print(f"- `{cmd['name']}` - {cmd['description']}")
529
+
530
+ # Tip at the end
531
+ if "tip" in guide:
532
+ print()
533
+ print(f"*Tip: {guide['tip']}*")
534
+
535
+
536
+ def show_command(data: dict, command: str, prefix: str) -> None:
537
+ """Display command details."""
538
+ emit_output_type("command-details")
539
+
540
+ commands = data["commands"]
541
+
542
+ # Normalize search term
543
+ search = command.lower().replace("/ck:", "").replace("/", "").replace(":", "")
544
+
545
+ found = None
546
+ for cmds in commands.values():
547
+ for cmd in cmds:
548
+ # Normalize command name for comparison
549
+ name = cmd["name"].lower().replace("/ck:", "").replace("/", "").replace(":", "")
550
+ if name == search:
551
+ found = cmd
552
+ break
553
+ if found:
554
+ break
555
+
556
+ if not found:
557
+ print(f"Command '{command}' not found.")
558
+ print()
559
+ do_search(data, command.replace(":", " "), prefix)
560
+ return
561
+
562
+ print(f"# `{found['name']}`")
563
+ print()
564
+ print(found['description'])
565
+ print()
566
+ print(f"**Category:** {found['category']}")
567
+ print()
568
+ print(f"**Usage:** `{found['name']} <your-input>`")
569
+
570
+ # Show related commands (same category)
571
+ cat = found['category']
572
+ if cat in commands:
573
+ related = [c for c in commands[cat] if c['name'] != found['name']][:3]
574
+ if related:
575
+ related_names = ", ".join(f"`{r['name']}`" for r in related)
576
+ print()
577
+ print(f"**Related:** {related_names}")
578
+
579
+
580
+ def do_search(data: dict, term: str, prefix: str) -> None:
581
+ """Search commands by keyword."""
582
+ emit_output_type("search-results")
583
+
584
+ commands = data["commands"]
585
+ term_lower = term.lower()
586
+ matches = []
587
+
588
+ for cmds in commands.values():
589
+ for cmd in cmds:
590
+ if term_lower in cmd["name"].lower() or term_lower in cmd["description"].lower():
591
+ matches.append(cmd)
592
+
593
+ if not matches:
594
+ print(f"No commands found for '{term}'.")
595
+ print()
596
+ print("Try browsing categories: " + ", ".join(f"`{c}`" for c in sorted(data["categories"].keys())))
597
+ return
598
+
599
+ print(f"# Search: {term}")
600
+ print()
601
+ print(f"Found {len(matches)} matches:")
602
+ for cmd in matches[:8]:
603
+ print(f"- `{cmd['name']}` - {cmd['description']}")
604
+
605
+
606
+ def format_disambiguation(task: str, candidates: list) -> None:
607
+ """Output disambiguation prompt for close-scoring categories."""
608
+ emit_output_type("task-recommendations")
609
+
610
+ print(f"# Clarify: {task}")
611
+ print()
612
+ print("Your query matches multiple categories. Which did you mean?")
613
+ print()
614
+
615
+ for i, (cat, score) in enumerate(candidates[:3], 1):
616
+ guide = CATEGORY_GUIDES.get(cat, {})
617
+ title = guide.get("title", cat.title())
618
+ # Show first workflow step as example
619
+ example = ""
620
+ if "workflow" in guide and guide["workflow"]:
621
+ example = f" (e.g., {guide['workflow'][0][1]})"
622
+ print(f"{i}. **{title}**{example}")
623
+
624
+ print()
625
+ print("*Reply with the number or rephrase your question.*")
626
+
627
+
628
+ def recommend_task(data: dict, task: str, prefix: str) -> None:
629
+ """Recommend commands for a task description."""
630
+ emit_output_type("task-recommendations")
631
+
632
+ commands = data["commands"]
633
+
634
+ # Expand synonyms first, then lowercase
635
+ task_expanded = expand_synonyms(task)
636
+ task_lower = task_expanded
637
+ words = task_lower.split()
638
+
639
+ # Action verbs that indicate primary intent when at sentence start
640
+ # These get BONUS weight when they appear first (imperative sentences)
641
+ # NOTE: Excluded contextual words like "setup", "add" that often precede subjects
642
+ ACTION_VERBS = {
643
+ "fix", "debug", "test", "commit", "push", "merge", "pull", "create",
644
+ "build", "implement", "write", "make", "deploy", "run",
645
+ "configure", "install", "update", "upgrade", "delete", "remove",
646
+ "review", "check", "verify", "validate", "find", "search", "locate",
647
+ "plan", "design", "refactor", "optimize", "document", "explain",
648
+ }
649
+
650
+ # Check if first word is an action verb
651
+ first_word_is_action = words[0] in ACTION_VERBS if words else False
652
+
653
+ # Score categories by keyword matches with smart weighting
654
+ scores = {}
655
+ for cat, keywords in TASK_MAPPINGS.items():
656
+ score = 0.0
657
+ for kw in keywords:
658
+ # Multi-word keywords: exact substring match, high weight
659
+ if ' ' in kw:
660
+ if kw in task_lower:
661
+ score += 3.0
662
+ # Single-word keywords: exact match first, then fuzzy fallback
663
+ else:
664
+ matched_pos = -1
665
+ is_fuzzy = False
666
+
667
+ # Try exact match first
668
+ match = re.search(r'\b' + re.escape(kw) + r'\b', task_lower)
669
+ if match:
670
+ # Find word position from character position
671
+ char_count = 0
672
+ for i, word in enumerate(words):
673
+ if char_count <= match.start() < char_count + len(word):
674
+ matched_pos = i
675
+ break
676
+ char_count += len(word) + 1
677
+ else:
678
+ # Fuzzy matching fallback for typos
679
+ for i, word in enumerate(words):
680
+ if fuzzy_match(word, kw):
681
+ matched_pos = i
682
+ is_fuzzy = True
683
+ break
684
+
685
+ if matched_pos >= 0:
686
+ # Smart weighting based on sentence structure
687
+ if len(words) > 1:
688
+ if first_word_is_action and matched_pos == 0:
689
+ weight = 2.5
690
+ elif first_word_is_action:
691
+ weight = 1.0
692
+ else:
693
+ weight = 1.0 + (matched_pos / (len(words) - 1))
694
+ else:
695
+ weight = 2.0
696
+
697
+ # Slight penalty for fuzzy matches (0.8x)
698
+ if is_fuzzy:
699
+ weight *= 0.8
700
+
701
+ score += weight
702
+ if score > 0:
703
+ scores[cat] = score
704
+
705
+ if not scores:
706
+ print(f"Not sure about: {task}")
707
+ print()
708
+ print("Try being more specific, or browse categories: " + ", ".join(f"`{c}`" for c in sorted(data["categories"].keys())))
709
+ return
710
+
711
+ sorted_cats = sorted(scores.items(), key=lambda x: -x[1])
712
+
713
+ # Check for ambiguity - if top 2 scores are close, ask user to clarify
714
+ if len(sorted_cats) >= 2:
715
+ top_score = sorted_cats[0][1]
716
+ second_score = sorted_cats[1][1]
717
+
718
+ # If scores too close, disambiguate
719
+ if top_score - second_score < DISAMBIGUATION_THRESHOLD and top_score > 0:
720
+ format_disambiguation(task, sorted_cats[:3])
721
+ return
722
+
723
+ top_cat = sorted_cats[0][0]
724
+ guide = CATEGORY_GUIDES.get(top_cat, {})
725
+
726
+ print(f"# Recommended for: {task}")
727
+ print()
728
+
729
+ # Show workflow first (most actionable)
730
+ if "workflow" in guide:
731
+ print("**Workflow:**")
732
+ for step, cmd in guide["workflow"][:3]:
733
+ print(f"- {step}: {cmd}")
734
+ print()
735
+
736
+ # Show relevant commands - only from top matched category
737
+ # Avoid showing unrelated commands from secondary matches
738
+ if top_cat in commands and commands[top_cat]:
739
+ print("**Commands:**")
740
+ for cmd in commands[top_cat][:4]:
741
+ print(f"- `{cmd['name']}` - {cmd['description']}")
742
+
743
+ if "tip" in guide:
744
+ print()
745
+ print(f"*Tip: {guide['tip']}*")
746
+
747
+
748
+ def show_config_guide() -> None:
749
+ """Display comprehensive .ck.json configuration guide."""
750
+ emit_output_type("comprehensive-docs")
751
+
752
+ print("# ClaudeKit Configuration (.ck.json)")
753
+ print()
754
+ print("**Locations (cascading resolution):**")
755
+ print("- Global: `~/.claude/.ck.json` (user preferences)")
756
+ print("- Local: `./.claude/.ck.json` (project overrides)")
757
+ print()
758
+ print("**Resolution Order:** `DEFAULT → global → local`")
759
+ print("- Global config sets user defaults")
760
+ print("- Local config overrides for specific projects")
761
+ print("- Deep merge: nested objects merge recursively")
762
+ print()
763
+ print("**Purpose:** Customize plan naming, paths, locale, and hook behavior.")
764
+ print()
765
+ print("---")
766
+ print()
767
+ print("## Quick Start")
768
+ print()
769
+ print("**Global config** (`~/.claude/.ck.json`) - your preferences:")
770
+ print("```json")
771
+ print('{')
772
+ print(' "locale": {')
773
+ print(' "thinkingLanguage": "en",')
774
+ print(' "responseLanguage": "vi"')
775
+ print(' },')
776
+ print(' "plan": { "issuePrefix": "GH-" }')
777
+ print('}')
778
+ print("```")
779
+ print()
780
+ print("**Local override** (`./.claude/.ck.json`) - project-specific:")
781
+ print("```json")
782
+ print('{')
783
+ print(' "plan": { "issuePrefix": "JIRA-" },')
784
+ print(' "paths": { "docs": "documentation" }')
785
+ print('}')
786
+ print("```")
787
+ print()
788
+ print("---")
789
+ print()
790
+ print("## Full Schema")
791
+ print()
792
+ print("```json")
793
+ print('{')
794
+ print(' "plan": {')
795
+ print(' "namingFormat": "{date}-{issue}-{slug}", // Plan folder naming')
796
+ print(' "dateFormat": "YYMMDD-HHmm", // Date format in names')
797
+ print(' "issuePrefix": "GH-", // Issue ID prefix (null = #)')
798
+ print(' "reportsDir": "reports", // Reports subfolder')
799
+ print(' "resolution": {')
800
+ print(' "order": ["session", "branch"], // Resolution chain')
801
+ print(' "branchPattern": "(?:feat|fix|...)/.+" // Branch slug regex')
802
+ print(' },')
803
+ print(' "validation": {')
804
+ print(' "mode": "prompt", // "auto" | "prompt" | "off"')
805
+ print(' "minQuestions": 3, // Min questions to ask')
806
+ print(' "maxQuestions": 8, // Max questions to ask')
807
+ print(' "focusAreas": ["assumptions", "risks", "tradeoffs", "architecture"]')
808
+ print(' }')
809
+ print(' },')
810
+ print(' "paths": {')
811
+ print(' "docs": "docs", // Documentation directory')
812
+ print(' "plans": "plans" // Plans directory')
813
+ print(' },')
814
+ print(' "locale": {')
815
+ print(' "thinkingLanguage": null, // Language for reasoning ("en" recommended)')
816
+ print(' "responseLanguage": null // Language for output ("vi", "fr", etc.)')
817
+ print(' },')
818
+ print(' "trust": {')
819
+ print(' "passphrase": null, // Secret for testing context injection')
820
+ print(' "enabled": false // Enable trust verification')
821
+ print(' },')
822
+ print(' "project": {')
823
+ print(' "type": "auto", // "monorepo", "single-repo", "auto"')
824
+ print(' "packageManager": "auto", // "npm", "pnpm", "yarn", "auto"')
825
+ print(' "framework": "auto" // "next", "react", "vue", "auto"')
826
+ print(' },')
827
+ print(' "codingLevel": -1 // Adaptive communication (-1 to 5)')
828
+ print('}')
829
+ print("```")
830
+ print()
831
+ print("---")
832
+ print()
833
+ print("## Key Concepts")
834
+ print()
835
+ print("**Plan Resolution Chain:**")
836
+ print("1. `session` - Check session temp file for active plan")
837
+ print("2. `branch` - Match git branch slug to plan folder")
838
+ print()
839
+ print("**Naming Format Variables:**")
840
+ print("- `{date}` - Formatted date (per dateFormat)")
841
+ print("- `{issue}` - Issue ID with prefix")
842
+ print("- `{slug}` - Descriptive slug from branch or input")
843
+ print()
844
+ print("**Language Settings:**")
845
+ print("- `thinkingLanguage` - Language for internal reasoning (\"en\" recommended)")
846
+ print("- `responseLanguage` - Language for user-facing output (\"vi\", \"fr\", etc.)")
847
+ print()
848
+ print("When both are set, Claude thinks in one language but responds in another.")
849
+ print("This improves precision (English) while maintaining natural output (your language).")
850
+ print()
851
+ print("**Plan Validation:**")
852
+ print("- `mode: \"prompt\"` - Ask user after plan creation (default)")
853
+ print("- `mode: \"auto\"` - Always run validation interview")
854
+ print("- `mode: \"off\"` - Skip; user runs `/plan:validate` manually")
855
+ print()
856
+ print("Validation interviews the user with critical questions to confirm")
857
+ print("assumptions, risks, and architectural decisions before implementation.")
858
+ print()
859
+ print("**Coding Level (Adaptive Communication):**")
860
+ print("- `-1` = Disabled (default) - no injection, saves tokens")
861
+ print("- `0` = ELI5 - analogies, baby steps, check-ins")
862
+ print("- `1` = Junior - WHY before HOW, pitfalls, takeaways")
863
+ print("- `2` = Mid-Level - patterns, trade-offs, scalability")
864
+ print("- `3` = Senior - trade-offs table, production code, ops")
865
+ print("- `4` = Tech Lead - executive summary, risk matrix, business impact")
866
+ print("- `5` = God Mode - code first, minimal prose, no hand-holding")
867
+ print()
868
+ print("Guidelines auto-inject on session start. Commands like `/brainstorm` respect them.")
869
+ print()
870
+ print("---")
871
+ print()
872
+ print("## Edge Cases & Validation")
873
+ print()
874
+ print("**Path Handling:**")
875
+ print("- Trailing slashes normalized (`plans/` → `plans`)")
876
+ print("- Empty/whitespace-only paths fall back to defaults")
877
+ print("- Absolute paths supported (e.g., `/home/user/all-plans`)")
878
+ print("- Path traversal (`../`) blocked for relative paths")
879
+ print("- Null bytes and control chars rejected")
880
+ print()
881
+ print("**Slug Sanitization:**")
882
+ print("- Invalid filename chars removed: `< > : \" / \\ | ? *`")
883
+ print("- Non-alphanumeric replaced with hyphen")
884
+ print("- Multiple hyphens collapsed: `foo---bar` → `foo-bar`")
885
+ print("- Leading/trailing hyphens removed")
886
+ print("- Max 100 chars to prevent filesystem issues")
887
+ print()
888
+ print("**Naming Pattern Validation:**")
889
+ print("- Pattern must contain `{slug}` placeholder")
890
+ print("- Result must be non-empty after variable substitution")
891
+ print("- Unresolved placeholders (except `{slug}`) trigger error")
892
+ print("- Malformed JSON config falls back to defaults")
893
+ print()
894
+ print("**Consolidated Plans (advanced):**")
895
+ print("```json")
896
+ print('{')
897
+ print(' "paths": {')
898
+ print(' "plans": "/home/user/all-my-plans"')
899
+ print(' }')
900
+ print('}')
901
+ print("```")
902
+ print("Absolute paths allow storing all plans in one location across projects.")
903
+ print()
904
+ print("---")
905
+ print()
906
+ print("## Examples")
907
+ print()
908
+ print("**Global install user (fresh directories work):**")
909
+ print("```bash")
910
+ print("# ~/.claude/.ck.json - applies everywhere")
911
+ print("cd /tmp/new-project && claude # Uses global config")
912
+ print("```")
913
+ print()
914
+ print("**Project with local override:**")
915
+ print("```bash")
916
+ print("# Global: issuePrefix = \"GH-\"")
917
+ print("# Local (.claude/.ck.json): issuePrefix = \"JIRA-\"")
918
+ print("# Result: issuePrefix = \"JIRA-\" (local wins)")
919
+ print("```")
920
+ print()
921
+ print("**Deep merge behavior:**")
922
+ print("```")
923
+ print("Global: { plan: { issuePrefix: \"GH-\", dateFormat: \"YYMMDD\" } }")
924
+ print("Local: { plan: { issuePrefix: \"JIRA-\" } }")
925
+ print("Result: { plan: { issuePrefix: \"JIRA-\", dateFormat: \"YYMMDD\" } }")
926
+ print("```")
927
+ print()
928
+ print("*Tip: Config is optional - all fields have sensible defaults.*")
929
+
930
+
931
+ def show_coding_level_guide() -> None:
932
+ """Display comprehensive codingLevel configuration guide."""
933
+ emit_output_type("comprehensive-docs")
934
+
935
+ print("# Coding Level (Adaptive Communication)")
936
+ print()
937
+ print("Adjusts Claude's communication style based on user's experience level.")
938
+ print("Guidelines auto-inject on SessionStart. Commands respect them.")
939
+ print()
940
+ print("---")
941
+ print()
942
+ print("## Levels")
943
+ print()
944
+ print("| Level | Name | Description |")
945
+ print("|-------|------|-------------|")
946
+ print("| **-1** | **Disabled** | Default - no injection, saves tokens |")
947
+ print("| 0 | ELI5 | Zero experience - analogies, baby steps, check-ins |")
948
+ print("| 1 | Junior | 0-2 years - WHY before HOW, pitfalls, takeaways |")
949
+ print("| 2 | Mid-Level | 3-5 years - patterns, trade-offs, scalability |")
950
+ print("| 3 | Senior | 5-8 years - trade-offs table, production code, ops |")
951
+ print("| 4 | Tech Lead | 8-15 years - executive summary, risk matrix, strategy |")
952
+ print("| 5 | God Mode | 15+ years - code first, minimal prose, no fluff |")
953
+ print()
954
+ print("---")
955
+ print()
956
+ print("## Configuration")
957
+ print()
958
+ print("**Set in `.ck.json`:**")
959
+ print("```json")
960
+ print('{')
961
+ print(' "codingLevel": 0')
962
+ print('}')
963
+ print("```")
964
+ print()
965
+ print("**Location (cascading):**")
966
+ print("- Global: `~/.claude/.ck.json` - personal preference")
967
+ print("- Local: `./.claude/.ck.json` - project override")
968
+ print()
969
+ print("---")
970
+ print()
971
+ print("## How It Works")
972
+ print()
973
+ print("1. SessionStart hook reads `codingLevel` from `.ck.json`")
974
+ print("2. If 0-5, injects guidelines from `.claude/output-styles/coding-level-*.md`")
975
+ print("3. Commands like `/brainstorm` follow the injected guidelines")
976
+ print()
977
+ print("**Token Efficiency:**")
978
+ print("- `-1` (default): Zero injection, zero overhead")
979
+ print("- `0-5`: Only selected level's guidelines injected (not all)")
980
+ print()
981
+ print("---")
982
+ print()
983
+ print("## Level Details")
984
+ print()
985
+ print("### Level 0 (ELI5)")
986
+ print("- **MUST** use real-world analogies (labeled boxes, recipes)")
987
+ print("- **MUST** define every technical term")
988
+ print("- **MUST** use \"we\" language")
989
+ print("- **MUST** end with check-in: \"Does this make sense?\"")
990
+ print("- **MUST** comment every line of code")
991
+ print("- Structure: Big Picture → Analogy → Baby Steps → Try It → Check-In")
992
+ print()
993
+ print("### Level 1 (Junior)")
994
+ print("- Explain WHY before HOW")
995
+ print("- Define technical terms on first use")
996
+ print("- Include common pitfalls section")
997
+ print("- Add Key Takeaways and Learn More links")
998
+ print("- Structure: Context → Approach → Implementation → Pitfalls → Takeaways")
999
+ print()
1000
+ print("### Level 2 (Mid-Level)")
1001
+ print("- Discuss design patterns and when to use them")
1002
+ print("- Highlight trade-offs explicitly")
1003
+ print("- Consider scalability implications")
1004
+ print("- Reference patterns by name")
1005
+ print("- Structure: Approach → Design → Implementation → Edge Cases")
1006
+ print()
1007
+ print("### Level 3 (Senior)")
1008
+ print("- Lead with trade-offs table")
1009
+ print("- Show production-ready code")
1010
+ print("- Discuss operational concerns (monitoring, logging)")
1011
+ print("- Flag security implications")
1012
+ print("- **NEVER** explain basic concepts")
1013
+ print("- Structure: Trade-offs → Implementation → Ops → Security")
1014
+ print()
1015
+ print("### Level 4 (Tech Lead)")
1016
+ print("- Executive summary first (3-4 sentences)")
1017
+ print("- Risk assessment matrix (Likelihood × Impact)")
1018
+ print("- Strategic options comparison")
1019
+ print("- Business impact analysis")
1020
+ print("- Identify decisions needing stakeholder alignment")
1021
+ print("- Structure: Summary → Risks → Options → Approach → Business Impact")
1022
+ print()
1023
+ print("### Level 5 (God Mode)")
1024
+ print("- Answer exactly what was asked, nothing more")
1025
+ print("- Code first, minimal prose")
1026
+ print("- No explanations unless asked")
1027
+ print("- **NEVER** use filler phrases")
1028
+ print("- Trust their judgment completely")
1029
+ print()
1030
+ print("---")
1031
+ print()
1032
+ print("## Customization")
1033
+ print()
1034
+ print("Guidelines live in `.claude/output-styles/coding-level-*.md`")
1035
+ print("Edit these files directly to customize behavior per level.")
1036
+ print()
1037
+ print("*Tip: Use `-1` (disabled) unless you're teaching or want guided explanations.*")
1038
+
1039
+
1040
+ def main():
1041
+ # Find .claude/commands directory
1042
+ script_path = Path(__file__).resolve()
1043
+ claude_dir = script_path.parent.parent # .claude/scripts -> .claude
1044
+ commands_dir = claude_dir / "commands"
1045
+
1046
+ if not commands_dir.exists():
1047
+ print("Error: .claude/commands/ directory not found.")
1048
+ sys.exit(1)
1049
+
1050
+ # Detect prefix and discover commands
1051
+ prefix = detect_prefix(commands_dir)
1052
+ data = discover_commands(commands_dir, prefix)
1053
+
1054
+ if not data["commands"]:
1055
+ print("No commands found in .claude/commands/")
1056
+ sys.exit(1)
1057
+
1058
+ # Parse input
1059
+ args = sys.argv[1:]
1060
+ input_str = " ".join(args).strip()
1061
+
1062
+ # Special case: config documentation (not a command category)
1063
+ if input_str.lower() in ["config", "configuration", ".ck.json", "ck.json"]:
1064
+ show_config_guide()
1065
+ return
1066
+
1067
+ # Special case: coding level documentation
1068
+ if input_str.lower() in ["coding-level", "codinglevel", "coding level", "level", "eli5", "god mode"]:
1069
+ show_coding_level_guide()
1070
+ return
1071
+
1072
+ # Detect intent and route
1073
+ intent = detect_intent(input_str, list(data["categories"].keys()))
1074
+
1075
+ if intent == "overview":
1076
+ show_overview(data, prefix)
1077
+ elif intent == "category":
1078
+ show_category_guide(data, input_str, prefix)
1079
+ elif intent == "command":
1080
+ show_command(data, input_str, prefix)
1081
+ elif intent == "task":
1082
+ recommend_task(data, input_str, prefix)
1083
+ else:
1084
+ do_search(data, input_str, prefix)
1085
+
1086
+
1087
+ if __name__ == "__main__":
1088
+ main()