@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,344 @@
1
+ ---
2
+ name: onboard
3
+ description: "Session onboarding — project briefing, work prioritization, and guided setup. Usage: /onboard"
4
+ user-invocable: true
5
+ arguments: ""
6
+ ---
7
+
8
+ # Onboard Skill — Session Start Intelligence
9
+
10
+ Helps users get oriented at the start of a session. Detects project state, gathers
11
+ deep context, and suggests what to work on — prioritized by the nature of the project.
12
+ Works for both greenfield and brownfield projects.
13
+
14
+ **Key principle: Do the legwork, don't be pushy.** Gather context silently, present a
15
+ clear picture, let the user drive.
16
+
17
+ ## Execution Steps
18
+
19
+ ### 1. Detect Project State
20
+
21
+ Check these signals to determine greenfield vs brownfield:
22
+
23
+ | Signal | Greenfield | Brownfield |
24
+ |--------|-----------|------------|
25
+ | `CLAUDE.md` exists | No | Yes |
26
+ | Source code dirs (`src/`, `app/`, `backend/`, `frontend/`) | None | Present |
27
+ | `package.json` or `requirements.txt` | None | Present |
28
+ | Git history | 0-2 commits | Many commits |
29
+ | `.claude/plans/` has files | No | Maybe |
30
+
31
+ ### 2A. Greenfield Flow
32
+
33
+ If the project is greenfield (no meaningful code):
34
+
35
+ 1. Ask the user ONE question using AskUserQuestion:
36
+ - "What are you building? (1-2 sentences — what it does and who it's for)"
37
+
38
+ 2. Based on their answer, suggest a tech stack:
39
+ - Check if any config files hint at preferences (empty `package.json`, `requirements.txt`, etc.)
40
+ - Suggest a stack that matches their description
41
+ - Ask them to confirm or adjust
42
+
43
+ 3. Take action:
44
+ - Run `/scan` to scaffold CLAUDE.md with detected/chosen stack
45
+ - Create a project plan via `/planning` if the feature is non-trivial
46
+ - Or scaffold directly if it's simple enough
47
+
48
+ 4. Present next steps:
49
+ - "Project scaffolded. Run `/planning <feature>` to plan your first feature."
50
+ - "Or just tell me what to build and I'll get started."
51
+
52
+ ### 2B. Brownfield Flow
53
+
54
+ If the project has existing code:
55
+
56
+ #### Step 0: Toolkit Update Check (ALWAYS run first)
57
+
58
+ Check if the claude-agents toolkit has been updated since this project last synced.
59
+ This is the ONLY reliable way to surface toolkit changes to the user — hook stdout
60
+ is unreliable (known Claude Code bugs #13650, #27467 cause silent drops).
61
+
62
+ ```bash
63
+ # Read the per-project last-seen SHA
64
+ TOOLKIT_DIR="$HOME/.claude-agents"
65
+ LAST_SEEN_FILE=".claude/.toolkit-last-seen-sha"
66
+ CURRENT_SHA=$(cd "$TOOLKIT_DIR" && git rev-parse HEAD 2>/dev/null)
67
+ LAST_SEEN_SHA=$(cat "$LAST_SEEN_FILE" 2>/dev/null || echo "")
68
+
69
+ # Compare — if different, toolkit has changed since last session
70
+ if [ -n "$LAST_SEEN_SHA" ] && [ -n "$CURRENT_SHA" ] && [ "$LAST_SEEN_SHA" != "$CURRENT_SHA" ]; then
71
+ # Get commit count and details
72
+ cd "$TOOLKIT_DIR"
73
+ COMMIT_COUNT=$(git rev-list --count "$LAST_SEEN_SHA..$CURRENT_SHA" 2>/dev/null || echo "0")
74
+ CHANGELOG=$(git log --format=" • %s" "$LAST_SEEN_SHA..$CURRENT_SHA" 2>/dev/null | grep -iE "feat:|fix:|breaking:|new:" | head -5)
75
+ NEW_SKILLS=$(git diff --diff-filter=A --name-only "$LAST_SEEN_SHA..$CURRENT_SHA" -- "skills/*/SKILL.md" 2>/dev/null | sed 's|skills/||;s|/SKILL.md||' | tr '\n' ', ' | sed 's/,$//')
76
+ UPDATED_AGENTS=$(git diff --diff-filter=M --name-only "$LAST_SEEN_SHA..$CURRENT_SHA" -- "agents/*.md" 2>/dev/null | sed 's|agents/||;s|\.md||' | tr '\n' ', ' | sed 's/,$//')
77
+ fi
78
+
79
+ # Also check if project hasn't been calibrated yet
80
+ HAS_PROFILE=false
81
+ [ -f ".claude/project-profile.md" ] && HAS_PROFILE=true
82
+ ```
83
+
84
+ **If toolkit has changes, show them FIRST in the briefing:**
85
+
86
+ ```
87
+ 🔧 Toolkit updated ({COMMIT_COUNT} new commits since last session)
88
+ {CHANGELOG}
89
+ {if NEW_SKILLS: " New skills: {NEW_SKILLS}"}
90
+ {if UPDATED_AGENTS: " Updated agents: {UPDATED_AGENTS}"}
91
+ ```
92
+
93
+ **If project hasn't been calibrated, show the hint:**
94
+
95
+ ```
96
+ 💡 This project hasn't been calibrated yet. Run /calibrate to deep-learn your
97
+ codebase and configure MCP servers, agents, and workflows.
98
+ ```
99
+
100
+ **After showing, update the stored SHA:**
101
+
102
+ ```bash
103
+ echo "$CURRENT_SHA" > ".claude/.toolkit-last-seen-sha"
104
+ ```
105
+
106
+ #### Step 1: Deep Context Gathering (no user interaction — run ALL of these)
107
+
108
+ Use **parallel tool calls** where possible to gather all context fast.
109
+
110
+ **Git state (local — fast)**:
111
+ ```bash
112
+ git branch --show-current
113
+ git status --short
114
+ git log --oneline -20 # recent commits for work history
115
+ git log --oneline --since="3 days ago" # what happened since last session
116
+ git stash list
117
+ git branch -a --sort=-committerdate | head -10 # recent branches
118
+ ```
119
+
120
+ **GitHub state (if `gh` available)**:
121
+
122
+ **Step 1 — fast list (run all in parallel):**
123
+ ```bash
124
+ # My open PRs — NO comments field (bot comments are huge HTML and cause errors)
125
+ gh pr list --author @me --json number,title,state,reviewDecision,updatedAt,headRefName,labels --limit 10
126
+
127
+ # PRs requesting my review (--review-requested is NOT a valid flag; use --search)
128
+ gh pr list --search "review-requested:@me" --json number,title,author,createdAt --limit 5
129
+
130
+ # My assigned issues — get labels for prioritization
131
+ gh issue list --assignee @me --json number,title,labels,createdAt,updatedAt --limit 10
132
+
133
+ # Recent merged PRs (context on what shipped recently)
134
+ gh pr list --state merged --limit 5 --json number,title,mergedAt,author
135
+
136
+ # Open issues (unassigned — available to pick up)
137
+ gh issue list --json number,title,labels,assignees --limit 10
138
+ ```
139
+
140
+ **Step 2 — fetch comment details for PRs that need attention:**
141
+
142
+ IMPORTANT: After Step 1, for each PR with `reviewDecision: CHANGES_REQUESTED`
143
+ or updated in the last 3 days, fetch its comments individually. This avoids
144
+ pulling massive bot comments in bulk while still getting the detail you need.
145
+
146
+ ```bash
147
+ # Run ONE per PR that needs attention (replace <NUMBER> with actual PR number):
148
+ gh pr view <NUMBER> --json comments,reviews --jq '{
149
+ comments: [.comments[] | {author: .author.login, age: .createdAt, body: .body[0:200]}] | .[-3:],
150
+ reviews: [.reviews[] | {author: .author.login, state: .state, body: .body[0:200]}] | .[-3:]
151
+ }'
152
+ ```
153
+
154
+ This gives you: who commented, when, and the first 200 chars of each comment.
155
+ Include these details in the 🟡 Waiting on you section of the briefing.
156
+
157
+ **Project state**:
158
+ ```bash
159
+ ls .claude/plans/*.md # active plans
160
+ cat CLAUDE.md | head -5 # project identity
161
+ ```
162
+
163
+ **Environment health** (read CLAUDE.md `## Environments` table):
164
+
165
+ If the `## Environments` section exists in CLAUDE.md, validate each environment:
166
+
167
+ ```bash
168
+ # For EACH environment in the Environments table:
169
+
170
+ # Type: development (local)
171
+ docker ps --format '{{.Names}} {{.Status}}' # container health
172
+ curl -sf {URL}{Health} > /dev/null && echo "✓" || echo "✗" # local health endpoint
173
+ # Check migration status (Alembic/Prisma/Drizzle — detect from project)
174
+ ls .env.local > /dev/null 2>&1 # env file exists
175
+
176
+ # Type: staging
177
+ curl -sf {URL}{Health} -o /dev/null -w "%{http_code}" # health endpoint
178
+ # Check deploy platform accessibility (Railway MCP query, vercel whoami, etc.)
179
+
180
+ # Type: production (READ-ONLY — never run mutations)
181
+ curl -sf {URL}{Health} -o /dev/null -w "%{http_code}" # health endpoint only
182
+ ```
183
+
184
+ **Fallback**: If no `## Environments` section exists in CLAUDE.md (project not yet calibrated), fall back to basic checks:
185
+ ```bash
186
+ docker ps --format '{{.Names}} {{.Status}}' # container health
187
+ ls .env.local > /dev/null 2>&1 # env file exists
188
+ # Check node_modules / venv freshness
189
+ ```
190
+
191
+ Include environment status in the briefing output. Add to the existing tier format:
192
+
193
+ In **🔴 Fix first** tier, add environment failures:
194
+ ```
195
+ 🔴 Fix first:
196
+ local — postgres container stopped
197
+ → Run: docker compose up -d postgres
198
+ staging — health check failed (503 at https://staging.myapp.com/health)
199
+ → Check: Railway dashboard or run /sre logs staging
200
+ ```
201
+
202
+ When all environments are healthy, show as a compact status line before the tiers:
203
+ ```
204
+ Environments: local ✓ | staging ✓ | production ✓
205
+ ```
206
+
207
+ #### Step 2: Analyze & Prioritize
208
+
209
+ Read the project's CLAUDE.md to understand the **nature of the project** and use that
210
+ to weight priorities. Different projects care about different things:
211
+
212
+ | Project Nature | Higher Priority | Lower Priority |
213
+ |----------------|----------------|----------------|
214
+ | Production app (users depend on it) | Prod bugs, failing CI, security issues | Feature requests, tech debt |
215
+ | Early-stage startup | New features, user feedback | Test coverage, docs |
216
+ | Internal tool | Requested features, reliability | Polish, edge cases |
217
+ | Library/SDK | Breaking changes, test failures | New features |
218
+ | CLI tool | UX bugs, install issues | Performance |
219
+
220
+ **Smart prioritization rules**:
221
+ - Issues with labels like `bug`, `critical`, `urgent`, `P0`, `security` → always 🔴
222
+ - Issues with labels like `feature`, `enhancement` → 🔵 or ⚪ depending on age
223
+ - Stale PRs (no activity > 7 days) → escalate to 🟡
224
+ - PRs with `CHANGES_REQUESTED` → 🟡 (someone is waiting)
225
+ - Branches with work but no PR → might be abandoned or mid-feature
226
+
227
+ #### Step 3: Build the Briefing
228
+
229
+ Organize findings into 4 tiers — **only show tiers that have items**:
230
+
231
+ **🔴 Fix first** (blocking — things that prevent work):
232
+ - Docker containers expected but not running
233
+ - Migration mismatch (local behind head)
234
+ - CI/CD failing on current branch
235
+ - MCP servers disconnected
236
+ - Critical bugs in production
237
+ - Security issues
238
+
239
+ **🟡 Waiting on you** (aging — things others are waiting for):
240
+ - PR review comments unaddressed > 24h (show who commented, when)
241
+ - PRs requesting your review (show author, title, age)
242
+ - Issues assigned with approaching deadlines
243
+ - Stale PRs with no activity > 7 days (show PR number, title, days stale)
244
+
245
+ **🔵 Continue** (continuity — what you were doing last):
246
+ - Uncommitted changes (you were mid-work) — list the files changed
247
+ - Active plan file (you were mid-feature) — show which step
248
+ - Current branch != main (you were on a feature) — show branch purpose
249
+ - Recent commits that suggest in-progress work
250
+ - Last session's work summary (group recent commits by area)
251
+
252
+ **⚪ Available** (opportunity — things you could pick up):
253
+ - Open issues nobody's assigned to (prioritized by label/nature)
254
+ - PRs from teammates that need review
255
+ - Next phase of an active plan
256
+ - Recently merged PRs that might need follow-up (docs, tests, cleanup)
257
+
258
+ #### Step 4: Present the Briefing
259
+
260
+ Format as a structured message with actionable detail:
261
+
262
+ ```
263
+ Here's where things stand:
264
+
265
+ 🔴 Fix first:
266
+ Docker redis is stopped — backend cache won't connect
267
+ → Run: docker compose up -d redis
268
+
269
+ 🟡 Waiting on you:
270
+ PR #245 "Fix auth token refresh" — 2 unresolved comments from @motred (3 days ago)
271
+ Last comment: "Need to handle the edge case where token is expired but refresh fails"
272
+ PR #251 by @teammate needs your review (opened 2 days ago)
273
+ "Add rate limiting to API endpoints"
274
+
275
+ 🔵 Continue from last session:
276
+ Branch: feature/oauth-support (3 uncommitted files: auth.ts, login.tsx, test_auth.py)
277
+ Plan: oauth-support.md — Step 3/5 (implementing token refresh)
278
+ Last commits:
279
+ • 2h ago: "add refresh token endpoint"
280
+ • 5h ago: "implement token storage in context"
281
+
282
+ ⚪ Available to pick up:
283
+ Issue #89 "Add password reset flow" (bug, assigned to nobody, 5 days old)
284
+ Issue #92 "Update onboarding copy" (enhancement, unassigned, 2 days old)
285
+ Plan: golden-dataset-pipeline.md — Phase 5 not started
286
+
287
+ What would you like to tackle?
288
+
289
+ 🛠 Available workflows:
290
+ /planning <feature> → /implement → /qa → /review-pr → /pr Feature development
291
+ /fix <bug|#issue> → /review-pr → /pr Bug fix (formal pipeline)
292
+ /fix --hotfix → /pr Critical bug (expedited)
293
+ /calibrate Deep-learn project (first time)
294
+ /autopilot Autonomous work loop
295
+ /qa [full|staging|prod] Run QA checks
296
+ /review-pr [#N] Review a PR
297
+ /incident <description> Something broken? Auto-triage + route
298
+ /ci-fix Fix failing CI
299
+ /sre [status|debug|deploy-check] SRE operations
300
+ ```
301
+
302
+ **Key formatting rules**:
303
+ - Show PR/issue numbers so user can reference them
304
+ - Show who is waiting and how long (creates urgency naturally)
305
+ - Show file names for uncommitted changes (reminds user what they were doing)
306
+ - Show plan progress as "Step X/Y" or "Phase X"
307
+ - Group recent commits by feature area (auth, billing, UI, etc.)
308
+ - For stale PRs, show how many days since last activity
309
+ - Include actionable next steps where obvious (run commands, review links)
310
+
311
+ #### Step 5: Route Based on User's Choice
312
+
313
+ - If user picks a red flag → route to ops agent or provide the fix command
314
+ - If user picks a PR → route to code-reviewer or read the PR comments
315
+ - If user picks continuing work → read the plan, route to appropriate agent
316
+ - If user picks an issue → read the issue, route to /planning or direct fix
317
+ - If user says "just fix the red flags" → fix them all, then re-present
318
+ - If user says something specific → hand off to normal triage
319
+
320
+ ### 3. Edge Cases
321
+
322
+ - **No git repo**: Skip all git/GitHub context. Just check for code files.
323
+ - **No GitHub CLI**: Skip PR/issue context. Show git-only state.
324
+ - **No Docker**: Skip container health. Show other context.
325
+ - **User interrupts**: If user types something specific at any point, stop
326
+ onboarding and let triage handle their request normally.
327
+ - **Nothing to report**: If everything is clean (main branch, no uncommitted,
328
+ no PRs, no issues), just say "Everything looks clean. What would you like to work on?"
329
+ - **Too much to show**: If there are 10+ items across tiers, show top 3 per tier
330
+ and note "X more items — ask to see full list"
331
+
332
+ ## Rules
333
+
334
+ - **Max 1 question** before presenting findings (brownfield: 0 questions)
335
+ - **Never auto-start work** — always present and let user choose
336
+ - **Degrade gracefully** — if a tool is missing, skip that context source
337
+ - **Respect user's time** — if they have a specific task, get out of the way
338
+ - **Toolkit updates go first** — always run Step 0 and show toolkit changes before
339
+ the project briefing. This is the only reliable way users see what changed.
340
+ - **Calibration hint** — if `.claude/project-profile.md` doesn't exist, always show
341
+ the `/calibrate` hint. Don't skip it.
342
+ - **Show the PR/issue content** — don't just count them, summarize what they're about
343
+ - **Prioritize by project nature** — read CLAUDE.md to understand what matters most
344
+ - **Use parallel tool calls** — gather all context sources simultaneously for speed
@@ -0,0 +1,232 @@
1
+ ---
2
+ name: scan
3
+ description: "Scan codebase and auto-populate CLAUDE.md with project context (services, ports, test commands, infrastructure). Usage: /scan [section]"
4
+ user-invocable: true
5
+ arguments: "<section>"
6
+ ---
7
+
8
+ # Codebase Scanner
9
+
10
+ Scans the project and populates CLAUDE.md with structured sections that agents read at runtime. This is how generic agents learn your specific project.
11
+
12
+ ## When This Runs
13
+
14
+ - **First install**: `install.sh --setup` triggers a scan automatically
15
+ - **On demand**: User runs `/scan` to refresh after codebase changes
16
+ - **Targeted**: `/scan services` to only update the Local Dev Services section
17
+
18
+ ## What Gets Scanned
19
+
20
+ ### 1. Local Dev Services
21
+
22
+ Detect running services and their configuration:
23
+
24
+ ```bash
25
+ # Check for frontend frameworks
26
+ if [ -f "frontend/package.json" ] || [ -f "package.json" ]; then
27
+ # Read scripts.dev from package.json
28
+ # Detect framework: Next.js (port 3000), Vite (5173), CRA (3000), Vue (5173)
29
+ fi
30
+
31
+ # Check for backend frameworks
32
+ if [ -f "backend/requirements.txt" ] || [ -f "requirements.txt" ]; then
33
+ # Detect FastAPI/Django/Flask
34
+ # Default ports: FastAPI 8000, Django 8000, Flask 5000
35
+ fi
36
+ if [ -f "backend/pyproject.toml" ]; then
37
+ # Read [tool.poetry] or [project] for framework hints
38
+ fi
39
+
40
+ # Check docker-compose.yml for service definitions
41
+ if [ -f "docker-compose.yml" ] || [ -f "docker-compose.yaml" ]; then
42
+ # Extract service names, ports, build contexts
43
+ fi
44
+
45
+ # Check for Procfile (Heroku/Railway)
46
+ if [ -f "Procfile" ]; then
47
+ # Extract web/worker commands
48
+ fi
49
+ ```
50
+
51
+ Output the **Local Dev Services** table:
52
+
53
+ ```markdown
54
+ ## Local Dev Services
55
+
56
+ | Service | Port | Directory | Start Command |
57
+ |----------|------|-----------|---------------|
58
+ | Frontend | 3000 | frontend/ | cd frontend && npm run dev |
59
+ | Backend | 8000 | backend/ | cd backend && source .venv/bin/activate && uvicorn app.main:app --reload --port 8000 |
60
+ ```
61
+
62
+ ### 2. Test Commands
63
+
64
+ Detect test frameworks and commands:
65
+
66
+ ```bash
67
+ # Python tests
68
+ # Look for: pytest.ini, setup.cfg [tool:pytest], pyproject.toml [tool.pytest]
69
+ # Check for: ruff.toml, .flake8, mypy.ini
70
+
71
+ # JavaScript/TypeScript tests
72
+ # Look for: jest.config.*, vitest.config.*, playwright.config.*, cypress.config.*
73
+ # Read package.json scripts: test, lint, type-check, build
74
+ ```
75
+
76
+ Output the **Test Commands** table:
77
+
78
+ ```markdown
79
+ ## Test Commands
80
+
81
+ | What | Command | Directory |
82
+ |------|---------|-----------|
83
+ | Backend tests | pytest | backend/ |
84
+ | Backend lint | ruff check . | backend/ |
85
+ | Frontend tests | npm test | frontend/ |
86
+ | Frontend lint | npm run lint | frontend/ |
87
+ | Type check | npx tsc --noEmit | frontend/ |
88
+ | E2E tests | npx playwright test | frontend/ |
89
+ ```
90
+
91
+ ### 3. Infrastructure
92
+
93
+ Detect deployment configuration:
94
+
95
+ ```bash
96
+ # Railway
97
+ [ -f "railway.json" ] || [ -f "railway.toml" ]
98
+
99
+ # Vercel
100
+ [ -f "vercel.json" ] || [ -f ".vercel/project.json" ]
101
+
102
+ # Fly.io
103
+ [ -f "fly.toml" ]
104
+
105
+ # AWS
106
+ [ -d ".aws" ] || [ -f "samconfig.toml" ] || [ -f "serverless.yml" ]
107
+
108
+ # Docker/Kubernetes
109
+ [ -f "Dockerfile" ] || [ -d "k8s" ]
110
+
111
+ # GitHub Actions
112
+ ls .github/workflows/*.yml 2>/dev/null
113
+ ```
114
+
115
+ Output the **Infrastructure** table:
116
+
117
+ ```markdown
118
+ ## Infrastructure
119
+
120
+ | Platform | Service | Notes |
121
+ |----------|---------|-------|
122
+ | Railway | backend, frontend | Auto-deploy on push to main |
123
+ | GitHub Actions | CI/CD | Lint, test, deploy |
124
+
125
+ Health endpoints: /health, /api/health
126
+ ```
127
+
128
+ ### 4. Domain
129
+
130
+ Scan for domain entities and business rules:
131
+
132
+ ```bash
133
+ # Look for model files
134
+ # SQLAlchemy: models/*.py, models.py
135
+ # Django: */models.py
136
+ # Prisma: prisma/schema.prisma
137
+ # TypeORM: entities/*.ts
138
+
139
+ # Look for enum/status definitions
140
+ # State machines, workflow logic
141
+ ```
142
+
143
+ Output the **Domain** section:
144
+
145
+ ```markdown
146
+ ## Domain
147
+
148
+ {App name} is a {detected description} with the following core entities:
149
+ - {Entity1} (statuses: {enum values})
150
+ - {Entity2}
151
+
152
+ Business rules detected:
153
+ - {Rule from enum constraints, validators, etc.}
154
+ ```
155
+
156
+ ### Section 5: Environments
157
+
158
+ Detect project environments and populate the `## Environments` section in CLAUDE.md.
159
+
160
+ **Detection steps:**
161
+
162
+ 1. Scan for `.env.*` files in project root:
163
+ ```bash
164
+ ls .env.* 2>/dev/null | grep -v '.env.example' | grep -v '.env.local'
165
+ ```
166
+ Extract environment names from suffixes (`.env.staging` → staging, `.env.production` → production).
167
+
168
+ 2. Scan CI/CD configs for deploy targets:
169
+ ```bash
170
+ # GitHub Actions
171
+ grep -r 'environment:' .github/workflows/*.yml 2>/dev/null | grep -oP 'environment:\s*\K\w+'
172
+ ```
173
+
174
+ 3. Scan deploy platform configs:
175
+ - `railway.json` → Railway environments
176
+ - `vercel.json` → preview + production
177
+ - `fly.toml` / `fly.*.toml` → Fly.io environments
178
+ - Terraform `environments/` directories
179
+
180
+ 4. ALWAYS include `local` as `development` environment using data from Local Dev Services table.
181
+
182
+ 5. For each environment, populate:
183
+ - **Name**: environment identifier
184
+ - **Type**: `development` | `staging` | `production` | `preview` | `canary`
185
+ - **URL**: from env files, deploy config, or `<!-- TODO -->`
186
+ - **Health**: from Infrastructure section health endpoints or `<!-- TODO -->`
187
+ - **Deploy**: trigger method (manual, branch push, CI/CD)
188
+ - **Branch**: associated git branch or `—`
189
+
190
+ **Output format in CLAUDE.md:**
191
+
192
+ ```markdown
193
+ ## Environments
194
+
195
+ | Name | Type | URL | Health | Deploy | Branch |
196
+ |------|------|-----|--------|--------|--------|
197
+ | local | development | http://localhost:{port} | /health | manual | — |
198
+ | {name} | {type} | {url} | {health} | {deploy} | {branch} |
199
+
200
+ Access notes: {platform details, env var file locations}
201
+ ```
202
+
203
+ **If no remote environments detected:** Write only the local row with a comment:
204
+ ```markdown
205
+ <!-- No remote environments detected. Run /calibrate for full discovery with platform MCP queries. -->
206
+ ```
207
+
208
+ ## How It Updates CLAUDE.md
209
+
210
+ 1. Read existing CLAUDE.md
211
+ 2. For each section being updated:
212
+ - If the section exists with `<!-- TODO: -->` placeholders → replace with scanned data
213
+ - If the section exists with real content → **DO NOT overwrite** (user has customized it)
214
+ - If the section doesn't exist → append it
215
+ 3. Write back the updated CLAUDE.md
216
+
217
+ **CRITICAL**: Never overwrite sections that the user has already filled in. Only populate empty/placeholder sections.
218
+
219
+ ## Arguments
220
+
221
+ | User Input | Action |
222
+ |-----------|--------|
223
+ | `/scan` | Full scan — all 5 sections |
224
+ | `/scan services` | Only scan and update Local Dev Services |
225
+ | `/scan tests` | Only scan and update Test Commands |
226
+ | `/scan infra` | Only scan and update Infrastructure |
227
+ | `/scan domain` | Only scan and update Domain |
228
+ | `/scan environments` | Only scan and update Environments |
229
+
230
+ ## If No CLAUDE.md Exists
231
+
232
+ Create one from the template at `~/.claude-agents/templates/CLAUDE.md.template`, then populate it with scanned data.