@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,216 @@
1
+ # Monorepo Reference
2
+
3
+ Railway supports two types of monorepo deployments with different configuration approaches.
4
+
5
+ ## Key Decision: Root Directory vs Custom Commands
6
+
7
+ | Approach | When to Use | What Happens |
8
+ |----------|-------------|--------------|
9
+ | **Root Directory** | Isolated apps (no shared code) | Only that directory's code is available |
10
+ | **Custom Commands** | Shared monorepos (TypeScript, workspaces) | Full repo available, filter at build/start |
11
+
12
+ **Critical:** Setting root directory means code outside that directory is NOT available during build. For monorepos with shared packages, use custom commands instead.
13
+
14
+ ## Isolated Monorepo
15
+
16
+ Apps are completely independent - no shared code between directories.
17
+
18
+ ```
19
+ ├── frontend/ # React app (standalone)
20
+ │ ├── package.json
21
+ │ └── src/
22
+ └── backend/ # Python API (standalone)
23
+ ├── requirements.txt
24
+ └── main.py
25
+ ```
26
+
27
+ ### Configuration
28
+
29
+ Set **Root Directory** for each service:
30
+ - Frontend service: `/frontend`
31
+ - Backend service: `/backend`
32
+
33
+ Each service only sees its own directory's code.
34
+
35
+ ### When to Use
36
+
37
+ - Frontend and backend in different languages
38
+ - No shared packages or dependencies
39
+ - Each app has its own package.json/requirements.txt
40
+ - Apps don't import from sibling directories
41
+
42
+ ## Shared Monorepo
43
+
44
+ Apps share code from common packages or the root.
45
+
46
+ ```
47
+ ├── package.json # Root workspace config
48
+ ├── packages/
49
+ │ ├── frontend/
50
+ │ │ ├── package.json
51
+ │ │ └── src/
52
+ │ ├── backend/
53
+ │ │ ├── package.json
54
+ │ │ └── src/
55
+ │ └── shared/ # Shared utilities
56
+ │ ├── package.json
57
+ │ └── src/
58
+ └── tsconfig.json # Shared TS config
59
+ ```
60
+
61
+ ### Configuration
62
+
63
+ Do NOT set root directory. Instead, use custom build and start commands:
64
+
65
+ **pnpm:**
66
+ ```
67
+ Build: pnpm --filter backend build
68
+ Start: pnpm --filter backend start
69
+ ```
70
+
71
+ **npm workspaces:**
72
+ ```
73
+ Build: npm run build --workspace=packages/backend
74
+ Start: npm run start --workspace=packages/backend
75
+ ```
76
+
77
+ **yarn workspaces:**
78
+ ```
79
+ Build: yarn workspace backend build
80
+ Start: yarn workspace backend start
81
+ ```
82
+
83
+ **bun:**
84
+ ```
85
+ Build: bun run --filter backend build
86
+ Start: bun run --filter backend start
87
+ ```
88
+
89
+ **Turborepo:**
90
+ ```
91
+ Build: turbo run build --filter=backend
92
+ Start: turbo run start --filter=backend
93
+ ```
94
+
95
+ ### When to Use
96
+
97
+ - TypeScript/JavaScript monorepo with workspaces
98
+ - Packages import from sibling packages (`@myapp/shared`)
99
+ - Shared tsconfig.json, eslint config at root
100
+ - Using pnpm, yarn workspaces, npm workspaces, or bun
101
+ - Using Turborepo, Nx, or similar build tools
102
+
103
+ ## Watch Paths
104
+
105
+ Prevent changes in one package from triggering rebuilds of other services.
106
+
107
+ Set watch paths for each service to only rebuild when relevant files change:
108
+
109
+ | Service | Watch Paths |
110
+ |---------|-------------|
111
+ | frontend | `/packages/frontend/**`, `/packages/shared/**` |
112
+ | backend | `/packages/backend/**`, `/packages/shared/**` |
113
+
114
+ Include shared packages in watch paths if the service depends on them.
115
+
116
+ ### Pattern Format
117
+
118
+ Uses gitignore-style patterns:
119
+ ```
120
+ /packages/backend/** # All files in backend
121
+ /packages/shared/** # All files in shared (if depends on it)
122
+ !**/*.md # Ignore markdown changes
123
+ ```
124
+
125
+ ## Configuration Examples
126
+
127
+ ### Isolated: React + Python API
128
+
129
+ Two separate apps, no shared code.
130
+
131
+ **Frontend service:**
132
+ - Root Directory: `/frontend`
133
+ - No custom commands needed (Railpack auto-detects)
134
+
135
+ **Backend service:**
136
+ - Root Directory: `/backend`
137
+ - No custom commands needed
138
+
139
+ ### Shared: TypeScript Monorepo with pnpm
140
+
141
+ Frontend and backend share a `@myapp/shared` package.
142
+
143
+ **Frontend service:**
144
+ - Root Directory: (leave empty)
145
+ - Build Command: `pnpm --filter frontend build`
146
+ - Start Command: `pnpm --filter frontend start`
147
+ - Watch Paths: `/packages/frontend/**`, `/packages/shared/**`
148
+
149
+ **Backend service:**
150
+ - Root Directory: (leave empty)
151
+ - Build Command: `pnpm --filter backend build`
152
+ - Start Command: `pnpm --filter backend start`
153
+ - Watch Paths: `/packages/backend/**`, `/packages/shared/**`
154
+
155
+ ### Shared: Turborepo
156
+
157
+ **Frontend service:**
158
+ - Root Directory: (leave empty)
159
+ - Build Command: `turbo run build --filter=frontend`
160
+ - Start Command: `turbo run start --filter=frontend`
161
+ - Watch Paths: `/apps/frontend/**`, `/packages/**`
162
+
163
+ **Backend service:**
164
+ - Root Directory: (leave empty)
165
+ - Build Command: `turbo run build --filter=backend`
166
+ - Start Command: `turbo run start --filter=backend`
167
+ - Watch Paths: `/apps/backend/**`, `/packages/**`
168
+
169
+ ## Common Mistakes
170
+
171
+ ### Using Root Directory for Shared Monorepos
172
+
173
+ **Wrong:**
174
+ ```
175
+ Root Directory: /packages/backend
176
+ ```
177
+ This breaks builds because `@myapp/shared` isn't available.
178
+
179
+ **Right:**
180
+ ```
181
+ Root Directory: (empty)
182
+ Build Command: pnpm --filter backend build
183
+ Start Command: pnpm --filter backend start
184
+ ```
185
+
186
+ ### Forgetting Watch Paths
187
+
188
+ Without watch paths, changing `frontend/` triggers a rebuild of `backend/`.
189
+
190
+ Always set watch paths for monorepos to avoid unnecessary builds.
191
+
192
+ ### Missing Shared Packages in Watch Paths
193
+
194
+ If `backend` imports from `shared`, include both in watch paths:
195
+ ```
196
+ /packages/backend/**
197
+ /packages/shared/**
198
+ ```
199
+
200
+ Otherwise changes to `shared` won't trigger backend rebuilds.
201
+
202
+ ## Detecting Monorepo Type
203
+
204
+ Check for these indicators:
205
+
206
+ **Isolated monorepo:**
207
+ - Separate package.json in each directory
208
+ - No workspace config in root package.json
209
+ - No imports between directories
210
+
211
+ **Shared monorepo:**
212
+ - Root package.json with `workspaces` field
213
+ - `pnpm-workspace.yaml` exists
214
+ - Packages import from each other (`@myapp/shared`)
215
+ - Shared tsconfig.json at root
216
+ - turbo.json or nx.json at root
@@ -0,0 +1,257 @@
1
+ # Railpack Reference
2
+
3
+ Railpack is Railway's default builder. Zero-config for most projects.
4
+
5
+ Full docs: https://railpack.com/llms.txt
6
+
7
+ ## Detection
8
+
9
+ Railpack analyzes source code to detect language, framework, and build requirements automatically.
10
+
11
+ Supported: Node, Python, Go, PHP, Java, Ruby, Rust, Elixir, Gleam, Deno, C/C++, static files.
12
+
13
+ ## Static Sites
14
+
15
+ ### Detection Patterns
16
+
17
+ Railpack serves static files via Caddy when it detects:
18
+ 1. `Staticfile` in root (can specify `root: dist`)
19
+ 2. `index.html` in root
20
+ 3. `public/` directory
21
+ 4. `RAILPACK_STATIC_FILE_ROOT` env var set
22
+
23
+ ### Root Directory Priority
24
+
25
+ 1. `RAILPACK_STATIC_FILE_ROOT` env var
26
+ 2. `root` in `Staticfile`
27
+ 3. `public/` directory
28
+ 4. Current directory (if index.html exists)
29
+
30
+ ### Common Patterns
31
+
32
+ Railpack auto-detects common static build outputs. Only set `RAILPACK_STATIC_FILE_ROOT` for non-standard output directories.
33
+
34
+ | Framework | Build Output | Config Needed |
35
+ |-----------|--------------|---------------|
36
+ | Plain HTML | root | None (auto-detected) |
37
+ | Vite | dist | None (auto-detected) |
38
+ | Astro (static) | dist | None (auto-detected) |
39
+ | Create React App | build | None (auto-detected) |
40
+ | Angular | dist/<project> | `RAILPACK_STATIC_FILE_ROOT=dist/<project>` (non-standard path) |
41
+ | Custom output | varies | Set if output dir is non-standard |
42
+
43
+ ### Custom Caddyfile
44
+
45
+ Put a `Caddyfile` in project root to override default serving behavior.
46
+
47
+ ## Node.js
48
+
49
+ ### Detection
50
+ - `package.json` in root
51
+
52
+ ### Version Priority
53
+ 1. `RAILPACK_NODE_VERSION` env var
54
+ 2. `engines.node` in package.json
55
+ 3. `.nvmrc` or `.node-version`
56
+ 4. Default: Node 22
57
+
58
+ ### Package Manager Detection
59
+ 1. `packageManager` field in package.json (enables Corepack)
60
+ 2. Lock file: `pnpm-lock.yaml`, `bun.lockb`, `yarn.lock`
61
+ 3. Default: npm
62
+
63
+ ### Build Command
64
+ Auto-detected from package.json `scripts.build`. Override via `buildCommand` in service settings.
65
+
66
+ ### Start Command
67
+ Auto-detected:
68
+ 1. `scripts.start` in package.json
69
+ 2. `main` field in package.json
70
+ 3. `index.js` or `index.ts` in root
71
+
72
+ Override via `startCommand` in service settings.
73
+
74
+ ### Framework Detection
75
+
76
+ | Framework | Detection | Notes |
77
+ |-----------|-----------|-------|
78
+ | Next.js | `next` in dependencies | Caches `.next/cache` |
79
+ | Vite | `vite` in devDependencies | Static or SSR mode |
80
+ | Astro | `astro` in dependencies | Caches `.astro` |
81
+ | Nuxt | `nuxt` in dependencies | Auto start command |
82
+ | Remix | `@remix-run/*` in deps | - |
83
+
84
+ ### Static Site Mode (SPA)
85
+
86
+ For frameworks like Vite, CRA, Astro (static), Angular:
87
+ - Railpack builds then serves via Caddy
88
+ - Set `RAILPACK_SPA_OUTPUT_DIR` if output isn't `dist`
89
+
90
+ ## Python
91
+
92
+ ### Detection
93
+ - `requirements.txt`, `pyproject.toml`, `Pipfile`, or `uv.lock`
94
+
95
+ ### Version Priority
96
+ 1. `RAILPACK_PYTHON_VERSION` env var
97
+ 2. `.python-version` file
98
+ 3. `requires-python` in pyproject.toml
99
+ 4. Default: Python 3.12
100
+
101
+ ### WSGI/ASGI Auto-Config
102
+
103
+ | Framework | Start Command |
104
+ |-----------|---------------|
105
+ | Django | `gunicorn <project>.wsgi` |
106
+ | FastAPI | `uvicorn main:app --host 0.0.0.0` |
107
+ | Flask | `gunicorn app:app` |
108
+
109
+ Override via `startCommand` in service settings.
110
+
111
+ ## Go
112
+
113
+ ### Detection
114
+ - `go.mod` in root
115
+
116
+ ### Build
117
+ Compiles to binary automatically. For `cmd/` structure, set binary name or use `RAILPACK_GO_BIN`.
118
+
119
+ ## Rust
120
+
121
+ ### Detection
122
+ - `Cargo.toml` in root
123
+
124
+ ### Build
125
+ Release build by default. Binary auto-detected from Cargo.toml.
126
+
127
+ ## Configuration
128
+
129
+ ### Preferred: Service Settings
130
+
131
+ Use `environment` skill to set:
132
+ - `buildCommand` - Custom build command
133
+ - `startCommand` - Custom start command
134
+
135
+ These are stored in Railway and don't pollute your codebase.
136
+
137
+ ### Environment Variables
138
+
139
+ | Variable | Purpose |
140
+ |----------|---------|
141
+ | `RAILPACK_STATIC_FILE_ROOT` | Static file serving directory |
142
+ | `RAILPACK_SPA_OUTPUT_DIR` | SPA build output (defaults to `dist`) |
143
+ | `RAILPACK_NODE_VERSION` | Node.js version |
144
+ | `RAILPACK_PYTHON_VERSION` | Python version |
145
+ | `RAILPACK_GO_BIN` | Go binary name |
146
+ | `RAILPACK_PACKAGES` | Additional Mise packages (`pkg@version`) |
147
+ | `RAILPACK_BUILD_APT_PACKAGES` | System packages for build |
148
+ | `RAILPACK_DEPLOY_APT_PACKAGES` | System packages for runtime |
149
+
150
+ ### railpack.json
151
+
152
+ Advanced config for custom build steps:
153
+
154
+ ```json
155
+ {
156
+ "$schema": "https://schema.railpack.com",
157
+ "packages": {
158
+ "ffmpeg": "latest"
159
+ },
160
+ "deploy": {
161
+ "aptPackages": ["libmagic1"]
162
+ }
163
+ }
164
+ ```
165
+
166
+ ### railway.toml
167
+
168
+ Alternative config format:
169
+
170
+ ```toml
171
+ [build]
172
+ builder = "RAILPACK"
173
+ buildCommand = "npm run build"
174
+
175
+ [deploy]
176
+ startCommand = "npm start"
177
+ ```
178
+
179
+ ## Minimal Project Scaffolding
180
+
181
+ When no code exists, suggest these patterns:
182
+
183
+ ### Static HTML
184
+ ```html
185
+ <!DOCTYPE html>
186
+ <html lang="en">
187
+ <head>
188
+ <meta charset="UTF-8">
189
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
190
+ <title>My Site</title>
191
+ </head>
192
+ <body>
193
+ <h1>Hello Railway</h1>
194
+ </body>
195
+ </html>
196
+ ```
197
+
198
+ ### Vite React
199
+ ```bash
200
+ npm create vite@latest . -- --template react
201
+ ```
202
+
203
+ ### Astro
204
+ ```bash
205
+ npm create astro@latest
206
+ ```
207
+
208
+ ### Python FastAPI
209
+ ```python
210
+ # main.py
211
+ from fastapi import FastAPI
212
+ app = FastAPI()
213
+
214
+ @app.get("/")
215
+ def root():
216
+ return {"message": "Hello Railway"}
217
+ ```
218
+
219
+ ```txt
220
+ # requirements.txt
221
+ fastapi
222
+ uvicorn
223
+ ```
224
+
225
+ ### Go HTTP Server
226
+ ```go
227
+ // main.go
228
+ package main
229
+
230
+ import (
231
+ "fmt"
232
+ "net/http"
233
+ "os"
234
+ )
235
+
236
+ func main() {
237
+ port := os.Getenv("PORT")
238
+ if port == "" {
239
+ port = "8080"
240
+ }
241
+ http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
242
+ fmt.Fprintf(w, "Hello Railway")
243
+ })
244
+ http.ListenAndServe(":"+port, nil)
245
+ }
246
+ ```
247
+
248
+ ## Troubleshooting
249
+
250
+ | Issue | Solution |
251
+ |-------|----------|
252
+ | Static site 404s | Check output dir - set `RAILPACK_STATIC_FILE_ROOT` if non-standard |
253
+ | Wrong build command | Use `environment` skill to set `buildCommand` |
254
+ | Wrong start command | Use `environment` skill to set `startCommand` |
255
+ | Missing system package | Add to `RAILPACK_BUILD_APT_PACKAGES` or `RAILPACK_DEPLOY_APT_PACKAGES` |
256
+ | Wrong Node version | Set `RAILPACK_NODE_VERSION` or add `.nvmrc` |
257
+ | Wrong Python version | Set `RAILPACK_PYTHON_VERSION` or add `.python-version` |
@@ -0,0 +1,170 @@
1
+ # Variables Reference
2
+
3
+ Variables in Railway support references to other services, shared variables, and Railway-provided values.
4
+
5
+ ## Template Syntax
6
+
7
+ ```
8
+ ${{NAMESPACE.VAR}}
9
+ ```
10
+
11
+ | Namespace | Description |
12
+ |-----------|-------------|
13
+ | `shared` | Shared variables (project-wide) |
14
+ | `<serviceName>` | Variables from another service (case-sensitive) |
15
+
16
+ ## Examples
17
+
18
+ **Reference shared variable:**
19
+ ```json
20
+ { "value": "${{shared.DOMAIN}}" }
21
+ ```
22
+
23
+ **Reference another service's variable:**
24
+ ```json
25
+ { "value": "${{api.API_KEY}}" }
26
+ ```
27
+
28
+ **Combine with text:**
29
+ ```json
30
+ { "value": "https://${{shared.DOMAIN}}/api" }
31
+ ```
32
+
33
+ ## Railway-Provided Variables
34
+
35
+ Railway injects these into every service automatically.
36
+
37
+ ### Networking
38
+ | Variable | Description | Example | Availability |
39
+ |----------|-------------|---------|--------------|
40
+ | `RAILWAY_PUBLIC_DOMAIN` | Public domain | `myapp.up.railway.app` | Only if service has a domain |
41
+ | `RAILWAY_PRIVATE_DOMAIN` | Private DNS (internal only) | `myapp.railway.internal` | Always |
42
+ | `RAILWAY_TCP_PROXY_DOMAIN` | TCP proxy domain | `roundhouse.proxy.rlwy.net` | Only if TCP proxy enabled |
43
+ | `RAILWAY_TCP_PROXY_PORT` | TCP proxy port | `11105` | Only if TCP proxy enabled |
44
+
45
+ **Note:** `RAILWAY_PUBLIC_DOMAIN` is only available if the service has a domain configured.
46
+ Check the service's environment config to verify a domain exists before referencing it.
47
+
48
+ ### Context
49
+ | Variable | Description |
50
+ |----------|-------------|
51
+ | `RAILWAY_PROJECT_ID` | Project ID |
52
+ | `RAILWAY_PROJECT_NAME` | Project name |
53
+ | `RAILWAY_ENVIRONMENT_ID` | Environment ID |
54
+ | `RAILWAY_ENVIRONMENT_NAME` | Environment name |
55
+ | `RAILWAY_SERVICE_ID` | Service ID |
56
+ | `RAILWAY_SERVICE_NAME` | Service name |
57
+ | `RAILWAY_DEPLOYMENT_ID` | Deployment ID |
58
+ | `RAILWAY_REPLICA_ID` | Replica ID |
59
+ | `RAILWAY_REPLICA_REGION` | Region (e.g., `us-west2`) |
60
+
61
+ ### Volume (if attached)
62
+ | Variable | Description |
63
+ |----------|-------------|
64
+ | `RAILWAY_VOLUME_NAME` | Volume name |
65
+ | `RAILWAY_VOLUME_MOUNT_PATH` | Mount path |
66
+
67
+ ### Git (if deployed from GitHub)
68
+ | Variable | Description |
69
+ |----------|-------------|
70
+ | `RAILWAY_GIT_COMMIT_SHA` | Commit SHA |
71
+ | `RAILWAY_GIT_BRANCH` | Branch name |
72
+ | `RAILWAY_GIT_REPO_NAME` | Repository name |
73
+ | `RAILWAY_GIT_REPO_OWNER` | Repository owner |
74
+ | `RAILWAY_GIT_AUTHOR` | Commit author |
75
+ | `RAILWAY_GIT_COMMIT_MESSAGE` | Commit message |
76
+
77
+ ## Wiring Services Together
78
+
79
+ ### Frontend → Backend (public network)
80
+ Use when: Browser makes requests to API (browser can't access private network)
81
+
82
+ ```json
83
+ {
84
+ "services": {
85
+ "<frontendId>": {
86
+ "variables": {
87
+ "API_URL": { "value": "https://${{backend.RAILWAY_PUBLIC_DOMAIN}}" }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ ```
93
+
94
+ ### Service → Database (private network)
95
+ Use when: Backend connects to database (faster, no egress cost, more secure)
96
+
97
+ Railway databases auto-generate connection URL variables. Use the private versions:
98
+
99
+ | Database | Variable Reference |
100
+ |----------|-------------------|
101
+ | Postgres | `${{Postgres.DATABASE_URL}}` |
102
+ | MySQL | `${{MySQL.DATABASE_URL}}` |
103
+ | Redis | `${{Redis.REDIS_URL}}` |
104
+ | Mongo | `${{Mongo.MONGO_URL}}` |
105
+
106
+ **Postgres/MySQL example:**
107
+ ```json
108
+ {
109
+ "services": {
110
+ "<apiId>": {
111
+ "variables": {
112
+ "DATABASE_URL": { "value": "${{Postgres.DATABASE_URL}}" }
113
+ }
114
+ }
115
+ }
116
+ }
117
+ ```
118
+
119
+ **Redis example:**
120
+ ```json
121
+ {
122
+ "services": {
123
+ "<apiId>": {
124
+ "variables": {
125
+ "REDIS_URL": { "value": "${{Redis.REDIS_URL}}" }
126
+ }
127
+ }
128
+ }
129
+ }
130
+ ```
131
+
132
+ **Mongo example:**
133
+ ```json
134
+ {
135
+ "services": {
136
+ "<apiId>": {
137
+ "variables": {
138
+ "MONGO_URL": { "value": "${{Mongo.MONGO_URL}}" }
139
+ }
140
+ }
141
+ }
142
+ }
143
+ ```
144
+
145
+ **Note:** Service names are case-sensitive. Match the exact name from your project (e.g., "Postgres", "Redis").
146
+
147
+ ### Service → Service (private network)
148
+ Use when: Microservices communicate internally
149
+
150
+ ```json
151
+ {
152
+ "services": {
153
+ "<workerServiceId>": {
154
+ "variables": {
155
+ "API_INTERNAL_URL": { "value": "http://${{api.RAILWAY_PRIVATE_DOMAIN}}:${{api.PORT}}" }
156
+ }
157
+ }
158
+ }
159
+ }
160
+ ```
161
+
162
+ ## When to Use Public vs Private
163
+
164
+ | Use Case | Domain | Reason |
165
+ |----------|--------|--------|
166
+ | Browser → API | Public | Browser can't access private network |
167
+ | Service → Service | Private | Faster, no egress, more secure |
168
+ | Service → Database | Private | Databases should never be public |
169
+ | External webhook → Service | Public | External services need public access |
170
+ | Cron job → API | Private | Internal communication |