@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,275 @@
1
+ ---
2
+ name: pr
3
+ description: Run QA, create a GitHub PR, and manage post-merge workflow. Never push directly to main.
4
+ user-invocable: true
5
+ ---
6
+
7
+ # /pr — Ship Code Safely
8
+
9
+ ## CRITICAL SAFETY RULE — Destructive Operations
10
+ **NEVER** delete projects, services, repos, databases, or large infrastructure sections on Railway, GitHub (ArthTech-AI org), or any platform without asking the user **3 separate times** for explicit confirmation. This includes `railway delete`, `gh repo delete`, `rm -rf`, `DROP DATABASE`, service removal, etc. When in doubt, ASK.
11
+
12
+ ## Project Context Discovery
13
+
14
+ Before creating any PR, understand the project's conventions. This ensures PRs match the team's
15
+ expectations regardless of platform.
16
+
17
+ ### Step 1: Read existing context
18
+
19
+ Read in this order (skip gracefully if missing):
20
+ 1. `CLAUDE.md` — Critical Rules, test commands, infrastructure
21
+ 2. `.claude/project-profile.md` — Coding conventions, commit style, PR process
22
+ 3. `.claude/knowledge/shared/conventions.md` — Learned team conventions
23
+ 4. `.claude/knowledge/skills/pr.md` — Past PR patterns for this project
24
+
25
+ ### Step 2: Detect source control platform
26
+
27
+ | Signal | Platform | PR Command |
28
+ |--------|----------|-----------|
29
+ | `.git/config` contains `github.com` | GitHub | `gh pr create` |
30
+ | `.git/config` contains `gitlab.com` or GitLab self-hosted | GitLab | `glab mr create` |
31
+ | `.git/config` contains `bitbucket.org` | Bitbucket | Bitbucket API |
32
+ | `.git/config` contains `dev.azure.com` | Azure DevOps | `az repos pr create` |
33
+
34
+ Default: GitHub (most common). If platform can't be detected, ask user.
35
+
36
+ ### Step 3: Detect commit and PR conventions
37
+
38
+ **From git history (most reliable — the team's actual practice):**
39
+ ```bash
40
+ # Detect commit style from last 20 commits
41
+ git log --oneline -20 --format="%s"
42
+ # Look for patterns:
43
+ # "feat: ..." / "fix: ..." → Conventional Commits
44
+ # "Add feature X" / "Fix bug Y" → Freeform imperative
45
+ # "[JIRA-123] Fix bug" → Ticket-prefixed
46
+ # "#123 Fix bug" → Issue-prefixed
47
+ ```
48
+
49
+ **From config files:**
50
+ - `commitlint.config.js` → Conventional Commits enforced
51
+ - `.czrc` / `.cz.json` → Commitizen configured (conventional)
52
+ - `.github/PULL_REQUEST_TEMPLATE.md` → Custom PR template exists (use it!)
53
+ - `.github/CODEOWNERS` → Auto-reviewer assignment rules
54
+
55
+ **From project-profile.md (if /calibrate has run):**
56
+ - Commit style: conventional | freeform | ticket-prefixed
57
+ - PR merge strategy: squash | merge commit | rebase
58
+ - Branch naming: feature/* | feat/* | JIRA-*
59
+
60
+ ### Step 4: Detect PR requirements
61
+
62
+ ```bash
63
+ # Check if branch protection requires reviews
64
+ gh api repos/{owner}/{repo}/branches/main/protection --jq '.required_pull_request_reviews.required_approving_review_count' 2>/dev/null
65
+
66
+ # Check if status checks are required
67
+ gh api repos/{owner}/{repo}/branches/main/protection --jq '.required_status_checks.contexts[]' 2>/dev/null
68
+
69
+ # Check if CODEOWNERS exists
70
+ test -f .github/CODEOWNERS && echo "CODEOWNERS found — auto-reviewers will be assigned"
71
+ ```
72
+
73
+ ### Step 5: Build PR template
74
+
75
+ Based on discovery, construct the right PR format:
76
+
77
+ **If `.github/PULL_REQUEST_TEMPLATE.md` exists:**
78
+ - Use it as the base template
79
+ - Fill in the sections from QA results and change analysis
80
+
81
+ **If project uses conventional commits:**
82
+ - PR title: `{type}({scope}): {description}` (match commit style)
83
+ - PR body: include breaking changes section if type is `feat!` or `fix!`
84
+
85
+ **If project uses ticket-prefixed commits:**
86
+ - PR title: `[TICKET-123] Description`
87
+ - PR body: include ticket link
88
+
89
+ **Default template (no conventions detected):**
90
+ - Summary (1-3 bullets)
91
+ - QA Results
92
+ - Test plan
93
+ - Closes #N
94
+
95
+ ### Step 6: Recommend improvements
96
+
97
+ If missing, suggest:
98
+ ```
99
+ PR process recommendations for {project}:
100
+ ⚠ No PULL_REQUEST_TEMPLATE.md — consider adding one for consistent PRs
101
+ ⚠ No CODEOWNERS file — PRs won't auto-assign reviewers
102
+ ⚠ No branch protection on main — anyone can push directly
103
+ ⚠ No required status checks — PRs can merge without CI passing
104
+ ⚠ No commit convention detected — consider conventional commits for changelogs
105
+ ```
106
+
107
+ This skill orchestrates the full pre-merge workflow: QA checks, PR creation, and post-merge cleanup.
108
+
109
+ ## Argument Parsing
110
+
111
+ | Input | Action |
112
+ |-------|--------|
113
+ | `/pr` | Full workflow — QA + commit + push + PR |
114
+ | `/pr --skip-qa` | Skip QA step — used when called from `/fix` or `/implement` which already ran QA. Only runs a quick sanity check (lint + type check). |
115
+
116
+ ## Pre-Merge Workflow
117
+
118
+ ### Step 0: Run /precheck (toolkit projects only)
119
+
120
+ If this is the claude-agents toolkit itself (check if `tests/run.sh` exists):
121
+
122
+ 1. Invoke `/precheck` to run local mechanical tests
123
+ 2. **If /precheck FAILS** — stop, fix failures, do NOT proceed
124
+ 3. **If /precheck PASSES** — continue to Step 1
125
+
126
+ This catches CI failures in 30 seconds instead of a 4-minute remote round-trip.
127
+ Skip this step for non-toolkit projects (they don't have the test harness).
128
+
129
+ ### Step 1: QA Gate
130
+
131
+ **If `--skip-qa` flag is set** (called from `/fix` or `/implement` which already ran QA):
132
+
133
+ Run a **quick sanity check only** — no full QA run:
134
+
135
+ ```bash
136
+ # Read CLAUDE.md Test Commands table for lint and type check commands
137
+ # Examples:
138
+ # Python: ruff check . && mypy .
139
+ # Node: npm run lint && npx tsc --noEmit
140
+ # Go: golangci-lint run && go vet ./...
141
+ # Rust: cargo clippy && cargo check
142
+ ```
143
+
144
+ If sanity check fails → show failures, ask user to fix. Do NOT run full QA.
145
+ If sanity check passes → continue to Step 2.
146
+
147
+ **If no `--skip-qa` flag** (called standalone):
148
+
149
+ Run the full QA framework in commit mode:
150
+
151
+ 1. Invoke the `/qa` skill (commit mode) using the Skill tool
152
+ 2. Wait for QA results
153
+ 3. **If /qa FAILS** — stop immediately, show the failures, do NOT create PR
154
+ 4. **If /qa PASSES** — continue to Step 2
155
+
156
+ **Why the split**: `/fix` and `/implement` both have their own QA step where the user
157
+ chooses the QA level. Running `/qa commit` again in `/pr` would be redundant. The quick
158
+ sanity check catches last-second issues (uncommitted lint errors, type mismatches from
159
+ a bad merge) without re-running the full test suite.
160
+
161
+ ### Step 2: Stage and commit
162
+
163
+ 1. Check `git status` for unstaged changes
164
+ 2. Stage relevant files (never stage `.env`, credentials, or large binaries)
165
+ 3. Create a commit with a descriptive message if there are uncommitted changes
166
+
167
+ ### Step 3: Find or create GitHub issue
168
+
169
+ Before creating the PR, ensure a tracking issue exists:
170
+
171
+ 1. **Check for existing issue** — search in this order:
172
+ a. If a PR already exists for this branch (`gh pr list --head <branch> --json body --limit 1`),
173
+ extract the issue number from `Closes #N` in the PR body
174
+ b. Search open issues for the branch name: `gh issue list --search "Branch: <branch-name>" --state open --json number,title --limit 1`
175
+ c. Search open issues by title keywords (derive from branch name, e.g., `fix/safari-audio` → "safari audio"):
176
+ `gh issue list --search "<keywords> in:title" --state open --json number,title --limit 3`
177
+ - If exactly 1 match, reuse it
178
+ - If multiple matches, show them to the user and ask which to link (or create new)
179
+
180
+ 2. **If no existing issue found** — create one with `gh issue create`:
181
+ - Title: concise description of what the change does
182
+ - Body: problem statement, solution summary, and a branch marker line:
183
+ ```
184
+ Branch: <branch-name>
185
+ ```
186
+ This marker enables reliable lookup on future `/pr` runs.
187
+
188
+ 3. Note the issue number for the PR body
189
+
190
+ ### Step 4: Push and create PR
191
+
192
+ 1. Push current branch to origin: `git push -u origin <branch>`
193
+ 2. Create a GitHub PR with:
194
+ - A concise title (under 70 chars) summarizing the change
195
+ - A body with:
196
+ - `## Summary` — 1-3 bullet points of what changed and why
197
+ - `## QA Results` — paste the /qa commit summary (pass/fail counts)
198
+ - `## Test plan` — checklist of what to verify
199
+ - `Closes #<issue-number>` — auto-closes the issue on merge
200
+ 3. Return the PR URL to the user
201
+
202
+ ### Step 5: Never push directly to main
203
+
204
+ If on main branch, refuse and ask user to create a feature branch first.
205
+
206
+ ## Post-Merge Workflow
207
+
208
+ After the PR is merged (user confirms or asks to clean up):
209
+
210
+ 1. Verify the linked issue was auto-closed (the `Closes #N` in the PR body handles this)
211
+ 2. If the issue wasn't auto-closed, close it manually: `gh issue close <number> --reason completed`
212
+ 3. Delete the remote branch: `git push origin --delete <branch>`
213
+ 4. Delete the local branch: `git branch -d <branch>`
214
+ 5. Checkout main: `git checkout main`
215
+ 6. Pull latest: `git pull origin main`
216
+ 7. **Run `/onboard`** — invoke the onboard skill to present project status (open PRs, GH issues, memory context) and recommend what to work on next
217
+
218
+ ## What Happens After Merge (automated by CI/CD)
219
+
220
+ The user doesn't need to do anything — GitHub Actions handles:
221
+
222
+ ```
223
+ Merge to main
224
+ → CI checks run again
225
+ → Deploy to staging → smoke test staging
226
+ → If staging healthy → deploy to production
227
+ → Health check production → Discord notification
228
+ ```
229
+
230
+ If Discord reports issues, tell the user to run `/sre` to investigate.
231
+
232
+ ## Continuation (Workflow Chaining)
233
+
234
+ After the PR is created:
235
+
236
+ **If autopilot is active** (check `.claude/.workflow-state.json` mode == "autopilot"):
237
+ - Update workflow state: `phase: "awaiting_merge"`, `pr_number: N`
238
+ - Present PR summary with risk assessment
239
+ - **STOP HERE** — never merge without human approval
240
+ - When user says "merged", "continue", or "next": the post-git-state hook
241
+ will reset phase to "assess" and the autopilot loop continues
242
+
243
+ **If guided mode** (no autopilot or mode != "autopilot"):
244
+ - Present: "PR #N created. After merge, run `/onboard` to see what's next."
245
+ - Offer the post-merge cleanup steps (delete branch, checkout main, pull)
246
+
247
+ ## Knowledge Base Integration
248
+
249
+ ### On every /pr invocation:
250
+ 1. **Read** `.claude/knowledge/shared/conventions.md` — use correct commit style
251
+ 2. **Read** `.claude/knowledge/skills/pr.md` — past PR patterns
252
+ 3. **Read** `.github/PULL_REQUEST_TEMPLATE.md` — use project's own template
253
+
254
+ ### After PR created:
255
+ 1. **Append** to `.claude/knowledge/skills/pr.md`:
256
+ ```
257
+ ### {date} — PR #{number}
258
+ **Branch**: {branch}
259
+ **Type**: {bug fix | feature | refactor}
260
+ **Files**: {count}
261
+ **Reviewers**: {auto-assigned from CODEOWNERS or manual}
262
+ **Template used**: {custom | default | conventional}
263
+ ```
264
+
265
+ ### /calibrate Integration
266
+
267
+ When `/calibrate` runs, it reads the project's git history and PR configuration.
268
+ The /pr skill contributes:
269
+ 1. **Commit convention detection** → /calibrate writes to project profile
270
+ 2. **PR template existence** → /calibrate notes in recommendations
271
+ 3. **Branch protection rules** → /calibrate notes in recommendations
272
+ 4. **CODEOWNERS rules** → /calibrate notes reviewer patterns
273
+
274
+ If `/calibrate` hasn't run, /pr does its own discovery and uses what it finds.
275
+ If `/calibrate` has run, /pr reads conventions from `project-profile.md` directly.
@@ -0,0 +1,159 @@
1
+ ---
2
+ name: precheck
3
+ description: "Run local tests before pushing. Catches CI failures locally in 30s instead of 4min round-trip. Usage: /precheck"
4
+ user-invocable: true
5
+ arguments: ""
6
+ ---
7
+
8
+ # /precheck — Local CI Before Push
9
+
10
+ Run the mechanical test suite locally before creating a PR. Catches failures
11
+ in 30 seconds instead of a 4-minute CI round-trip.
12
+
13
+ **Run this EVERY TIME before pushing.**
14
+
15
+ ## Execution
16
+
17
+ ### Step 1: Detect what changed
18
+
19
+ ```bash
20
+ # What files changed on this branch vs main?
21
+ CHANGED=$(git diff main...HEAD --name-only 2>/dev/null || git diff HEAD~1 --name-only)
22
+ ```
23
+
24
+ ### Step 2: Pick the right test suites
25
+
26
+ Based on what changed, run only the relevant suites:
27
+
28
+ | Files Changed | Suite | Why |
29
+ |--------------|-------|-----|
30
+ | `hooks/triage-router.sh` | `--suite 09` | Triage output format tests |
31
+ | `hooks/*.sh` (any hook) | `--suite 09` | Hook execution tests |
32
+ | `skills/*/SKILL.md` | `--suite 20` | Skill runtime safety (frontmatter, brackets) |
33
+ | `agents/*.md` | `--suite 19,20` | Brownfield classification + skill safety |
34
+ | `install.sh` | `--suite 01,02,03,04,19` | Install flow tests |
35
+ | `portable.manifest` | `--suite 01,02` | Manifest consistency |
36
+ | `tests/fixtures/**` | `--suite 19` | Brownfield fixture tests |
37
+ | Multiple categories | `--mechanical` | Run all mechanical tests |
38
+
39
+ ### Step 3: Run the tests
40
+
41
+ ```bash
42
+ # Must be on a feature branch (test runner refuses main)
43
+ BRANCH=$(git branch --show-current)
44
+ if [ "$BRANCH" = "main" ]; then
45
+ echo "Switch to a feature branch first: git checkout -b fix/my-change"
46
+ exit 1
47
+ fi
48
+
49
+ # Run the selected suites
50
+ bash tests/run.sh --suite {selected_suites} --scenario a
51
+ ```
52
+
53
+ ### Step 4: Report and write marker
54
+
55
+ If all pass:
56
+ ```bash
57
+ # Write precheck marker (triage router checks this before allowing /pr)
58
+ mkdir -p "$CLAUDE_PROJECT_DIR/.claude"
59
+ echo "$(date +%s) $(git rev-parse --short HEAD 2>/dev/null || echo 'unknown')" > "$CLAUDE_PROJECT_DIR/.claude/.precheck-passed"
60
+ ```
61
+ ```
62
+ ✓ Precheck passed ({N} tests, {time}s)
63
+ Ready to push.
64
+ ```
65
+
66
+ If any fail:
67
+ ```bash
68
+ # Remove stale marker on failure
69
+ rm -f "$CLAUDE_PROJECT_DIR/.claude/.precheck-passed" 2>/dev/null || true
70
+ ```
71
+ ```
72
+ ✗ Precheck FAILED
73
+
74
+ Failed tests:
75
+ {test name} — {failure reason}
76
+
77
+ Fix these before pushing. Do NOT push with failing tests.
78
+ ```
79
+
80
+ ### Step 5: If all pass, ship it
81
+
82
+ After tests pass, run the full ship sequence. Do NOT ask — just do it.
83
+
84
+ **5.1: Stage and commit** (if uncommitted changes exist)
85
+ ```bash
86
+ git add {relevant files — never .env or credentials}
87
+ git commit -m "{descriptive message}
88
+
89
+ Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>"
90
+ ```
91
+
92
+ **5.2: Push**
93
+ ```bash
94
+ git push -u origin {branch}
95
+ ```
96
+
97
+ **5.3: Create PR**
98
+ ```bash
99
+ gh pr create --title "{title}" --body "{body}"
100
+ ```
101
+
102
+ **5.4: Merge**
103
+ ```bash
104
+ # IMPORTANT: Never use --auto. It's not enabled on this repo.
105
+ gh pr merge --squash
106
+ ```
107
+
108
+ **5.5: Cleanup**
109
+ ```bash
110
+ git checkout main
111
+ git pull
112
+ git branch -d {branch}
113
+ ```
114
+
115
+ **5.6: Report**
116
+ ```
117
+ ✓ Shipped: PR #{number} merged to main
118
+ Tests: {N} passed, 0 failed
119
+ Files: {changed files summary}
120
+ ```
121
+
122
+ ### Full sequence (copy-paste safe)
123
+
124
+ The entire ship flow as a single sequence — test, commit, push, PR, merge, cleanup:
125
+
126
+ ```bash
127
+ # 1. Test
128
+ bash tests/run.sh --suite {suites} --scenario a
129
+
130
+ # 2. Commit (if needed)
131
+ git add {files}
132
+ git commit -m "{message}"
133
+
134
+ # 3. Push + PR
135
+ git push -u origin {branch}
136
+ gh pr create --title "{title}" --body "{body}"
137
+
138
+ # 4. Merge (NEVER use --auto)
139
+ gh pr merge --squash
140
+
141
+ # 5. Cleanup
142
+ git checkout main && git pull && git branch -d {branch}
143
+ ```
144
+
145
+ ## Common Failures
146
+
147
+ | Failure | Cause | Fix |
148
+ |---------|-------|-----|
149
+ | "classify_file returns IDENTICAL" | Agent fixture is stale — you changed an agent file | Update the fixture: `cp agents/{name}.md tests/fixtures/claude-setups/poweruser/.claude/agents/` |
150
+ | "regex-unsafe [brackets] in arguments" | Skill frontmatter has `[brackets]` | Replace `[x]` with `<x>` in SKILL.md arguments/description |
151
+ | "compact SPEED reminder" | Triage router compact output changed | Update test assertion in `09-triage-router-output.sh` |
152
+ | "STALE/MODIFIED classification wrong" | Agent grew too much, ratio shifted | Check fixture agent size vs toolkit — restore original fixture if needed |
153
+
154
+ ## Rules
155
+
156
+ - **Always run before pushing.** No exceptions.
157
+ - **Fix failures before pushing.** Don't push hoping CI will pass.
158
+ - **If you changed agent files**, also run `--suite 19` (brownfield fixtures).
159
+ - **If you changed the triage router**, also run `--suite 09`.
@@ -0,0 +1,127 @@
1
+ ---
2
+ name: qa
3
+ description: "Run QA checks. Usage: /qa (commit), /qa full (comprehensive), /qa staging (deployed), /qa prod (read-only)."
4
+ user-invocable: true
5
+ arguments: "<mode>"
6
+ ---
7
+
8
+ # Universal QA Framework
9
+
10
+ ## Mode Detection
11
+
12
+ Parse the mode from the argument:
13
+ - No argument / empty / "commit" → **commit** mode
14
+ - "full" → **full** mode
15
+ - "staging" → **staging** deployment verification
16
+ - "prod" / "production" → **prod** deployment verification
17
+
18
+ ## Mode: {{ mode }}
19
+
20
+ You are the Chief QA Agent. Execute the QA framework in **{{ mode }}** mode.
21
+
22
+ ### Quick Reference
23
+ - **commit mode**: Analyze `git diff HEAD~1`, run targeted checks on changed files only, spawn 2-4 agents, generate 5-8 test scenarios, produce targeted report (~1-3 min)
24
+ - **full mode**: Analyze `git diff main...HEAD`, run ALL checks across full codebase, spawn ALL worker agents, generate 10-15 test scenarios, comprehensive report (~10-20 min)
25
+ - **staging mode**: Resolve staging URLs from CLAUDE.md Infrastructure table, run health + smoke + E2E against deployed staging
26
+ - **prod mode**: Resolve production URLs from CLAUDE.md, READ-ONLY health + smoke (NO mutations)
27
+
28
+ ### Execution Steps
29
+
30
+ 1. **Read configuration**: Load `CLAUDE.md` for test commands, services, infrastructure. Also load `qa-manifest.yml` if it exists.
31
+
32
+ 2. **Analyze changes**:
33
+ - commit mode: `git diff HEAD~1 --name-only`
34
+ - full mode: `git diff main...HEAD --name-only` + `git log --oneline -10`
35
+ - staging/prod: `git log --oneline -1` (just for commit hash in report)
36
+
37
+ 2b. **Find related test files with explore-light** (cost: 1x Haiku):
38
+
39
+ Before planning which agents to spawn, find what tests already exist for the changed files:
40
+
41
+ ```
42
+ subagent_type: "explore-light"
43
+ prompt: "For each of these changed files, find:
44
+ 1. Existing test files that test this code (by import, naming convention, or directory)
45
+ 2. Whether the test file has been updated in this diff (or is stale)
46
+ 3. Related files that SHOULD be tested but might not have tests
47
+
48
+ Changed files: {from step 2}
49
+ Return: mapping of source file → test file (or 'NO TEST' if missing)"
50
+ ```
51
+
52
+ Use the results to:
53
+ - Skip spawning test agents for files that have no tests (flag as coverage gap instead)
54
+ - Focus test agents on files that DO have tests (verify they still pass)
55
+ - Identify new code without tests (recommend adding them)
56
+
57
+ 3. **Plan test strategy** using the directory heuristic:
58
+ | Changed files in... | Spawn agent... |
59
+ |---------------------|----------------|
60
+ | Backend directory | backend-qa (Haiku): lint, type check, tests |
61
+ | Frontend directory | frontend-qa (Haiku): lint, type check, tests, build |
62
+ | Frontend pages/routes or E2E tests | e2e-qa (Sonnet): Playwright/Cypress |
63
+ | Schema/type files (both sides) | contract-qa (Haiku): schema diff |
64
+ | Migration files | contract-qa: migration validation |
65
+ | Domain-specific files | domain-qa (Sonnet): business logic checks |
66
+ | 5+ files changed (commit) or full mode | code-review (Sonnet): architectural review |
67
+
68
+ 4. **Generate test scenarios**: Think like real users. What user-facing behavior changed? What edge cases matter? What could break elsewhere?
69
+
70
+ 5. **Create team and spawn agents**: Use TeamCreate + TaskCreate + Task tool. Spawn ALL agents in ONE message for maximum parallelism.
71
+
72
+ 6. **Collect results**: Monitor TaskList, collect SendMessage results from all agents.
73
+
74
+ 7. **Run coverage audit**: Review if existing tests still match the codebase. Flag new code without tests, stale tests, dead tests.
75
+
76
+ 8. **Produce report**: Structured QA report with change analysis, check results, failures, warnings, coverage, E2E results, domain quality, code review, scenario results, and actionable next steps.
77
+
78
+ 9. **Cleanup**: Shutdown all agents, TeamDelete, stop QA-started servers.
79
+
80
+ ### Three-Layer Test Strategy
81
+ Every QA run uses three complementary layers:
82
+ 1. **Baseline Tests** — existing test suites (regression anchor, same every run)
83
+ 2. **Generated Scenarios** — fresh every run, thinks like real users based on diff
84
+ 3. **Coverage Audit** — reviews if existing tests still match the codebase
85
+
86
+ ### Important Notes
87
+ - Read CLAUDE.md for ALL project-specific paths, commands, ports, and conventions
88
+ - Generated scenarios are NOT persisted as test files — they're one-off explorations
89
+ - If a generated scenario catches a bug, recommend adding a permanent baseline test
90
+ - Domain validation Tier 3 is ADVISORY ONLY — never gates deployment
91
+ - Use 600000ms timeout for E2E Bash calls
92
+
93
+ ## Continuation (Workflow Chaining)
94
+
95
+ After QA completes:
96
+
97
+ **If autopilot is active** (check `.claude/.workflow-state.json` mode == "autopilot"):
98
+ - If QA **passed**: proceed to `/review-pr` then `/pr`
99
+ - Detect change type: if `.claude/.fix-scope-lock.json` exists → bug fix, else → feature
100
+ - Run `/review-pr --type {bug|feature}` for automated review
101
+ - If review passes → update workflow state: `phase: "pr"`, create PR
102
+ - If review has blocking issues → attempt fix, re-run QA + review
103
+ - If QA **failed**: attempt fix (max 2 rounds), then re-run QA
104
+ - If still failing after 2 attempts: STOP, report failures, wait for human
105
+ - Update workflow state: `phase: "blocked"`, increment `attempts.qa_fixes`
106
+
107
+ **If guided mode** (no autopilot or mode != "autopilot"):
108
+ - If QA **passed**:
109
+ - Detect change type:
110
+ - `.claude/.fix-scope-lock.json` exists → this is a **bug fix**
111
+ - `.claude/plans/*.md` was referenced → this is a **feature**
112
+ - Neither → ask user or default to feature
113
+ - Present:
114
+ ```
115
+ QA passed. Next step: code review before creating PR.
116
+
117
+ Detected: {bug fix | feature}
118
+ Recommended: /review-pr {--type bug | --type feature}
119
+
120
+ This will check: {scope compliance + regression test (bug) | plan completeness + test coverage (feature)}
121
+ Then: /pr to create the pull request.
122
+
123
+ Run /review-pr now? Or skip to /pr?
124
+ ```
125
+ - If user says "skip" → proceed to `/pr` directly
126
+ - If user approves → run `/review-pr`, then suggest `/pr`
127
+ - If QA **failed**: "QA found N failures. Here's what went wrong: [details]. Should I fix and re-run?"
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: qa-incident
3
+ description: "Manually create a QA incident from a known issue. Usage: /qa-incident <description>"
4
+ user-invocable: true
5
+ arguments: "<description>"
6
+ ---
7
+
8
+ # Create QA Incident
9
+
10
+ Manually log a production incident or known issue to the QA knowledge base, so the next `/qa` run generates a regression test for it.
11
+
12
+ ## Process
13
+
14
+ 1. **Parse the description** from the argument.
15
+
16
+ 2. **Ask clarifying questions** (use AskUserQuestion):
17
+ - Severity: high / medium / low
18
+ - Affected files (if known)
19
+ - Root cause (if known)
20
+
21
+ 3. **Create incident file** at `.claude/qa-knowledge/incidents/{date}-{slug}.md`:
22
+
23
+ ```markdown
24
+ ---
25
+ date: {today YYYY-MM-DD}
26
+ severity: {from user}
27
+ status: uncovered
28
+ affected_files:
29
+ - {from user, or "unknown"}
30
+ ---
31
+ # {Title from description}
32
+
33
+ ## Root Cause
34
+ {From user, or "To be investigated"}
35
+
36
+ ## How QA Missed It
37
+ {Infer from context, or "Unknown -- needs investigation"}
38
+
39
+ ## Regression Test Recommendation
40
+ {Suggest based on description and affected files}
41
+ ```
42
+
43
+ 4. **Confirm to user**: "Incident logged. Next `/qa` run will generate a regression test targeting this issue."
44
+
45
+ ## If No Description Provided
46
+
47
+ Ask: "Describe the issue you want to log (e.g., 'admin page crashes when user has no sessions')"
48
+
49
+ ## If Knowledge Base Doesn't Exist
50
+
51
+ Create the directory structure first:
52
+ ```bash
53
+ mkdir -p .claude/qa-knowledge/incidents
54
+ ```
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: qa-learn
3
+ description: "Review QA knowledge base stats, prune stale entries, show learning metrics. Usage: /qa-learn [prune]"
4
+ user-invocable: true
5
+ arguments: "<command>"
6
+ ---
7
+
8
+ # QA Learning Review
9
+
10
+ Review the self-improving QA system's accumulated knowledge.
11
+
12
+ ## Default: Show Stats
13
+
14
+ Read and summarize the QA knowledge base:
15
+
16
+ 1. **Incidents**: Count files in `.claude/qa-knowledge/incidents/`. Show covered vs uncovered.
17
+ 2. **Promoted tests**: Count files in `.claude/qa-knowledge/promoted-tests/`. List test file paths.
18
+ 3. **Bug patterns**: Count patterns in `.claude/qa-knowledge/bug-patterns.md`.
19
+ 4. **Coverage gaps**: Count gaps in `.claude/qa-knowledge/coverage-gaps.md`.
20
+ 5. **Challenger log**: Count entries in `.claude/qa-knowledge/challenger-log.md`. Show hit rate (attacks that found issues / total attacks).
21
+
22
+ Present as a structured table:
23
+
24
+ | Metric | Count | Details |
25
+ |--------|-------|---------|
26
+ | Incidents (uncovered) | N | {list titles} |
27
+ | Incidents (covered) | N | {list titles} |
28
+ | Promoted tests | N | {list file paths} |
29
+ | Bug patterns | N | |
30
+ | Coverage gaps | N | |
31
+ | Challenger attacks (total) | N | |
32
+ | Challenger hit rate | X% | {found issues / total} |
33
+
34
+ ## `/qa-learn prune`
35
+
36
+ Remove stale entries:
37
+ 1. Incidents with `status: covered` older than 30 days -> archive or delete
38
+ 2. Promoted tests whose source test file no longer exists -> remove provenance
39
+ 3. Coverage gaps that now have test coverage -> remove
40
+ 4. Challenger log entries older than 90 days -> truncate
41
+
42
+ Report what was pruned.
43
+
44
+ ## If Knowledge Base Doesn't Exist
45
+
46
+ If `.claude/qa-knowledge/` doesn't exist, report:
47
+ "QA knowledge base not initialized. Run `/qa commit` or `/qa full` to start accumulating knowledge."