@arthai/agents 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 (390) hide show
  1. package/README.md +123 -0
  2. package/VERSION +1 -0
  3. package/agents/ai-consultant.md +999 -0
  4. package/agents/architect.md +174 -0
  5. package/agents/code-reviewer.md +115 -0
  6. package/agents/competitive-analyst.md +688 -0
  7. package/agents/content-strategist.md +607 -0
  8. package/agents/design-studio-create.md +304 -0
  9. package/agents/design-studio-critique.md +258 -0
  10. package/agents/design-studio-think.md +79 -0
  11. package/agents/domain-hunter.md +519 -0
  12. package/agents/explore-light.md +52 -0
  13. package/agents/frontend.md +261 -0
  14. package/agents/gtm-expert.md +811 -0
  15. package/agents/meeting-prep.md +318 -0
  16. package/agents/ops.md +149 -0
  17. package/agents/product-manager.md +563 -0
  18. package/agents/python-backend.md +286 -0
  19. package/agents/qa-baseline-updater.md +45 -0
  20. package/agents/qa-challenger.md +97 -0
  21. package/agents/qa-domain.md +145 -0
  22. package/agents/qa-e2e.md +184 -0
  23. package/agents/qa-test-promoter.md +97 -0
  24. package/agents/qa.md +226 -0
  25. package/agents/setup.md +134 -0
  26. package/agents/sre.md +165 -0
  27. package/agents/stakeholder-reporter.md +94 -0
  28. package/agents/user-researcher.md +602 -0
  29. package/bin/cli.js +322 -0
  30. package/bundles/canvas.json +16 -0
  31. package/bundles/compass.json +16 -0
  32. package/bundles/counsel.json +31 -0
  33. package/bundles/cruise.json +11 -0
  34. package/bundles/forge.json +26 -0
  35. package/bundles/prime.json +10 -0
  36. package/bundles/prism.json +23 -0
  37. package/bundles/scalpel.json +17 -0
  38. package/bundles/sentinel.json +19 -0
  39. package/bundles/shield.json +14 -0
  40. package/bundles/spark.json +19 -0
  41. package/compiler.sh +305 -0
  42. package/dist/plugins/canvas/.claude-plugin/plugin.json +6 -0
  43. package/dist/plugins/canvas/agents/design-studio-create.md +304 -0
  44. package/dist/plugins/canvas/agents/design-studio-critique.md +258 -0
  45. package/dist/plugins/canvas/agents/design-studio-think.md +79 -0
  46. package/dist/plugins/canvas/agents/frontend.md +261 -0
  47. package/dist/plugins/canvas/skills/planning/SKILL.md +436 -0
  48. package/dist/plugins/compass/.claude-plugin/plugin.json +6 -0
  49. package/dist/plugins/compass/agents/content-strategist.md +607 -0
  50. package/dist/plugins/compass/agents/gtm-expert.md +811 -0
  51. package/dist/plugins/compass/agents/product-manager.md +563 -0
  52. package/dist/plugins/compass/agents/user-researcher.md +602 -0
  53. package/dist/plugins/compass/skills/planning/SKILL.md +436 -0
  54. package/dist/plugins/counsel/.claude-plugin/plugin.json +6 -0
  55. package/dist/plugins/counsel/agents/ai-consultant.md +999 -0
  56. package/dist/plugins/counsel/agents/competitive-analyst.md +688 -0
  57. package/dist/plugins/counsel/agents/meeting-prep.md +318 -0
  58. package/dist/plugins/counsel/agents/stakeholder-reporter.md +94 -0
  59. package/dist/plugins/counsel/hooks/check-deliverable.sh +65 -0
  60. package/dist/plugins/counsel/hooks/ensure-client-dir.sh +59 -0
  61. package/dist/plugins/counsel/hooks/hooks.json +28 -0
  62. package/dist/plugins/counsel/skills/client-discovery/SKILL.md +266 -0
  63. package/dist/plugins/counsel/skills/consulting/SKILL.md +282 -0
  64. package/dist/plugins/counsel/skills/deliverable-builder/SKILL.md +928 -0
  65. package/dist/plugins/counsel/skills/engagement-tracker/SKILL.md +380 -0
  66. package/dist/plugins/counsel/skills/market-research/SKILL.md +300 -0
  67. package/dist/plugins/counsel/skills/opportunity-map/SKILL.md +307 -0
  68. package/dist/plugins/counsel/skills/pitch-generator/SKILL.md +378 -0
  69. package/dist/plugins/counsel/skills/roi-calculator/SKILL.md +469 -0
  70. package/dist/plugins/counsel/skills/share/SKILL.md +211 -0
  71. package/dist/plugins/counsel/skills/solution-architect/SKILL.md +566 -0
  72. package/dist/plugins/counsel/skills/templates/SKILL.md +194 -0
  73. package/dist/plugins/counsel/skills/welcome/SKILL.md +136 -0
  74. package/dist/plugins/counsel/skills/wizard/SKILL.md +411 -0
  75. package/dist/plugins/cruise/.claude-plugin/plugin.json +6 -0
  76. package/dist/plugins/cruise/skills/autopilot/SKILL.md +425 -0
  77. package/dist/plugins/forge/.claude-plugin/plugin.json +6 -0
  78. package/dist/plugins/forge/agents/architect.md +174 -0
  79. package/dist/plugins/forge/agents/code-reviewer.md +115 -0
  80. package/dist/plugins/forge/agents/frontend.md +261 -0
  81. package/dist/plugins/forge/agents/product-manager.md +563 -0
  82. package/dist/plugins/forge/agents/python-backend.md +286 -0
  83. package/dist/plugins/forge/agents/qa.md +226 -0
  84. package/dist/plugins/forge/hooks/hooks.json +28 -0
  85. package/dist/plugins/forge/hooks/post-test-summary.sh +115 -0
  86. package/dist/plugins/forge/hooks/triage-router.sh +740 -0
  87. package/dist/plugins/forge/skills/implement/SKILL.md +532 -0
  88. package/dist/plugins/forge/skills/planning/SKILL.md +436 -0
  89. package/dist/plugins/forge/skills/pr/SKILL.md +275 -0
  90. package/dist/plugins/forge/skills/precheck/SKILL.md +159 -0
  91. package/dist/plugins/forge/skills/qa/SKILL.md +127 -0
  92. package/dist/plugins/forge/skills/review-pr/SKILL.md +367 -0
  93. package/dist/plugins/prime/.claude-plugin/plugin.json +6 -0
  94. package/dist/plugins/prime/agents/ai-consultant.md +999 -0
  95. package/dist/plugins/prime/agents/architect.md +174 -0
  96. package/dist/plugins/prime/agents/code-reviewer.md +115 -0
  97. package/dist/plugins/prime/agents/competitive-analyst.md +688 -0
  98. package/dist/plugins/prime/agents/content-strategist.md +607 -0
  99. package/dist/plugins/prime/agents/design-studio-create.md +304 -0
  100. package/dist/plugins/prime/agents/design-studio-critique.md +258 -0
  101. package/dist/plugins/prime/agents/design-studio-think.md +79 -0
  102. package/dist/plugins/prime/agents/explore-light.md +52 -0
  103. package/dist/plugins/prime/agents/frontend.md +261 -0
  104. package/dist/plugins/prime/agents/gtm-expert.md +811 -0
  105. package/dist/plugins/prime/agents/meeting-prep.md +318 -0
  106. package/dist/plugins/prime/agents/ops.md +149 -0
  107. package/dist/plugins/prime/agents/product-manager.md +563 -0
  108. package/dist/plugins/prime/agents/python-backend.md +286 -0
  109. package/dist/plugins/prime/agents/qa-baseline-updater.md +45 -0
  110. package/dist/plugins/prime/agents/qa-challenger.md +97 -0
  111. package/dist/plugins/prime/agents/qa-domain.md +145 -0
  112. package/dist/plugins/prime/agents/qa-e2e.md +184 -0
  113. package/dist/plugins/prime/agents/qa-test-promoter.md +97 -0
  114. package/dist/plugins/prime/agents/qa.md +226 -0
  115. package/dist/plugins/prime/agents/setup.md +134 -0
  116. package/dist/plugins/prime/agents/sre.md +165 -0
  117. package/dist/plugins/prime/agents/stakeholder-reporter.md +94 -0
  118. package/dist/plugins/prime/agents/user-researcher.md +602 -0
  119. package/dist/plugins/prime/hooks/check-deliverable.sh +65 -0
  120. package/dist/plugins/prime/hooks/ensure-client-dir.sh +59 -0
  121. package/dist/plugins/prime/hooks/hooks.json +184 -0
  122. package/dist/plugins/prime/hooks/post-deploy-health.sh +83 -0
  123. package/dist/plugins/prime/hooks/post-diff-test-compare.sh +125 -0
  124. package/dist/plugins/prime/hooks/post-edit-lint.sh +92 -0
  125. package/dist/plugins/prime/hooks/post-git-state.sh +54 -0
  126. package/dist/plugins/prime/hooks/post-merge-cleanup.sh +101 -0
  127. package/dist/plugins/prime/hooks/post-test-summary.sh +115 -0
  128. package/dist/plugins/prime/hooks/pre-bash-guard.sh +142 -0
  129. package/dist/plugins/prime/hooks/pre-edit-guard.sh +121 -0
  130. package/dist/plugins/prime/hooks/pre-task-context.sh +113 -0
  131. package/dist/plugins/prime/hooks/session-bootstrap.sh +379 -0
  132. package/dist/plugins/prime/hooks/session-end.sh +107 -0
  133. package/dist/plugins/prime/hooks/session-summary.sh +97 -0
  134. package/dist/plugins/prime/hooks/sync-agents.sh +269 -0
  135. package/dist/plugins/prime/hooks/triage-router.sh +740 -0
  136. package/dist/plugins/prime/skills/arth/SKILL.md +165 -0
  137. package/dist/plugins/prime/skills/autopilot/SKILL.md +425 -0
  138. package/dist/plugins/prime/skills/calibrate/SKILL.md +1807 -0
  139. package/dist/plugins/prime/skills/ci-fix/SKILL.md +293 -0
  140. package/dist/plugins/prime/skills/client-discovery/SKILL.md +266 -0
  141. package/dist/plugins/prime/skills/consulting/SKILL.md +282 -0
  142. package/dist/plugins/prime/skills/custom-domain/SKILL.md +261 -0
  143. package/dist/plugins/prime/skills/deliverable-builder/SKILL.md +928 -0
  144. package/dist/plugins/prime/skills/discord-ops/SKILL.md +125 -0
  145. package/dist/plugins/prime/skills/engagement-tracker/SKILL.md +380 -0
  146. package/dist/plugins/prime/skills/explore.md +43 -0
  147. package/dist/plugins/prime/skills/fix/SKILL.md +1058 -0
  148. package/dist/plugins/prime/skills/implement/SKILL.md +532 -0
  149. package/dist/plugins/prime/skills/incident/SKILL.md +910 -0
  150. package/dist/plugins/prime/skills/issue/SKILL.md +134 -0
  151. package/dist/plugins/prime/skills/market-research/SKILL.md +300 -0
  152. package/dist/plugins/prime/skills/onboard/SKILL.md +344 -0
  153. package/dist/plugins/prime/skills/opportunity-map/SKILL.md +307 -0
  154. package/dist/plugins/prime/skills/pitch-generator/SKILL.md +378 -0
  155. package/dist/plugins/prime/skills/planning/SKILL.md +436 -0
  156. package/dist/plugins/prime/skills/pr/SKILL.md +275 -0
  157. package/dist/plugins/prime/skills/precheck/SKILL.md +159 -0
  158. package/dist/plugins/prime/skills/qa/SKILL.md +127 -0
  159. package/dist/plugins/prime/skills/qa-incident/SKILL.md +54 -0
  160. package/dist/plugins/prime/skills/qa-learn/SKILL.md +47 -0
  161. package/dist/plugins/prime/skills/restart/SKILL.md +70 -0
  162. package/dist/plugins/prime/skills/review-pr/SKILL.md +367 -0
  163. package/dist/plugins/prime/skills/roi-calculator/SKILL.md +469 -0
  164. package/dist/plugins/prime/skills/scan/SKILL.md +232 -0
  165. package/dist/plugins/prime/skills/setup/SKILL.md +691 -0
  166. package/dist/plugins/prime/skills/share/SKILL.md +211 -0
  167. package/dist/plugins/prime/skills/solution-architect/SKILL.md +566 -0
  168. package/dist/plugins/prime/skills/sre/SKILL.md +362 -0
  169. package/dist/plugins/prime/skills/sync/SKILL.md +188 -0
  170. package/dist/plugins/prime/skills/templates/SKILL.md +194 -0
  171. package/dist/plugins/prime/skills/welcome/SKILL.md +136 -0
  172. package/dist/plugins/prime/skills/wizard/SKILL.md +411 -0
  173. package/dist/plugins/prism/.claude-plugin/plugin.json +6 -0
  174. package/dist/plugins/prism/agents/qa-baseline-updater.md +45 -0
  175. package/dist/plugins/prism/agents/qa-challenger.md +97 -0
  176. package/dist/plugins/prism/agents/qa-domain.md +145 -0
  177. package/dist/plugins/prism/agents/qa-e2e.md +184 -0
  178. package/dist/plugins/prism/agents/qa-test-promoter.md +97 -0
  179. package/dist/plugins/prism/agents/qa.md +226 -0
  180. package/dist/plugins/prism/hooks/hooks.json +26 -0
  181. package/dist/plugins/prism/hooks/post-diff-test-compare.sh +125 -0
  182. package/dist/plugins/prism/hooks/post-test-summary.sh +115 -0
  183. package/dist/plugins/prism/skills/qa/SKILL.md +127 -0
  184. package/dist/plugins/prism/skills/qa-incident/SKILL.md +54 -0
  185. package/dist/plugins/prism/skills/qa-learn/SKILL.md +47 -0
  186. package/dist/plugins/scalpel/.claude-plugin/plugin.json +6 -0
  187. package/dist/plugins/scalpel/agents/code-reviewer.md +115 -0
  188. package/dist/plugins/scalpel/hooks/hooks.json +26 -0
  189. package/dist/plugins/scalpel/hooks/pre-edit-guard.sh +121 -0
  190. package/dist/plugins/scalpel/skills/ci-fix/SKILL.md +293 -0
  191. package/dist/plugins/scalpel/skills/fix/SKILL.md +1058 -0
  192. package/dist/plugins/scalpel/skills/issue/SKILL.md +134 -0
  193. package/dist/plugins/sentinel/.claude-plugin/plugin.json +6 -0
  194. package/dist/plugins/sentinel/agents/ops.md +149 -0
  195. package/dist/plugins/sentinel/agents/sre.md +165 -0
  196. package/dist/plugins/sentinel/hooks/hooks.json +26 -0
  197. package/dist/plugins/sentinel/hooks/post-deploy-health.sh +83 -0
  198. package/dist/plugins/sentinel/hooks/post-git-state.sh +54 -0
  199. package/dist/plugins/sentinel/skills/incident/SKILL.md +910 -0
  200. package/dist/plugins/sentinel/skills/restart/SKILL.md +70 -0
  201. package/dist/plugins/sentinel/skills/sre/SKILL.md +362 -0
  202. package/dist/plugins/shield/.claude-plugin/plugin.json +6 -0
  203. package/dist/plugins/shield/hooks/hooks.json +60 -0
  204. package/dist/plugins/shield/hooks/pre-bash-guard.sh +142 -0
  205. package/dist/plugins/shield/hooks/pre-edit-guard.sh +121 -0
  206. package/dist/plugins/shield/hooks/session-bootstrap.sh +379 -0
  207. package/dist/plugins/shield/hooks/triage-router.sh +740 -0
  208. package/dist/plugins/spark/.claude-plugin/plugin.json +6 -0
  209. package/dist/plugins/spark/agents/explore-light.md +52 -0
  210. package/dist/plugins/spark/agents/setup.md +134 -0
  211. package/dist/plugins/spark/hooks/hooks.json +16 -0
  212. package/dist/plugins/spark/hooks/session-bootstrap.sh +379 -0
  213. package/dist/plugins/spark/skills/calibrate/SKILL.md +1807 -0
  214. package/dist/plugins/spark/skills/onboard/SKILL.md +344 -0
  215. package/dist/plugins/spark/skills/scan/SKILL.md +232 -0
  216. package/dist/plugins/spark/skills/setup/SKILL.md +691 -0
  217. package/hook-defs.json +104 -0
  218. package/hooks/check-deliverable.sh +65 -0
  219. package/hooks/ensure-client-dir.sh +59 -0
  220. package/hooks/hooks.json +16 -0
  221. package/hooks/post-deploy-health.sh +83 -0
  222. package/hooks/post-diff-test-compare.sh +125 -0
  223. package/hooks/post-edit-lint.sh +92 -0
  224. package/hooks/post-git-state.sh +54 -0
  225. package/hooks/post-merge-cleanup.sh +101 -0
  226. package/hooks/post-test-summary.sh +115 -0
  227. package/hooks/pre-bash-guard.sh +142 -0
  228. package/hooks/pre-edit-guard.sh +121 -0
  229. package/hooks/pre-task-context.sh +113 -0
  230. package/hooks/session-bootstrap.sh +379 -0
  231. package/hooks/session-end.sh +107 -0
  232. package/hooks/session-start.sh +46 -0
  233. package/hooks/session-summary.sh +97 -0
  234. package/hooks/sync-agents.sh +269 -0
  235. package/hooks/triage-router.sh +740 -0
  236. package/install.sh +3185 -0
  237. package/package.json +40 -0
  238. package/portable.manifest +112 -0
  239. package/skills/arth/SKILL.md +165 -0
  240. package/skills/autopilot/SKILL.md +425 -0
  241. package/skills/calibrate/SKILL.md +1807 -0
  242. package/skills/ci-fix/SKILL.md +293 -0
  243. package/skills/client-discovery/SKILL.md +266 -0
  244. package/skills/consulting/SKILL.md +282 -0
  245. package/skills/continue/SKILL.md +174 -0
  246. package/skills/custom-domain/SKILL.md +261 -0
  247. package/skills/deliverable-builder/SKILL.md +928 -0
  248. package/skills/discord-ops/SKILL.md +125 -0
  249. package/skills/engagement-tracker/SKILL.md +380 -0
  250. package/skills/explore.md +43 -0
  251. package/skills/fix/SKILL.md +1058 -0
  252. package/skills/implement/SKILL.md +532 -0
  253. package/skills/incident/SKILL.md +910 -0
  254. package/skills/issue/SKILL.md +134 -0
  255. package/skills/market-research/SKILL.md +300 -0
  256. package/skills/onboard/SKILL.md +344 -0
  257. package/skills/opportunity-map/SKILL.md +307 -0
  258. package/skills/pitch-generator/SKILL.md +378 -0
  259. package/skills/planning/SKILL.md +436 -0
  260. package/skills/pr/SKILL.md +275 -0
  261. package/skills/precheck/SKILL.md +159 -0
  262. package/skills/qa/SKILL.md +127 -0
  263. package/skills/qa-incident/SKILL.md +54 -0
  264. package/skills/qa-learn/SKILL.md +47 -0
  265. package/skills/railway/central-station/SKILL.md +226 -0
  266. package/skills/railway/central-station/references/environment-config.md +183 -0
  267. package/skills/railway/central-station/references/monorepo.md +216 -0
  268. package/skills/railway/central-station/references/railpack.md +257 -0
  269. package/skills/railway/central-station/references/variables.md +170 -0
  270. package/skills/railway/database/SKILL.md +284 -0
  271. package/skills/railway/database/references/environment-config.md +183 -0
  272. package/skills/railway/database/references/monorepo.md +216 -0
  273. package/skills/railway/database/references/railpack.md +257 -0
  274. package/skills/railway/database/references/variables.md +170 -0
  275. package/skills/railway/database/scripts/railway-api.sh +41 -0
  276. package/skills/railway/deploy/SKILL.md +128 -0
  277. package/skills/railway/deploy/references/environment-config.md +183 -0
  278. package/skills/railway/deploy/references/monorepo.md +216 -0
  279. package/skills/railway/deploy/references/railpack.md +257 -0
  280. package/skills/railway/deploy/references/variables.md +170 -0
  281. package/skills/railway/deployment/SKILL.md +222 -0
  282. package/skills/railway/deployment/references/environment-config.md +183 -0
  283. package/skills/railway/deployment/references/monorepo.md +216 -0
  284. package/skills/railway/deployment/references/railpack.md +257 -0
  285. package/skills/railway/deployment/references/variables.md +170 -0
  286. package/skills/railway/domain/SKILL.md +137 -0
  287. package/skills/railway/domain/references/environment-config.md +183 -0
  288. package/skills/railway/domain/references/monorepo.md +216 -0
  289. package/skills/railway/domain/references/railpack.md +257 -0
  290. package/skills/railway/domain/references/variables.md +170 -0
  291. package/skills/railway/environment/SKILL.md +266 -0
  292. package/skills/railway/environment/references/environment-config.md +183 -0
  293. package/skills/railway/environment/references/monorepo.md +216 -0
  294. package/skills/railway/environment/references/railpack.md +257 -0
  295. package/skills/railway/environment/references/variables.md +170 -0
  296. package/skills/railway/metrics/SKILL.md +211 -0
  297. package/skills/railway/metrics/references/environment-config.md +183 -0
  298. package/skills/railway/metrics/references/monorepo.md +216 -0
  299. package/skills/railway/metrics/references/railpack.md +257 -0
  300. package/skills/railway/metrics/references/variables.md +170 -0
  301. package/skills/railway/metrics/scripts/railway-api.sh +41 -0
  302. package/skills/railway/new/SKILL.md +489 -0
  303. package/skills/railway/new/references/environment-config.md +183 -0
  304. package/skills/railway/new/references/monorepo.md +216 -0
  305. package/skills/railway/new/references/railpack.md +257 -0
  306. package/skills/railway/new/references/variables.md +170 -0
  307. package/skills/railway/projects/SKILL.md +142 -0
  308. package/skills/railway/projects/references/environment-config.md +183 -0
  309. package/skills/railway/projects/references/monorepo.md +216 -0
  310. package/skills/railway/projects/references/railpack.md +257 -0
  311. package/skills/railway/projects/references/variables.md +170 -0
  312. package/skills/railway/projects/scripts/railway-api.sh +41 -0
  313. package/skills/railway/railway-docs/SKILL.md +47 -0
  314. package/skills/railway/railway-docs/references/environment-config.md +183 -0
  315. package/skills/railway/railway-docs/references/monorepo.md +216 -0
  316. package/skills/railway/railway-docs/references/railpack.md +257 -0
  317. package/skills/railway/railway-docs/references/variables.md +170 -0
  318. package/skills/railway/service/SKILL.md +249 -0
  319. package/skills/railway/service/references/environment-config.md +183 -0
  320. package/skills/railway/service/references/monorepo.md +216 -0
  321. package/skills/railway/service/references/railpack.md +257 -0
  322. package/skills/railway/service/references/variables.md +170 -0
  323. package/skills/railway/service/scripts/railway-api.sh +41 -0
  324. package/skills/railway/status/SKILL.md +91 -0
  325. package/skills/railway/status/references/environment-config.md +183 -0
  326. package/skills/railway/status/references/monorepo.md +216 -0
  327. package/skills/railway/status/references/railpack.md +257 -0
  328. package/skills/railway/status/references/variables.md +170 -0
  329. package/skills/railway/templates/SKILL.md +275 -0
  330. package/skills/railway/templates/references/environment-config.md +183 -0
  331. package/skills/railway/templates/references/monorepo.md +216 -0
  332. package/skills/railway/templates/references/railpack.md +257 -0
  333. package/skills/railway/templates/references/variables.md +170 -0
  334. package/skills/railway/templates/scripts/railway-api.sh +41 -0
  335. package/skills/restart/SKILL.md +70 -0
  336. package/skills/review-pr/SKILL.md +367 -0
  337. package/skills/roi-calculator/SKILL.md +469 -0
  338. package/skills/scan/SKILL.md +232 -0
  339. package/skills/setup/SKILL.md +691 -0
  340. package/skills/share/SKILL.md +211 -0
  341. package/skills/solution-architect/SKILL.md +566 -0
  342. package/skills/sre/SKILL.md +362 -0
  343. package/skills/superpowers/brainstorming/SKILL.md +96 -0
  344. package/skills/superpowers/dispatching-parallel-agents/SKILL.md +180 -0
  345. package/skills/superpowers/executing-plans/SKILL.md +84 -0
  346. package/skills/superpowers/finishing-a-development-branch/SKILL.md +200 -0
  347. package/skills/superpowers/receiving-code-review/SKILL.md +213 -0
  348. package/skills/superpowers/requesting-code-review/SKILL.md +105 -0
  349. package/skills/superpowers/requesting-code-review/code-reviewer.md +146 -0
  350. package/skills/superpowers/subagent-driven-development/SKILL.md +242 -0
  351. package/skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
  352. package/skills/superpowers/subagent-driven-development/implementer-prompt.md +78 -0
  353. package/skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  354. package/skills/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
  355. package/skills/superpowers/systematic-debugging/SKILL.md +296 -0
  356. package/skills/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
  357. package/skills/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
  358. package/skills/superpowers/systematic-debugging/defense-in-depth.md +122 -0
  359. package/skills/superpowers/systematic-debugging/find-polluter.sh +63 -0
  360. package/skills/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
  361. package/skills/superpowers/systematic-debugging/test-academic.md +14 -0
  362. package/skills/superpowers/systematic-debugging/test-pressure-1.md +58 -0
  363. package/skills/superpowers/systematic-debugging/test-pressure-2.md +68 -0
  364. package/skills/superpowers/systematic-debugging/test-pressure-3.md +69 -0
  365. package/skills/superpowers/test-driven-development/SKILL.md +371 -0
  366. package/skills/superpowers/test-driven-development/testing-anti-patterns.md +299 -0
  367. package/skills/superpowers/using-git-worktrees/SKILL.md +218 -0
  368. package/skills/superpowers/using-superpowers/SKILL.md +95 -0
  369. package/skills/superpowers/verification-before-completion/SKILL.md +139 -0
  370. package/skills/superpowers/writing-plans/SKILL.md +116 -0
  371. package/skills/superpowers/writing-skills/SKILL.md +655 -0
  372. package/skills/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
  373. package/skills/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  374. package/skills/superpowers/writing-skills/graphviz-conventions.dot +172 -0
  375. package/skills/superpowers/writing-skills/persuasion-principles.md +187 -0
  376. package/skills/superpowers/writing-skills/render-graphs.js +168 -0
  377. package/skills/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
  378. package/skills/sync/SKILL.md +188 -0
  379. package/skills/templates/SKILL.md +194 -0
  380. package/skills/welcome/SKILL.md +136 -0
  381. package/skills/wizard/SKILL.md +411 -0
  382. package/templates/CLAUDE.md.managed-block +123 -0
  383. package/templates/CLAUDE.md.template +111 -0
  384. package/templates/consulting/engagement-tracker-template.md +181 -0
  385. package/templates/consulting/executive-summary-template.md +83 -0
  386. package/templates/consulting/maturity-assessment-template.md +182 -0
  387. package/templates/consulting/proposal-template.md +209 -0
  388. package/templates/consulting/roi-model-template.md +139 -0
  389. package/templates/consulting/solution-architecture-template.md +313 -0
  390. package/templates/settings.json +130 -0
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: restart
3
+ description: "Kill and restart local dev servers. Reads service config from CLAUDE.md. Usage: /restart [service]"
4
+ user-invocable: true
5
+ arguments: "<service>"
6
+ ---
7
+
8
+ # Restart Servers Skill
9
+
10
+ Kill and restart local dev servers using the configuration from CLAUDE.md.
11
+
12
+ ## Instructions
13
+
14
+ 1. **Read CLAUDE.md** in the project root. Look for the **Local Dev Services** table:
15
+
16
+ ```markdown
17
+ ## Local Dev Services
18
+
19
+ | Service | Port | Directory | Start Command |
20
+ |----------|------|-----------|---------------|
21
+ | Frontend | 3000 | frontend/ | npm run dev |
22
+ | Backend | 8000 | backend/ | uvicorn app.main:app --reload --port 8000 |
23
+ ```
24
+
25
+ If CLAUDE.md doesn't have this section, scan the project:
26
+ - `package.json` scripts → find dev/start commands
27
+ - `requirements.txt` / `pyproject.toml` → look for uvicorn/gunicorn/flask
28
+ - `docker-compose.yml` → extract service ports
29
+ - Common ports: frontend 3000, backend 8000
30
+
31
+ 2. **Kill existing processes** for the target service(s):
32
+
33
+ ```bash
34
+ # Kill by port
35
+ lsof -ti:<port> | xargs kill -9 2>/dev/null
36
+
37
+ # Wait for ports to free
38
+ sleep 2
39
+ ```
40
+
41
+ 3. **Start each server** in background using the configured start command:
42
+
43
+ ```bash
44
+ # Run in background
45
+ <start_command> &
46
+ ```
47
+
48
+ Use `run_in_background: true` on the Bash tool.
49
+
50
+ 4. **Health check** after startup:
51
+
52
+ ```bash
53
+ # Check each service
54
+ curl -sf http://localhost:<port>/health > /dev/null 2>&1 && echo "<service>:UP" || echo "<service>:DOWN"
55
+ ```
56
+
57
+ 5. **Report** status of all servers.
58
+
59
+ ## Argument Patterns
60
+
61
+ | User Input | Action |
62
+ |-----------|--------|
63
+ | `/restart` (no args) | Kill and restart all configured servers |
64
+ | `/restart backend` | Kill and restart only the backend service |
65
+ | `/restart frontend` | Kill and restart only the frontend service |
66
+ | `/restart <service>` | Kill and restart the named service |
67
+
68
+ ## If CLAUDE.md Is Missing Service Config
69
+
70
+ Report: "No Local Dev Services table found in CLAUDE.md. Add a table with Service, Port, Directory, and Start Command columns. Or specify the services manually."
@@ -0,0 +1,362 @@
1
+ ---
2
+ name: sre
3
+ description: "Run SRE operations. Usage: /sre [command]. Commands: status, health, logs, deploy-check, ci, sleep, wake, debug, rebuild, dialog"
4
+ user-invocable: true
5
+ arguments: "<command> <options>"
6
+ ---
7
+
8
+ # SRE Skill
9
+
10
+ Wraps the SRE agent for infrastructure operations. Reads project context from CLAUDE.md to route to the right tools.
11
+
12
+ ## Project Context Discovery (Deep)
13
+
14
+ Before ANY operation, discover the full infrastructure landscape. This runs on every /sre invocation
15
+ to ensure context is current.
16
+
17
+ ### Step 1: Read existing context
18
+
19
+ Read in this order (skip gracefully if missing):
20
+ 1. `CLAUDE.md` — Infrastructure table, services, health endpoints
21
+ 2. `.claude/project-profile.md` — Architecture, deploy platform (from /calibrate)
22
+ 3. `.claude/knowledge/agents/sre.md` — Past incidents, platform patterns learned
23
+ 4. `.claude/knowledge/shared/decisions.md` — Infrastructure decisions made
24
+ 5. `.claude/qa-knowledge/incidents/` — Past production incidents
25
+
26
+ ### Step 2: Detect deploy platform (if not in profile)
27
+
28
+ Scan project files to identify the FULL infrastructure stack:
29
+
30
+ **Cloud Provider Detection:**
31
+ | Signal | Provider | What to check |
32
+ |--------|----------|--------------|
33
+ | `AWS_*` env vars, `~/.aws/`, `samconfig.toml`, `cdk.json` | AWS | Regions, services, IAM roles |
34
+ | `GOOGLE_*` env vars, `app.yaml`, `cloudbuild.yaml` | GCP | Projects, regions, services |
35
+ | `AZURE_*` env vars, `azure-pipelines.yml` | Azure | Subscriptions, resource groups |
36
+
37
+ **Platform Detection:**
38
+ | Signal | Platform | CLI | MCP Available |
39
+ |--------|----------|-----|--------------|
40
+ | `railway.json`, `railway.toml`, `Procfile` | Railway | `railway` | Railway MCP |
41
+ | `vercel.json`, `.vercel/` | Vercel | `vercel` | Vercel MCP |
42
+ | `fly.toml` | Fly.io | `flyctl` | — |
43
+ | `render.yaml` | Render | `render` | — |
44
+ | `heroku.yml`, `Procfile` + Heroku remote | Heroku | `heroku` | — |
45
+ | `netlify.toml` | Netlify | `netlify` | — |
46
+ | `terraform/`, `*.tf` | Terraform (IaC) | `terraform` | AWS/GCP MCP |
47
+ | `pulumi/`, `Pulumi.yaml` | Pulumi (IaC) | `pulumi` | AWS/GCP MCP |
48
+ | `cdk/`, `cdk.json` | AWS CDK | `cdk` | AWS MCP |
49
+ | `k8s/`, `helm/`, `Chart.yaml`, `kustomize/` | Kubernetes | `kubectl`, `helm` | K8s MCP |
50
+ | `docker-compose.yml` + no platform | Docker only | `docker` | Docker MCP |
51
+ | `serverless.yml` | Serverless Framework | `sls` | AWS/GCP MCP |
52
+ | `firebase.json` | Firebase | `firebase` | Firebase MCP |
53
+ | `supabase/config.toml` | Supabase | `supabase` | Supabase MCP |
54
+
55
+ **Database Detection:**
56
+ | Signal | Database | Monitoring |
57
+ |--------|----------|-----------|
58
+ | `DATABASE_URL` contains `postgres` | PostgreSQL | pg_stat, connection pool health |
59
+ | `DATABASE_URL` contains `mysql` | MySQL | slow query log, connection health |
60
+ | `MONGODB_URI` | MongoDB | mongosh status, replica set health |
61
+ | `REDIS_URL` | Redis | `redis-cli info`, memory, connections |
62
+ | `ELASTICSEARCH_URL` | Elasticsearch | cluster health, index status |
63
+
64
+ **Monitoring/Observability Detection:**
65
+ | Signal | Tool | What it provides |
66
+ |--------|------|-----------------|
67
+ | `SENTRY_DSN` or `@sentry/` import | Sentry | Error tracking, performance |
68
+ | `DATADOG_*` env vars | Datadog | APM, logs, metrics |
69
+ | `NEW_RELIC_*` env vars | New Relic | APM, infrastructure |
70
+ | `GRAFANA_*` or `grafana/` | Grafana | Dashboards, alerting |
71
+ | `PROMETHEUS_*` or `prometheus/` | Prometheus | Metrics collection |
72
+ | `PAGERDUTY_*` env vars | PagerDuty | Incident management |
73
+ | `OPSGENIE_*` env vars | OpsGenie | Alert routing |
74
+
75
+ **CI/CD Detection (used by /ci-fix but discovered here for completeness):**
76
+ | Signal | CI Platform | CLI |
77
+ |--------|------------|-----|
78
+ | `.github/workflows/` | GitHub Actions | `gh run` |
79
+ | `.gitlab-ci.yml` | GitLab CI | `glab ci` |
80
+ | `Jenkinsfile` | Jenkins | Jenkins API |
81
+ | `.circleci/config.yml` | CircleCI | `circleci` CLI |
82
+ | `bitbucket-pipelines.yml` | Bitbucket Pipelines | Bitbucket API |
83
+ | `.buildkite/` | Buildkite | `buildkite-agent` |
84
+ | `azure-pipelines.yml` | Azure DevOps | `az pipelines` |
85
+ | `.travis.yml` | Travis CI | Travis API |
86
+
87
+ ### Step 3: Recommend missing tools
88
+
89
+ Based on what was detected, recommend tools the project SHOULD have:
90
+
91
+ **Format:**
92
+ ```
93
+ SRE Recommendations for {project}:
94
+
95
+ Platform: {detected platform}
96
+ Database: {detected databases}
97
+ Monitoring: {detected or MISSING}
98
+ CI/CD: {detected CI platform}
99
+
100
+ Missing (recommended):
101
+ ⚠ No monitoring detected — recommend Sentry (free tier, 5K errors/mo)
102
+ Install: pip install sentry-sdk / npm install @sentry/node
103
+ ⚠ No Redis health monitoring — recommend redis-cli in health checks
104
+ ⚠ No MCP server for {platform} — would enable direct platform queries
105
+ /calibrate can install this automatically
106
+
107
+ Data sources to connect:
108
+ • {platform} logs → available via {CLI/MCP}
109
+ • {database} metrics → available via {query/MCP}
110
+ • {monitoring tool} alerts → available via {API/MCP}
111
+ • Health endpoints: {list from CLAUDE.md or recommend adding}
112
+ ```
113
+
114
+ ### Step 4: Write discoveries to knowledge base
115
+
116
+ After discovery, update these files (if `.claude/knowledge/` exists):
117
+ - Append to `knowledge/agents/sre.md`: platform detected, services found, health endpoints
118
+ - If first time: create the file with initial platform context
119
+
120
+ ## Argument Parsing
121
+
122
+ Parse from the argument string:
123
+ - `command`: Optional. One of: `status`, `health`, `logs`, `deploy-check`, `ci`, `sleep`, `wake`, `debug`, `rebuild`, `dialog`. Defaults to `status` if omitted.
124
+ - Options vary by command (see below).
125
+
126
+ ## Commands
127
+
128
+ ### `/sre` or `/sre status`
129
+ Full system status — all services, all environments.
130
+
131
+ Spawn SRE agent:
132
+ ```
133
+ subagent_type: "sre"
134
+ model: "sonnet"
135
+ prompt: "Run a full status check. Read CLAUDE.md ## Environments table. For each environment, check status using the appropriate method from the Access Methods table in project-profile.md.
136
+ 1. Check deployment platform service status (Railway MCP, Vercel CLI, etc.)
137
+ 2. Hit all health endpoints listed in CLAUDE.md
138
+ 3. Check latest GitHub Actions: gh run list --branch main --limit 3
139
+ Report a structured pass/fail table."
140
+ ```
141
+
142
+ ### `/sre health`
143
+ Quick health check — just hit endpoints.
144
+
145
+ Spawn SRE agent:
146
+ ```
147
+ subagent_type: "sre"
148
+ model: "sonnet"
149
+ prompt: "Quick health check. Read CLAUDE.md ## Environments table. Hit the health endpoint for every listed environment (URL + Health column). Report pass/fail per environment. Skip environments with <!-- TODO --> URLs."
150
+ ```
151
+
152
+ ### `/sre logs [service]`
153
+ View recent deploy logs. Default service: first service in Infrastructure table.
154
+
155
+ Spawn SRE agent:
156
+ ```
157
+ subagent_type: "sre"
158
+ model: "sonnet"
159
+ prompt: "Get recent deploy logs for '{service or default}'. Read CLAUDE.md for infrastructure details. Use platform-appropriate tools (Railway MCP, Vercel CLI, etc.). Filter for errors and summarize issues found."
160
+ ```
161
+
162
+ ### `/sre deploy-check`
163
+ Verify latest deployment succeeded end-to-end.
164
+
165
+ Spawn SRE agent:
166
+ ```
167
+ subagent_type: "sre"
168
+ model: "sonnet"
169
+ prompt: "Full deployment verification. Read CLAUDE.md for infrastructure.
170
+ 1. Check recent CI runs: gh run list --branch main --limit 5
171
+ 2. Check deployment platform for latest deploys
172
+ 3. Hit all health endpoints
173
+ 4. Compare migration state if applicable
174
+ Report structured pass/fail for each step."
175
+ ```
176
+
177
+ ### `/sre ci`
178
+ Check CI/CD pipeline status and diagnose failures.
179
+
180
+ Spawn SRE agent:
181
+ ```
182
+ subagent_type: "sre"
183
+ model: "sonnet"
184
+ prompt: "Check CI/CD status:
185
+ 1. gh run list --branch main --limit 5
186
+ 2. If any failed: gh run view <id> --log-failed
187
+ 3. Report which workflows passed/failed, failure details, suggested fixes."
188
+ ```
189
+
190
+ ### `/sre sleep`
191
+ Sleep staging to save costs (platform-specific).
192
+
193
+ Spawn SRE agent:
194
+ ```
195
+ subagent_type: "sre"
196
+ model: "sonnet"
197
+ prompt: "Sleep the specified environment (default: first staging-type environment from CLAUDE.md ## Environments table). Read CLAUDE.md for environment details. Use platform-appropriate commands. Verify services scaled to 0. Report estimated savings."
198
+ ```
199
+
200
+ ### `/sre wake`
201
+ Wake staging environment.
202
+
203
+ Spawn SRE agent:
204
+ ```
205
+ subagent_type: "sre"
206
+ model: "sonnet"
207
+ prompt: "Wake the specified environment (default: first staging-type environment from CLAUDE.md ## Environments table). Read CLAUDE.md for environment details. Use platform-appropriate commands. Wait for health checks to pass. Report status."
208
+ ```
209
+
210
+ ### `/sre debug [description]`
211
+ Systematic debugging of a production issue.
212
+
213
+ Spawn SRE agent:
214
+ ```
215
+ subagent_type: "sre"
216
+ model: "sonnet"
217
+ prompt: "Debug this issue: '{description}'. Read CLAUDE.md for infrastructure.
218
+ Read CLAUDE.md ## Environments table. For each environment, check status using the appropriate
219
+ method from the Access Methods table in project-profile.md.
220
+
221
+ Systematic approach:
222
+ 1. CONFIRM — check health endpoints + metrics for all environments in the Environments table
223
+ 2. SCOPE — which service(s) and environment(s) affected?
224
+ 3. DIAGNOSE — RED method (Rate/Errors/Duration) for API, USE method (Utilization/Saturation/Errors) for infra
225
+ 4. Check deployment logs for errors
226
+ 5. Check GitHub Actions for recent failures
227
+ 6. ROOT CAUSE — what specifically caused the issue?
228
+ 7. CLASSIFY FIX TYPE — determine if this is:
229
+ a. Infra-only fix (restart, config change, scale, DNS) → fix directly, verify health
230
+ b. Code bug → escalate to /fix (do NOT fix code directly — /fix has verification pipeline)
231
+ 8. IF INFRA FIX:
232
+ - Apply the fix (restart, config change, etc.)
233
+ - Verify health endpoints for affected environments
234
+ - Ask user to smoke-test if config was changed
235
+ - Write incident report
236
+ 9. IF CODE BUG:
237
+ - Document findings (root cause, affected files, evidence)
238
+ - Escalate to /fix with all context — /fix will handle QA, testing, and PR
239
+ - Do NOT write code or create PRs from /sre debug
240
+
241
+ After root cause is identified, also write a QA incident file at
242
+ .claude/qa-knowledge/incidents/{YYYY-MM-DD}-{slug}.md with root cause, how QA missed it, and regression test recommendation."
243
+ ```
244
+
245
+ **Post-debug handoff:**
246
+
247
+ After `/sre debug` completes:
248
+
249
+ | Fix type | What happens next |
250
+ |----------|------------------|
251
+ | Infra fix applied | Verify health → ask user to smoke-test → "What's next?" |
252
+ | Code bug identified | Route to `/fix {description} --severity {severity}` with all gathered evidence. `/fix` handles: root cause verification → scope lock → behavior contract → implement → QA → user test → PR |
253
+ | Inconclusive | Present findings → ask user: "Should I investigate further, or route to /fix?" |
254
+
255
+ **What's next (after infra fix):**
256
+ ```
257
+ Fix applied and verified. Environments healthy.
258
+
259
+ What's next?
260
+ [1] Monitor — /sre health in 5 min to confirm fix holds
261
+ [2] Investigate further — check related systems
262
+ [3] See project status — /onboard
263
+ [4] Done for now
264
+ ```
265
+
266
+ ### `/sre dialog`
267
+ Analyze the latest local agent interview dialog. Checks verbosity, Q-tag leaks, NOTES leaks, and TTS filter activity.
268
+
269
+ **Do NOT spawn an agent.** Run directly:
270
+
271
+ 1. Read `/tmp/agent.log`
272
+ 2. Extract all `Agent said:` lines (deduplicate — each appears twice in logs)
273
+ 3. Report:
274
+
275
+ ```
276
+ ## Interview Dialog Analysis
277
+
278
+ | # | Turn | Response (truncated) | Words | Chars |
279
+ |---|------|---------------------|-------|-------|
280
+ | 1 | Intro | "Hi! I'm Sarah..." | 37 | 186 |
281
+ | 2 | Reaction | "Great answer!..." | 12 | 58 |
282
+ ...
283
+
284
+ **Verbosity**: avg X words/turn (target: <40, Feb 8 baseline: 15-20)
285
+ **Q-tag leaks**: [Q1]-[Q5] found in raw output? YES/NO
286
+ **NOTES leaks**: [NOTES] blocks in raw output? YES/NO
287
+ **TTS filter**: [TTS-FILTER] log entries found? (shows filter activity)
288
+ **Truncation**: Any responses cut off mid-sentence? (sign of token limit)
289
+ **max_completion_tokens**: Read from agent/main.py line with max_completion_tokens
290
+ ```
291
+
292
+ 4. If verbosity avg > 40 words, recommend lowering `max_completion_tokens`
293
+ 5. If Q-tag leaks found, check if `[TTS-FILTER]` logs show they were stripped before TTS
294
+
295
+ ### `/sre rebuild`
296
+ Clean rebuild of a monorepo — nuke caches, rebuild all packages, restart services.
297
+
298
+ This is the nuclear option when turbo/next/tsc caching causes stale builds, phantom errors, or "works locally but not in dev server" issues.
299
+
300
+ Steps to execute directly (do NOT spawn an agent — run these yourself):
301
+
302
+ 1. **Read CLAUDE.md** for project root, build commands, and Local Dev Services table.
303
+
304
+ 2. **Stop running services** using the stop/kill commands from CLAUDE.md:
305
+ ```bash
306
+ # Read Local Dev Services table for ports and kill running processes
307
+ lsof -ti:<port> | xargs kill -9 2>/dev/null
308
+ ```
309
+
310
+ 3. **Nuke all caches**:
311
+ ```bash
312
+ cd <project-root> && rm -rf node_modules/.cache .next .turbo packages/*/dist packages/*/.next packages/*/.turbo
313
+ ```
314
+
315
+ 4. **Rebuild from scratch** using the project's build command from CLAUDE.md:
316
+ ```bash
317
+ cd <project-root> && <build-command>
318
+ ```
319
+ For monorepos, if the top-level build fails, try building packages individually in dependency order (read `pnpm-workspace.yaml` or `package.json` workspaces to determine order).
320
+
321
+ 5. **Restart services** using start commands from CLAUDE.md Local Dev Services table.
322
+
323
+ 6. **Verify**:
324
+ - Hit health endpoints from CLAUDE.md (or the ports listed in Local Dev Services table)
325
+ - Check no build errors in output
326
+
327
+ Report success/failure with before/after comparison (which packages rebuilt, any errors).
328
+
329
+ ## Knowledge Base Integration
330
+
331
+ ### On every /sre invocation:
332
+ 1. **Read** `.claude/knowledge/agents/sre.md` for past incidents and patterns
333
+ 2. **Read** `.claude/qa-knowledge/incidents/` for production issues in this area
334
+
335
+ ### After /sre debug:
336
+ 1. **Write** incident to `.claude/qa-knowledge/incidents/{date}-{slug}.md`
337
+ 2. **Append** to `.claude/knowledge/agents/sre.md`:
338
+ ```
339
+ ### {date} — {incident title}
340
+ **Platform**: {platform}
341
+ **Root cause**: {what happened}
342
+ **Fix**: {what was done}
343
+ **Prevention**: {how to avoid next time}
344
+ ```
345
+
346
+ ### After first discovery on a project:
347
+ 1. **Write** platform summary to `knowledge/agents/sre.md`
348
+ 2. **Update** `project-profile.md` if infrastructure section is incomplete
349
+ 3. **Recommend** MCP servers to /calibrate's recommendations
350
+
351
+ ## /calibrate Integration
352
+
353
+ When `/calibrate` runs, it reads all agent definitions to build recommendations.
354
+ The SRE skill contributes:
355
+
356
+ 1. **Platform detection results** → /calibrate uses for MCP server recommendations
357
+ 2. **Missing monitoring tools** → /calibrate includes in "recommended tools"
358
+ 3. **Health endpoint inventory** → /calibrate writes to project profile
359
+ 4. **CI/CD platform** → /calibrate uses for ci-fix configuration
360
+
361
+ If `/calibrate` has already run, /sre reads `project-profile.md` instead of re-discovering.
362
+ If `/calibrate` hasn't run, /sre does its own discovery and recommends running `/calibrate`.
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "shield",
3
+ "description": "Safety guardrails — bash guards, edit protection, session bootstrap",
4
+ "version": "1.0.0",
5
+ "author": "Arth AI"
6
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "hooks": {
3
+ "PreToolUse": [
4
+ {
5
+ "matcher": "Bash",
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/pre-bash-guard.sh",
10
+ "timeout": 5
11
+ }
12
+ ]
13
+ },
14
+ {
15
+ "matcher": "Edit",
16
+ "hooks": [
17
+ {
18
+ "type": "command",
19
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/pre-edit-guard.sh",
20
+ "timeout": 5
21
+ }
22
+ ]
23
+ },
24
+ {
25
+ "matcher": "Write",
26
+ "hooks": [
27
+ {
28
+ "type": "command",
29
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/pre-edit-guard.sh",
30
+ "timeout": 5
31
+ }
32
+ ]
33
+ }
34
+ ],
35
+ "SessionStart": [
36
+ {
37
+ "matcher": "",
38
+ "hooks": [
39
+ {
40
+ "type": "command",
41
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/session-bootstrap.sh",
42
+ "timeout": 15
43
+ }
44
+ ]
45
+ }
46
+ ],
47
+ "UserPromptSubmit": [
48
+ {
49
+ "matcher": "",
50
+ "hooks": [
51
+ {
52
+ "type": "command",
53
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/triage-router.sh",
54
+ "timeout": 5
55
+ }
56
+ ]
57
+ }
58
+ ]
59
+ }
60
+ }
@@ -0,0 +1,142 @@
1
+ #!/bin/bash
2
+ # PreToolUse hook (Bash): Guard rails for dangerous commands.
3
+ # Blocks known-destructive operations, warns on risky ones.
4
+ #
5
+ # Exit 0 = allow the command
6
+ # Exit 2 = block the command (stdout shown as reason)
7
+ # stdout = injected as context (warnings)
8
+ #
9
+ # Reads CLAUDE.md "Critical Rules" section for project-specific guards.
10
+
11
+ set -euo pipefail
12
+
13
+ # The tool input is JSON — extract the command field
14
+ COMMAND="${CLAUDE_TOOL_INPUT_COMMAND:-}"
15
+
16
+ # If no command available, try parsing from CLAUDE_TOOL_INPUT JSON
17
+ if [ -z "$COMMAND" ] && [ -n "${CLAUDE_TOOL_INPUT:-}" ]; then
18
+ COMMAND=$(echo "$CLAUDE_TOOL_INPUT" | python3 -c "import json,sys; print(json.load(sys.stdin).get('command',''))" 2>/dev/null) || true
19
+ fi
20
+
21
+ # Nothing to check
22
+ [ -z "$COMMAND" ] && exit 0
23
+
24
+ # ---------------------------------------------------------------------------
25
+ # Hard blocks (exit 2 = block the tool call)
26
+ # ---------------------------------------------------------------------------
27
+
28
+ # Block: railway up (uploads untracked files — known to cause crashes)
29
+ if echo "$COMMAND" | grep -qE '\brailway\s+up\b'; then
30
+ echo "⛔ BLOCKED: 'railway up' uploads untracked files and can crash services."
31
+ echo "Use 'git push' to deploy via Railway's auto-deploy instead."
32
+ exit 2
33
+ fi
34
+
35
+ # Block: git push directly to main/master (should use PR)
36
+ if echo "$COMMAND" | grep -qE 'git\s+push\s+.*\b(main|master)\b' && ! echo "$COMMAND" | grep -q '\-\-dry-run'; then
37
+ # Allow if pushing a branch that happens to contain "main" in the name
38
+ if echo "$COMMAND" | grep -qE 'git\s+push\s+(origin\s+)?(main|master)\s*$'; then
39
+ echo "⛔ BLOCKED: Never push directly to main. Create a PR instead."
40
+ echo "Use the /pr skill to create a pull request."
41
+ exit 2
42
+ fi
43
+ fi
44
+
45
+ # Block: git push --force to main/master
46
+ if echo "$COMMAND" | grep -qE 'git\s+push\s+--force' || echo "$COMMAND" | grep -qE 'git\s+push\s+-f\b'; then
47
+ if echo "$COMMAND" | grep -qE '\b(main|master)\b'; then
48
+ echo "⛔ BLOCKED: Force push to main is extremely dangerous."
49
+ exit 2
50
+ fi
51
+ fi
52
+
53
+ # Warn: pip uninstall (can break environments — but sometimes needed)
54
+ if echo "$COMMAND" | grep -qE '\bpip\s+uninstall\b'; then
55
+ echo "⚠️ pip uninstall can break the environment. Verify this is intentional."
56
+ echo "If resolving a dependency conflict, consider using a fresh virtualenv instead."
57
+ fi
58
+
59
+ # Block: rm -rf on common important directories
60
+ if echo "$COMMAND" | grep -qE 'rm\s+-rf\s+(/|~|\$HOME|\.git|node_modules/\.\.|backend|frontend|src|app)\b'; then
61
+ echo "⛔ BLOCKED: Destructive rm -rf on critical directory."
62
+ echo "This could delete important project files. Be more specific about what to remove."
63
+ exit 2
64
+ fi
65
+
66
+ # Block: git reset --hard (with nuance)
67
+ # Allow: git reset --hard HEAD (reset working tree to current commit — safe)
68
+ # Block: git reset --hard HEAD~N, origin/main, specific SHAs (loses commits)
69
+ if echo "$COMMAND" | grep -qE 'git\s+reset\s+--hard'; then
70
+ # Allow bare "git reset --hard" or "git reset --hard HEAD" (both = reset to current)
71
+ if echo "$COMMAND" | grep -qE 'git\s+reset\s+--hard\s*$' || echo "$COMMAND" | grep -qE 'git\s+reset\s+--hard\s+HEAD\s*$'; then
72
+ echo "⚠️ git reset --hard HEAD — this discards all uncommitted changes."
73
+ else
74
+ echo "⛔ BLOCKED: git reset --hard to a different commit discards work."
75
+ echo "If this is intentional, the user should run this command manually."
76
+ exit 2
77
+ fi
78
+ fi
79
+
80
+ # Block: git clean -fd on root (too broad)
81
+ if echo "$COMMAND" | grep -qE 'git\s+clean\s+-fd\s*$'; then
82
+ echo "⛔ BLOCKED: git clean -fd removes all untracked files."
83
+ echo "This could delete user's work-in-progress files. Be more specific."
84
+ exit 2
85
+ fi
86
+
87
+ # ---------------------------------------------------------------------------
88
+ # Soft warnings (exit 0, but inject context)
89
+ # ---------------------------------------------------------------------------
90
+
91
+ # Warn: ruff --fix on broad scope
92
+ if echo "$COMMAND" | grep -qE 'ruff\s+(check\s+)?--fix\s+\.' || echo "$COMMAND" | grep -qE 'ruff\s+format\s+\.'; then
93
+ echo "⚠️ Broad ruff --fix/format scope. Consider targeting specific files only."
94
+ echo "Broad auto-fixes can introduce unrelated changes."
95
+ fi
96
+
97
+ # Warn: commands that look like they target production
98
+ if echo "$COMMAND" | grep -qiE '(prod|production)' && ! echo "$COMMAND" | grep -qiE '(staging|test|dev|local)'; then
99
+ echo "⚠️ This command appears to target production. Verify this is intentional."
100
+ echo "DO NOT proceed without explicit user confirmation."
101
+ fi
102
+
103
+ # Warn: database operations on what looks like prod URLs
104
+ if echo "$COMMAND" | grep -qE 'psql.*railway\.net|pg_dump.*railway\.net|DATABASE_URL.*railway\.net'; then
105
+ echo "⚠️ Database command targeting Railway (possibly production). Double-check the target."
106
+ echo "DO NOT modify production data without explicit user confirmation."
107
+ fi
108
+
109
+ # Warn: CI/CD pipeline modifications
110
+ if echo "$COMMAND" | grep -qiE '(mv|cp|rm|edit|cat\s*>).*\.(github|gitlab|circleci|buildkite)' || \
111
+ echo "$COMMAND" | grep -qiE '(mv|cp|rm|edit|cat\s*>).*(Jenkinsfile|azure-pipelines|bitbucket-pipelines)'; then
112
+ echo "⚠️ Modifying CI/CD pipeline configuration. This affects the entire team's workflow."
113
+ echo "Verify this change is intentional and won't break existing pipelines."
114
+ fi
115
+
116
+ # Warn: deploy target or infrastructure config changes
117
+ if echo "$COMMAND" | grep -qiE '(mv|cp|rm|cat\s*>).*(railway\.(json|toml)|vercel\.json|fly\.toml|Dockerfile|docker-compose|terraform|k8s|helm)'; then
118
+ echo "⚠️ Modifying deployment/infrastructure configuration."
119
+ echo "Ask before changing deploy targets, service topology, or infrastructure."
120
+ fi
121
+
122
+ # Warn: npm/pip install of new packages (could affect lock files)
123
+ if echo "$COMMAND" | grep -qE '\b(npm|pip)\s+install\s+[a-zA-Z]' && ! echo "$COMMAND" | grep -qE '\-r\s+requirements'; then
124
+ echo "ℹ️ Installing new package — this will modify lock files."
125
+ fi
126
+
127
+ # ---------------------------------------------------------------------------
128
+ # Cascade detection: if .fix-attempt-count exists and is >= 3, warn
129
+ # ---------------------------------------------------------------------------
130
+ PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}"
131
+ ATTEMPT_FILE="$PROJECT_DIR/.claude/.fix-attempt-count"
132
+ if [ -f "$ATTEMPT_FILE" ]; then
133
+ ATTEMPTS=$(cat "$ATTEMPT_FILE" 2>/dev/null || echo "0")
134
+ if [ "${ATTEMPTS:-0}" -ge 3 ]; then
135
+ echo "🛑 CASCADE WARNING: ${ATTEMPTS} consecutive fix attempts detected."
136
+ echo "STOP chaining fixes. Step back and reassess the root cause from scratch."
137
+ echo "Read the original error, trace the code path, understand WHY before trying again."
138
+ echo "If this is intentional, delete .claude/.fix-attempt-count to reset."
139
+ fi
140
+ fi
141
+
142
+ exit 0