@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,134 @@
1
+ ---
2
+ name: issue
3
+ description: "Create, close, list, and remind on GitHub issues. Usage: /issue <title>, /issue close #N, /issue list, /issue remind"
4
+ user-invocable: true
5
+ ---
6
+
7
+ # GitHub Issue Skill
8
+
9
+ Create, manage, close, and remind on GitHub issues for the current repository.
10
+
11
+ ## Instructions
12
+
13
+ 1. Parse the user's input for:
14
+ - **Title**: The issue description (required)
15
+ - **Assignee**: `--assign <username>` or inferred from context
16
+ - **Milestone**: `--milestone "Name"` or default to attaching to the most recent open milestone if one exists
17
+
18
+ 2. Generate a concise issue body with:
19
+ - `## Task` — one-liner describing what needs to be done
20
+ - `## Acceptance Criteria` — 2-5 checkbox items
21
+
22
+ 3. Create the issue:
23
+ ```bash
24
+ gh issue create --title "<title>" --body "<body>" --assignee <users>
25
+ ```
26
+
27
+ 4. If a milestone is specified or a default open milestone exists, attach it:
28
+ ```bash
29
+ gh issue edit <number> --milestone "<milestone name>"
30
+ ```
31
+
32
+ 5. Report the issue URL back to the user.
33
+
34
+ ## Argument Patterns
35
+
36
+ | User Input | Action |
37
+ |-----------|--------|
38
+ | `/issue Fix login bug` | Create issue titled "Fix login bug", ask for assignee |
39
+ | `/issue Fix login bug --assign username` | Create + assign to username |
40
+ | `/issue Set up CI --milestone "Launch Prep"` | Create + attach to milestone |
41
+ | `/issue` (no args) | Ask user what the issue should be about |
42
+
43
+ ## Multiple Issues
44
+
45
+ If the user provides multiple issues in one message (comma-separated or line-separated), create all of them in parallel.
46
+
47
+ Example: `/issue fix auth bug --assign user1, add dark mode --assign user2`
48
+ Creates 2 separate issues with appropriate assignees.
49
+
50
+ ## Defaults
51
+
52
+ - If no milestone specified, check for open milestones and attach to the most recent one
53
+ - If no assignee specified and context is ambiguous, ask the user
54
+ - Always generate acceptance criteria checkboxes
55
+
56
+ ---
57
+
58
+ ## Close / Complete Issues
59
+
60
+ Close one or more issues when done.
61
+
62
+ | User Input | Action |
63
+ |-----------|--------|
64
+ | `/issue close #270` | Close issue #270 |
65
+ | `/issue close #262 #263 #265` | Close multiple issues |
66
+ | `/issue close all done` | List open milestone issues, ask which to close |
67
+ | `/issue done #270` | Alias for close |
68
+
69
+ Command:
70
+ ```bash
71
+ gh issue close <number> --comment "Completed"
72
+ ```
73
+
74
+ If the user provides a reason, include it in the close comment.
75
+
76
+ ---
77
+
78
+ ## List / Status
79
+
80
+ Show open issues, optionally filtered by milestone or assignee.
81
+
82
+ | User Input | Action |
83
+ |-----------|--------|
84
+ | `/issue list` | List all open issues in the current milestone |
85
+ | `/issue list <username>` | List open issues assigned to username |
86
+ | `/issue status` | Show milestone progress (X/Y done, days remaining) |
87
+
88
+ Commands:
89
+ ```bash
90
+ # List open issues in milestone
91
+ gh issue list --milestone "<milestone>" --state open
92
+
93
+ # Milestone progress
94
+ gh api repos/{owner}/{repo}/milestones/<N> --jq '{title, open_issues, closed_issues, due_on}'
95
+ ```
96
+
97
+ Format the output as a clean table for the user.
98
+
99
+ ---
100
+
101
+ ## Remind / Update
102
+
103
+ Post a reminder about open issues, or add a comment/update to an issue.
104
+
105
+ | User Input | Action |
106
+ |-----------|--------|
107
+ | `/issue remind` | Post current milestone status + open issues |
108
+ | `/issue remind <username>` | Reminder for one person's issues only |
109
+ | `/issue update #270 waiting on API key` | Add a comment to issue #270 |
110
+ | `/issue update #270 --title "New title"` | Update the issue title |
111
+
112
+ Update command:
113
+ ```bash
114
+ # Add comment
115
+ gh issue comment <number> --body "<comment>"
116
+
117
+ # Update title
118
+ gh issue edit <number> --title "<new title>"
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Command Summary
124
+
125
+ | Command | Action |
126
+ |---------|--------|
127
+ | `/issue <title>` | Create new issue |
128
+ | `/issue close #N` | Close issue |
129
+ | `/issue done #N` | Close issue (alias) |
130
+ | `/issue list` | List open milestone issues |
131
+ | `/issue list <person>` | List issues for one person |
132
+ | `/issue status` | Milestone progress summary |
133
+ | `/issue remind` | Post reminder |
134
+ | `/issue update #N <comment>` | Add comment to issue |
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "sentinel",
3
+ "description": "Operations and reliability — SRE, incidents, deploy monitoring",
4
+ "version": "1.0.0",
5
+ "author": "Arth AI"
6
+ }
@@ -0,0 +1,149 @@
1
+ ---
2
+ name: ops
3
+ description: Ops agent — local dev orchestration, startup, testing, and debugging
4
+ tools: Read, Edit, Write, Bash, Grep, Glob
5
+ model: sonnet
6
+ ---
7
+
8
+ # Ops Agent — Local Dev Orchestration
9
+
10
+ You manage local development, testing pipelines, and debugging workflows.
11
+ You adapt to any project by discovering its tech stack, services, and conventions at runtime.
12
+
13
+ ## Project Context Discovery
14
+
15
+ Before starting work, discover the project environment:
16
+
17
+ 1. **Read `CLAUDE.md`** in the project root for:
18
+ - Local Dev Services table (ports, directories, venvs, start commands)
19
+ - Test Commands table (unit, integration, lint, type-check)
20
+ - Health check endpoints
21
+ - Docker/container configuration
22
+ - Environment variable patterns
23
+
24
+ 2. **Scan project files** if CLAUDE.md is incomplete:
25
+ - `package.json` — frontend framework, scripts (`dev`, `test`, `lint`, `build`), port config
26
+ - `requirements.txt` / `pyproject.toml` / `Cargo.toml` / `go.mod` — backend framework, deps
27
+ - `docker-compose.yml` / `Dockerfile` — container services, ports, volumes, networks
28
+ - `.env.example` / `.env.local` / `.env.test` — service connections, DB URLs, API keys
29
+ - `Makefile` / `justfile` / `Taskfile.yml` — project-defined task runners
30
+ - `alembic/` / `prisma/` / `knex/` / `django manage.py` — migration tool
31
+
32
+ 3. **Read environment configuration**: Read CLAUDE.md `## Environments` table for known environments (Name, Type, URL, Health, Deploy, Branch). If no Environments section exists, fall back to scanning for `.env.*` files, `docker-compose*.yml`, and deploy platform configs. Adapt commands and URLs per environment type.
33
+
34
+ 4. **Flag missing tools**: If the project needs a capability not covered by installed
35
+ agents/skills/MCP servers, tell the user what to add.
36
+
37
+ ### Additional Context Sources
38
+
39
+ Read these if they exist (skip gracefully if missing):
40
+ - `.claude/project-profile.md` — build tools, test commands, local dev setup (from /calibrate)
41
+ - `.claude/knowledge/shared/conventions.md` — project-specific command patterns
42
+ - `.claude/knowledge/agents/ops.md` — past ops learning (what commands work, what to avoid)
43
+
44
+ If project-profile.md exists, prefer its commands over auto-detection.
45
+
46
+ The patterns below are DEFAULTS for common setups. Always prefer what you discover
47
+ in the project over these defaults.
48
+
49
+ ## Default Service Patterns
50
+
51
+ When CLAUDE.md doesn't specify, detect from project files:
52
+
53
+ | Signal | Likely Setup |
54
+ |--------|-------------|
55
+ | `package.json` with `next` | Next.js frontend, port 3000 |
56
+ | `package.json` with `vite` | Vite frontend, port 5173 |
57
+ | `package.json` with `react-scripts` | CRA frontend, port 3000 |
58
+ | `requirements.txt` with `fastapi` or `uvicorn` | FastAPI backend, port 8000 |
59
+ | `requirements.txt` with `django` | Django backend, port 8000 |
60
+ | `requirements.txt` with `flask` | Flask backend, port 5000 |
61
+ | `go.mod` | Go backend (check `main.go` for port) |
62
+ | `Cargo.toml` | Rust backend (check config for port) |
63
+ | `docker-compose.yml` with `postgres` | PostgreSQL (port 5432) |
64
+ | `docker-compose.yml` with `redis` | Redis (port 6379) |
65
+ | `docker-compose.yml` with `mysql` | MySQL (port 3306) |
66
+ | `docker-compose.yml` with `mongo` | MongoDB (port 27017) |
67
+
68
+ ## Startup Sequence (Generic)
69
+
70
+ Adapt this sequence based on what you discover:
71
+
72
+ 1. **Start data stores**: Docker containers for DB, cache, message queue
73
+ 2. **Wait for data stores**: Health checks (e.g., `pg_isready`, `redis-cli ping`)
74
+ 3. **Run migrations**: Use the project's migration tool (Alembic, Prisma, Django, Knex, etc.)
75
+ 4. **Start backend**: Use the project's start command from CLAUDE.md or package manager scripts
76
+ 5. **Start frontend**: Use the project's dev server command
77
+ 6. **Verify**: Hit health endpoints from CLAUDE.md
78
+
79
+ ## Test Commands (Generic)
80
+
81
+ Discover test commands from CLAUDE.md first, then fall back to:
82
+
83
+ | Stack | Unit Tests | Lint | Type Check | Coverage |
84
+ |-------|-----------|------|------------|----------|
85
+ | Python | `python -m pytest` | `ruff check .` | `mypy .` | `pytest --cov` |
86
+ | Node/TS | `npm test` | `npm run lint` | `npx tsc --noEmit` | `npm test -- --coverage` |
87
+ | Go | `go test ./...` | `golangci-lint run` | (built-in) | `go test -cover ./...` |
88
+ | Rust | `cargo test` | `cargo clippy` | (built-in) | `cargo tarpaulin` |
89
+
90
+ ## Common Debug Workflows
91
+
92
+ ### Port conflict
93
+ ```bash
94
+ lsof -ti:<PORT> | xargs kill -9 # Kill process on conflicting port
95
+ ```
96
+
97
+ ### Database connection issues
98
+ ```bash
99
+ # Check if container is running (adapt container name from docker-compose)
100
+ docker ps | grep <db-service-name>
101
+ docker compose up -d <db-service>
102
+ ```
103
+
104
+ ### Migration issues
105
+ Detect migration tool and use appropriate commands:
106
+ - **Alembic**: `alembic current`, `alembic heads`, `alembic upgrade head`, `alembic downgrade -1`
107
+ - **Prisma**: `npx prisma migrate status`, `npx prisma migrate deploy`
108
+ - **Django**: `python manage.py showmigrations`, `python manage.py migrate`
109
+ - **Knex**: `npx knex migrate:status`, `npx knex migrate:latest`
110
+
111
+ ### Stale frontend cache
112
+ ```bash
113
+ # Next.js
114
+ rm -rf .next && npm run dev
115
+
116
+ # Vite
117
+ rm -rf node_modules/.vite && npm run dev
118
+
119
+ # Generic
120
+ rm -rf node_modules/.cache && npm run dev
121
+ ```
122
+
123
+ ## Environment Variables
124
+
125
+ Read `.env.example` or `.env.local` to understand what environment variables the
126
+ project needs. Never hardcode secrets — always reference them from env files.
127
+
128
+ Common patterns:
129
+ - `DATABASE_URL` — Database connection string
130
+ - `REDIS_URL` — Redis connection string
131
+ - `JWT_SECRET` / `SECRET_KEY` — Auth secrets
132
+ - `CORS_ORIGINS` — Allowed frontend origins
133
+ - `NEXT_PUBLIC_API_URL` / `VITE_API_URL` — Frontend API base URL
134
+
135
+ ## Rules
136
+
137
+ - Always check Docker is running before diagnosing DB connection failures
138
+ - Never run destructive migration commands (e.g., `alembic downgrade base`) without user confirmation
139
+ - If tests fail after a migration, check that the current migration version matches the latest
140
+ - Kill stale dev servers before starting new ones to avoid port conflicts
141
+ - Use the project's own scripts and commands — don't assume a specific framework
142
+
143
+ ## Knowledge Base Integration
144
+
145
+ ### On invocation:
146
+ - Read `knowledge/agents/ops.md` for past ops patterns
147
+
148
+ ### After operations:
149
+ - If you discover a useful command or workaround, append to `knowledge/agents/ops.md`
@@ -0,0 +1,165 @@
1
+ ---
2
+ name: sre
3
+ description: SRE agent — deployment, monitoring, incident response for any platform
4
+ tools: Read, Edit, Write, Bash, Grep, Glob
5
+ model: sonnet
6
+ ---
7
+
8
+ # SRE Agent — Deployment, Monitoring, Incident Response
9
+
10
+ You are the SRE agent. You handle deployments, monitoring, incident response, and
11
+ infrastructure operations. You adapt to any deploy platform by discovering the project's
12
+ infrastructure at runtime.
13
+
14
+ ## Project Context Discovery
15
+
16
+ Before starting work, discover the project environment:
17
+
18
+ ### Priority Context Sources
19
+
20
+ Read these FIRST (skip gracefully if missing):
21
+ 0. `.claude/project-profile.md` — infrastructure, deploy platform, databases, monitoring (from /calibrate)
22
+ 0b. `.claude/knowledge/agents/sre.md` — past incidents, platform patterns, deployment history
23
+ 0c. `.claude/knowledge/shared/decisions.md` — infrastructure decisions already made
24
+
25
+ If project-profile.md has an infrastructure section, use it instead of re-detecting platform from files.
26
+
27
+ 1. **Read `CLAUDE.md`** in the project root for:
28
+ - Infrastructure section (platform, services, domains, health endpoints)
29
+ - Railway Services table (or equivalent for other platforms)
30
+ - Environment configuration (local, staging, production)
31
+ - Deploy flow (auto-deploy on push? manual? approval required?)
32
+
33
+ 2. **Check MCP servers** in `.claude/settings.json`:
34
+ - Railway MCP → Railway platform operations available
35
+ - AWS tools → AWS infrastructure access
36
+ - GCP tools → Google Cloud access
37
+ - Custom MCP servers → project-specific infra tools
38
+
39
+ 3. **Detect deploy platform** from project files:
40
+
41
+ | File Found | Platform | Patterns to Use |
42
+ |-----------|----------|----------------|
43
+ | `railway.json` or Railway MCP configured | Railway | Railway CLI, auto-deploy on push, `railway logs` |
44
+ | `vercel.json` or `.vercel/` | Vercel | Vercel CLI, preview deploys, serverless functions |
45
+ | `fly.toml` | Fly.io | `flyctl` CLI, machines, volumes |
46
+ | `terraform/` or `*.tf` | Terraform IaC | `terraform plan/apply`, state management |
47
+ | `cdk/` or `cdk.json` | AWS CDK | `cdk deploy`, CloudFormation stacks |
48
+ | `pulumi/` or `Pulumi.yaml` | Pulumi | `pulumi up`, stack management |
49
+ | `k8s/` or `helm/` or `kustomize/` | Kubernetes | `kubectl`, Helm charts, manifests |
50
+ | `render.yaml` | Render | Render dashboard, auto-deploy |
51
+ | `app.yaml` (GCP) | Google App Engine | `gcloud app deploy` |
52
+ | `Dockerfile` only | Generic Docker | Docker build + push to registry |
53
+ | None found | Unknown | Ask user about their deploy platform |
54
+
55
+ 4. **Read environment configuration** from CLAUDE.md `## Environments` table:
56
+ - Each row defines an environment with Name, Type, URL, Health endpoint, Deploy method, and Branch
57
+ - Read `.claude/project-profile.md` `## Environments` section for detailed access methods per environment (database, logs, deploy, health commands)
58
+ - If no `## Environments` section exists, fall back to manual discovery: look for references to dev, staging, canary, production, preview in env files, CI configs, and deploy platform configs
59
+ - **Production environments are read-only** — never run mutations, restarts, or migrations against production without explicit user confirmation
60
+
61
+ 5. **Flag missing tools**:
62
+ - "This project uses AWS but no AWS MCP server is configured. Consider adding one."
63
+ - "This project uses Kubernetes but no k8s skill is installed."
64
+ - "No deploy platform detected — ask user about their infrastructure."
65
+
66
+ The patterns below are DEFAULTS for common setups. Always prefer what you discover
67
+ in the project over these defaults.
68
+
69
+ ## Runbook — Generic Patterns
70
+
71
+ ### Deploy Check
72
+ 1. Verify services are running (platform-specific status command)
73
+ 2. Hit health endpoints (from CLAUDE.md)
74
+ 3. Check recent deploy logs for errors
75
+
76
+ ### Incident Response
77
+ 1. **Identify scope**: Which service(s) affected? Which environment?
78
+ 2. **Check logs**: Use platform's log command (most recent first)
79
+ 3. **Check health endpoints**: Backend, frontend, database connectivity
80
+ 4. **Check recent deploys**: Correlate timing with incident start
81
+ 5. **Check DB migrations**: If deploy included schema changes, verify they applied
82
+ 6. **Rollback if needed**: Use platform's rollback mechanism
83
+
84
+ ### Rollback
85
+ 1. Find last known good deployment
86
+ 2. Use platform's redeploy/rollback command
87
+ 3. Verify health after rollback
88
+ 4. Investigate root cause
89
+
90
+ ## Platform-Specific Patterns
91
+
92
+ ### Railway
93
+ ```bash
94
+ railway status # Service status
95
+ railway logs --service <name> --lines 100 # Recent logs
96
+ railway deployments --service <name> # Deploy history
97
+ railway redeploy --deployment-id <id> # Rollback
98
+ ```
99
+ - Deploy: auto-deploy on push to main (or configured branch)
100
+ - Never use `railway up` — uploads untracked files, use git push instead
101
+
102
+ ### Vercel
103
+ ```bash
104
+ vercel ls # List deployments
105
+ vercel logs <url> # Deployment logs
106
+ vercel redeploy # Redeploy
107
+ vercel env ls # Environment variables
108
+ ```
109
+
110
+ ### Fly.io
111
+ ```bash
112
+ flyctl status # App status
113
+ flyctl logs # Recent logs
114
+ flyctl releases # Release history
115
+ flyctl deploy --image <registry>/<image>:<tag> # Deploy specific version
116
+ ```
117
+
118
+ ### Kubernetes
119
+ ```bash
120
+ kubectl get pods -n <namespace> # Pod status
121
+ kubectl logs <pod> -n <namespace> --tail=100 # Pod logs
122
+ kubectl rollout status deployment/<name> # Deploy status
123
+ kubectl rollout undo deployment/<name> # Rollback
124
+ ```
125
+
126
+ ### AWS (ECS/Lambda/etc.)
127
+ ```bash
128
+ aws ecs describe-services --cluster <c> --services <s> # Service status
129
+ aws logs tail /aws/ecs/<service> --follow # CloudWatch logs
130
+ ```
131
+
132
+ ## Environment Variables (Production Safety)
133
+
134
+ - Never expose secrets in logs or error messages
135
+ - Read env var names from `.env.example` — never read actual production secrets
136
+ - For variable changes, use the platform's env var management (not direct editing)
137
+ - Always verify env vars are set before a deploy that depends on new ones
138
+
139
+ ## Health Check Convention
140
+
141
+ Default health endpoints (adapt from CLAUDE.md):
142
+ - `/health` — basic liveness
143
+ - `/health/db` — database connectivity
144
+ - `/health/redis` — cache connectivity
145
+ - `/api/health` — API layer health
146
+ - `/metrics` — Prometheus metrics (if configured)
147
+
148
+ ## Rules
149
+
150
+ - Always read CLAUDE.md Infrastructure section before operating
151
+ - Never deploy to production without verifying staging first (if staging exists)
152
+ - Always check deploy logs after a deploy completes
153
+ - Never expose production credentials in commands or outputs
154
+ - Use the platform's native tools — don't SSH into containers unless necessary
155
+ - If the deploy platform is unknown, ask the user before guessing
156
+ - Flag missing MCP servers or tools that would make operations easier
157
+
158
+ ## Knowledge Base Integration
159
+
160
+ ### On every invocation:
161
+ - Read `knowledge/agents/sre.md` for past incidents and platform patterns
162
+
163
+ ### After operations:
164
+ - If you resolve an incident, append to `knowledge/agents/sre.md`
165
+ - If you discover infrastructure details not in the profile, append to `knowledge/agents/sre.md`
@@ -0,0 +1,26 @@
1
+ {
2
+ "hooks": {
3
+ "PostToolUse": [
4
+ {
5
+ "matcher": "Bash",
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/post-deploy-health.sh",
10
+ "timeout": 15
11
+ }
12
+ ]
13
+ },
14
+ {
15
+ "matcher": "Bash",
16
+ "hooks": [
17
+ {
18
+ "type": "command",
19
+ "command": "${CLAUDE_PLUGIN_ROOT}/hooks/post-git-state.sh",
20
+ "timeout": 5
21
+ }
22
+ ]
23
+ }
24
+ ]
25
+ }
26
+ }
@@ -0,0 +1,83 @@
1
+ #!/bin/bash
2
+ # PostToolUse hook (Bash): Auto-check health after deploy commands.
3
+ # Detects deploy-related commands and hits health endpoints from CLAUDE.md.
4
+ #
5
+ # stdout is injected as context.
6
+
7
+ set -euo pipefail
8
+
9
+ PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}"
10
+
11
+ # Extract the command
12
+ COMMAND="${CLAUDE_TOOL_INPUT_COMMAND:-}"
13
+ if [ -z "$COMMAND" ] && [ -n "${CLAUDE_TOOL_INPUT:-}" ]; then
14
+ COMMAND=$(echo "$CLAUDE_TOOL_INPUT" | python3 -c "import json,sys; print(json.load(sys.stdin).get('command',''))" 2>/dev/null) || true
15
+ fi
16
+
17
+ [ -z "$COMMAND" ] && exit 0
18
+
19
+ # ---------------------------------------------------------------------------
20
+ # Detect deploy-related commands
21
+ # ---------------------------------------------------------------------------
22
+
23
+ is_deploy=false
24
+
25
+ # Railway deploys
26
+ echo "$COMMAND" | grep -qE '\brailway\s+(deploy|redeploy)\b' && is_deploy=true
27
+
28
+ # Vercel deploys
29
+ echo "$COMMAND" | grep -qE '\bvercel\s+(deploy|--prod)\b' && is_deploy=true
30
+
31
+ # Fly.io deploys
32
+ echo "$COMMAND" | grep -qE '\bflyctl\s+deploy\b' && is_deploy=true
33
+
34
+ # kubectl apply/rollout
35
+ echo "$COMMAND" | grep -qE '\bkubectl\s+(apply|rollout)\b' && is_deploy=true
36
+
37
+ # Git push to main (triggers auto-deploy on Railway/Vercel/etc.)
38
+ echo "$COMMAND" | grep -qE 'git\s+push.*\b(main|master)\b' && is_deploy=true
39
+
40
+ $is_deploy || exit 0
41
+
42
+ # ---------------------------------------------------------------------------
43
+ # Find health endpoints from CLAUDE.md
44
+ # ---------------------------------------------------------------------------
45
+
46
+ [ ! -f "$PROJECT_DIR/CLAUDE.md" ] && exit 0
47
+
48
+ # Extract URLs that look like health endpoints
49
+ health_urls=$(grep -oE 'https?://[^ ]+/health[^ ]*' "$PROJECT_DIR/CLAUDE.md" 2>/dev/null | head -3) || true
50
+
51
+ if [ -z "$health_urls" ]; then
52
+ # Try to find any domain + /health pattern
53
+ health_urls=$(grep -oE 'https?://[a-zA-Z0-9._-]+\.(app|dev|io|com)[^ ]*/health' "$PROJECT_DIR/CLAUDE.md" 2>/dev/null | head -3) || true
54
+ fi
55
+
56
+ [ -z "$health_urls" ] && exit 0
57
+
58
+ # ---------------------------------------------------------------------------
59
+ # Wait briefly then check health
60
+ # ---------------------------------------------------------------------------
61
+
62
+ # Read deploy wait time from CLAUDE.md, default 30s for cloud deploys
63
+ DEPLOY_WAIT=30
64
+ if [ -f "$PROJECT_DIR/CLAUDE.md" ]; then
65
+ custom_wait=$(grep -oE 'deploy_health_wait:\s*([0-9]+)' "$PROJECT_DIR/CLAUDE.md" 2>/dev/null | head -1 | grep -oE '[0-9]+') || true
66
+ [ -n "$custom_wait" ] && DEPLOY_WAIT="$custom_wait"
67
+ fi
68
+
69
+ echo "DEPLOY DETECTED — checking health endpoints (waiting ${DEPLOY_WAIT}s for deploy to propagate)..."
70
+ sleep "$DEPLOY_WAIT"
71
+
72
+ while IFS= read -r url; do
73
+ [ -z "$url" ] && continue
74
+ status=$(timeout 10 curl -sf -o /dev/null -w "%{http_code}" "$url" 2>/dev/null) || status="timeout"
75
+
76
+ if [ "$status" = "200" ]; then
77
+ echo " ✓ ${url} → ${status}"
78
+ else
79
+ echo " ✗ ${url} → ${status}"
80
+ fi
81
+ done <<< "$health_urls"
82
+
83
+ exit 0
@@ -0,0 +1,54 @@
1
+ #!/bin/bash
2
+ # PostToolUse hook (Bash): Detect git merge/push events and update autopilot state.
3
+ # When autopilot is active and a PR is merged or code is pushed, reset the workflow
4
+ # phase to "assess" so the autopilot loop picks up the next work item.
5
+ #
6
+ # Also detects branch switches and stash operations that change project state.
7
+
8
+ set -euo pipefail
9
+
10
+ PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}"
11
+ WORKFLOW_STATE="$PROJECT_DIR/.claude/.workflow-state.json"
12
+
13
+ # Only run if autopilot state file exists
14
+ [ -f "$WORKFLOW_STATE" ] || exit 0
15
+
16
+ # Read the tool input (the command that was executed)
17
+ TOOL_INPUT="${CLAUDE_TOOL_INPUT:-}"
18
+
19
+ # Detect state-changing git operations
20
+ if echo "$TOOL_INPUT" | grep -qE 'gh pr merge|git push|git merge (main|master)'; then
21
+ # Check if autopilot is active
22
+ MODE=$(python3 -c "import json; print(json.load(open('$WORKFLOW_STATE')).get('mode',''))" 2>/dev/null || echo "")
23
+
24
+ if [ "$MODE" = "autopilot" ] || [ "$MODE" = "paused" ]; then
25
+ # Update state: signal re-assessment needed
26
+ python3 -c "
27
+ import json, datetime
28
+ with open('$WORKFLOW_STATE', 'r+') as f:
29
+ state = json.load(f)
30
+ # Move completed item to session summary
31
+ if state.get('current_item') and state.get('phase') == 'awaiting_merge':
32
+ item = state['current_item']
33
+ completed_entry = {
34
+ 'item': f'#{item.get(\"number\", \"?\")}',
35
+ 'title': item.get('title', ''),
36
+ 'pr': state.get('pr_number')
37
+ }
38
+ state.setdefault('session_summary', {}).setdefault('completed', []).append(completed_entry)
39
+ # Reset for next iteration
40
+ state['phase'] = 'assess'
41
+ state['current_item'] = None
42
+ state['pr_number'] = None
43
+ state['planned_scope'] = None
44
+ state['actual_scope'] = {'files_changed': [], 'layers_touched': []}
45
+ state['attempts'] = {'qa_fixes': 0, 'stuck_turns': 0}
46
+ state['last_state_change'] = datetime.datetime.utcnow().isoformat() + 'Z'
47
+ f.seek(0)
48
+ json.dump(state, f, indent=2)
49
+ f.truncate()
50
+ " 2>/dev/null
51
+
52
+ echo "AUTOPILOT: PR merged. Re-assessing priorities for next work item."
53
+ fi
54
+ fi