nemonix-cli 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 (281) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +186 -0
  3. package/dist/cli.js +6870 -0
  4. package/package.json +48 -0
  5. package/src/config/claude-code-config/.claude/commands/setup-tmux.md +0 -0
  6. package/src/config/claude-code-config/CHANGELOG.md +261 -0
  7. package/src/config/claude-code-config/README.md +1 -0
  8. package/src/config/claude-code-config/agents/action.md +36 -0
  9. package/src/config/claude-code-config/agents/clean-code-runner.md +61 -0
  10. package/src/config/claude-code-config/agents/code-reviewer.md +172 -0
  11. package/src/config/claude-code-config/agents/code-simplifier.md +49 -0
  12. package/src/config/claude-code-config/agents/explore-codebase.md +65 -0
  13. package/src/config/claude-code-config/agents/explore-docs.md +65 -0
  14. package/src/config/claude-code-config/agents/explore-fast.md +22 -0
  15. package/src/config/claude-code-config/agents/implementer.md +181 -0
  16. package/src/config/claude-code-config/agents/snipper.md +36 -0
  17. package/src/config/claude-code-config/agents/websearch.md +42 -0
  18. package/src/config/claude-code-config/commands/prompts/create-vitejs-app.md +272 -0
  19. package/src/config/claude-code-config/commands/prompts/nextjs-add-prisma-db.md +136 -0
  20. package/src/config/claude-code-config/commands/prompts/nextjs-setup-better-auth.md +173 -0
  21. package/src/config/claude-code-config/commands/prompts/nextjs-setup-project.md +200 -0
  22. package/src/config/claude-code-config/commands/prompts/prompt.md +55 -0
  23. package/src/config/claude-code-config/commands/prompts/saas-challenge-idea.md +135 -0
  24. package/src/config/claude-code-config/commands/prompts/saas-create-architecture.md +242 -0
  25. package/src/config/claude-code-config/commands/prompts/saas-create-headline.md +132 -0
  26. package/src/config/claude-code-config/commands/prompts/saas-create-landing-copywritting.md +267 -0
  27. package/src/config/claude-code-config/commands/prompts/saas-create-legals-docs.md +176 -0
  28. package/src/config/claude-code-config/commands/prompts/saas-create-logos.md +240 -0
  29. package/src/config/claude-code-config/commands/prompts/saas-create-prd.md +195 -0
  30. package/src/config/claude-code-config/commands/prompts/saas-create-tasks.md +240 -0
  31. package/src/config/claude-code-config/commands/prompts/saas-define-pricing.md +293 -0
  32. package/src/config/claude-code-config/commands/prompts/saas-find-domain-name.md +190 -0
  33. package/src/config/claude-code-config/commands/prompts/saas-implement-landing-page.md +257 -0
  34. package/src/config/claude-code-config/commands/prompts/setup-tmux.md +160 -0
  35. package/src/config/claude-code-config/commands/prompts/tools.md +148 -0
  36. package/src/config/claude-code-config/hooks/hook-post-file.ts +162 -0
  37. package/src/config/claude-code-config/scripts/.claude/skills/fix-on-my-computer/SKILL.md +81 -0
  38. package/src/config/claude-code-config/scripts/CLAUDE.md +50 -0
  39. package/src/config/claude-code-config/scripts/auto-rename-session/CLAUDE.md +59 -0
  40. package/src/config/claude-code-config/scripts/auto-rename-session/__tests__/shared.test.ts +185 -0
  41. package/src/config/claude-code-config/scripts/auto-rename-session/__tests__/title-generation.test.ts +44 -0
  42. package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/sample-transcript.jsonl +3 -0
  43. package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/transcript-short-message.jsonl +2 -0
  44. package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/transcript-with-title.jsonl +3 -0
  45. package/src/config/claude-code-config/scripts/auto-rename-session/src/index.ts +113 -0
  46. package/src/config/claude-code-config/scripts/auto-rename-session/src/rename-all.ts +148 -0
  47. package/src/config/claude-code-config/scripts/auto-rename-session/src/shared.ts +157 -0
  48. package/src/config/claude-code-config/scripts/auto-rename-session/src/worker.ts +58 -0
  49. package/src/config/claude-code-config/scripts/biome.json +37 -0
  50. package/src/config/claude-code-config/scripts/claude-code-ai/CLAUDE.md +84 -0
  51. package/src/config/claude-code-config/scripts/claude-code-ai/__tests__/claude.test.ts +19 -0
  52. package/src/config/claude-code-config/scripts/claude-code-ai/__tests__/paths.test.ts +68 -0
  53. package/src/config/claude-code-config/scripts/claude-code-ai/claude.ts +56 -0
  54. package/src/config/claude-code-config/scripts/claude-code-ai/cli.ts +46 -0
  55. package/src/config/claude-code-config/scripts/claude-code-ai/helper/credentials.ts +76 -0
  56. package/src/config/claude-code-config/scripts/claude-code-ai/helper/index.ts +9 -0
  57. package/src/config/claude-code-config/scripts/claude-code-ai/helper/paths.ts +51 -0
  58. package/src/config/claude-code-config/scripts/command-validator/CLAUDE.md +112 -0
  59. package/src/config/claude-code-config/scripts/command-validator/README.md +147 -0
  60. package/src/config/claude-code-config/scripts/command-validator/src/__tests__/validator.test.ts +99 -0
  61. package/src/config/claude-code-config/scripts/command-validator/src/cli.ts +121 -0
  62. package/src/config/claude-code-config/scripts/command-validator/src/lib/security-rules.ts +174 -0
  63. package/src/config/claude-code-config/scripts/command-validator/src/lib/types.ts +34 -0
  64. package/src/config/claude-code-config/scripts/command-validator/src/lib/validator.ts +90 -0
  65. package/src/config/claude-code-config/scripts/package.json +43 -0
  66. package/src/config/claude-code-config/scripts/statusline/CLAUDE.md +205 -0
  67. package/src/config/claude-code-config/scripts/statusline/README.md +193 -0
  68. package/src/config/claude-code-config/scripts/statusline/__tests__/context.test.ts +229 -0
  69. package/src/config/claude-code-config/scripts/statusline/__tests__/formatters.test.ts +108 -0
  70. package/src/config/claude-code-config/scripts/statusline/__tests__/statusline.test.ts +309 -0
  71. package/src/config/claude-code-config/scripts/statusline/data/.gitkeep +0 -0
  72. package/src/config/claude-code-config/scripts/statusline/defaults.json +82 -0
  73. package/src/config/claude-code-config/scripts/statusline/docs/ARCHITECTURE.md +166 -0
  74. package/src/config/claude-code-config/scripts/statusline/fixtures/mock-transcript.jsonl +4 -0
  75. package/src/config/claude-code-config/scripts/statusline/fixtures/test-input.json +35 -0
  76. package/src/config/claude-code-config/scripts/statusline/src/analyze-daily-usage.ts +151 -0
  77. package/src/config/claude-code-config/scripts/statusline/src/commands/interactive-config.ts +515 -0
  78. package/src/config/claude-code-config/scripts/statusline/src/debug-payloads.ts +195 -0
  79. package/src/config/claude-code-config/scripts/statusline/src/index.ts +224 -0
  80. package/src/config/claude-code-config/scripts/statusline/src/lib/config-types.ts +110 -0
  81. package/src/config/claude-code-config/scripts/statusline/src/lib/config.ts +21 -0
  82. package/src/config/claude-code-config/scripts/statusline/src/lib/context.ts +103 -0
  83. package/src/config/claude-code-config/scripts/statusline/src/lib/features/limits/commands/weekly-analysis.ts +108 -0
  84. package/src/config/claude-code-config/scripts/statusline/src/lib/features/limits/index.ts +111 -0
  85. package/src/config/claude-code-config/scripts/statusline/src/lib/features/limits/types.ts +15 -0
  86. package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/migrate-to-sqlite.ts +136 -0
  87. package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/spend-day.ts +79 -0
  88. package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/spend-month.ts +66 -0
  89. package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/spend-project.ts +85 -0
  90. package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/database.ts +395 -0
  91. package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/index.ts +178 -0
  92. package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/payload-logger.ts +161 -0
  93. package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/types.ts +37 -0
  94. package/src/config/claude-code-config/scripts/statusline/src/lib/formatters.ts +426 -0
  95. package/src/config/claude-code-config/scripts/statusline/src/lib/git.ts +100 -0
  96. package/src/config/claude-code-config/scripts/statusline/src/lib/menu-factories.ts +224 -0
  97. package/src/config/claude-code-config/scripts/statusline/src/lib/presets.ts +177 -0
  98. package/src/config/claude-code-config/scripts/statusline/src/lib/render-pure.ts +516 -0
  99. package/src/config/claude-code-config/scripts/statusline/src/lib/types.ts +36 -0
  100. package/src/config/claude-code-config/scripts/statusline/src/lib/utils.ts +15 -0
  101. package/src/config/claude-code-config/scripts/statusline/src/stats.ts +119 -0
  102. package/src/config/claude-code-config/scripts/statusline/src/tests/spend-v2.test.ts +377 -0
  103. package/src/config/claude-code-config/scripts/statusline/src/tools/fixed-cost-calc.ts +317 -0
  104. package/src/config/claude-code-config/scripts/statusline/statusline.config.free.json +79 -0
  105. package/src/config/claude-code-config/scripts/statusline/statusline.config.json +100 -0
  106. package/src/config/claude-code-config/scripts/statusline/test-with-fixtures.ts +37 -0
  107. package/src/config/claude-code-config/scripts/statusline/test.ts +20 -0
  108. package/src/config/claude-code-config/scripts/statusline/tsconfig.json +27 -0
  109. package/src/config/claude-code-config/scripts/tsconfig.json +27 -0
  110. package/src/config/claude-code-config/settings.json +92 -0
  111. package/src/config/claude-code-config/skills/aibuilder-create-saas/SKILL.md +176 -0
  112. package/src/config/claude-code-config/skills/aibuilder-create-saas/references/architecture-template.md +436 -0
  113. package/src/config/claude-code-config/skills/aibuilder-create-saas/references/challenge-framework.md +289 -0
  114. package/src/config/claude-code-config/skills/aibuilder-create-saas/references/discovery-framework.md +338 -0
  115. package/src/config/claude-code-config/skills/aibuilder-create-saas/references/prd-template.md +452 -0
  116. package/src/config/claude-code-config/skills/aibuilder-create-saas/references/task-template.md +263 -0
  117. package/src/config/claude-code-config/skills/aibuilder-create-saas/references/tools.md +132 -0
  118. package/src/config/claude-code-config/skills/aibuilder-create-saas/scripts/rename-project.sh +42 -0
  119. package/src/config/claude-code-config/skills/aibuilder-create-saas/scripts/setup.sh +104 -0
  120. package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-00-init.md +174 -0
  121. package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-01-discovery.md +342 -0
  122. package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-02-brainstorm.md +230 -0
  123. package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-03-validate.md +372 -0
  124. package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-04-prd.md +364 -0
  125. package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-05-architecture.md +904 -0
  126. package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-06-tasks.md +446 -0
  127. package/src/config/claude-code-config/skills/explore/SKILL.md +119 -0
  128. package/src/config/claude-code-config/skills/frontend-design/LICENSE.txt +177 -0
  129. package/src/config/claude-code-config/skills/frontend-design/SKILL.md +42 -0
  130. package/src/config/claude-code-config/skills/git-commit/SKILL.md +42 -0
  131. package/src/config/claude-code-config/skills/git-create-pr/SKILL.md +53 -0
  132. package/src/config/claude-code-config/skills/git-fix-pr-comments/SKILL.md +51 -0
  133. package/src/config/claude-code-config/skills/git-merge/SKILL.md +68 -0
  134. package/src/config/claude-code-config/skills/marketing-copywriting/SKILL.md +72 -0
  135. package/src/config/claude-code-config/skills/meta-claude-memory/SKILL.md +694 -0
  136. package/src/config/claude-code-config/skills/meta-claude-memory/references/comprehensive-example.md +175 -0
  137. package/src/config/claude-code-config/skills/meta-claude-memory/references/project-patterns.md +334 -0
  138. package/src/config/claude-code-config/skills/meta-claude-memory/references/prompting-techniques.md +411 -0
  139. package/src/config/claude-code-config/skills/meta-claude-memory/references/rules-directory-guide.md +298 -0
  140. package/src/config/claude-code-config/skills/meta-claude-memory/references/section-templates.md +347 -0
  141. package/src/config/claude-code-config/skills/meta-hooks-creator/SKILL.md +357 -0
  142. package/src/config/claude-code-config/skills/meta-hooks-creator/references/command-vs-prompt.md +287 -0
  143. package/src/config/claude-code-config/skills/meta-hooks-creator/references/examples.md +689 -0
  144. package/src/config/claude-code-config/skills/meta-hooks-creator/references/hook-types.md +495 -0
  145. package/src/config/claude-code-config/skills/meta-hooks-creator/references/input-output-schemas.md +503 -0
  146. package/src/config/claude-code-config/skills/meta-hooks-creator/references/matchers.md +517 -0
  147. package/src/config/claude-code-config/skills/meta-hooks-creator/references/troubleshooting.md +653 -0
  148. package/src/config/claude-code-config/skills/meta-prompt-creator/SKILL.md +285 -0
  149. package/src/config/claude-code-config/skills/meta-prompt-creator/references/anthropic-best-practices.md +126 -0
  150. package/src/config/claude-code-config/skills/meta-prompt-creator/references/anti-patterns.md +57 -0
  151. package/src/config/claude-code-config/skills/meta-prompt-creator/references/clarity-principles.md +54 -0
  152. package/src/config/claude-code-config/skills/meta-prompt-creator/references/context-management.md +389 -0
  153. package/src/config/claude-code-config/skills/meta-prompt-creator/references/few-shot-patterns.md +47 -0
  154. package/src/config/claude-code-config/skills/meta-prompt-creator/references/openai-best-practices.md +50 -0
  155. package/src/config/claude-code-config/skills/meta-prompt-creator/references/prompt-templates.md +110 -0
  156. package/src/config/claude-code-config/skills/meta-prompt-creator/references/reasoning-techniques.md +52 -0
  157. package/src/config/claude-code-config/skills/meta-prompt-creator/references/system-prompt-patterns.md +48 -0
  158. package/src/config/claude-code-config/skills/meta-prompt-creator/references/xml-structure.md +36 -0
  159. package/src/config/claude-code-config/skills/meta-skill-creator/LICENSE.txt +202 -0
  160. package/src/config/claude-code-config/skills/meta-skill-creator/SKILL.md +421 -0
  161. package/src/config/claude-code-config/skills/meta-skill-creator/package.json +5 -0
  162. package/src/config/claude-code-config/skills/meta-skill-creator/references/output-patterns.md +82 -0
  163. package/src/config/claude-code-config/skills/meta-skill-creator/references/progressive-disclosure-patterns.md +374 -0
  164. package/src/config/claude-code-config/skills/meta-skill-creator/references/prompting-integration.md +363 -0
  165. package/src/config/claude-code-config/skills/meta-skill-creator/references/real-world-examples.md +513 -0
  166. package/src/config/claude-code-config/skills/meta-skill-creator/references/script-patterns.md +385 -0
  167. package/src/config/claude-code-config/skills/meta-skill-creator/references/workflows.md +28 -0
  168. package/src/config/claude-code-config/skills/meta-skill-creator/references/xml-tag-guide.md +606 -0
  169. package/src/config/claude-code-config/skills/meta-skill-creator/scripts/init-skill.ts +214 -0
  170. package/src/config/claude-code-config/skills/meta-skill-creator/scripts/package-skill.ts +146 -0
  171. package/src/config/claude-code-config/skills/meta-skill-creator/scripts/validate.ts +138 -0
  172. package/src/config/claude-code-config/skills/meta-skill-workflow-creator/SKILL.md +390 -0
  173. package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/ask-patterns.md +225 -0
  174. package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/prompt-engineering.md +377 -0
  175. package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/state-management.md +275 -0
  176. package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/step-template.md +334 -0
  177. package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/workflow-patterns.md +300 -0
  178. package/src/config/claude-code-config/skills/meta-subagent-creator/SKILL.md +451 -0
  179. package/src/config/claude-code-config/skills/meta-subagent-creator/references/context-management.md +567 -0
  180. package/src/config/claude-code-config/skills/meta-subagent-creator/references/debugging-agents.md +714 -0
  181. package/src/config/claude-code-config/skills/meta-subagent-creator/references/error-handling-and-recovery.md +502 -0
  182. package/src/config/claude-code-config/skills/meta-subagent-creator/references/evaluation-and-testing.md +374 -0
  183. package/src/config/claude-code-config/skills/meta-subagent-creator/references/orchestration-patterns.md +591 -0
  184. package/src/config/claude-code-config/skills/meta-subagent-creator/references/subagents.md +599 -0
  185. package/src/config/claude-code-config/skills/meta-subagent-creator/references/writing-subagent-prompts.md +513 -0
  186. package/src/config/claude-code-config/skills/ralph-loop/SKILL.md +117 -0
  187. package/src/config/claude-code-config/skills/ralph-loop/scripts/setup.sh +278 -0
  188. package/src/config/claude-code-config/skills/ralph-loop/steps/step-00-init.md +215 -0
  189. package/src/config/claude-code-config/skills/ralph-loop/steps/step-01-interactive-prd.md +366 -0
  190. package/src/config/claude-code-config/skills/ralph-loop/steps/step-02-create-stories.md +273 -0
  191. package/src/config/claude-code-config/skills/ralph-loop/steps/step-03-finish.md +245 -0
  192. package/src/config/claude-code-config/skills/ralph-tasks/SKILL.md +88 -0
  193. package/src/config/claude-code-config/skills/ralph-tasks/scripts/add-task.sh +36 -0
  194. package/src/config/claude-code-config/skills/ralph-tasks/scripts/list-tasks.sh +66 -0
  195. package/src/config/claude-code-config/skills/ralph-tasks/scripts/remove-task.sh +47 -0
  196. package/src/config/claude-code-config/skills/ralph-tasks/scripts/setup.sh +201 -0
  197. package/src/config/claude-code-config/skills/ralph-tasks/steps/action-add-search.md +131 -0
  198. package/src/config/claude-code-config/skills/ralph-tasks/steps/action-add.md +46 -0
  199. package/src/config/claude-code-config/skills/ralph-tasks/steps/action-init.md +123 -0
  200. package/src/config/claude-code-config/skills/ralph-tasks/steps/action-list.md +58 -0
  201. package/src/config/claude-code-config/skills/ralph-tasks/steps/action-remove.md +48 -0
  202. package/src/config/claude-code-config/skills/ralph-tasks/steps/action-setup.md +46 -0
  203. package/src/config/claude-code-config/skills/ralph-tasks/steps/action-wake-up.md +62 -0
  204. package/src/config/claude-code-config/skills/utils-fix-errors/SKILL.md +61 -0
  205. package/src/config/claude-code-config/skills/utils-fix-grammar/SKILL.md +59 -0
  206. package/src/config/claude-code-config/skills/utils-oneshot/SKILL.md +56 -0
  207. package/src/config/claude-code-config/skills/utils-refactor/SKILL.md +89 -0
  208. package/src/config/claude-code-config/skills/utils-save-docs/SKILL.md +74 -0
  209. package/src/config/claude-code-config/skills/utils-ultrathink/SKILL.md +42 -0
  210. package/src/config/claude-code-config/skills/workflow-apex/SKILL.md +116 -0
  211. package/src/config/claude-code-config/skills/workflow-apex/scripts/setup-templates.sh +144 -0
  212. package/src/config/claude-code-config/skills/workflow-apex/scripts/update-progress.sh +80 -0
  213. package/src/config/claude-code-config/skills/workflow-apex/steps/step-00-init.md +273 -0
  214. package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-branch.md +126 -0
  215. package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-economy.md +244 -0
  216. package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-interactive.md +165 -0
  217. package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-save.md +123 -0
  218. package/src/config/claude-code-config/skills/workflow-apex/steps/step-01-analyze.md +361 -0
  219. package/src/config/claude-code-config/skills/workflow-apex/steps/step-02-plan.md +422 -0
  220. package/src/config/claude-code-config/skills/workflow-apex/steps/step-02b-tasks.md +301 -0
  221. package/src/config/claude-code-config/skills/workflow-apex/steps/step-03-execute-teams.md +297 -0
  222. package/src/config/claude-code-config/skills/workflow-apex/steps/step-03-execute.md +239 -0
  223. package/src/config/claude-code-config/skills/workflow-apex/steps/step-04-validate.md +264 -0
  224. package/src/config/claude-code-config/skills/workflow-apex/steps/step-05-examine.md +294 -0
  225. package/src/config/claude-code-config/skills/workflow-apex/steps/step-06-resolve.md +237 -0
  226. package/src/config/claude-code-config/skills/workflow-apex/steps/step-07-tests.md +250 -0
  227. package/src/config/claude-code-config/skills/workflow-apex/steps/step-08-run-tests.md +308 -0
  228. package/src/config/claude-code-config/skills/workflow-apex/steps/step-09-finish.md +193 -0
  229. package/src/config/claude-code-config/skills/workflow-apex/templates/00-context.md +53 -0
  230. package/src/config/claude-code-config/skills/workflow-apex/templates/01-analyze.md +10 -0
  231. package/src/config/claude-code-config/skills/workflow-apex/templates/02-plan.md +10 -0
  232. package/src/config/claude-code-config/skills/workflow-apex/templates/03-execute.md +10 -0
  233. package/src/config/claude-code-config/skills/workflow-apex/templates/04-validate.md +10 -0
  234. package/src/config/claude-code-config/skills/workflow-apex/templates/05-examine.md +10 -0
  235. package/src/config/claude-code-config/skills/workflow-apex/templates/06-resolve.md +10 -0
  236. package/src/config/claude-code-config/skills/workflow-apex/templates/07-tests.md +10 -0
  237. package/src/config/claude-code-config/skills/workflow-apex/templates/08-run-tests.md +10 -0
  238. package/src/config/claude-code-config/skills/workflow-apex/templates/09-finish.md +10 -0
  239. package/src/config/claude-code-config/skills/workflow-apex/templates/README.md +195 -0
  240. package/src/config/claude-code-config/skills/workflow-apex/templates/step-complete.md +7 -0
  241. package/src/config/claude-code-config/skills/workflow-brainstorm/SKILL.md +127 -0
  242. package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-01-explore.md +230 -0
  243. package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-02-challenge.md +238 -0
  244. package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-03-synthesize.md +337 -0
  245. package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-04-action.md +285 -0
  246. package/src/config/claude-code-config/skills/workflow-ci-fixer/SKILL.md +150 -0
  247. package/src/config/claude-code-config/skills/workflow-ci-fixer/references/cli-commands.md +122 -0
  248. package/src/config/claude-code-config/skills/workflow-ci-fixer/references/github-cli.md +243 -0
  249. package/src/config/claude-code-config/skills/workflow-ci-fixer/references/troubleshooting.md +362 -0
  250. package/src/config/claude-code-config/skills/workflow-ci-fixer/references/vercel-cli.md +192 -0
  251. package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-00-init.md +157 -0
  252. package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-01-watch-ci.md +192 -0
  253. package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-02-analyze-errors.md +263 -0
  254. package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-03-fix-locally.md +312 -0
  255. package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-04-commit-push.md +206 -0
  256. package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-05-cleanup.md +196 -0
  257. package/src/config/claude-code-config/skills/workflow-clean-code/SKILL.md +129 -0
  258. package/src/config/claude-code-config/skills/workflow-clean-code/references/general-clean-code.md +347 -0
  259. package/src/config/claude-code-config/skills/workflow-clean-code/references/nextjs-clean-code.md +458 -0
  260. package/src/config/claude-code-config/skills/workflow-clean-code/references/react-clean-code.md +406 -0
  261. package/src/config/claude-code-config/skills/workflow-clean-code/references/tanstack-query-best-practices.md +516 -0
  262. package/src/config/claude-code-config/skills/workflow-clean-code/references/zustand-best-practices.md +491 -0
  263. package/src/config/claude-code-config/skills/workflow-clean-code/steps/step-01-scan.md +137 -0
  264. package/src/config/claude-code-config/skills/workflow-clean-code/steps/step-02-apply.md +152 -0
  265. package/src/config/claude-code-config/skills/workflow-clean-code/steps/step-03-verify.md +143 -0
  266. package/src/config/claude-code-config/skills/workflow-debug/SKILL.md +126 -0
  267. package/src/config/claude-code-config/skills/workflow-debug/references/log-technique.md +285 -0
  268. package/src/config/claude-code-config/skills/workflow-debug/steps/step-00-init.md +94 -0
  269. package/src/config/claude-code-config/skills/workflow-debug/steps/step-01-analyze.md +180 -0
  270. package/src/config/claude-code-config/skills/workflow-debug/steps/step-01b-log-instrumentation.md +271 -0
  271. package/src/config/claude-code-config/skills/workflow-debug/steps/step-02-find-solutions.md +141 -0
  272. package/src/config/claude-code-config/skills/workflow-debug/steps/step-03-propose.md +142 -0
  273. package/src/config/claude-code-config/skills/workflow-debug/steps/step-04-fix.md +176 -0
  274. package/src/config/claude-code-config/skills/workflow-debug/steps/step-05-verify.md +279 -0
  275. package/src/config/claude-code-config/skills/workflow-review-code/SKILL.md +219 -0
  276. package/src/config/claude-code-config/skills/workflow-review-code/references/clean-code-principles.md +140 -0
  277. package/src/config/claude-code-config/skills/workflow-review-code/references/code-quality-metrics.md +174 -0
  278. package/src/config/claude-code-config/skills/workflow-review-code/references/feedback-patterns.md +149 -0
  279. package/src/config/claude-code-config/skills/workflow-review-code/references/security-checklist.md +127 -0
  280. package/src/config/claude-code-config/song/finish.mp3 +0 -0
  281. package/src/config/claude-code-config/song/need-human.mp3 +0 -0
@@ -0,0 +1,347 @@
1
+ <section_templates>
2
+ Copy and adapt these section templates for your CLAUDE.md file.
3
+
4
+ <tech_stack_templates>
5
+ <minimal>
6
+ ```markdown
7
+ ## Tech Stack
8
+ - Next.js 15 + TypeScript
9
+ - PostgreSQL via Prisma
10
+ - TailwindCSS
11
+ ```
12
+ </minimal>
13
+
14
+ <detailed>
15
+ ```markdown
16
+ ## Tech Stack
17
+ - **Framework**: Next.js 15 with App Router
18
+ - **Language**: TypeScript (strict mode)
19
+ - **Styling**: TailwindCSS v4 + shadcn/ui
20
+ - **Database**: PostgreSQL with Prisma ORM
21
+ - **Auth**: [Auth solution]
22
+ - **Testing**: Vitest (unit), Playwright (e2e)
23
+ - **Package Manager**: pnpm
24
+ ```
25
+ </detailed>
26
+
27
+ <with_infrastructure>
28
+ ```markdown
29
+ ## Tech Stack
30
+
31
+ ### Application
32
+ - Next.js 15 + TypeScript
33
+ - PostgreSQL via Prisma
34
+ - Redis for caching/queues
35
+
36
+ ### Infrastructure
37
+ - Vercel (hosting)
38
+ - Neon (database)
39
+ - Upstash (Redis)
40
+
41
+ ### Monitoring
42
+ - Sentry (errors)
43
+ - Vercel Analytics
44
+ ```
45
+ </with_infrastructure>
46
+ </tech_stack_templates>
47
+
48
+ <commands_templates>
49
+ <minimal>
50
+ ```markdown
51
+ ## Commands
52
+ - `pnpm dev` - Development
53
+ - `pnpm test` - Run tests
54
+ - `pnpm build` - Production build
55
+ ```
56
+ </minimal>
57
+
58
+ <categorized>
59
+ ```markdown
60
+ ## Commands
61
+
62
+ ### Development
63
+ - `pnpm dev` - Start dev server
64
+ - `pnpm build` - Production build
65
+ - `pnpm start` - Start production
66
+
67
+ ### Quality
68
+ - `pnpm lint` - ESLint
69
+ - `pnpm ts` - Type check
70
+ - `pnpm format` - Prettier
71
+
72
+ ### Testing
73
+ - `pnpm test:ci` - Unit tests
74
+ - `pnpm test:e2e:ci` - E2E tests
75
+
76
+ ### Database
77
+ - `pnpm db:push` - Push schema
78
+ - `pnpm db:seed` - Seed data
79
+ ```
80
+ </categorized>
81
+
82
+ <with_warnings>
83
+ ```markdown
84
+ ## Commands
85
+
86
+ ### Development
87
+ - `pnpm dev` - Start dev server
88
+ - `pnpm build` - Production build
89
+
90
+ ### Testing
91
+ **CRITICAL - Use CI commands only:**
92
+ - `pnpm test:ci` - Unit tests (non-interactive)
93
+ - `pnpm test:e2e:ci` - E2E tests (headless)
94
+
95
+ **NEVER use:**
96
+ - ~~`pnpm test`~~ - Interactive mode
97
+ - ~~`pnpm test:e2e`~~ - Interactive mode
98
+ ```
99
+ </with_warnings>
100
+ </commands_templates>
101
+
102
+ <directory_structure_templates>
103
+ <simple>
104
+ ```markdown
105
+ ## Directory Structure
106
+ ```
107
+ src/
108
+ ├── components/ # UI components
109
+ ├── lib/ # Utilities
110
+ ├── hooks/ # React hooks
111
+ └── styles/ # CSS
112
+ ```
113
+ ```
114
+ </simple>
115
+
116
+ <feature_based>
117
+ ```markdown
118
+ ## Directory Structure
119
+ ```
120
+ src/
121
+ ├── features/
122
+ │ ├── auth/ # Authentication
123
+ │ ├── dashboard/ # Dashboard views
124
+ │ └── settings/ # User settings
125
+ ├── components/
126
+ │ ├── ui/ # shadcn components
127
+ │ └── shared/ # Shared components
128
+ ├── lib/ # Utilities
129
+ └── hooks/ # React hooks
130
+ ```
131
+ ```
132
+ </feature_based>
133
+
134
+ <monorepo>
135
+ ```markdown
136
+ ## Directory Structure
137
+ ```
138
+ apps/
139
+ ├── web/ # Next.js frontend
140
+ ├── api/ # Node.js backend
141
+ └── admin/ # Admin dashboard
142
+ packages/
143
+ ├── ui/ # Shared components
144
+ ├── config/ # Shared config
145
+ └── types/ # Shared types
146
+ ```
147
+ ```
148
+ </monorepo>
149
+ </directory_structure_templates>
150
+
151
+ <conventions_templates>
152
+ <minimal>
153
+ ```markdown
154
+ ## Conventions
155
+ - TypeScript strict mode
156
+ - ESLint + Prettier configured
157
+ - Conventional commits
158
+ ```
159
+ </minimal>
160
+
161
+ <detailed>
162
+ ```markdown
163
+ ## Code Conventions
164
+
165
+ ### TypeScript
166
+ - Use `type` over `interface`
167
+ - No `any` types
168
+ - Strict mode enabled
169
+
170
+ ### React
171
+ - Prefer Server Components
172
+ - Client components only for interactivity
173
+ - Components under 300 lines
174
+
175
+ ### Naming
176
+ - camelCase for variables/functions
177
+ - PascalCase for components/types
178
+ - kebab-case for files
179
+ ```
180
+ </detailed>
181
+
182
+ <with_critical_rules>
183
+ ```markdown
184
+ ## Code Conventions
185
+
186
+ ### TypeScript
187
+ - Strict mode enabled
188
+ - No `any` types
189
+
190
+ ### Forms
191
+ **CRITICAL**: Use TanStack Form for ALL forms
192
+ - Import from `@/features/form/tanstack-form`
193
+ - **NEVER** use React Hook Form directly
194
+
195
+ ### Server Actions
196
+ - All actions use `safe-actions.ts`
197
+ - Suffix files with `.action.ts`
198
+ ```
199
+ </with_critical_rules>
200
+ </conventions_templates>
201
+
202
+ <git_workflow_templates>
203
+ <simple>
204
+ ```markdown
205
+ ## Git Workflow
206
+ - Branch: `feature/name` or `fix/name`
207
+ - Conventional commits (feat:, fix:, refactor:)
208
+ - PRs required for all changes
209
+ ```
210
+ </simple>
211
+
212
+ <detailed>
213
+ ```markdown
214
+ ## Git Workflow
215
+
216
+ ### Branches
217
+ - `main` - Production
218
+ - `develop` - Integration
219
+ - `feature/*` - New features
220
+ - `fix/*` - Bug fixes
221
+ - `hotfix/*` - Production fixes
222
+
223
+ ### Commits
224
+ Format: `type(scope): description`
225
+ - `feat`: New feature
226
+ - `fix`: Bug fix
227
+ - `refactor`: Code change
228
+ - `docs`: Documentation
229
+ - `test`: Tests
230
+
231
+ ### Pull Requests
232
+ - Create from feature branch to develop
233
+ - Require 1 approval
234
+ - Must pass CI checks
235
+ - Squash merge preferred
236
+ ```
237
+ </detailed>
238
+ </git_workflow_templates>
239
+
240
+ <important_files_templates>
241
+ <simple>
242
+ ```markdown
243
+ ## Key Files
244
+ - `src/lib/auth.ts` - Auth config
245
+ - `src/lib/db.ts` - Database client
246
+ - `prisma/schema.prisma` - DB schema
247
+ ```
248
+ </simple>
249
+
250
+ <with_descriptions>
251
+ ```markdown
252
+ ## Important Files
253
+
254
+ ### Configuration
255
+ - `src/lib/auth.ts` - Authentication setup
256
+ - `src/lib/db.ts` - Prisma client
257
+ - `src/site-config.ts` - Site metadata
258
+
259
+ ### Patterns
260
+ - `src/features/form/tanstack-form.tsx` - Form utilities (**use for all forms**)
261
+ - `src/lib/actions/safe-actions.ts` - Server action wrapper
262
+
263
+ ### Database
264
+ - `prisma/schema.prisma` - Main schema
265
+ - `prisma/seed.ts` - Seed data
266
+ ```
267
+ </with_descriptions>
268
+ </important_files_templates>
269
+
270
+ <testing_templates>
271
+ <minimal>
272
+ ```markdown
273
+ ## Testing
274
+ - Run `pnpm test` before committing
275
+ - Write tests for new features
276
+ ```
277
+ </minimal>
278
+
279
+ <detailed>
280
+ ```markdown
281
+ ## Testing
282
+
283
+ ### Unit Tests
284
+ - Location: `__tests__/`
285
+ - Framework: Vitest + Testing Library
286
+ - Run: `pnpm test:ci`
287
+
288
+ ### E2E Tests
289
+ - Location: `e2e/`
290
+ - Framework: Playwright
291
+ - Run: `pnpm test:e2e:ci`
292
+
293
+ ### Requirements
294
+ - All new features require tests
295
+ - Target 80% coverage
296
+ - Run tests before pushing
297
+ ```
298
+ </detailed>
299
+ </testing_templates>
300
+
301
+ <security_templates>
302
+ ```markdown
303
+ ## Security
304
+
305
+ **NEVER commit:**
306
+ - `.env` files
307
+ - API keys or secrets
308
+ - Database credentials
309
+ - Private tokens
310
+
311
+ **Always:**
312
+ - Use environment variables
313
+ - Store secrets in `.env.local`
314
+ - Check `.gitignore` before committing
315
+ ```
316
+ </security_templates>
317
+ </section_templates>
318
+
319
+ <combination_tips>
320
+ <minimal_project>
321
+ For small projects, combine into fewer sections:
322
+
323
+ ```markdown
324
+ # Project Name
325
+
326
+ ## Stack & Commands
327
+ - Next.js + TypeScript
328
+ - `pnpm dev` / `pnpm test` / `pnpm build`
329
+
330
+ ## Conventions
331
+ - ESLint/Prettier configured
332
+ - Run tests before pushing
333
+ - Never commit .env files
334
+ ```
335
+ </minimal_project>
336
+
337
+ <large_project>
338
+ For large projects, use all relevant sections but keep each concise. Link to external docs for details:
339
+
340
+ ```markdown
341
+ ## Detailed Guides
342
+ - Architecture: See [docs/architecture.md](docs/architecture.md)
343
+ - API patterns: See [docs/api.md](docs/api.md)
344
+ - Testing: See [docs/testing.md](docs/testing.md)
345
+ ```
346
+ </large_project>
347
+ </combination_tips>
@@ -0,0 +1,357 @@
1
+ ---
2
+ name: hook-creator
3
+ description: Expert guidance for creating, configuring, and using Claude Code hooks. Use when working with hooks, setting up event listeners, validating commands, automating workflows, adding notifications, or understanding hook types (PreToolUse, PostToolUse, Stop, SessionStart, UserPromptSubmit, etc).
4
+ ---
5
+
6
+ <objective>
7
+ Hooks are event-driven automation for Claude Code that execute shell commands or LLM prompts in response to tool usage, session events, and user interactions. This skill teaches you how to create, configure, and debug hooks for validating commands, automating workflows, injecting context, and implementing custom completion criteria.
8
+
9
+ Hooks provide programmatic control over Claude's behavior without modifying core code, enabling project-specific automation, safety checks, and workflow customization.
10
+ </objective>
11
+
12
+ <context>
13
+ Hooks are shell commands or LLM-evaluated prompts that execute in response to Claude Code events. They operate within an event hierarchy: events (PreToolUse, PostToolUse, Stop, etc.) trigger matchers (tool patterns) which fire hooks (commands or prompts). Hooks can block actions, modify tool inputs, inject context, or simply observe and log Claude's operations.
14
+ </context>
15
+
16
+ <quick_start>
17
+ <workflow>
18
+
19
+ 1. Create hooks config file:
20
+ - Project: `.claude/hooks.json`
21
+ - User: `~/.claude/hooks.json`
22
+ 2. Choose hook event (when it fires)
23
+ 3. Choose hook type (command or prompt)
24
+ 4. Configure matcher (which tools trigger it)
25
+ 5. Test with `claude --debug`
26
+ </workflow>
27
+
28
+ <example>
29
+ **Log all bash commands**:
30
+
31
+ `.claude/hooks.json`:
32
+
33
+ ```json
34
+ {
35
+ "hooks": {
36
+ "PreToolUse": [
37
+ {
38
+ "matcher": "Bash",
39
+ "hooks": [
40
+ {
41
+ "type": "command",
42
+ "command": "jq -r '\"\\(.tool_input.command) - \\(.tool_input.description // \\\"No description\\\")\"' >> ~/.claude/bash-log.txt"
43
+ }
44
+ ]
45
+ }
46
+ ]
47
+ }
48
+ }
49
+ ```
50
+
51
+ This hook:
52
+
53
+ - Fires before (`PreToolUse`) every `Bash` tool use
54
+ - Executes a `command` (not an LLM prompt)
55
+ - Logs command + description to a file
56
+ </example>
57
+ </quick_start>
58
+
59
+ <hook_types>
60
+ | Event | When it fires | Can block? |
61
+ |-------|---------------|------------|
62
+ | **PreToolUse** | Before tool execution | Yes |
63
+ | **PostToolUse** | After tool execution | No |
64
+ | **UserPromptSubmit** | User submits a prompt | Yes |
65
+ | **Stop** | Claude attempts to stop | Yes |
66
+ | **SubagentStop** | Subagent attempts to stop | Yes |
67
+ | **SessionStart** | Session begins | No |
68
+ | **SessionEnd** | Session ends | No |
69
+ | **PreCompact** | Before context compaction | Yes |
70
+ | **Notification** | Claude needs input | No |
71
+
72
+ Blocking hooks can return `"decision": "block"` to prevent the action. See [references/hook-types.md](references/hook-types.md) for detailed use cases.
73
+ </hook_types>
74
+
75
+ <hook_anatomy>
76
+ <hook_type name="command">
77
+ **Type**: Executes a shell command
78
+
79
+ **Use when**:
80
+
81
+ - Simple validation (check file exists)
82
+ - Logging (append to file)
83
+ - External tools (formatters, linters)
84
+ - Desktop notifications
85
+
86
+ **Input**: JSON via stdin
87
+ **Output**: JSON via stdout (optional)
88
+
89
+ ```json
90
+ {
91
+ "type": "command",
92
+ "command": "/path/to/script.sh",
93
+ "timeout": 30000
94
+ }
95
+ ```
96
+
97
+ </hook_type>
98
+
99
+ <hook_type name="prompt">
100
+ **Type**: LLM evaluates a prompt
101
+
102
+ **Use when**:
103
+
104
+ - Complex decision logic
105
+ - Natural language validation
106
+ - Context-aware checks
107
+ - Reasoning required
108
+
109
+ **Input**: Prompt with `#$ARGUMENTS` placeholder
110
+ **Output**: JSON with `decision` and `reason`
111
+
112
+ ```json
113
+ {
114
+ "type": "prompt",
115
+ "prompt": "Evaluate if this command is safe: #$ARGUMENTS\n\nReturn JSON: {\"decision\": \"approve\" or \"block\", \"reason\": \"explanation\"}"
116
+ }
117
+ ```
118
+
119
+ </hook_type>
120
+ </hook_anatomy>
121
+
122
+ <matchers>
123
+ Matchers filter which tools trigger the hook:
124
+
125
+ ```json
126
+ {
127
+ "matcher": "Bash", // Exact match
128
+ "matcher": "Write|Edit", // Multiple tools (regex OR)
129
+ "matcher": "mcp__.*", // All MCP tools
130
+ "matcher": "mcp__memory__.*" // Specific MCP server
131
+ }
132
+ ```
133
+
134
+ **No matcher**: Hook fires for all tools
135
+
136
+ ```json
137
+ {
138
+ "hooks": {
139
+ "UserPromptSubmit": [
140
+ {
141
+ "hooks": [...] // No matcher - fires on every user prompt
142
+ }
143
+ ]
144
+ }
145
+ }
146
+ ```
147
+
148
+ </matchers>
149
+
150
+ <input_output>
151
+ Hooks receive JSON via stdin with session info, current directory, and event-specific data. Blocking hooks can return JSON to approve/block actions or modify inputs.
152
+
153
+ **Example output** (blocking hooks):
154
+
155
+ ```json
156
+ {
157
+ "decision": "approve" | "block",
158
+ "reason": "Why this decision was made"
159
+ }
160
+ ```
161
+
162
+ See [references/input-output-schemas.md](references/input-output-schemas.md) for complete schemas for each hook type.
163
+ </input_output>
164
+
165
+ <environment_variables>
166
+ Available in hook commands:
167
+
168
+ | Variable | Value |
169
+ | ----------------------- | ------------------------------------ |
170
+ | `$CLAUDE_PROJECT_DIR` | Project root directory |
171
+ | `${CLAUDE_PLUGIN_ROOT}` | Plugin directory (plugin hooks only) |
172
+ | `#$ARGUMENTS` | Hook input JSON (prompt hooks only) |
173
+
174
+ **Example**:
175
+
176
+ ```json
177
+ {
178
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/validate.sh"
179
+ }
180
+ ```
181
+
182
+ </environment_variables>
183
+
184
+ <common_patterns>
185
+ **Desktop notification when input needed**:
186
+
187
+ ```json
188
+ {
189
+ "hooks": {
190
+ "Notification": [
191
+ {
192
+ "hooks": [
193
+ {
194
+ "type": "command",
195
+ "command": "osascript -e 'display notification \"Claude needs input\" with title \"Claude Code\"'"
196
+ }
197
+ ]
198
+ }
199
+ ]
200
+ }
201
+ }
202
+ ```
203
+
204
+ **Block destructive git commands**:
205
+
206
+ ```json
207
+ {
208
+ "hooks": {
209
+ "PreToolUse": [
210
+ {
211
+ "matcher": "Bash",
212
+ "hooks": [
213
+ {
214
+ "type": "prompt",
215
+ "prompt": "Check if this command is destructive: #$ARGUMENTS\n\nBlock if it contains: 'git push --force', 'rm -rf', 'git reset --hard'\n\nReturn: {\"decision\": \"approve\" or \"block\", \"reason\": \"explanation\"}"
216
+ }
217
+ ]
218
+ }
219
+ ]
220
+ }
221
+ }
222
+ ```
223
+
224
+ **Auto-format code after edits**:
225
+
226
+ ```json
227
+ {
228
+ "hooks": {
229
+ "PostToolUse": [
230
+ {
231
+ "matcher": "Write|Edit",
232
+ "hooks": [
233
+ {
234
+ "type": "command",
235
+ "command": "prettier --write $CLAUDE_PROJECT_DIR",
236
+ "timeout": 10000
237
+ }
238
+ ]
239
+ }
240
+ ]
241
+ }
242
+ }
243
+ ```
244
+
245
+ **Add context at session start**:
246
+
247
+ ```json
248
+ {
249
+ "hooks": {
250
+ "SessionStart": [
251
+ {
252
+ "hooks": [
253
+ {
254
+ "type": "command",
255
+ "command": "echo '{\"hookSpecificOutput\": {\"hookEventName\": \"SessionStart\", \"additionalContext\": \"Current sprint: Sprint 23. Focus: User authentication\"}}'"
256
+ }
257
+ ]
258
+ }
259
+ ]
260
+ }
261
+ }
262
+ ```
263
+
264
+ </common_patterns>
265
+
266
+ <debugging>
267
+ Always test hooks with the debug flag:
268
+ ```bash
269
+ claude --debug
270
+ ```
271
+
272
+ This shows which hooks matched, command execution, and output. See [references/troubleshooting.md](references/troubleshooting.md) for common issues and solutions.
273
+ </debugging>
274
+
275
+ <reference_guides>
276
+ **Hook types and events**: [references/hook-types.md](references/hook-types.md)
277
+
278
+ - Complete list of hook events
279
+ - When each event fires
280
+ - Input/output schemas for each
281
+ - Blocking vs non-blocking hooks
282
+
283
+ **Command vs Prompt hooks**: [references/command-vs-prompt.md](references/command-vs-prompt.md)
284
+
285
+ - Decision tree: which type to use
286
+ - Command hook patterns and examples
287
+ - Prompt hook patterns and examples
288
+ - Performance considerations
289
+
290
+ **Matchers and patterns**: [references/matchers.md](references/matchers.md)
291
+
292
+ - Regex patterns for tool matching
293
+ - MCP tool matching patterns
294
+ - Multiple tool matching
295
+ - Debugging matcher issues
296
+
297
+ **Input/Output schemas**: [references/input-output-schemas.md](references/input-output-schemas.md)
298
+
299
+ - Complete schema for each hook type
300
+ - Field descriptions and types
301
+ - Hook-specific output fields
302
+ - Example JSON for each event
303
+
304
+ **Working examples**: [references/examples.md](references/examples.md)
305
+
306
+ - Desktop notifications
307
+ - Command validation
308
+ - Auto-formatting workflows
309
+ - Logging and audit trails
310
+ - Stop logic patterns
311
+ - Session context injection
312
+
313
+ **Troubleshooting**: [references/troubleshooting.md](references/troubleshooting.md)
314
+
315
+ - Hooks not triggering
316
+ - Command execution failures
317
+ - Prompt hook issues
318
+ - Permission problems
319
+ - Timeout handling
320
+ - Debug workflow
321
+ </reference_guides>
322
+
323
+ <security_checklist>
324
+ **Critical safety requirements**:
325
+
326
+ - **Infinite loop prevention**: Check `stop_hook_active` flag in Stop hooks to prevent recursive triggering
327
+ - **Timeout configuration**: Set reasonable timeouts (default: 60s) to prevent hanging
328
+ - **Permission validation**: Ensure hook scripts have executable permissions (`chmod +x`)
329
+ - **Path safety**: Use absolute paths with `$CLAUDE_PROJECT_DIR` to avoid path injection
330
+ - **JSON validation**: Validate hook config with `jq` before use to catch syntax errors
331
+ - **Selective blocking**: Be conservative with blocking hooks to avoid workflow disruption
332
+
333
+ **Testing protocol**:
334
+
335
+ ```bash
336
+ # Always test with debug flag first
337
+ claude --debug
338
+
339
+ # Validate JSON config
340
+ jq . .claude/hooks.json
341
+ ```
342
+
343
+ </security_checklist>
344
+
345
+ <success_criteria>
346
+ A working hook configuration has:
347
+
348
+ - Valid JSON in `.claude/hooks.json` (validated with `jq`)
349
+ - Appropriate hook event selected for the use case
350
+ - Correct matcher pattern that matches target tools
351
+ - Command or prompt that executes without errors
352
+ - Proper output schema (decision/reason for blocking hooks)
353
+ - Tested with `--debug` flag showing expected behavior
354
+ - No infinite loops in Stop hooks (checks `stop_hook_active` flag)
355
+ - Reasonable timeout set (especially for external commands)
356
+ - Executable permissions on script files if using file paths
357
+ </success_criteria>