metaharness 0.1.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 (383) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +73 -0
  3. package/dist/analyze-repo.d.ts +74 -0
  4. package/dist/analyze-repo.d.ts.map +1 -0
  5. package/dist/analyze-repo.js +329 -0
  6. package/dist/analyze-repo.js.map +1 -0
  7. package/dist/audit-cmd.d.ts +6 -0
  8. package/dist/audit-cmd.d.ts.map +1 -0
  9. package/dist/audit-cmd.js +139 -0
  10. package/dist/audit-cmd.js.map +1 -0
  11. package/dist/bin.d.ts +3 -0
  12. package/dist/bin.d.ts.map +1 -0
  13. package/dist/bin.js +8 -0
  14. package/dist/bin.js.map +1 -0
  15. package/dist/compare-cmd.d.ts +56 -0
  16. package/dist/compare-cmd.d.ts.map +1 -0
  17. package/dist/compare-cmd.js +173 -0
  18. package/dist/compare-cmd.js.map +1 -0
  19. package/dist/completions-cmd.d.ts +6 -0
  20. package/dist/completions-cmd.d.ts.map +1 -0
  21. package/dist/completions-cmd.js +171 -0
  22. package/dist/completions-cmd.js.map +1 -0
  23. package/dist/diag.d.ts +76 -0
  24. package/dist/diag.d.ts.map +1 -0
  25. package/dist/diag.js +349 -0
  26. package/dist/diag.js.map +1 -0
  27. package/dist/eject.d.ts +33 -0
  28. package/dist/eject.d.ts.map +1 -0
  29. package/dist/eject.js +147 -0
  30. package/dist/eject.js.map +1 -0
  31. package/dist/export-config.d.ts +25 -0
  32. package/dist/export-config.d.ts.map +1 -0
  33. package/dist/export-config.js +134 -0
  34. package/dist/export-config.js.map +1 -0
  35. package/dist/external-template.d.ts +19 -0
  36. package/dist/external-template.d.ts.map +1 -0
  37. package/dist/external-template.js +37 -0
  38. package/dist/external-template.js.map +1 -0
  39. package/dist/federate.d.ts +37 -0
  40. package/dist/federate.d.ts.map +1 -0
  41. package/dist/federate.js +167 -0
  42. package/dist/federate.js.map +1 -0
  43. package/dist/genome-scorers.d.ts +33 -0
  44. package/dist/genome-scorers.d.ts.map +1 -0
  45. package/dist/genome-scorers.js +115 -0
  46. package/dist/genome-scorers.js.map +1 -0
  47. package/dist/genome.d.ts +28 -0
  48. package/dist/genome.d.ts.map +1 -0
  49. package/dist/genome.js +219 -0
  50. package/dist/genome.js.map +1 -0
  51. package/dist/harness-bin.d.ts +3 -0
  52. package/dist/harness-bin.d.ts.map +1 -0
  53. package/dist/harness-bin.js +17 -0
  54. package/dist/harness-bin.js.map +1 -0
  55. package/dist/index.d.ts +79 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +409 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/manifest.d.ts +55 -0
  60. package/dist/manifest.d.ts.map +1 -0
  61. package/dist/manifest.js +62 -0
  62. package/dist/manifest.js.map +1 -0
  63. package/dist/mcp-cmd.d.ts +19 -0
  64. package/dist/mcp-cmd.d.ts.map +1 -0
  65. package/dist/mcp-cmd.js +179 -0
  66. package/dist/mcp-cmd.js.map +1 -0
  67. package/dist/mcp-scan.d.ts +25 -0
  68. package/dist/mcp-scan.d.ts.map +1 -0
  69. package/dist/mcp-scan.js +132 -0
  70. package/dist/mcp-scan.js.map +1 -0
  71. package/dist/oia-manifest.d.ts +97 -0
  72. package/dist/oia-manifest.d.ts.map +1 -0
  73. package/dist/oia-manifest.js +241 -0
  74. package/dist/oia-manifest.js.map +1 -0
  75. package/dist/publish-cmd.d.ts +9 -0
  76. package/dist/publish-cmd.d.ts.map +1 -0
  77. package/dist/publish-cmd.js +56 -0
  78. package/dist/publish-cmd.js.map +1 -0
  79. package/dist/publish.d.ts +55 -0
  80. package/dist/publish.d.ts.map +1 -0
  81. package/dist/publish.js +104 -0
  82. package/dist/publish.js.map +1 -0
  83. package/dist/registry.d.ts +60 -0
  84. package/dist/registry.d.ts.map +1 -0
  85. package/dist/registry.js +67 -0
  86. package/dist/registry.js.map +1 -0
  87. package/dist/rename.d.ts +26 -0
  88. package/dist/rename.d.ts.map +1 -0
  89. package/dist/rename.js +86 -0
  90. package/dist/rename.js.map +1 -0
  91. package/dist/renderer.d.ts +39 -0
  92. package/dist/renderer.d.ts.map +1 -0
  93. package/dist/renderer.js +75 -0
  94. package/dist/renderer.js.map +1 -0
  95. package/dist/sbom-cmd.d.ts +6 -0
  96. package/dist/sbom-cmd.d.ts.map +1 -0
  97. package/dist/sbom-cmd.js +125 -0
  98. package/dist/sbom-cmd.js.map +1 -0
  99. package/dist/score.d.ts +32 -0
  100. package/dist/score.d.ts.map +1 -0
  101. package/dist/score.js +381 -0
  102. package/dist/score.js.map +1 -0
  103. package/dist/secrets.d.ts +27 -0
  104. package/dist/secrets.d.ts.map +1 -0
  105. package/dist/secrets.js +228 -0
  106. package/dist/secrets.js.map +1 -0
  107. package/dist/subcommands.d.ts +32 -0
  108. package/dist/subcommands.d.ts.map +1 -0
  109. package/dist/subcommands.js +335 -0
  110. package/dist/subcommands.js.map +1 -0
  111. package/dist/tarball.d.ts +14 -0
  112. package/dist/tarball.d.ts.map +1 -0
  113. package/dist/tarball.js +121 -0
  114. package/dist/tarball.js.map +1 -0
  115. package/dist/threat-model.d.ts +32 -0
  116. package/dist/threat-model.d.ts.map +1 -0
  117. package/dist/threat-model.js +236 -0
  118. package/dist/threat-model.js.map +1 -0
  119. package/dist/upgrade-cmd.d.ts +9 -0
  120. package/dist/upgrade-cmd.d.ts.map +1 -0
  121. package/dist/upgrade-cmd.js +90 -0
  122. package/dist/upgrade-cmd.js.map +1 -0
  123. package/dist/upgrade.d.ts +37 -0
  124. package/dist/upgrade.d.ts.map +1 -0
  125. package/dist/upgrade.js +124 -0
  126. package/dist/upgrade.js.map +1 -0
  127. package/dist/validate.d.ts +7 -0
  128. package/dist/validate.d.ts.map +1 -0
  129. package/dist/validate.js +240 -0
  130. package/dist/validate.js.map +1 -0
  131. package/dist/walker.d.ts +24 -0
  132. package/dist/walker.d.ts.map +1 -0
  133. package/dist/walker.js +76 -0
  134. package/dist/walker.js.map +1 -0
  135. package/dist/witness-client.d.ts +40 -0
  136. package/dist/witness-client.d.ts.map +1 -0
  137. package/dist/witness-client.js +99 -0
  138. package/dist/witness-client.js.map +1 -0
  139. package/dist/wizard.d.ts +37 -0
  140. package/dist/wizard.d.ts.map +1 -0
  141. package/dist/wizard.js +137 -0
  142. package/dist/wizard.js.map +1 -0
  143. package/dist/writer.d.ts +13 -0
  144. package/dist/writer.d.ts.map +1 -0
  145. package/dist/writer.js +43 -0
  146. package/dist/writer.js.map +1 -0
  147. package/package.json +114 -0
  148. package/templates/catalog.def.mjs +542 -0
  149. package/templates/catalog.json +1274 -0
  150. package/templates/minimal/.claude/settings.json.tmpl +18 -0
  151. package/templates/minimal/CLAUDE.md.tmpl +23 -0
  152. package/templates/minimal/README.md.tmpl +20 -0
  153. package/templates/minimal/manifest.json +16 -0
  154. package/templates/minimal/package.json.tmpl +30 -0
  155. package/templates/minimal/src/init.ts.tmpl +21 -0
  156. package/templates/vertical_advertising/.claude/commands/doctor.md.tmpl +12 -0
  157. package/templates/vertical_advertising/.claude/settings.json.tmpl +33 -0
  158. package/templates/vertical_advertising/.claude/skills/media-plan/SKILL.md.tmpl +13 -0
  159. package/templates/vertical_advertising/CLAUDE.md.tmpl +30 -0
  160. package/templates/vertical_advertising/README.md.tmpl +29 -0
  161. package/templates/vertical_advertising/manifest.json +81 -0
  162. package/templates/vertical_advertising/package.json.tmpl +30 -0
  163. package/templates/vertical_advertising/src/agents/copywriter.ts.tmpl +7 -0
  164. package/templates/vertical_advertising/src/agents/media-planner.ts.tmpl +7 -0
  165. package/templates/vertical_advertising/src/agents/performance-analyst.ts.tmpl +7 -0
  166. package/templates/vertical_advertising/src/init.ts.tmpl +21 -0
  167. package/templates/vertical_agentics/.claude/commands/doctor.md.tmpl +12 -0
  168. package/templates/vertical_agentics/.claude/settings.json.tmpl +33 -0
  169. package/templates/vertical_agentics/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -0
  170. package/templates/vertical_agentics/.claude/skills/run-swarm/SKILL.md.tmpl +14 -0
  171. package/templates/vertical_agentics/CLAUDE.md.tmpl +32 -0
  172. package/templates/vertical_agentics/README.md.tmpl +30 -0
  173. package/templates/vertical_agentics/manifest.json +91 -0
  174. package/templates/vertical_agentics/package.json.tmpl +30 -0
  175. package/templates/vertical_agentics/src/agents/critic.ts.tmpl +7 -0
  176. package/templates/vertical_agentics/src/agents/orchestrator.ts.tmpl +7 -0
  177. package/templates/vertical_agentics/src/agents/planner.ts.tmpl +7 -0
  178. package/templates/vertical_agentics/src/agents/worker.ts.tmpl +7 -0
  179. package/templates/vertical_agentics/src/init.ts.tmpl +21 -0
  180. package/templates/vertical_ai/.claude/commands/doctor.md.tmpl +12 -0
  181. package/templates/vertical_ai/.claude/settings.json.tmpl +35 -0
  182. package/templates/vertical_ai/.claude/skills/eval-report/SKILL.md.tmpl +13 -0
  183. package/templates/vertical_ai/CLAUDE.md.tmpl +31 -0
  184. package/templates/vertical_ai/README.md.tmpl +30 -0
  185. package/templates/vertical_ai/manifest.json +86 -0
  186. package/templates/vertical_ai/package.json.tmpl +30 -0
  187. package/templates/vertical_ai/src/agents/data-curator.ts.tmpl +7 -0
  188. package/templates/vertical_ai/src/agents/deployer.ts.tmpl +7 -0
  189. package/templates/vertical_ai/src/agents/evaluator.ts.tmpl +7 -0
  190. package/templates/vertical_ai/src/agents/trainer.ts.tmpl +7 -0
  191. package/templates/vertical_ai/src/init.ts.tmpl +21 -0
  192. package/templates/vertical_business/.claude/commands/doctor.md.tmpl +12 -0
  193. package/templates/vertical_business/.claude/settings.json.tmpl +33 -0
  194. package/templates/vertical_business/.claude/skills/quarterly-plan/SKILL.md.tmpl +13 -0
  195. package/templates/vertical_business/CLAUDE.md.tmpl +30 -0
  196. package/templates/vertical_business/README.md.tmpl +29 -0
  197. package/templates/vertical_business/manifest.json +81 -0
  198. package/templates/vertical_business/package.json.tmpl +30 -0
  199. package/templates/vertical_business/src/agents/analyst.ts.tmpl +7 -0
  200. package/templates/vertical_business/src/agents/ops-coordinator.ts.tmpl +7 -0
  201. package/templates/vertical_business/src/agents/strategist.ts.tmpl +7 -0
  202. package/templates/vertical_business/src/init.ts.tmpl +21 -0
  203. package/templates/vertical_coding/.claude/commands/doctor.md.tmpl +12 -0
  204. package/templates/vertical_coding/.claude/commands/review-diff.md.tmpl +10 -0
  205. package/templates/vertical_coding/.claude/settings.json.tmpl +40 -0
  206. package/templates/vertical_coding/.claude/skills/plan-change/SKILL.md.tmpl +15 -0
  207. package/templates/vertical_coding/CLAUDE.md.tmpl +32 -0
  208. package/templates/vertical_coding/README.md.tmpl +30 -0
  209. package/templates/vertical_coding/manifest.json +91 -0
  210. package/templates/vertical_coding/package.json.tmpl +30 -0
  211. package/templates/vertical_coding/src/agents/architect.ts.tmpl +7 -0
  212. package/templates/vertical_coding/src/agents/implementer.ts.tmpl +7 -0
  213. package/templates/vertical_coding/src/agents/reviewer.ts.tmpl +7 -0
  214. package/templates/vertical_coding/src/agents/test-writer.ts.tmpl +7 -0
  215. package/templates/vertical_coding/src/init.ts.tmpl +21 -0
  216. package/templates/vertical_crm/.claude/commands/doctor.md.tmpl +12 -0
  217. package/templates/vertical_crm/.claude/settings.json.tmpl +33 -0
  218. package/templates/vertical_crm/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -0
  219. package/templates/vertical_crm/CLAUDE.md.tmpl +30 -0
  220. package/templates/vertical_crm/README.md.tmpl +29 -0
  221. package/templates/vertical_crm/manifest.json +81 -0
  222. package/templates/vertical_crm/package.json.tmpl +30 -0
  223. package/templates/vertical_crm/src/agents/account-manager.ts.tmpl +7 -0
  224. package/templates/vertical_crm/src/agents/churn-watcher.ts.tmpl +7 -0
  225. package/templates/vertical_crm/src/agents/lead-qualifier.ts.tmpl +7 -0
  226. package/templates/vertical_crm/src/init.ts.tmpl +21 -0
  227. package/templates/vertical_devops/.claude/settings.json.tmpl +36 -0
  228. package/templates/vertical_devops/CLAUDE.md.tmpl +34 -0
  229. package/templates/vertical_devops/README.md.tmpl +27 -0
  230. package/templates/vertical_devops/manifest.json +22 -0
  231. package/templates/vertical_devops/package.json.tmpl +26 -0
  232. package/templates/vertical_devops/runbooks/README.md.tmpl +32 -0
  233. package/templates/vertical_devops/src/agents/escalator.ts.tmpl +19 -0
  234. package/templates/vertical_devops/src/agents/postmortem.ts.tmpl +23 -0
  235. package/templates/vertical_devops/src/agents/responder.ts.tmpl +14 -0
  236. package/templates/vertical_devops/src/agents/runbook-runner.ts.tmpl +17 -0
  237. package/templates/vertical_devops/src/init.ts.tmpl +23 -0
  238. package/templates/vertical_education/.claude/commands/doctor.md.tmpl +12 -0
  239. package/templates/vertical_education/.claude/commands/mastery-report.md.tmpl +12 -0
  240. package/templates/vertical_education/.claude/settings.json.tmpl +45 -0
  241. package/templates/vertical_education/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -0
  242. package/templates/vertical_education/.claude/skills/teach-next/SKILL.md.tmpl +16 -0
  243. package/templates/vertical_education/CLAUDE.md.tmpl +33 -0
  244. package/templates/vertical_education/README.md.tmpl +30 -0
  245. package/templates/vertical_education/manifest.json +96 -0
  246. package/templates/vertical_education/package.json.tmpl +30 -0
  247. package/templates/vertical_education/src/agents/explainer.ts.tmpl +7 -0
  248. package/templates/vertical_education/src/agents/grader.ts.tmpl +7 -0
  249. package/templates/vertical_education/src/agents/quiz-master.ts.tmpl +7 -0
  250. package/templates/vertical_education/src/agents/tutor.ts.tmpl +7 -0
  251. package/templates/vertical_education/src/init.ts.tmpl +21 -0
  252. package/templates/vertical_exotic/.claude/commands/doctor.md.tmpl +12 -0
  253. package/templates/vertical_exotic/.claude/settings.json.tmpl +44 -0
  254. package/templates/vertical_exotic/.claude/skills/evolve/SKILL.md.tmpl +14 -0
  255. package/templates/vertical_exotic/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -0
  256. package/templates/vertical_exotic/CLAUDE.md.tmpl +31 -0
  257. package/templates/vertical_exotic/README.md.tmpl +29 -0
  258. package/templates/vertical_exotic/manifest.json +86 -0
  259. package/templates/vertical_exotic/package.json.tmpl +30 -0
  260. package/templates/vertical_exotic/src/agents/experimenter.ts.tmpl +7 -0
  261. package/templates/vertical_exotic/src/agents/federator.ts.tmpl +7 -0
  262. package/templates/vertical_exotic/src/agents/hypothesizer.ts.tmpl +7 -0
  263. package/templates/vertical_exotic/src/init.ts.tmpl +21 -0
  264. package/templates/vertical_gaming/.claude/commands/design-doc-diff.md.tmpl +13 -0
  265. package/templates/vertical_gaming/.claude/commands/doctor.md.tmpl +12 -0
  266. package/templates/vertical_gaming/.claude/settings.json.tmpl +45 -0
  267. package/templates/vertical_gaming/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -0
  268. package/templates/vertical_gaming/.claude/skills/playtest-recap/SKILL.md.tmpl +16 -0
  269. package/templates/vertical_gaming/CLAUDE.md.tmpl +33 -0
  270. package/templates/vertical_gaming/README.md.tmpl +30 -0
  271. package/templates/vertical_gaming/manifest.json +96 -0
  272. package/templates/vertical_gaming/package.json.tmpl +30 -0
  273. package/templates/vertical_gaming/src/agents/balance-critic.ts.tmpl +7 -0
  274. package/templates/vertical_gaming/src/agents/economy-modeler.ts.tmpl +7 -0
  275. package/templates/vertical_gaming/src/agents/narrative-keeper.ts.tmpl +7 -0
  276. package/templates/vertical_gaming/src/agents/playtest-reader.ts.tmpl +7 -0
  277. package/templates/vertical_gaming/src/init.ts.tmpl +21 -0
  278. package/templates/vertical_health/.claude/commands/doctor.md.tmpl +12 -0
  279. package/templates/vertical_health/.claude/settings.json.tmpl +33 -0
  280. package/templates/vertical_health/.claude/skills/wellness-intake/SKILL.md.tmpl +15 -0
  281. package/templates/vertical_health/CLAUDE.md.tmpl +30 -0
  282. package/templates/vertical_health/README.md.tmpl +29 -0
  283. package/templates/vertical_health/manifest.json +81 -0
  284. package/templates/vertical_health/package.json.tmpl +30 -0
  285. package/templates/vertical_health/src/agents/care-coordinator.ts.tmpl +7 -0
  286. package/templates/vertical_health/src/agents/intake.ts.tmpl +7 -0
  287. package/templates/vertical_health/src/agents/triage.ts.tmpl +7 -0
  288. package/templates/vertical_health/src/init.ts.tmpl +21 -0
  289. package/templates/vertical_legal/.claude/settings.json.tmpl +10 -0
  290. package/templates/vertical_legal/CLAUDE.md.tmpl +24 -0
  291. package/templates/vertical_legal/README.md.tmpl +21 -0
  292. package/templates/vertical_legal/manifest.json +20 -0
  293. package/templates/vertical_legal/package.json.tmpl +13 -0
  294. package/templates/vertical_legal/src/agents/citation-checker.ts.tmpl +7 -0
  295. package/templates/vertical_legal/src/agents/redline.ts.tmpl +7 -0
  296. package/templates/vertical_legal/src/agents/risk-rater.ts.tmpl +8 -0
  297. package/templates/vertical_legal/src/init.ts.tmpl +13 -0
  298. package/templates/vertical_marketing/.claude/commands/doctor.md.tmpl +12 -0
  299. package/templates/vertical_marketing/.claude/settings.json.tmpl +33 -0
  300. package/templates/vertical_marketing/.claude/skills/campaign-brief/SKILL.md.tmpl +13 -0
  301. package/templates/vertical_marketing/CLAUDE.md.tmpl +30 -0
  302. package/templates/vertical_marketing/README.md.tmpl +29 -0
  303. package/templates/vertical_marketing/manifest.json +81 -0
  304. package/templates/vertical_marketing/package.json.tmpl +30 -0
  305. package/templates/vertical_marketing/src/agents/content-creator.ts.tmpl +7 -0
  306. package/templates/vertical_marketing/src/agents/seo-analyst.ts.tmpl +7 -0
  307. package/templates/vertical_marketing/src/agents/strategist.ts.tmpl +7 -0
  308. package/templates/vertical_marketing/src/init.ts.tmpl +21 -0
  309. package/templates/vertical_repo-maintainer/.claude/commands/doctor.md.tmpl +12 -0
  310. package/templates/vertical_repo-maintainer/.claude/commands/release-check.md.tmpl +13 -0
  311. package/templates/vertical_repo-maintainer/.claude/commands/repo-triage.md.tmpl +16 -0
  312. package/templates/vertical_repo-maintainer/.claude/settings.json.tmpl +44 -0
  313. package/templates/vertical_repo-maintainer/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -0
  314. package/templates/vertical_repo-maintainer/.claude/skills/plan-change/SKILL.md.tmpl +15 -0
  315. package/templates/vertical_repo-maintainer/CLAUDE.md.tmpl +34 -0
  316. package/templates/vertical_repo-maintainer/README.md.tmpl +30 -0
  317. package/templates/vertical_repo-maintainer/manifest.json +101 -0
  318. package/templates/vertical_repo-maintainer/package.json.tmpl +30 -0
  319. package/templates/vertical_repo-maintainer/src/agents/benchmarker.ts.tmpl +7 -0
  320. package/templates/vertical_repo-maintainer/src/agents/maintainer.ts.tmpl +7 -0
  321. package/templates/vertical_repo-maintainer/src/agents/release.ts.tmpl +7 -0
  322. package/templates/vertical_repo-maintainer/src/agents/security.ts.tmpl +7 -0
  323. package/templates/vertical_repo-maintainer/src/init.ts.tmpl +21 -0
  324. package/templates/vertical_research/.claude/settings.json.tmpl +9 -0
  325. package/templates/vertical_research/CLAUDE.md.tmpl +33 -0
  326. package/templates/vertical_research/README.md.tmpl +17 -0
  327. package/templates/vertical_research/manifest.json +23 -0
  328. package/templates/vertical_research/package.json.tmpl +13 -0
  329. package/templates/vertical_research/src/agents/citer.ts.tmpl +8 -0
  330. package/templates/vertical_research/src/agents/fact-checker.ts.tmpl +8 -0
  331. package/templates/vertical_research/src/agents/scout.ts.tmpl +7 -0
  332. package/templates/vertical_research/src/agents/source-grader.ts.tmpl +10 -0
  333. package/templates/vertical_research/src/agents/synthesizer.ts.tmpl +8 -0
  334. package/templates/vertical_research/src/agents/web-searcher.ts.tmpl +6 -0
  335. package/templates/vertical_research/src/init.ts.tmpl +13 -0
  336. package/templates/vertical_ruview/.claude/commands/doctor.md.tmpl +12 -0
  337. package/templates/vertical_ruview/.claude/settings.json.tmpl +33 -0
  338. package/templates/vertical_ruview/.claude/skills/index-and-ask/SKILL.md.tmpl +15 -0
  339. package/templates/vertical_ruview/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -0
  340. package/templates/vertical_ruview/CLAUDE.md.tmpl +31 -0
  341. package/templates/vertical_ruview/README.md.tmpl +29 -0
  342. package/templates/vertical_ruview/manifest.json +86 -0
  343. package/templates/vertical_ruview/package.json.tmpl +30 -0
  344. package/templates/vertical_ruview/src/agents/indexer.ts.tmpl +7 -0
  345. package/templates/vertical_ruview/src/agents/retriever.ts.tmpl +7 -0
  346. package/templates/vertical_ruview/src/agents/reviewer.ts.tmpl +7 -0
  347. package/templates/vertical_ruview/src/init.ts.tmpl +21 -0
  348. package/templates/vertical_sales/.claude/commands/doctor.md.tmpl +12 -0
  349. package/templates/vertical_sales/.claude/commands/pipeline-report.md.tmpl +13 -0
  350. package/templates/vertical_sales/.claude/settings.json.tmpl +45 -0
  351. package/templates/vertical_sales/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -0
  352. package/templates/vertical_sales/.claude/skills/qualify-lead/SKILL.md.tmpl +15 -0
  353. package/templates/vertical_sales/CLAUDE.md.tmpl +33 -0
  354. package/templates/vertical_sales/README.md.tmpl +30 -0
  355. package/templates/vertical_sales/manifest.json +96 -0
  356. package/templates/vertical_sales/package.json.tmpl +30 -0
  357. package/templates/vertical_sales/src/agents/closer.ts.tmpl +7 -0
  358. package/templates/vertical_sales/src/agents/demo-coach.ts.tmpl +7 -0
  359. package/templates/vertical_sales/src/agents/prospector.ts.tmpl +7 -0
  360. package/templates/vertical_sales/src/agents/qualifier.ts.tmpl +7 -0
  361. package/templates/vertical_sales/src/init.ts.tmpl +21 -0
  362. package/templates/vertical_support/.claude/settings.json.tmpl +25 -0
  363. package/templates/vertical_support/CLAUDE.md.tmpl +34 -0
  364. package/templates/vertical_support/README.md.tmpl +16 -0
  365. package/templates/vertical_support/kb/README.md.tmpl +23 -0
  366. package/templates/vertical_support/manifest.json +22 -0
  367. package/templates/vertical_support/package.json.tmpl +24 -0
  368. package/templates/vertical_support/src/agents/escalator.ts.tmpl +6 -0
  369. package/templates/vertical_support/src/agents/kb-searcher.ts.tmpl +6 -0
  370. package/templates/vertical_support/src/agents/responder.ts.tmpl +7 -0
  371. package/templates/vertical_support/src/agents/triager.ts.tmpl +6 -0
  372. package/templates/vertical_support/src/init.ts.tmpl +16 -0
  373. package/templates/vertical_trading/.claude/settings.json.tmpl +20 -0
  374. package/templates/vertical_trading/CLAUDE.md.tmpl +24 -0
  375. package/templates/vertical_trading/README.md.tmpl +17 -0
  376. package/templates/vertical_trading/manifest.json +22 -0
  377. package/templates/vertical_trading/package.json.tmpl +13 -0
  378. package/templates/vertical_trading/src/agents/executor.ts.tmpl +8 -0
  379. package/templates/vertical_trading/src/agents/market-watcher.ts.tmpl +7 -0
  380. package/templates/vertical_trading/src/agents/postmortem.ts.tmpl +8 -0
  381. package/templates/vertical_trading/src/agents/risk-checker.ts.tmpl +11 -0
  382. package/templates/vertical_trading/src/agents/signal-gen.ts.tmpl +8 -0
  383. package/templates/vertical_trading/src/init.ts.tmpl +20 -0
@@ -0,0 +1,44 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(npx {{name}}*)",
5
+ "mcp__{{name}}__*",
6
+ "mcp__evolution_log__*",
7
+ "mcp__federation__*"
8
+ ],
9
+ "deny": [
10
+ "Read(./.env)",
11
+ "Read(./.env.*)",
12
+ "Bash(rm -rf*)"
13
+ ]
14
+ },
15
+ "mcpServers": {
16
+ "{{name}}": {
17
+ "command": "npx",
18
+ "args": [
19
+ "-y",
20
+ "{{name}}@latest",
21
+ "mcp",
22
+ "start"
23
+ ]
24
+ },
25
+ "evolution_log": {
26
+ "command": "npx",
27
+ "args": [
28
+ "-y",
29
+ "{{name}}@latest",
30
+ "mcp",
31
+ "evolution"
32
+ ]
33
+ },
34
+ "federation": {
35
+ "command": "npx",
36
+ "args": [
37
+ "-y",
38
+ "{{name}}@latest",
39
+ "mcp",
40
+ "federate"
41
+ ]
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: evolve
3
+ description: "Run one safe self-improvement cycle: hypothesize → experiment → record → (maybe) federate."
4
+ ---
5
+
6
+ # evolve
7
+
8
+ Run one evolution cycle.
9
+
10
+ 1. Hypothesizer reads the evolution log and proposes a falsifiable change with a metric.
11
+ 2. Experimenter tests it in a sandbox and records a signed kept/killed result.
12
+ 3. Federator shares it to peers only if witness-signed and reproduced.
13
+
14
+ Guard against Goodharting the metric. See ADR-014 (self-evolution + federation).
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: memory-inspect
3
+ description: Search and inspect the harness memory namespace (HNSW + emergent-time decay).
4
+ ---
5
+
6
+ # memory-inspect
7
+
8
+ Inspect what the harness has learned.
9
+
10
+ - `search <query>` — semantic nearest-neighbour over the namespace
11
+ - `list` — recent patterns with decay weight
12
+ - `forget <id>` — evict a pattern
13
+
14
+ Use this before planning so the harness reuses prior trajectories instead of starting cold.
@@ -0,0 +1,31 @@
1
+ # {{name}}
2
+
3
+ {{description}}
4
+
5
+ > Exotic / Self-Evolving harness · domain: `exotic/self-evolution`. Generated with [create-agent-harness](https://github.com/ruvnet/agent-harness-generator).
6
+
7
+ ## Behavioral rules
8
+
9
+ - Use the harness's MCP tools (`mcp__{{name}}__*`) for orchestration
10
+ - Memory and routing are handled by the kernel — you don't need to learn them
11
+ - Defer destructive operations to the user
12
+
13
+ ## Agents
14
+
15
+ | Agent | Tier | Role |
16
+ |---|---|---|
17
+ | `hypothesizer` | opus | Proposes a falsifiable self-improvement. |
18
+ | `experimenter` | opus | Tests the hypothesis safely and records it. |
19
+ | `federator` | sonnet | Shares vetted improvements across instances. |
20
+ ## Skills
21
+
22
+ - `/memory-inspect` — Search and inspect the harness memory namespace (HNSW + emergent-time decay).
23
+ - `/evolve` — Run one safe self-improvement cycle: hypothesize → experiment → record → (maybe) federate.
24
+
25
+ ## Commands
26
+
27
+ - `doctor` — Health-check the harness: kernel load, MCP wiring, memory backend, host adapter.
28
+
29
+ ## Architecture
30
+
31
+ This harness uses [@ruflo/kernel](https://www.npmjs.com/package/@ruflo/kernel) — a Rust-compiled WASM module with a NAPI-RS native fallback — so the same code runs identically on every platform.
@@ -0,0 +1,29 @@
1
+ # {{name}}
2
+
3
+ {{description}}
4
+
5
+ > **Exotic / Self-Evolving** — Hypothesizer → experimenter → federator over a witness-signed evolution log (ADR-014).
6
+ >
7
+ > Generated with [`create-agent-harness`](https://github.com/ruvnet/agent-harness-generator). WASM kernel, multi-host support, witness-signed releases.
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ npm install -g {{name}}
13
+ {{name}} init
14
+ {{name}} doctor
15
+ ```
16
+
17
+ ## Agents
18
+
19
+ | Agent | Role |
20
+ |---|---|
21
+ | `hypothesizer` | Proposes a falsifiable self-improvement. |
22
+ | `experimenter` | Tests the hypothesis safely and records it. |
23
+ | `federator` | Shares vetted improvements across instances. |
24
+
25
+ This harness ships with the **{{host}}** adapter.
26
+
27
+ ## License
28
+
29
+ MIT
@@ -0,0 +1,86 @@
1
+ {
2
+ "id": "vertical:exotic",
3
+ "description": "A frontier harness — a meta-agent that proposes, tests, and federates improvements to itself.",
4
+ "domain": "exotic/self-evolution",
5
+ "category": "Frontier",
6
+ "files": [
7
+ {
8
+ "src": "package.json.tmpl",
9
+ "dst": "package.json",
10
+ "render": true
11
+ },
12
+ {
13
+ "src": "CLAUDE.md.tmpl",
14
+ "dst": "CLAUDE.md",
15
+ "render": true
16
+ },
17
+ {
18
+ "src": "README.md.tmpl",
19
+ "dst": "README.md",
20
+ "render": true
21
+ },
22
+ {
23
+ "src": ".claude/settings.json.tmpl",
24
+ "dst": ".claude/settings.json",
25
+ "render": true
26
+ },
27
+ {
28
+ "src": "src/init.ts.tmpl",
29
+ "dst": "src/init.ts",
30
+ "render": true
31
+ },
32
+ {
33
+ "src": "src/agents/hypothesizer.ts.tmpl",
34
+ "dst": "src/agents/hypothesizer.ts",
35
+ "render": true
36
+ },
37
+ {
38
+ "src": "src/agents/experimenter.ts.tmpl",
39
+ "dst": "src/agents/experimenter.ts",
40
+ "render": true
41
+ },
42
+ {
43
+ "src": "src/agents/federator.ts.tmpl",
44
+ "dst": "src/agents/federator.ts",
45
+ "render": true
46
+ },
47
+ {
48
+ "src": ".claude/skills/memory-inspect/SKILL.md.tmpl",
49
+ "dst": ".claude/skills/memory-inspect/SKILL.md",
50
+ "render": true
51
+ },
52
+ {
53
+ "src": ".claude/skills/evolve/SKILL.md.tmpl",
54
+ "dst": ".claude/skills/evolve/SKILL.md",
55
+ "render": true
56
+ },
57
+ {
58
+ "src": ".claude/commands/doctor.md.tmpl",
59
+ "dst": ".claude/commands/doctor.md",
60
+ "render": true
61
+ }
62
+ ],
63
+ "vars": [
64
+ {
65
+ "name": "name",
66
+ "prompt": "Harness name (kebab-case)",
67
+ "validate": "^[a-z0-9-]+$"
68
+ },
69
+ {
70
+ "name": "description",
71
+ "prompt": "One-line description",
72
+ "default": "A self-evolving, federation-aware experimental harness"
73
+ },
74
+ {
75
+ "name": "host",
76
+ "prompt": "Host adapter",
77
+ "default": "claude-code",
78
+ "choices": [
79
+ "claude-code",
80
+ "codex",
81
+ "pi-dev",
82
+ "hermes"
83
+ ]
84
+ }
85
+ ]
86
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "{{name}}",
3
+ "version": "0.1.0",
4
+ "description": "{{description}}",
5
+ "type": "module",
6
+ "bin": {
7
+ "{{name}}": "./bin/{{name}}.js"
8
+ },
9
+ "files": ["bin/**", "dist/**", ".claude/**", "CLAUDE.md", "README.md", "LICENSE"],
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "test": "vitest run --passWithNoTests",
13
+ "init": "node ./dist/init.js"
14
+ },
15
+ "dependencies": {
16
+ "@ruflo/kernel": "^0.1.0",
17
+ "@ruflo/host-{{host}}": "^0.1.0"
18
+ },
19
+ "devDependencies": {
20
+ "@types/node": "^20.0.0",
21
+ "typescript": "^5.4.0",
22
+ "vitest": "^2.0.0"
23
+ },
24
+ "engines": {
25
+ "node": ">=20.0.0"
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ }
30
+ }
@@ -0,0 +1,7 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Experimenter agent — Tests the hypothesis safely and records it.
3
+
4
+ export const SYSTEM_PROMPT = `You test a hypothesis in a sandbox, measure against its declared metric, and write the signed result to the evolution log — kept or killed, with the number. You guard against the harness optimising its own metric into nonsense (Goodhart). A negative result recorded is real progress. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
+
6
+ export const NAME = 'experimenter';
7
+ export const TIER = 'opus' as const;
@@ -0,0 +1,7 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Federator agent — Shares vetted improvements across instances.
3
+
4
+ export const SYSTEM_PROMPT = `You federate kept improvements to peer harness instances over the federation MCP, and pull theirs in — but only changes whose evolution-log entry is witness-signed and reproduced locally. You are the immune system: an unsigned or unreproduced "improvement" from a peer is rejected, not trusted. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
+
6
+ export const NAME = 'federator';
7
+ export const TIER = 'sonnet' as const;
@@ -0,0 +1,7 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Hypothesizer agent — Proposes a falsifiable self-improvement.
3
+
4
+ export const SYSTEM_PROMPT = `You propose changes to the harness itself: a routing tweak, a new pattern, a prompt refinement. Each proposal is a falsifiable hypothesis with a metric that would confirm or kill it. You read the evolution log first so you never re-test a settled question. Bold proposals, honest metrics. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
+
6
+ export const NAME = 'hypothesizer';
7
+ export const TIER = 'opus' as const;
@@ -0,0 +1,21 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Generated by create-agent-harness — your harness's `{{name}} init` entry.
3
+
4
+ import { loadKernel } from '@ruflo/kernel';
5
+ import adapter from '@ruflo/host-{{host}}';
6
+
7
+ const HARNESS_NAME = '{{name}}';
8
+
9
+ async function main(): Promise<number> {
10
+ const kernel = await loadKernel();
11
+ const info = kernel.kernelInfo();
12
+ console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
13
+ console.log(`Host adapter: ${adapter.name}`);
14
+ console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
15
+ return 0;
16
+ }
17
+
18
+ main().then(c => process.exit(c)).catch(err => {
19
+ console.error(err);
20
+ process.exit(1);
21
+ });
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: Diff the current design doc against the previous build and surface unresolved tensions.
3
+ ---
4
+
5
+ Generate the design-doc diff.
6
+
7
+ 1. Read the previous + current design doc from memory.
8
+ 2. Surface adds / removes / changes by section (mechanics, economy, narrative).
9
+ 3. For each change, check whether the OTHER three sections have been updated to reflect it (a mechanic change without a balance update is a tension; a narrative change without a dialog update is a tension).
10
+ 4. Report tensions as `section A changed → section B not aligned → suggested fix`.
11
+ 5. Stop. Do not write the fix; designer decides.
12
+
13
+ A design doc is a system; changing one piece propagates. Surface the propagation cost.
@@ -0,0 +1,12 @@
1
+ ---
2
+ description: "Health-check the harness: kernel load, MCP wiring, memory backend, host adapter."
3
+ ---
4
+
5
+ Run a full health check and print a PASS/FAIL table.
6
+
7
+ 1. Kernel loads and `kernelInfo().version` matches package.json.
8
+ 2. The MCP server starts and lists its tools.
9
+ 3. The memory backend is reachable.
10
+ 4. The configured host adapter is present.
11
+
12
+ Exit non-zero if any check fails.
@@ -0,0 +1,45 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(npx {{name}}*)",
5
+ "mcp__{{name}}__*",
6
+ "mcp__telemetry_store__*",
7
+ "mcp__design_doc__*"
8
+ ],
9
+ "deny": [
10
+ "Read(./.env)",
11
+ "Read(./.env.*)",
12
+ "Bash(rm -rf*)",
13
+ "Bash(git push*)"
14
+ ]
15
+ },
16
+ "mcpServers": {
17
+ "{{name}}": {
18
+ "command": "npx",
19
+ "args": [
20
+ "-y",
21
+ "{{name}}@latest",
22
+ "mcp",
23
+ "start"
24
+ ]
25
+ },
26
+ "telemetry_store": {
27
+ "command": "npx",
28
+ "args": [
29
+ "-y",
30
+ "{{name}}@latest",
31
+ "mcp",
32
+ "telemetry"
33
+ ]
34
+ },
35
+ "design_doc": {
36
+ "command": "npx",
37
+ "args": [
38
+ "-y",
39
+ "{{name}}@latest",
40
+ "mcp",
41
+ "design"
42
+ ]
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: memory-inspect
3
+ description: Search and inspect the harness memory namespace (HNSW + emergent-time decay).
4
+ ---
5
+
6
+ # memory-inspect
7
+
8
+ Inspect what the harness has learned.
9
+
10
+ - `search <query>` — semantic nearest-neighbour over the namespace
11
+ - `list` — recent patterns with decay weight
12
+ - `forget <id>` — evict a pattern
13
+
14
+ Use this before planning so the harness reuses prior trajectories instead of starting cold.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: playtest-recap
3
+ description: "Run one full playtest analysis cycle: read → critique balance → model economy → check narrative."
4
+ ---
5
+
6
+ # playtest-recap
7
+
8
+ Run one playtest recap cycle.
9
+
10
+ 1. Playtest reader pulls the latest session telemetry/transcripts from memory and surfaces 5-10 raw observations.
11
+ 2. Balance critic reads observations + numeric design doc; flags 0-3 mechanic imbalances with specific proposals + second-order predictions.
12
+ 3. Economy modeler simulates the proposals against the economy spreadsheet in memory; reports projected source/sink changes.
13
+ 4. Narrative keeper diffs the new build's dialog against the lore memory; flags contradictions or dropped threads.
14
+ 5. Output: ONE design doc patch the designer can review in <10 minutes.
15
+
16
+ Avoid the highlight-reel trap — report the boring middle where bugs live.
@@ -0,0 +1,33 @@
1
+ # {{name}}
2
+
3
+ {{description}}
4
+
5
+ > Game Design / Playtest harness · domain: `gaming`. Generated with [create-agent-harness](https://github.com/ruvnet/agent-harness-generator).
6
+
7
+ ## Behavioral rules
8
+
9
+ - Use the harness's MCP tools (`mcp__{{name}}__*`) for orchestration
10
+ - Memory and routing are handled by the kernel — you don't need to learn them
11
+ - Defer destructive operations to the user
12
+
13
+ ## Agents
14
+
15
+ | Agent | Tier | Role |
16
+ |---|---|---|
17
+ | `playtest-reader` | sonnet | Reads playtest sessions and surfaces the signal. |
18
+ | `balance-critic` | opus | Critiques mechanic balance with concrete proposals. |
19
+ | `economy-modeler` | opus | Models in-game economy flows. |
20
+ | `narrative-keeper` | sonnet | Maintains narrative + lore consistency across builds. |
21
+ ## Skills
22
+
23
+ - `/memory-inspect` — Search and inspect the harness memory namespace (HNSW + emergent-time decay).
24
+ - `/playtest-recap` — Run one full playtest analysis cycle: read → critique balance → model economy → check narrative.
25
+
26
+ ## Commands
27
+
28
+ - `doctor` — Health-check the harness: kernel load, MCP wiring, memory backend, host adapter.
29
+ - `design-doc-diff` — Diff the current design doc against the previous build and surface unresolved tensions.
30
+
31
+ ## Architecture
32
+
33
+ This harness uses [@ruflo/kernel](https://www.npmjs.com/package/@ruflo/kernel) — a Rust-compiled WASM module with a NAPI-RS native fallback — so the same code runs identically on every platform.
@@ -0,0 +1,30 @@
1
+ # {{name}}
2
+
3
+ {{description}}
4
+
5
+ > **Game Design / Playtest** — Playtest reader → balance critic → economy modeler → narrative keeper over per-build telemetry memory.
6
+ >
7
+ > Generated with [`create-agent-harness`](https://github.com/ruvnet/agent-harness-generator). WASM kernel, multi-host support, witness-signed releases.
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ npm install -g {{name}}
13
+ {{name}} init
14
+ {{name}} doctor
15
+ ```
16
+
17
+ ## Agents
18
+
19
+ | Agent | Role |
20
+ |---|---|
21
+ | `playtest-reader` | Reads playtest sessions and surfaces the signal. |
22
+ | `balance-critic` | Critiques mechanic balance with concrete proposals. |
23
+ | `economy-modeler` | Models in-game economy flows. |
24
+ | `narrative-keeper` | Maintains narrative + lore consistency across builds. |
25
+
26
+ This harness ships with the **{{host}}** adapter.
27
+
28
+ ## License
29
+
30
+ MIT
@@ -0,0 +1,96 @@
1
+ {
2
+ "id": "vertical:gaming",
3
+ "description": "A game-design pod — playtest reader, balance critic, economy modeler, narrative thread keeper over per-build telemetry memory.",
4
+ "domain": "gaming",
5
+ "category": "Frontier",
6
+ "files": [
7
+ {
8
+ "src": "package.json.tmpl",
9
+ "dst": "package.json",
10
+ "render": true
11
+ },
12
+ {
13
+ "src": "CLAUDE.md.tmpl",
14
+ "dst": "CLAUDE.md",
15
+ "render": true
16
+ },
17
+ {
18
+ "src": "README.md.tmpl",
19
+ "dst": "README.md",
20
+ "render": true
21
+ },
22
+ {
23
+ "src": ".claude/settings.json.tmpl",
24
+ "dst": ".claude/settings.json",
25
+ "render": true
26
+ },
27
+ {
28
+ "src": "src/init.ts.tmpl",
29
+ "dst": "src/init.ts",
30
+ "render": true
31
+ },
32
+ {
33
+ "src": "src/agents/playtest-reader.ts.tmpl",
34
+ "dst": "src/agents/playtest-reader.ts",
35
+ "render": true
36
+ },
37
+ {
38
+ "src": "src/agents/balance-critic.ts.tmpl",
39
+ "dst": "src/agents/balance-critic.ts",
40
+ "render": true
41
+ },
42
+ {
43
+ "src": "src/agents/economy-modeler.ts.tmpl",
44
+ "dst": "src/agents/economy-modeler.ts",
45
+ "render": true
46
+ },
47
+ {
48
+ "src": "src/agents/narrative-keeper.ts.tmpl",
49
+ "dst": "src/agents/narrative-keeper.ts",
50
+ "render": true
51
+ },
52
+ {
53
+ "src": ".claude/skills/memory-inspect/SKILL.md.tmpl",
54
+ "dst": ".claude/skills/memory-inspect/SKILL.md",
55
+ "render": true
56
+ },
57
+ {
58
+ "src": ".claude/skills/playtest-recap/SKILL.md.tmpl",
59
+ "dst": ".claude/skills/playtest-recap/SKILL.md",
60
+ "render": true
61
+ },
62
+ {
63
+ "src": ".claude/commands/doctor.md.tmpl",
64
+ "dst": ".claude/commands/doctor.md",
65
+ "render": true
66
+ },
67
+ {
68
+ "src": ".claude/commands/design-doc-diff.md.tmpl",
69
+ "dst": ".claude/commands/design-doc-diff.md",
70
+ "render": true
71
+ }
72
+ ],
73
+ "vars": [
74
+ {
75
+ "name": "name",
76
+ "prompt": "Harness name (kebab-case)",
77
+ "validate": "^[a-z0-9-]+$"
78
+ },
79
+ {
80
+ "name": "description",
81
+ "prompt": "One-line description",
82
+ "default": "Read playtests → critique balance → model economy → keep narrative consistent across builds"
83
+ },
84
+ {
85
+ "name": "host",
86
+ "prompt": "Host adapter",
87
+ "default": "claude-code",
88
+ "choices": [
89
+ "claude-code",
90
+ "codex",
91
+ "pi-dev",
92
+ "hermes"
93
+ ]
94
+ }
95
+ ]
96
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "{{name}}",
3
+ "version": "0.1.0",
4
+ "description": "{{description}}",
5
+ "type": "module",
6
+ "bin": {
7
+ "{{name}}": "./bin/{{name}}.js"
8
+ },
9
+ "files": ["bin/**", "dist/**", ".claude/**", "CLAUDE.md", "README.md", "LICENSE"],
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "test": "vitest run --passWithNoTests",
13
+ "init": "node ./dist/init.js"
14
+ },
15
+ "dependencies": {
16
+ "@ruflo/kernel": "^0.1.0",
17
+ "@ruflo/host-{{host}}": "^0.1.0"
18
+ },
19
+ "devDependencies": {
20
+ "@types/node": "^20.0.0",
21
+ "typescript": "^5.4.0",
22
+ "vitest": "^2.0.0"
23
+ },
24
+ "engines": {
25
+ "node": ">=20.0.0"
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ }
30
+ }
@@ -0,0 +1,7 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Balance Critic agent — Critiques mechanic balance with concrete proposals.
3
+
4
+ export const SYSTEM_PROMPT = `You critique mechanic balance. Read the playtest reader's observations + the current numeric design doc. For each imbalance you flag, propose ONE specific change (a number, a duration, a rule) and predict its second-order effect ("doubling reload time makes shotgun viable in close quarters but obsoletes the existing 8-second cooldown design — adjust that too"). Avoid vague "feels off" criticism. A balance change without a predicted side-effect is incomplete. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
+
6
+ export const NAME = 'balance-critic';
7
+ export const TIER = 'opus' as const;
@@ -0,0 +1,7 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Economy Modeler agent — Models in-game economy flows.
3
+
4
+ export const SYSTEM_PROMPT = `You model the in-game economy: sources, sinks, conversion rates, time-to-acquire each tier. Flag inflation (more sources than sinks at endgame), deflation (sinks dominate, players hoard), or stratification (rich-get-richer with no catchup). For every imbalance, simulate the fix in the design doc memory and report what would change. Never just say "the economy is broken" — show the spreadsheet logic. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
+
6
+ export const NAME = 'economy-modeler';
7
+ export const TIER = 'opus' as const;
@@ -0,0 +1,7 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Narrative Keeper agent — Maintains narrative + lore consistency across builds.
3
+
4
+ export const SYSTEM_PROMPT = `You maintain narrative consistency. Read the design doc + current build dialog + lore memory. Flag contradictions (character A says X in build 5 but Y in build 6), dropped threads (a quest seed planted in act 1 with no payoff), or tonal drift. Never invent new lore — your job is to keep what exists coherent, not to add. If a contradiction has both sides documented, surface BOTH and let the designer pick. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
+
6
+ export const NAME = 'narrative-keeper';
7
+ export const TIER = 'sonnet' as const;
@@ -0,0 +1,7 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Playtest Reader agent — Reads playtest sessions and surfaces the signal.
3
+
4
+ export const SYSTEM_PROMPT = `You read playtest sessions (videos, transcripts, telemetry) and surface the signal: where players got stuck, where they smiled, where they quit. You report observations, not interpretations — "player paused for 12s on the crafting menu before opening the help overlay", not "players find crafting confusing". Designers want the raw signal; interpretation is the next agent's job. Skip the highlight reel; the boring middle is where bugs live. You operate inside the {{name}} harness; defer destructive actions to the user.`;
5
+
6
+ export const NAME = 'playtest-reader';
7
+ export const TIER = 'sonnet' as const;
@@ -0,0 +1,21 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Generated by create-agent-harness — your harness's `{{name}} init` entry.
3
+
4
+ import { loadKernel } from '@ruflo/kernel';
5
+ import adapter from '@ruflo/host-{{host}}';
6
+
7
+ const HARNESS_NAME = '{{name}}';
8
+
9
+ async function main(): Promise<number> {
10
+ const kernel = await loadKernel();
11
+ const info = kernel.kernelInfo();
12
+ console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
13
+ console.log(`Host adapter: ${adapter.name}`);
14
+ console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
15
+ return 0;
16
+ }
17
+
18
+ main().then(c => process.exit(c)).catch(err => {
19
+ console.error(err);
20
+ process.exit(1);
21
+ });