@monoes/monomindcli 2.16.2 → 2.16.4

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 (894) hide show
  1. package/.claude/agents/architecture/system-design/arch-system-design.md +4 -1
  2. package/.claude/agents/consensus/quorum-manager.md +3 -0
  3. package/.claude/agents/consensus/security-manager.md +4 -1
  4. package/.claude/agents/core/coder.md +4 -1
  5. package/.claude/agents/core/coordinator.md +3 -0
  6. package/.claude/agents/core/planner.md +4 -1
  7. package/.claude/agents/core/researcher.md +4 -1
  8. package/.claude/agents/core/reviewer.md +4 -1
  9. package/.claude/agents/core/tester.md +4 -1
  10. package/.claude/agents/design/design-monodesign.md +4 -1
  11. package/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +4 -1
  12. package/.claude/agents/engineering/engineering-ai-engineer.md +4 -1
  13. package/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +3 -0
  14. package/.claude/agents/engineering/engineering-backend-architect.md +4 -1
  15. package/.claude/agents/engineering/engineering-code-reviewer.md +5 -0
  16. package/.claude/agents/engineering/engineering-data-engineer.md +4 -1
  17. package/.claude/agents/engineering/engineering-database-optimizer.md +4 -1
  18. package/.claude/agents/engineering/engineering-devops-automator.md +3 -0
  19. package/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +3 -0
  20. package/.claude/agents/engineering/engineering-feishu-integration-developer.md +4 -1
  21. package/.claude/agents/engineering/engineering-frontend-developer.md +3 -0
  22. package/.claude/agents/engineering/engineering-git-workflow-master.md +4 -1
  23. package/.claude/agents/engineering/engineering-incident-response-commander.md +4 -1
  24. package/.claude/agents/engineering/engineering-mobile-app-builder.md +3 -0
  25. package/.claude/agents/engineering/engineering-rapid-prototyper.md +3 -0
  26. package/.claude/agents/engineering/engineering-security-engineer.md +4 -1
  27. package/.claude/agents/engineering/engineering-senior-developer.md +3 -0
  28. package/.claude/agents/engineering/engineering-software-architect.md +4 -1
  29. package/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +4 -1
  30. package/.claude/agents/engineering/engineering-sre.md +3 -0
  31. package/.claude/agents/engineering/engineering-technical-writer.md +4 -1
  32. package/.claude/agents/engineering/engineering-threat-detection-engineer.md +4 -1
  33. package/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +4 -1
  34. package/.claude/agents/github/github-modes.md +4 -2
  35. package/.claude/agents/github/issue-tracker.md +4 -2
  36. package/.claude/agents/github/monoswarm-code-review.md +4 -2
  37. package/.claude/agents/github/monoswarm-issue.md +5 -0
  38. package/.claude/agents/github/monoswarm-multi-repo.md +4 -1
  39. package/.claude/agents/github/monoswarm-pr.md +5 -0
  40. package/.claude/agents/github/pr-manager.md +4 -2
  41. package/.claude/agents/github/project-board-sync.md +4 -2
  42. package/.claude/agents/github/release-manager.md +4 -2
  43. package/.claude/agents/github/repo-architect.md +4 -2
  44. package/.claude/agents/github/sync-coordinator.md +4 -2
  45. package/.claude/agents/github/workflow-automation.md +4 -2
  46. package/.claude/agents/goal/goal-planner.md +16 -2
  47. package/.claude/agents/marketing/marketing-competitive-content.md +4 -1
  48. package/.claude/agents/marketing/marketing-cro-specialist.md +4 -1
  49. package/.claude/agents/marketing/marketing-email-specialist.md +4 -1
  50. package/.claude/agents/marketing/marketing-launch-strategist.md +4 -1
  51. package/.claude/agents/marketing/marketing-pricing-strategist.md +4 -1
  52. package/.claude/agents/monoswarm/collective-intelligence-coordinator.md +3 -0
  53. package/.claude/agents/monoswarm/mesh-coordinator.md +3 -0
  54. package/.claude/agents/monoswarm/monoswarm-memory-manager.md +4 -2
  55. package/.claude/agents/monoswarm/scout-explorer.md +4 -2
  56. package/.claude/agents/monoswarm/worker-specialist.md +3 -0
  57. package/.claude/agents/optimization/benchmark-suite.md +3 -0
  58. package/.claude/agents/optimization/load-balancer.md +3 -0
  59. package/.claude/agents/optimization/performance-monitor.md +3 -0
  60. package/.claude/agents/optimization/resource-allocator.md +3 -0
  61. package/.claude/agents/optimization/topology-optimizer.md +3 -0
  62. package/.claude/agents/specialists/integration-architect.md +4 -2
  63. package/.claude/agents/specialized/agentic-identity-trust.md +4 -1
  64. package/.claude/agents/specialized/agents-orchestrator.md +3 -0
  65. package/.claude/agents/specialized/automation-governance-architect.md +3 -0
  66. package/.claude/agents/specialized/blockchain-security-auditor.md +4 -1
  67. package/.claude/agents/specialized/compliance-auditor.md +4 -1
  68. package/.claude/agents/specialized/identity-graph-operator.md +4 -1
  69. package/.claude/agents/specialized/lsp-index-engineer.md +3 -0
  70. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +5 -0
  71. package/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +3 -0
  72. package/.claude/agents/specialized/specialized-developer-advocate.md +4 -1
  73. package/.claude/agents/specialized/specialized-document-generator.md +4 -1
  74. package/.claude/agents/specialized/specialized-mcp-builder.md +3 -0
  75. package/.claude/agents/specialized/specialized-model-qa.md +4 -1
  76. package/.claude/agents/specialized/specialized-workflow-architect.md +4 -1
  77. package/.claude/agents/specialized/zk-steward.md +4 -1
  78. package/.claude/agents/templates/automation-smart-agent.md +4 -1
  79. package/.claude/agents/templates/coordinator-monoswarm-init.md +4 -1
  80. package/.claude/agents/testing/production-validator.md +3 -0
  81. package/.claude/agents/testing/tdd-london-monoswarm.md +3 -0
  82. package/.claude/agents/testing/testing-accessibility-auditor.md +4 -1
  83. package/.claude/agents/testing/testing-api-tester.md +4 -1
  84. package/.claude/agents/testing/testing-evidence-collector.md +3 -0
  85. package/.claude/agents/testing/testing-performance-benchmarker.md +4 -1
  86. package/.claude/agents/testing/testing-test-results-analyzer.md +4 -1
  87. package/.claude/agents/testing/testing-tool-evaluator.md +4 -1
  88. package/.claude/agents/testing/testing-workflow-optimizer.md +4 -1
  89. package/.claude/commands/agents/agent-types.md +7 -5
  90. package/.claude/commands/mastermind/code-review.md +5 -5
  91. package/.claude/commands/mastermind/content.md +8 -2
  92. package/.claude/commands/mastermind/createorg.md +2 -2
  93. package/.claude/commands/mastermind/createtask.md +2 -2
  94. package/.claude/commands/mastermind/do.md +18 -36
  95. package/.claude/commands/mastermind/finance.md +8 -2
  96. package/.claude/commands/mastermind/help.md +5 -11
  97. package/.claude/commands/mastermind/ideate.md +4 -4
  98. package/.claude/commands/mastermind/improve.md +3 -3
  99. package/.claude/commands/mastermind/marketing.md +8 -2
  100. package/.claude/commands/mastermind/master.md +64 -47
  101. package/.claude/commands/mastermind/monoswarm.md +7 -5
  102. package/.claude/commands/mastermind/ops.md +8 -2
  103. package/.claude/commands/mastermind/orgs.md +1 -1
  104. package/.claude/commands/mastermind/orgstatus.md +1 -1
  105. package/.claude/commands/mastermind/runorg.md +2 -2
  106. package/.claude/commands/mastermind/sales.md +8 -2
  107. package/.claude/commands/mastermind/stoporg.md +7 -11
  108. package/.claude/commands/mastermind.md +7 -7
  109. package/.claude/commands/monoswarm/analysis.md +1 -1
  110. package/.claude/commands/monoswarm/development.md +1 -1
  111. package/.claude/commands/monoswarm/maintenance.md +1 -1
  112. package/.claude/commands/monoswarm/optimization.md +2 -1
  113. package/.claude/commands/monoswarm/research.md +1 -1
  114. package/.claude/commands/monoswarm/testing.md +1 -1
  115. package/.claude/commands/pair/examples.md +3 -2
  116. package/.claude/commands/pair/modes.md +3 -3
  117. package/.claude/helpers/agent-registry.cjs +434 -0
  118. package/.claude/helpers/build-skill-registry.cjs +186 -26
  119. package/.claude/helpers/handlers/agent-start-handler.cjs +3 -0
  120. package/.claude/helpers/handlers/capture-handler.cjs +22 -14
  121. package/.claude/helpers/handlers/edit-handler.cjs +1 -1
  122. package/.claude/helpers/handlers/pick-core.cjs +463 -0
  123. package/.claude/helpers/handlers/route-handler.cjs +81 -180
  124. package/.claude/helpers/handlers/session-handler.cjs +44 -62
  125. package/.claude/helpers/handlers/session-restore-handler.cjs +8 -1
  126. package/.claude/helpers/handlers/task-handler.cjs +11 -6
  127. package/.claude/helpers/hook-handler.cjs +9 -2
  128. package/.claude/helpers/jev-catalog.cjs +229 -0
  129. package/.claude/helpers/jev-picker.cjs +38 -147
  130. package/.claude/helpers/org-skill-index.cjs +230 -0
  131. package/.claude/helpers/pick-rank.cjs +307 -0
  132. package/.claude/helpers/pick-stats.cjs +413 -0
  133. package/.claude/helpers/router.cjs +7 -379
  134. package/.claude/helpers/utils/monograph-resolve.cjs +12 -4
  135. package/.claude/settings.json +51 -41
  136. package/.claude/skills/hooks-automation/SKILL.md +4 -4
  137. package/.claude/skills/mastermind-access/SKILL.md +4 -3
  138. package/.claude/skills/mastermind-activity/SKILL.md +3 -2
  139. package/.claude/skills/mastermind-adapter-manager/SKILL.md +2 -1
  140. package/.claude/skills/mastermind-adapters/SKILL.md +2 -1
  141. package/.claude/skills/mastermind-agent-detail/SKILL.md +5 -4
  142. package/.claude/skills/mastermind-agent-select/SKILL.md +99 -100
  143. package/.claude/skills/mastermind-agents/SKILL.md +33 -39
  144. package/.claude/skills/mastermind-approval-detail/SKILL.md +2 -1
  145. package/.claude/skills/mastermind-backup/SKILL.md +2 -1
  146. package/.claude/skills/mastermind-bootstrap/SKILL.md +2 -2
  147. package/.claude/skills/mastermind-budgets/SKILL.md +4 -3
  148. package/.claude/skills/mastermind-createorg/SKILL.md +26 -8
  149. package/.claude/skills/mastermind-delegation/SKILL.md +11 -19
  150. package/.claude/skills/mastermind-diagnose/SKILL.md +3 -3
  151. package/.claude/skills/mastermind-env/SKILL.md +6 -19
  152. package/.claude/skills/mastermind-environments/SKILL.md +2 -1
  153. package/.claude/skills/mastermind-execute/SKILL.md +1 -1
  154. package/.claude/skills/mastermind-export/SKILL.md +2 -1
  155. package/.claude/skills/mastermind-goal-detail/SKILL.md +3 -2
  156. package/.claude/skills/mastermind-goals/SKILL.md +3 -2
  157. package/.claude/skills/mastermind-idea/SKILL.md +52 -92
  158. package/.claude/skills/mastermind-import/SKILL.md +2 -1
  159. package/.claude/skills/mastermind-inbox/SKILL.md +33 -53
  160. package/.claude/skills/mastermind-instance/SKILL.md +10 -7
  161. package/.claude/skills/mastermind-invite-landing/SKILL.md +3 -2
  162. package/.claude/skills/mastermind-invites/SKILL.md +3 -2
  163. package/.claude/skills/mastermind-issue-detail/SKILL.md +4 -3
  164. package/.claude/skills/mastermind-issues/SKILL.md +4 -3
  165. package/.claude/skills/mastermind-join-queue/SKILL.md +5 -4
  166. package/.claude/skills/mastermind-liveness/SKILL.md +5 -4
  167. package/.claude/skills/mastermind-monitor/SKILL.md +15 -15
  168. package/.claude/skills/mastermind-my-issues/SKILL.md +2 -1
  169. package/.claude/skills/mastermind-new-agent/SKILL.md +120 -137
  170. package/.claude/skills/mastermind-org-settings/SKILL.md +8 -8
  171. package/.claude/skills/mastermind-orgs/SKILL.md +27 -32
  172. package/.claude/skills/mastermind-orgstatus/SKILL.md +50 -140
  173. package/.claude/skills/mastermind-plan-to-tasks/SKILL.md +1 -1
  174. package/.claude/skills/mastermind-plugin-manager/SKILL.md +4 -3
  175. package/.claude/skills/mastermind-plugin-settings/SKILL.md +5 -4
  176. package/.claude/skills/mastermind-plugins/SKILL.md +3 -2
  177. package/.claude/skills/mastermind-profile/SKILL.md +2 -1
  178. package/.claude/skills/mastermind-protocol/SKILL.md +3 -3
  179. package/.claude/skills/mastermind-release/SKILL.md +13 -8
  180. package/.claude/skills/mastermind-research/SKILL.md +10 -8
  181. package/.claude/skills/mastermind-review/SKILL.md +16 -11
  182. package/.claude/skills/mastermind-routine-detail/SKILL.md +2 -1
  183. package/.claude/skills/mastermind-routines/SKILL.md +3 -2
  184. package/.claude/skills/mastermind-runorg/SKILL.md +13 -13
  185. package/.claude/skills/mastermind-search/SKILL.md +2 -1
  186. package/.claude/skills/mastermind-secrets/SKILL.md +3 -2
  187. package/.claude/skills/mastermind-skills/SKILL.md +2 -1
  188. package/.claude/skills/mastermind-stoporg/SKILL.md +8 -62
  189. package/.claude/skills/mastermind-tasks/SKILL.md +8 -9
  190. package/.claude/skills/mastermind-threads/SKILL.md +4 -3
  191. package/.claude/skills/mastermind-tree-control/SKILL.md +5 -4
  192. package/.claude/skills/mastermind-workspace-detail/SKILL.md +4 -3
  193. package/.claude/skills/mastermind-workspaces/SKILL.md +2 -1
  194. package/.claude/skills/monoswarm/SKILL.md +7 -5
  195. package/.claude/skills/specialagent/SKILL.md +32 -51
  196. package/README.md +28 -43
  197. package/dist/src/agents/registry-builder.d.ts +79 -22
  198. package/dist/src/agents/registry-builder.d.ts.map +1 -1
  199. package/dist/src/agents/registry-builder.js +49 -296
  200. package/dist/src/agents/registry-builder.js.map +1 -1
  201. package/dist/src/agents/registry-freshness.d.ts +21 -0
  202. package/dist/src/agents/registry-freshness.d.ts.map +1 -0
  203. package/dist/src/agents/registry-freshness.js +45 -0
  204. package/dist/src/agents/registry-freshness.js.map +1 -0
  205. package/dist/src/commands/agent-lifecycle.d.ts +11 -5
  206. package/dist/src/commands/agent-lifecycle.d.ts.map +1 -1
  207. package/dist/src/commands/agent-lifecycle.js +78 -42
  208. package/dist/src/commands/agent-lifecycle.js.map +1 -1
  209. package/dist/src/commands/doc.d.ts.map +1 -1
  210. package/dist/src/commands/doc.js +6 -15
  211. package/dist/src/commands/doc.js.map +1 -1
  212. package/dist/src/commands/doctor-env-checks.d.ts +18 -3
  213. package/dist/src/commands/doctor-env-checks.d.ts.map +1 -1
  214. package/dist/src/commands/doctor-env-checks.js +35 -16
  215. package/dist/src/commands/doctor-env-checks.js.map +1 -1
  216. package/dist/src/commands/doctor-fresh-install.d.ts +9 -0
  217. package/dist/src/commands/doctor-fresh-install.d.ts.map +1 -0
  218. package/dist/src/commands/doctor-fresh-install.js +43 -0
  219. package/dist/src/commands/doctor-fresh-install.js.map +1 -0
  220. package/dist/src/commands/doctor-hook-monograph-checks.d.ts +3 -1
  221. package/dist/src/commands/doctor-hook-monograph-checks.d.ts.map +1 -1
  222. package/dist/src/commands/doctor-hook-monograph-checks.js +13 -4
  223. package/dist/src/commands/doctor-hook-monograph-checks.js.map +1 -1
  224. package/dist/src/commands/doctor-hook-settings-checks.d.ts +5 -0
  225. package/dist/src/commands/doctor-hook-settings-checks.d.ts.map +1 -0
  226. package/dist/src/commands/doctor-hook-settings-checks.js +50 -0
  227. package/dist/src/commands/doctor-hook-settings-checks.js.map +1 -0
  228. package/dist/src/commands/doctor-json.d.ts +41 -0
  229. package/dist/src/commands/doctor-json.d.ts.map +1 -0
  230. package/dist/src/commands/doctor-json.js +60 -0
  231. package/dist/src/commands/doctor-json.js.map +1 -0
  232. package/dist/src/commands/doctor-mode.d.ts +28 -0
  233. package/dist/src/commands/doctor-mode.d.ts.map +1 -0
  234. package/dist/src/commands/doctor-mode.js +109 -0
  235. package/dist/src/commands/doctor-mode.js.map +1 -0
  236. package/dist/src/commands/doctor-monoes-checks.d.ts.map +1 -1
  237. package/dist/src/commands/doctor-monoes-checks.js +3 -1
  238. package/dist/src/commands/doctor-monoes-checks.js.map +1 -1
  239. package/dist/src/commands/doctor-pick-checks.d.ts +19 -0
  240. package/dist/src/commands/doctor-pick-checks.d.ts.map +1 -0
  241. package/dist/src/commands/doctor-pick-checks.js +132 -0
  242. package/dist/src/commands/doctor-pick-checks.js.map +1 -0
  243. package/dist/src/commands/doctor-project-checks.d.ts +3 -1
  244. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  245. package/dist/src/commands/doctor-project-checks.js +69 -20
  246. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  247. package/dist/src/commands/doctor.d.ts.map +1 -1
  248. package/dist/src/commands/doctor.js +324 -335
  249. package/dist/src/commands/doctor.js.map +1 -1
  250. package/dist/src/commands/hooks-coverage-routing.js +1 -1
  251. package/dist/src/commands/hooks-coverage-routing.js.map +1 -1
  252. package/dist/src/commands/hooks-coverage-utils.js +1 -1
  253. package/dist/src/commands/hooks-coverage-utils.js.map +1 -1
  254. package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
  255. package/dist/src/commands/hooks-routing-commands.js +5 -4
  256. package/dist/src/commands/hooks-routing-commands.js.map +1 -1
  257. package/dist/src/commands/init-upgrade.d.ts.map +1 -1
  258. package/dist/src/commands/init-upgrade.js +8 -0
  259. package/dist/src/commands/init-upgrade.js.map +1 -1
  260. package/dist/src/commands/init-wizard.d.ts.map +1 -1
  261. package/dist/src/commands/init-wizard.js +7 -2
  262. package/dist/src/commands/init-wizard.js.map +1 -1
  263. package/dist/src/commands/init.d.ts.map +1 -1
  264. package/dist/src/commands/init.js +16 -27
  265. package/dist/src/commands/init.js.map +1 -1
  266. package/dist/src/commands/monograph.d.ts.map +1 -1
  267. package/dist/src/commands/monograph.js +16 -21
  268. package/dist/src/commands/monograph.js.map +1 -1
  269. package/dist/src/commands/monoswarm.d.ts.map +1 -1
  270. package/dist/src/commands/monoswarm.js +16 -10
  271. package/dist/src/commands/monoswarm.js.map +1 -1
  272. package/dist/src/commands/org.js +1 -1
  273. package/dist/src/commands/org.js.map +1 -1
  274. package/dist/src/commands/pick.d.ts.map +1 -1
  275. package/dist/src/commands/pick.js +66 -16
  276. package/dist/src/commands/pick.js.map +1 -1
  277. package/dist/src/commands/route.d.ts +2 -1
  278. package/dist/src/commands/route.d.ts.map +1 -1
  279. package/dist/src/commands/route.js +73 -117
  280. package/dist/src/commands/route.js.map +1 -1
  281. package/dist/src/decision/catalogs.d.ts +24 -3
  282. package/dist/src/decision/catalogs.d.ts.map +1 -1
  283. package/dist/src/decision/catalogs.js +100 -22
  284. package/dist/src/decision/catalogs.js.map +1 -1
  285. package/dist/src/decision/jev.d.ts +30 -6
  286. package/dist/src/decision/jev.d.ts.map +1 -1
  287. package/dist/src/decision/jev.js +15 -4
  288. package/dist/src/decision/jev.js.map +1 -1
  289. package/dist/src/decision/pick-eval.d.ts +67 -0
  290. package/dist/src/decision/pick-eval.d.ts.map +1 -0
  291. package/dist/src/decision/pick-eval.js +113 -0
  292. package/dist/src/decision/pick-eval.js.map +1 -0
  293. package/dist/src/decision/pick-real.d.ts +93 -0
  294. package/dist/src/decision/pick-real.d.ts.map +1 -0
  295. package/dist/src/decision/pick-real.js +253 -0
  296. package/dist/src/decision/pick-real.js.map +1 -0
  297. package/dist/src/decision/pick-stats.d.ts +49 -0
  298. package/dist/src/decision/pick-stats.d.ts.map +1 -0
  299. package/dist/src/decision/pick-stats.js +68 -0
  300. package/dist/src/decision/pick-stats.js.map +1 -0
  301. package/dist/src/decision/picks.d.ts +38 -6
  302. package/dist/src/decision/picks.d.ts.map +1 -1
  303. package/dist/src/decision/picks.js +68 -32
  304. package/dist/src/decision/picks.js.map +1 -1
  305. package/dist/src/index.d.ts +5 -0
  306. package/dist/src/index.d.ts.map +1 -1
  307. package/dist/src/index.js +43 -22
  308. package/dist/src/index.js.map +1 -1
  309. package/dist/src/init/agent-refresh.d.ts +8 -0
  310. package/dist/src/init/agent-refresh.d.ts.map +1 -0
  311. package/dist/src/init/agent-refresh.js +89 -0
  312. package/dist/src/init/agent-refresh.js.map +1 -0
  313. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  314. package/dist/src/init/claudemd-generator.js +27 -9
  315. package/dist/src/init/claudemd-generator.js.map +1 -1
  316. package/dist/src/init/embeddings-step.d.ts +23 -0
  317. package/dist/src/init/embeddings-step.d.ts.map +1 -0
  318. package/dist/src/init/embeddings-step.js +53 -0
  319. package/dist/src/init/embeddings-step.js.map +1 -0
  320. package/dist/src/init/executor.d.ts.map +1 -1
  321. package/dist/src/init/executor.js +9 -1
  322. package/dist/src/init/executor.js.map +1 -1
  323. package/dist/src/init/helpers-generator.d.ts +4 -1
  324. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  325. package/dist/src/init/helpers-generator.js +88 -55
  326. package/dist/src/init/helpers-generator.js.map +1 -1
  327. package/dist/src/init/hook-settings.d.ts +57 -0
  328. package/dist/src/init/hook-settings.d.ts.map +1 -0
  329. package/dist/src/init/hook-settings.js +133 -0
  330. package/dist/src/init/hook-settings.js.map +1 -0
  331. package/dist/src/init/project-indexes.d.ts +19 -0
  332. package/dist/src/init/project-indexes.d.ts.map +1 -0
  333. package/dist/src/init/project-indexes.js +44 -0
  334. package/dist/src/init/project-indexes.js.map +1 -0
  335. package/dist/src/init/settings-generator.d.ts.map +1 -1
  336. package/dist/src/init/settings-generator.js +44 -25
  337. package/dist/src/init/settings-generator.js.map +1 -1
  338. package/dist/src/init/shared.d.ts +14 -0
  339. package/dist/src/init/shared.d.ts.map +1 -1
  340. package/dist/src/init/shared.js +24 -1
  341. package/dist/src/init/shared.js.map +1 -1
  342. package/dist/src/init/types.d.ts +13 -2
  343. package/dist/src/init/types.d.ts.map +1 -1
  344. package/dist/src/init/types.js +11 -3
  345. package/dist/src/init/types.js.map +1 -1
  346. package/dist/src/init/upgrade.d.ts +7 -0
  347. package/dist/src/init/upgrade.d.ts.map +1 -1
  348. package/dist/src/init/upgrade.js +139 -130
  349. package/dist/src/init/upgrade.js.map +1 -1
  350. package/dist/src/init/write-antigravity.d.ts +1 -0
  351. package/dist/src/init/write-antigravity.d.ts.map +1 -1
  352. package/dist/src/init/write-antigravity.js +19 -1
  353. package/dist/src/init/write-antigravity.js.map +1 -1
  354. package/dist/src/init/write-capabilities.d.ts.map +1 -1
  355. package/dist/src/init/write-capabilities.js +10 -33
  356. package/dist/src/init/write-capabilities.js.map +1 -1
  357. package/dist/src/init/write-claude.d.ts.map +1 -1
  358. package/dist/src/init/write-claude.js +10 -4
  359. package/dist/src/init/write-claude.js.map +1 -1
  360. package/dist/src/mcp-client.d.ts.map +1 -1
  361. package/dist/src/mcp-client.js +4 -0
  362. package/dist/src/mcp-client.js.map +1 -1
  363. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  364. package/dist/src/mcp-tools/agent-tools.js +3 -0
  365. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  366. package/dist/src/mcp-tools/embeddings-tools.d.ts.map +1 -1
  367. package/dist/src/mcp-tools/embeddings-tools.js +14 -5
  368. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  369. package/dist/src/mcp-tools/guidance-tools.d.ts.map +1 -1
  370. package/dist/src/mcp-tools/guidance-tools.js +19 -10
  371. package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
  372. package/dist/src/mcp-tools/hooks-embedding.d.ts +1 -32
  373. package/dist/src/mcp-tools/hooks-embedding.d.ts.map +1 -1
  374. package/dist/src/mcp-tools/hooks-embedding.js +22 -200
  375. package/dist/src/mcp-tools/hooks-embedding.js.map +1 -1
  376. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  377. package/dist/src/mcp-tools/hooks-routing.js +81 -195
  378. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  379. package/dist/src/mcp-tools/index.d.ts +1 -0
  380. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  381. package/dist/src/mcp-tools/index.js +1 -0
  382. package/dist/src/mcp-tools/index.js.map +1 -1
  383. package/dist/src/mcp-tools/monograph/build-tools.d.ts.map +1 -1
  384. package/dist/src/mcp-tools/monograph/build-tools.js +16 -9
  385. package/dist/src/mcp-tools/monograph/build-tools.js.map +1 -1
  386. package/dist/src/mcp-tools/org-skill-tools.d.ts +4 -0
  387. package/dist/src/mcp-tools/org-skill-tools.d.ts.map +1 -0
  388. package/dist/src/mcp-tools/org-skill-tools.js +42 -0
  389. package/dist/src/mcp-tools/org-skill-tools.js.map +1 -0
  390. package/dist/src/mcp-tools/pick-tools.d.ts +4 -0
  391. package/dist/src/mcp-tools/pick-tools.d.ts.map +1 -0
  392. package/dist/src/mcp-tools/pick-tools.js +53 -0
  393. package/dist/src/mcp-tools/pick-tools.js.map +1 -0
  394. package/dist/src/memory/embedding-operations.d.ts +0 -4
  395. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  396. package/dist/src/memory/embedding-operations.js +11 -85
  397. package/dist/src/memory/embedding-operations.js.map +1 -1
  398. package/dist/src/memory/memory-bridge.d.ts +7 -0
  399. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  400. package/dist/src/memory/memory-bridge.js +15 -0
  401. package/dist/src/memory/memory-bridge.js.map +1 -1
  402. package/dist/src/monovector/coverage-router.d.ts +2 -1
  403. package/dist/src/monovector/coverage-router.d.ts.map +1 -1
  404. package/dist/src/monovector/coverage-router.js +6 -5
  405. package/dist/src/monovector/coverage-router.js.map +1 -1
  406. package/dist/src/monovector/coverage-tools.js +1 -1
  407. package/dist/src/monovector/coverage-tools.js.map +1 -1
  408. package/dist/src/monovector/index.d.ts +1 -1
  409. package/dist/src/monovector/index.d.ts.map +1 -1
  410. package/dist/src/monovector/index.js +11 -35
  411. package/dist/src/monovector/index.js.map +1 -1
  412. package/dist/src/monovector/route-outcomes.d.ts.map +1 -1
  413. package/dist/src/monovector/route-outcomes.js +89 -34
  414. package/dist/src/monovector/route-outcomes.js.map +1 -1
  415. package/dist/src/orgrt/bash-timeout.d.ts +17 -0
  416. package/dist/src/orgrt/bash-timeout.d.ts.map +1 -1
  417. package/dist/src/orgrt/bash-timeout.js +15 -0
  418. package/dist/src/orgrt/bash-timeout.js.map +1 -1
  419. package/dist/src/orgrt/daemon.d.ts +7 -13
  420. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  421. package/dist/src/orgrt/daemon.js +12 -23
  422. package/dist/src/orgrt/daemon.js.map +1 -1
  423. package/dist/src/orgrt/decisions.d.ts +3 -8
  424. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  425. package/dist/src/orgrt/decisions.js +36 -47
  426. package/dist/src/orgrt/decisions.js.map +1 -1
  427. package/dist/src/orgrt/dispatch-hold.d.ts +34 -0
  428. package/dist/src/orgrt/dispatch-hold.d.ts.map +1 -0
  429. package/dist/src/orgrt/dispatch-hold.js +75 -0
  430. package/dist/src/orgrt/dispatch-hold.js.map +1 -0
  431. package/dist/src/orgrt/runner-registry.d.ts +20 -0
  432. package/dist/src/orgrt/runner-registry.d.ts.map +1 -1
  433. package/dist/src/orgrt/runner-registry.js +39 -0
  434. package/dist/src/orgrt/runner-registry.js.map +1 -1
  435. package/dist/src/orgrt/sandbox-deny-write.d.ts +11 -1
  436. package/dist/src/orgrt/sandbox-deny-write.d.ts.map +1 -1
  437. package/dist/src/orgrt/sandbox-deny-write.js +23 -2
  438. package/dist/src/orgrt/sandbox-deny-write.js.map +1 -1
  439. package/dist/src/orgrt/sandbox-fault.d.ts +5 -1
  440. package/dist/src/orgrt/sandbox-fault.d.ts.map +1 -1
  441. package/dist/src/orgrt/sandbox-fault.js +14 -2
  442. package/dist/src/orgrt/sandbox-fault.js.map +1 -1
  443. package/dist/src/orgrt/session.d.ts +16 -7
  444. package/dist/src/orgrt/session.d.ts.map +1 -1
  445. package/dist/src/orgrt/session.js +44 -64
  446. package/dist/src/orgrt/session.js.map +1 -1
  447. package/dist/src/orgrt/skill-library.d.ts +4 -0
  448. package/dist/src/orgrt/skill-library.d.ts.map +1 -1
  449. package/dist/src/orgrt/skill-library.js +12 -0
  450. package/dist/src/orgrt/skill-library.js.map +1 -1
  451. package/dist/src/orgrt/skill-tools.d.ts +11 -0
  452. package/dist/src/orgrt/skill-tools.d.ts.map +1 -0
  453. package/dist/src/orgrt/skill-tools.js +40 -0
  454. package/dist/src/orgrt/skill-tools.js.map +1 -0
  455. package/dist/src/orgrt/task-cancel.d.ts +64 -0
  456. package/dist/src/orgrt/task-cancel.d.ts.map +1 -0
  457. package/dist/src/orgrt/task-cancel.js +134 -0
  458. package/dist/src/orgrt/task-cancel.js.map +1 -0
  459. package/dist/src/orgrt/task-dag.d.ts +10 -1
  460. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  461. package/dist/src/orgrt/task-dag.js.map +1 -1
  462. package/dist/src/orgrt/task-match.d.ts +123 -0
  463. package/dist/src/orgrt/task-match.d.ts.map +1 -0
  464. package/dist/src/orgrt/task-match.js +249 -0
  465. package/dist/src/orgrt/task-match.js.map +1 -0
  466. package/dist/src/orgrt/task-provenance.d.ts +26 -0
  467. package/dist/src/orgrt/task-provenance.d.ts.map +1 -0
  468. package/dist/src/orgrt/task-provenance.js +93 -0
  469. package/dist/src/orgrt/task-provenance.js.map +1 -0
  470. package/dist/src/orgrt/task-tools.d.ts +24 -0
  471. package/dist/src/orgrt/task-tools.d.ts.map +1 -0
  472. package/dist/src/orgrt/task-tools.js +75 -0
  473. package/dist/src/orgrt/task-tools.js.map +1 -0
  474. package/dist/src/output.d.ts +6 -0
  475. package/dist/src/output.d.ts.map +1 -1
  476. package/dist/src/output.js +13 -2
  477. package/dist/src/output.js.map +1 -1
  478. package/dist/src/protocol-capabilities.d.ts +8 -1
  479. package/dist/src/protocol-capabilities.d.ts.map +1 -1
  480. package/dist/src/protocol-capabilities.js +10 -0
  481. package/dist/src/protocol-capabilities.js.map +1 -1
  482. package/dist/src/routing/agent-pick.d.ts +44 -0
  483. package/dist/src/routing/agent-pick.d.ts.map +1 -0
  484. package/dist/src/routing/agent-pick.js +114 -0
  485. package/dist/src/routing/agent-pick.js.map +1 -0
  486. package/dist/src/routing/pick-step.d.ts +26 -0
  487. package/dist/src/routing/pick-step.d.ts.map +1 -0
  488. package/dist/src/routing/pick-step.js +40 -0
  489. package/dist/src/routing/pick-step.js.map +1 -0
  490. package/dist/src/routing/route-layer-factory.d.ts.map +1 -1
  491. package/dist/src/routing/route-layer-factory.js +19 -17
  492. package/dist/src/routing/route-layer-factory.js.map +1 -1
  493. package/dist/src/utils/resource-governor.d.ts.map +1 -1
  494. package/dist/src/utils/resource-governor.js +28 -8
  495. package/dist/src/utils/resource-governor.js.map +1 -1
  496. package/dist/tsconfig.tsbuildinfo +1 -1
  497. package/org-skills/SOURCES.md +6 -6
  498. package/org-skills/TAGS.md +146 -0
  499. package/org-skills/ab-testing/SKILL.md +2 -2
  500. package/org-skills/accessibility-compliance/SKILL.md +2 -2
  501. package/org-skills/account-strategist/SKILL.md +2 -2
  502. package/org-skills/accounts-payable/SKILL.md +2 -2
  503. package/org-skills/ad-creative/SKILL.md +2 -2
  504. package/org-skills/adaptive-coordinator/SKILL.md +2 -2
  505. package/org-skills/adaptive-coordinator2/SKILL.md +2 -2
  506. package/org-skills/advanced-evaluation/SKILL.md +2 -2
  507. package/org-skills/adversarial-reviewer/SKILL.md +2 -2
  508. package/org-skills/agent-evaluation/SKILL.md +2 -2
  509. package/org-skills/agent-memory-systems/SKILL.md +2 -2
  510. package/org-skills/agent-tool-design/SKILL.md +2 -2
  511. package/org-skills/agile-product-owner/SKILL.md +2 -2
  512. package/org-skills/ai-citation/SKILL.md +2 -2
  513. package/org-skills/ai-engineer/SKILL.md +2 -2
  514. package/org-skills/ai-seo/SKILL.md +2 -2
  515. package/org-skills/analytics-reporter/SKILL.md +2 -2
  516. package/org-skills/analytics-tracking/SKILL.md +2 -2
  517. package/org-skills/android-clean-architecture/SKILL.md +2 -2
  518. package/org-skills/angular-architect/SKILL.md +2 -2
  519. package/org-skills/api-design/SKILL.md +2 -2
  520. package/org-skills/api-designer/SKILL.md +2 -2
  521. package/org-skills/api-tester/SKILL.md +2 -2
  522. package/org-skills/app-store-optimization/SKILL.md +2 -2
  523. package/org-skills/architecture-decision-records/SKILL.md +2 -2
  524. package/org-skills/architecture-designer/SKILL.md +2 -2
  525. package/org-skills/architecture-patterns/SKILL.md +2 -2
  526. package/org-skills/article-writing/SKILL.md +2 -2
  527. package/org-skills/auth-implementation-patterns/SKILL.md +2 -2
  528. package/org-skills/automation-governance/SKILL.md +2 -2
  529. package/org-skills/avoid-ai-writing/SKILL.md +2 -2
  530. package/org-skills/backend-dev/SKILL.md +2 -2
  531. package/org-skills/backend-patterns/SKILL.md +2 -2
  532. package/org-skills/bash-defensive-patterns/SKILL.md +2 -2
  533. package/org-skills/before-you-build/SKILL.md +2 -2
  534. package/org-skills/benchmark-methodology/SKILL.md +2 -2
  535. package/org-skills/benchmarker/SKILL.md +2 -2
  536. package/org-skills/blockchain-auditor/SKILL.md +2 -2
  537. package/org-skills/board-deck-builder/SKILL.md +2 -2
  538. package/org-skills/business-investment-advisor/SKILL.md +2 -2
  539. package/org-skills/byzantine-coord/SKILL.md +2 -2
  540. package/org-skills/canvas-design/SKILL.md +2 -2
  541. package/org-skills/carrier-relationship-management/SKILL.md +2 -2
  542. package/org-skills/case-analyst/SKILL.md +2 -2
  543. package/org-skills/ceo-advisor/SKILL.md +2 -2
  544. package/org-skills/cfo-advisor/SKILL.md +2 -2
  545. package/org-skills/change-management/SKILL.md +2 -2
  546. package/org-skills/changelog-automation/SKILL.md +2 -2
  547. package/org-skills/chro-advisor/SKILL.md +2 -2
  548. package/org-skills/churn-prevention/SKILL.md +2 -2
  549. package/org-skills/cicd-engineer/SKILL.md +2 -2
  550. package/org-skills/ciso-advisor/SKILL.md +2 -2
  551. package/org-skills/click-path-audit/SKILL.md +2 -2
  552. package/org-skills/cloud-architect/SKILL.md +2 -2
  553. package/org-skills/cloud-architecture/SKILL.md +2 -2
  554. package/org-skills/cmo-advisor/SKILL.md +2 -2
  555. package/org-skills/co-marketing/SKILL.md +2 -2
  556. package/org-skills/code-documenter/SKILL.md +2 -2
  557. package/org-skills/code-review-swarm/SKILL.md +2 -2
  558. package/org-skills/code-reviewer/SKILL.md +2 -2
  559. package/org-skills/coder/SKILL.md +2 -2
  560. package/org-skills/coding-standards/SKILL.md +2 -2
  561. package/org-skills/cold-email/SKILL.md +2 -2
  562. package/org-skills/collective-coord/SKILL.md +2 -2
  563. package/org-skills/community-marketing/SKILL.md +2 -2
  564. package/org-skills/competitive-landscape/SKILL.md +2 -2
  565. package/org-skills/competitive-platform-analysis/SKILL.md +2 -2
  566. package/org-skills/competitive-report-structure/SKILL.md +2 -2
  567. package/org-skills/competitive-teardown/SKILL.md +2 -2
  568. package/org-skills/competitor-comparison-pages/SKILL.md +2 -2
  569. package/org-skills/compliance-auditor/SKILL.md +2 -2
  570. package/org-skills/consensus-coordinator/SKILL.md +2 -2
  571. package/org-skills/content-creator/SKILL.md +2 -2
  572. package/org-skills/content-engine/SKILL.md +2 -2
  573. package/org-skills/content-strategy/SKILL.md +2 -2
  574. package/org-skills/context-compression/SKILL.md +2 -2
  575. package/org-skills/context-degradation/SKILL.md +2 -2
  576. package/org-skills/context-fundamentals/SKILL.md +2 -2
  577. package/org-skills/context-optimization/SKILL.md +2 -2
  578. package/org-skills/contract-and-proposal-writer/SKILL.md +1 -1
  579. package/org-skills/contract-first/SKILL.md +2 -2
  580. package/org-skills/coo-advisor/SKILL.md +2 -2
  581. package/org-skills/copy-editing/SKILL.md +2 -2
  582. package/org-skills/copywriting/SKILL.md +2 -2
  583. package/org-skills/cost-aware-llm-pipeline/SKILL.md +2 -2
  584. package/org-skills/cost-optimization/SKILL.md +2 -2
  585. package/org-skills/cpp-coding-standards/SKILL.md +2 -2
  586. package/org-skills/cpp-pro/SKILL.md +2 -2
  587. package/org-skills/cro-advisor/SKILL.md +2 -2
  588. package/org-skills/cro-specialist/SKILL.md +2 -2
  589. package/org-skills/csharp-developer/SKILL.md +2 -2
  590. package/org-skills/cto-advisor/SKILL.md +2 -2
  591. package/org-skills/culture-architect/SKILL.md +2 -2
  592. package/org-skills/customer-research/SKILL.md +2 -2
  593. package/org-skills/customs-trade-compliance/SKILL.md +2 -2
  594. package/org-skills/dart-flutter-patterns/SKILL.md +2 -2
  595. package/org-skills/dashboard-builder/SKILL.md +2 -2
  596. package/org-skills/data-consolidator/SKILL.md +2 -2
  597. package/org-skills/data-engineer/SKILL.md +2 -2
  598. package/org-skills/data-quality-frameworks/SKILL.md +2 -2
  599. package/org-skills/data-storytelling/SKILL.md +2 -2
  600. package/org-skills/database-migrations/SKILL.md +2 -2
  601. package/org-skills/database-optimizer/SKILL.md +2 -2
  602. package/org-skills/dbt-transformation-patterns/SKILL.md +2 -2
  603. package/org-skills/deal-strategist/SKILL.md +2 -2
  604. package/org-skills/debugging-wizard/SKILL.md +2 -2
  605. package/org-skills/deep-research/SKILL.md +2 -2
  606. package/org-skills/defender/SKILL.md +2 -2
  607. package/org-skills/dependency-upgrade/SKILL.md +2 -2
  608. package/org-skills/deployment-patterns/SKILL.md +2 -2
  609. package/org-skills/deployment-pipeline-design/SKILL.md +2 -2
  610. package/org-skills/design-system/SKILL.md +2 -2
  611. package/org-skills/design-system-patterns/SKILL.md +2 -2
  612. package/org-skills/devops-automator/SKILL.md +2 -2
  613. package/org-skills/devops-engineer/SKILL.md +2 -2
  614. package/org-skills/discovery-coach/SKILL.md +2 -2
  615. package/org-skills/django-expert/SKILL.md +2 -2
  616. package/org-skills/django-patterns/SKILL.md +2 -2
  617. package/org-skills/docker-patterns/SKILL.md +2 -2
  618. package/org-skills/dotnet-patterns/SKILL.md +2 -2
  619. package/org-skills/e2e-testing/SKILL.md +2 -2
  620. package/org-skills/email-marketing/SKILL.md +2 -2
  621. package/org-skills/email-sequences/SKILL.md +2 -2
  622. package/org-skills/embedded-firmware/SKILL.md +2 -2
  623. package/org-skills/embedded-systems/SKILL.md +2 -2
  624. package/org-skills/employment-contract-templates/SKILL.md +2 -2
  625. package/org-skills/energy-procurement/SKILL.md +2 -2
  626. package/org-skills/error-handling/SKILL.md +2 -2
  627. package/org-skills/event-marketing/SKILL.md +2 -2
  628. package/org-skills/evidence-collector/SKILL.md +2 -2
  629. package/org-skills/experiment-designer/SKILL.md +2 -2
  630. package/org-skills/experiment-tracker/SKILL.md +2 -2
  631. package/org-skills/experimental-design/SKILL.md +2 -2
  632. package/org-skills/fastapi-expert/SKILL.md +2 -2
  633. package/org-skills/fastapi-patterns/SKILL.md +2 -2
  634. package/org-skills/feedback-synthesizer/SKILL.md +2 -2
  635. package/org-skills/finance-tracker/SKILL.md +2 -2
  636. package/org-skills/finishing-a-development-branch/SKILL.md +2 -2
  637. package/org-skills/flutter-expert/SKILL.md +2 -2
  638. package/org-skills/focused-fix/SKILL.md +2 -2
  639. package/org-skills/free-tool-strategy/SKILL.md +2 -2
  640. package/org-skills/frontend-design/SKILL.md +2 -2
  641. package/org-skills/frontend-design-direction/SKILL.md +2 -2
  642. package/org-skills/frontend-developer/SKILL.md +2 -2
  643. package/org-skills/frontend-patterns/SKILL.md +2 -2
  644. package/org-skills/game-audio-engineer/SKILL.md +2 -2
  645. package/org-skills/game-designer/SKILL.md +2 -2
  646. package/org-skills/gdpr-data-handling/SKILL.md +2 -2
  647. package/org-skills/general-counsel-advisor/SKILL.md +2 -2
  648. package/org-skills/git-advanced-workflows/SKILL.md +2 -2
  649. package/org-skills/git-workflow/SKILL.md +2 -2
  650. package/org-skills/golang-patterns/SKILL.md +2 -2
  651. package/org-skills/golang-pro/SKILL.md +2 -2
  652. package/org-skills/harness-engineering/SKILL.md +2 -2
  653. package/org-skills/healthcare-phi-compliance/SKILL.md +2 -2
  654. package/org-skills/hexagonal-architecture/SKILL.md +2 -2
  655. package/org-skills/hierarchical-coord/SKILL.md +2 -2
  656. package/org-skills/huggingface-transformers/SKILL.md +2 -2
  657. package/org-skills/hypothesis-generation/SKILL.md +2 -2
  658. package/org-skills/incident-command-playbook/SKILL.md +2 -2
  659. package/org-skills/incident-commander/SKILL.md +2 -2
  660. package/org-skills/incident-runbook-templates/SKILL.md +2 -2
  661. package/org-skills/influencer-marketing/SKILL.md +2 -2
  662. package/org-skills/infrastructure/SKILL.md +2 -2
  663. package/org-skills/input-validator/SKILL.md +2 -2
  664. package/org-skills/intent-driven-development/SKILL.md +2 -2
  665. package/org-skills/inventory-demand-planning/SKILL.md +2 -2
  666. package/org-skills/investor-materials/SKILL.md +2 -2
  667. package/org-skills/ios-developer/SKILL.md +2 -2
  668. package/org-skills/isms-audit-expert/SKILL.md +2 -2
  669. package/org-skills/issue-tracker/SKILL.md +2 -2
  670. package/org-skills/java-architect/SKILL.md +2 -2
  671. package/org-skills/java-coding-standards/SKILL.md +2 -2
  672. package/org-skills/judge/SKILL.md +2 -2
  673. package/org-skills/kotlin-patterns/SKILL.md +2 -2
  674. package/org-skills/kotlin-specialist/SKILL.md +2 -2
  675. package/org-skills/kpi-dashboard-design/SKILL.md +2 -2
  676. package/org-skills/kubernetes-patterns/SKILL.md +2 -2
  677. package/org-skills/kubernetes-specialist/SKILL.md +2 -2
  678. package/org-skills/laravel-patterns/SKILL.md +2 -2
  679. package/org-skills/launch-strategist/SKILL.md +2 -2
  680. package/org-skills/launch-strategy/SKILL.md +2 -2
  681. package/org-skills/lead-magnets/SKILL.md +2 -2
  682. package/org-skills/legacy-modernizer/SKILL.md +2 -2
  683. package/org-skills/legal-compliance/SKILL.md +2 -2
  684. package/org-skills/level-designer/SKILL.md +2 -2
  685. package/org-skills/llm-cost-optimizer/SKILL.md +2 -2
  686. package/org-skills/llm-evaluation/SKILL.md +2 -2
  687. package/org-skills/llm-project-development/SKILL.md +2 -2
  688. package/org-skills/load-balancer/SKILL.md +2 -2
  689. package/org-skills/logistics-exception-management/SKILL.md +2 -2
  690. package/org-skills/long-horizon-prompting/SKILL.md +2 -2
  691. package/org-skills/make-interfaces-feel-better/SKILL.md +2 -2
  692. package/org-skills/markdown-mermaid-writing/SKILL.md +2 -2
  693. package/org-skills/market-research/SKILL.md +2 -2
  694. package/org-skills/market-research-reports/SKILL.md +2 -2
  695. package/org-skills/market-sizing-analysis/SKILL.md +2 -2
  696. package/org-skills/marketing-attribution/SKILL.md +2 -2
  697. package/org-skills/marketing-campaign/SKILL.md +2 -2
  698. package/org-skills/marketing-council/SKILL.md +2 -2
  699. package/org-skills/marketing-demand-acquisition/SKILL.md +2 -2
  700. package/org-skills/marketing-loops/SKILL.md +2 -2
  701. package/org-skills/marketing-plan/SKILL.md +2 -2
  702. package/org-skills/marketing-psychology/SKILL.md +2 -2
  703. package/org-skills/marketing-strategy-pmm/SKILL.md +2 -2
  704. package/org-skills/markitdown-document-conversion/SKILL.md +2 -2
  705. package/org-skills/mcp-builder/SKILL.md +2 -2
  706. package/org-skills/mcp-server-builder/SKILL.md +2 -2
  707. package/org-skills/mcp-server-patterns/SKILL.md +2 -2
  708. package/org-skills/memory-coordinator/SKILL.md +2 -2
  709. package/org-skills/mesh-coordinator/SKILL.md +2 -2
  710. package/org-skills/ml-developer/SKILL.md +2 -2
  711. package/org-skills/ml-pipeline/SKILL.md +2 -2
  712. package/org-skills/mle-workflow/SKILL.md +2 -2
  713. package/org-skills/mobile-app-builder/SKILL.md +2 -2
  714. package/org-skills/mobile-dev/SKILL.md +2 -2
  715. package/org-skills/model-qa/SKILL.md +2 -2
  716. package/org-skills/monitoring-expert/SKILL.md +2 -2
  717. package/org-skills/monodesign-ui-quality/SKILL.md +2 -2
  718. package/org-skills/monograph-code-navigation/SKILL.md +2 -2
  719. package/org-skills/monolean-minimal-change/SKILL.md +2 -2
  720. package/org-skills/multi-agent-patterns/SKILL.md +2 -2
  721. package/org-skills/mysql-patterns/SKILL.md +2 -2
  722. package/org-skills/narrative-designer/SKILL.md +2 -2
  723. package/org-skills/nextjs-developer/SKILL.md +2 -2
  724. package/org-skills/offer-design/SKILL.md +2 -2
  725. package/org-skills/onboarding-cro/SKILL.md +2 -2
  726. package/org-skills/outbound-strategist/SKILL.md +2 -2
  727. package/org-skills/page-cro/SKILL.md +2 -2
  728. package/org-skills/paid-ads/SKILL.md +2 -2
  729. package/org-skills/pandas-pro/SKILL.md +2 -2
  730. package/org-skills/path-validator/SKILL.md +2 -2
  731. package/org-skills/payment-agent/SKILL.md +2 -2
  732. package/org-skills/pci-compliance/SKILL.md +2 -2
  733. package/org-skills/perf-analyzer/SKILL.md +2 -2
  734. package/org-skills/php-pro/SKILL.md +2 -2
  735. package/org-skills/pipeline-analyst/SKILL.md +2 -2
  736. package/org-skills/planner/SKILL.md +2 -2
  737. package/org-skills/playwright-expert/SKILL.md +2 -2
  738. package/org-skills/postgres-patterns/SKILL.md +2 -2
  739. package/org-skills/postgresql-table-design/SKILL.md +2 -2
  740. package/org-skills/postmortem-writing/SKILL.md +2 -2
  741. package/org-skills/pr-manager/SKILL.md +2 -2
  742. package/org-skills/pricing-strategist/SKILL.md +2 -2
  743. package/org-skills/pricing-strategy/SKILL.md +2 -2
  744. package/org-skills/prisma-patterns/SKILL.md +2 -2
  745. package/org-skills/product-capability/SKILL.md +2 -2
  746. package/org-skills/product-discovery/SKILL.md +2 -2
  747. package/org-skills/product-lens/SKILL.md +2 -2
  748. package/org-skills/product-manager/SKILL.md +2 -2
  749. package/org-skills/product-marketing-context/SKILL.md +2 -2
  750. package/org-skills/production-audit/SKILL.md +2 -2
  751. package/org-skills/production-scheduling/SKILL.md +2 -2
  752. package/org-skills/production-validator/SKILL.md +2 -2
  753. package/org-skills/programmatic-seo/SKILL.md +2 -2
  754. package/org-skills/project-shepherd/SKILL.md +2 -2
  755. package/org-skills/prompt-engineer/SKILL.md +2 -2
  756. package/org-skills/proposal-strategist/SKILL.md +2 -2
  757. package/org-skills/prosecutor/SKILL.md +2 -2
  758. package/org-skills/public-relations/SKILL.md +2 -2
  759. package/org-skills/pymc-bayesian-modeling/SKILL.md +2 -2
  760. package/org-skills/python-patterns/SKILL.md +2 -2
  761. package/org-skills/python-pro/SKILL.md +2 -2
  762. package/org-skills/python-testing/SKILL.md +2 -2
  763. package/org-skills/quality-nonconformance/SKILL.md +2 -2
  764. package/org-skills/queen-coordinator/SKILL.md +2 -2
  765. package/org-skills/quorum-manager/SKILL.md +2 -2
  766. package/org-skills/raft-manager/SKILL.md +2 -2
  767. package/org-skills/rag-architect/SKILL.md +2 -2
  768. package/org-skills/rails-patterns/SKILL.md +2 -2
  769. package/org-skills/react-expert/SKILL.md +2 -2
  770. package/org-skills/react-native-expert/SKILL.md +2 -2
  771. package/org-skills/react-native-patterns/SKILL.md +2 -2
  772. package/org-skills/react-patterns/SKILL.md +2 -2
  773. package/org-skills/react-performance/SKILL.md +2 -2
  774. package/org-skills/react-testing/SKILL.md +2 -2
  775. package/org-skills/reality-checker/SKILL.md +2 -2
  776. package/org-skills/receiving-code-review/SKILL.md +2 -2
  777. package/org-skills/recruitment/SKILL.md +2 -2
  778. package/org-skills/redis-patterns/SKILL.md +2 -2
  779. package/org-skills/referral-programs/SKILL.md +2 -2
  780. package/org-skills/release-manager/SKILL.md +2 -2
  781. package/org-skills/repo-architect/SKILL.md +2 -2
  782. package/org-skills/researcher/SKILL.md +2 -2
  783. package/org-skills/resource-allocator/SKILL.md +2 -2
  784. package/org-skills/responsive-design/SKILL.md +2 -2
  785. package/org-skills/returns-reverse-logistics/SKILL.md +2 -2
  786. package/org-skills/reviewer/SKILL.md +2 -2
  787. package/org-skills/revops/SKILL.md +2 -2
  788. package/org-skills/roadmap-communicator/SKILL.md +2 -2
  789. package/org-skills/rust-engineer/SKILL.md +2 -2
  790. package/org-skills/rust-patterns/SKILL.md +2 -2
  791. package/org-skills/safe-executor/SKILL.md +2 -2
  792. package/org-skills/sales-coach/SKILL.md +2 -2
  793. package/org-skills/sales-enablement/SKILL.md +2 -2
  794. package/org-skills/sales-engineer/SKILL.md +2 -2
  795. package/org-skills/sales-prospecting/SKILL.md +2 -2
  796. package/org-skills/schema-markup/SKILL.md +2 -2
  797. package/org-skills/scientific-brainstorming/SKILL.md +2 -2
  798. package/org-skills/scientific-critical-thinking/SKILL.md +2 -2
  799. package/org-skills/scientific-thinking-literature-review/SKILL.md +2 -2
  800. package/org-skills/scientific-thinking-scholar-evaluation/SKILL.md +2 -2
  801. package/org-skills/scientific-visualization/SKILL.md +2 -2
  802. package/org-skills/scientific-writing/SKILL.md +2 -2
  803. package/org-skills/scout-explorer/SKILL.md +2 -2
  804. package/org-skills/secrets-vault-manager/SKILL.md +2 -2
  805. package/org-skills/secure-code-guardian/SKILL.md +2 -2
  806. package/org-skills/security-architect/SKILL.md +2 -2
  807. package/org-skills/security-auditor/SKILL.md +2 -2
  808. package/org-skills/security-review/SKILL.md +2 -2
  809. package/org-skills/security-reviewer/SKILL.md +2 -2
  810. package/org-skills/senior-data-scientist/SKILL.md +2 -2
  811. package/org-skills/senior-developer/SKILL.md +2 -2
  812. package/org-skills/senior-pm/SKILL.md +2 -2
  813. package/org-skills/senior-pm-playbook/SKILL.md +2 -2
  814. package/org-skills/seo/SKILL.md +2 -2
  815. package/org-skills/seo-audit/SKILL.md +2 -2
  816. package/org-skills/seo-specialist/SKILL.md +2 -2
  817. package/org-skills/shap-model-explainability/SKILL.md +2 -2
  818. package/org-skills/signup-flow-cro/SKILL.md +2 -2
  819. package/org-skills/site-architecture/SKILL.md +2 -2
  820. package/org-skills/sms-marketing/SKILL.md +2 -2
  821. package/org-skills/soc2-compliance/SKILL.md +2 -2
  822. package/org-skills/social-content/SKILL.md +2 -2
  823. package/org-skills/social-media/SKILL.md +2 -2
  824. package/org-skills/social-media-manager/SKILL.md +2 -2
  825. package/org-skills/solidity-engineer/SKILL.md +2 -2
  826. package/org-skills/spark-engineer/SKILL.md +2 -2
  827. package/org-skills/spec-driven-workflow/SKILL.md +2 -2
  828. package/org-skills/springboot-patterns/SKILL.md +2 -2
  829. package/org-skills/sprint-prioritizer/SKILL.md +2 -2
  830. package/org-skills/sql-pro/SKILL.md +2 -2
  831. package/org-skills/sre/SKILL.md +2 -2
  832. package/org-skills/sre-engineer/SKILL.md +2 -2
  833. package/org-skills/startup-financial-modeling/SKILL.md +2 -2
  834. package/org-skills/startup-metrics-framework/SKILL.md +2 -2
  835. package/org-skills/statistical-analysis/SKILL.md +2 -2
  836. package/org-skills/statistical-power/SKILL.md +2 -2
  837. package/org-skills/stride-analysis-patterns/SKILL.md +2 -2
  838. package/org-skills/stripe-integration/SKILL.md +2 -2
  839. package/org-skills/studio-operations/SKILL.md +2 -2
  840. package/org-skills/studio-producer/SKILL.md +2 -2
  841. package/org-skills/support-responder/SKILL.md +2 -2
  842. package/org-skills/swift-expert/SKILL.md +2 -2
  843. package/org-skills/swiftui-patterns/SKILL.md +2 -2
  844. package/org-skills/system-architect/SKILL.md +2 -2
  845. package/org-skills/systematic-debugging/SKILL.md +2 -2
  846. package/org-skills/task-orchestrator/SKILL.md +2 -2
  847. package/org-skills/team-communications/SKILL.md +2 -2
  848. package/org-skills/team-composition-analysis/SKILL.md +2 -2
  849. package/org-skills/technical-artist/SKILL.md +2 -2
  850. package/org-skills/technical-writer/SKILL.md +2 -2
  851. package/org-skills/terraform-engineer/SKILL.md +2 -2
  852. package/org-skills/test-driven-development/SKILL.md +2 -2
  853. package/org-skills/test-master/SKILL.md +2 -2
  854. package/org-skills/tester/SKILL.md +2 -2
  855. package/org-skills/the-fool/SKILL.md +2 -2
  856. package/org-skills/theme-factory/SKILL.md +2 -2
  857. package/org-skills/threat-detection/SKILL.md +2 -2
  858. package/org-skills/threat-mitigation-mapping/SKILL.md +2 -2
  859. package/org-skills/trend-researcher/SKILL.md +2 -2
  860. package/org-skills/trial-director/SKILL.md +2 -2
  861. package/org-skills/typescript-pro/SKILL.md +2 -2
  862. package/org-skills/unity-architect/SKILL.md +2 -2
  863. package/org-skills/using-git-worktrees/SKILL.md +2 -2
  864. package/org-skills/ux-researcher-designer/SKILL.md +2 -2
  865. package/org-skills/verification-before-completion/SKILL.md +2 -2
  866. package/org-skills/visionos-engineer/SKILL.md +2 -2
  867. package/org-skills/visual-design-foundations/SKILL.md +2 -2
  868. package/org-skills/vue-expert/SKILL.md +2 -2
  869. package/org-skills/vue-patterns/SKILL.md +2 -2
  870. package/org-skills/worker-specialist/SKILL.md +2 -2
  871. package/org-skills/workflow-architect/SKILL.md +2 -2
  872. package/org-skills/workflow-automation/SKILL.md +2 -2
  873. package/org-skills/writing-plans/SKILL.md +2 -2
  874. package/org-skills/zk-steward/SKILL.md +2 -2
  875. package/package.json +7 -7
  876. package/.claude/helpers/skill-registry.json +0 -5997
  877. package/dist/src/routing/jev-step.d.ts +0 -17
  878. package/dist/src/routing/jev-step.d.ts.map +0 -1
  879. package/dist/src/routing/jev-step.js +0 -27
  880. package/dist/src/routing/jev-step.js.map +0 -1
  881. package/org-skills/accessibility/LICENSE.txt +0 -21
  882. package/org-skills/accessibility/SKILL.md +0 -149
  883. package/org-skills/database-migration/LICENSE.txt +0 -21
  884. package/org-skills/database-migration/SKILL.md +0 -337
  885. package/org-skills/database-migration/references/details.md +0 -76
  886. package/org-skills/error-handling-patterns/LICENSE.txt +0 -21
  887. package/org-skills/error-handling-patterns/SKILL.md +0 -126
  888. package/org-skills/error-handling-patterns/references/details.md +0 -516
  889. package/org-skills/internal-comms/LICENSE.txt +0 -202
  890. package/org-skills/internal-comms/SKILL.md +0 -36
  891. package/org-skills/internal-comms/examples/3p-updates.md +0 -47
  892. package/org-skills/internal-comms/examples/company-newsletter.md +0 -65
  893. package/org-skills/internal-comms/examples/faq-answers.md +0 -30
  894. package/org-skills/internal-comms/examples/general-comms.md +0 -16
@@ -0,0 +1,463 @@
1
+ 'use strict';
2
+ // Agent/skill pick delivery, route records and pick adherence.
3
+ //
4
+ // Used by route-handler.cjs (UserPromptSubmit: decide + [PICK] line + route
5
+ // record), hook-handler.cjs 'pre-agent' (PreToolUse Task|Agent: adherence),
6
+ // capture/session handlers (outcome joins) and session-restore-handler.cjs
7
+ // (skill-registry refresh). Agents come only from .monomind/registry.json via
8
+ // jev-picker.cjs: a pick names the agent's frontmatter `name`, which is the
9
+ // value Claude Code's Task tool accepts as subagent_type.
10
+
11
+ const path = require('path');
12
+ const fs = require('fs');
13
+ const crypto = require('crypto');
14
+ const fsHelpers = require('../utils/fs-helpers.cjs');
15
+
16
+ var redaction = null;
17
+ try { redaction = require('../redact-secrets.cjs'); } catch (e) { /* preview falls back to no redaction of the cut text */ }
18
+ var pickStats = null;
19
+ try { pickStats = require('../pick-stats.cjs'); } catch (e) { /* no outcome prior: keyword order stands */ }
20
+ var pickRank = null;
21
+ try { pickRank = require('../pick-rank.cjs'); } catch (e) { /* no trivial-prompt check */ }
22
+
23
+ // A keyword pick needs this score (pick-rank.cjs: idf-weighted BM25 times the
24
+ // share of task words matched) AND a lead of KEYWORD_AGENT_LEAD over the
25
+ // runner-up. Ties and weak overlap print nothing: a wrong pick in Claude's
26
+ // context costs more than none. Tuned on the 40-task pick benchmark: 25/40
27
+ // shown, 23 of them correct.
28
+ var KEYWORD_MIN_AGENT_SCORE = 2;
29
+ var KEYWORD_AGENT_LEAD = 1.5;
30
+ // A keyword skill pick (pick-rank.cjs over the shared skill catalog) needs
31
+ // this score AND a KEYWORD_SKILL_LEAD lead over the runner-up. Calibrated on
32
+ // tests/pick-eval (59 tasks, 514 skills): 34 shown, 31 of them correct (91%).
33
+ var KEYWORD_MIN_SKILL_SCORE = 3;
34
+ var KEYWORD_SKILL_LEAD = 1.25;
35
+ var MAX_CANDIDATES = 5;
36
+ var PREVIEW_CHARS = 120;
37
+ // A prompt with fewer content words ("hi", "thanks", "ok, go ahead") is a
38
+ // reply, not a task: no pick, and the session keeps its earlier route.
39
+ var MIN_PICK_TOKENS = 3;
40
+ var MAX_OUTCOMES_BYTES = 512 * 1024;
41
+ var KEEP_OUTCOMES = 500;
42
+ var MAX_JOIN_BYTES = 2 * 1024 * 1024;
43
+ var MAX_ROUTE_FILE_BYTES = 64 * 1024;
44
+ var ROUTE_FILE_TTL_MS = 7 * 24 * 3600 * 1000;
45
+ // route-outcomes.jsonl is shared by every session of the project: appends,
46
+ // joins and rotation all run under one lock file so a rewrite never drops a
47
+ // line another session appended meanwhile. Held for milliseconds; a lock
48
+ // older than LOCK_STALE_MS belongs to a dead process and is broken.
49
+ var LOCK_WAIT_MS = 1000;
50
+ var LOCK_STALE_MS = 10000;
51
+
52
+ /** Prompts Claude Code (not the user) submits: notifications, reminder-only
53
+ * turns, slash-command expansions and local-command output. */
54
+ function isSystemPrompt(prompt) {
55
+ if (typeof prompt !== 'string') return true;
56
+ var s = prompt.trim();
57
+ if (!s) return true;
58
+ if (/<task-notification>/i.test(s)) return true;
59
+ if (/<(command-name|command-message|command-args|local-command-stdout|local-command-stderr)>/i.test(s)) return true;
60
+ if (/^Caveat: The messages below were generated by the user while running local commands/i.test(s)) return true;
61
+ return s.replace(/<system-reminder>[\s\S]*?<\/system-reminder>/gi, '').trim() === '';
62
+ }
63
+
64
+ /** True for a prompt with fewer than MIN_PICK_TOKENS content words
65
+ * (pick-rank queryTokens: stopwords and words the prompt rules out dropped,
66
+ * any script), so "anything else pending rather than release" is a reply. */
67
+ function isTrivialPrompt(prompt) {
68
+ if (!pickRank || typeof prompt !== 'string') return false;
69
+ var text = prompt.replace(/<system-reminder>[\s\S]*?<\/system-reminder>/gi, ' ').slice(0, 2000);
70
+ return pickRank.queryTokens(text).length < MIN_PICK_TOKENS;
71
+ }
72
+
73
+ function promptHash(prompt) {
74
+ return crypto.createHash('sha256').update(String(prompt || '')).digest('hex').slice(0, 16);
75
+ }
76
+
77
+ /** First 120 chars, secrets masked BEFORE the cut so a straddling key is whole when matched. */
78
+ function promptPreview(prompt) {
79
+ var head = String(prompt || '').slice(0, 2000);
80
+ if (redaction) head = redaction.redactHead(head);
81
+ return head.replace(/\s+/g, ' ').trim().slice(0, PREVIEW_CHARS);
82
+ }
83
+
84
+ function normName(name) {
85
+ return String(name || '').toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
86
+ }
87
+
88
+ /** Registry agents ranked by the jev-picker keyword ranker (keywordRank when it
89
+ * exists, else shortlist), re-ordered by the outcome prior from `stats`
90
+ * (pick-stats.cjs; each candidate then carries baseScore and prior). Same-name
91
+ * duplicates collapse; at most 5 return. */
92
+ function rankAgents(jp, prompt, agents, stats) {
93
+ if (!jp || !Array.isArray(agents) || agents.length === 0) return [];
94
+ var ranked = null;
95
+ try {
96
+ ranked = typeof jp.keywordRank === 'function'
97
+ ? jp.keywordRank(prompt, agents, 25)
98
+ : jp.shortlist(prompt, agents, 25);
99
+ } catch (e) { return []; }
100
+ if (!Array.isArray(ranked)) return [];
101
+ if (stats && pickStats) ranked = pickStats.applyPriors(ranked, stats);
102
+ var byId = {};
103
+ agents.forEach(function (a) { byId[a.id] = a; });
104
+ var out = [];
105
+ var seen = new Set();
106
+ for (var i = 0; i < ranked.length && out.length < MAX_CANDIDATES; i++) {
107
+ var r = ranked[i];
108
+ var item = r && byId[r.id];
109
+ if (!item || !Number.isFinite(r.score)) continue;
110
+ var key = normName(item.name);
111
+ if (seen.has(key)) continue;
112
+ seen.add(key);
113
+ var cand = { id: item.id, name: item.name, score: r.score };
114
+ if (r.prior !== undefined) { cand.baseScore = r.baseScore; cand.prior = r.prior; }
115
+ out.push(cand);
116
+ }
117
+ return out;
118
+ }
119
+
120
+ /** Skills of the shared catalog (jev-picker loadSkillCatalog: platform and
121
+ * Org skills) ranked by pick-rank's shortlist, which honours `pick: low`;
122
+ * zero-overlap entries dropped, at most 5. */
123
+ function rankSkills(jp, prompt, skills) {
124
+ if (!jp || typeof jp.shortlist !== 'function' || !Array.isArray(skills) || skills.length === 0) return [];
125
+ var ranked;
126
+ try { ranked = jp.shortlist(prompt, skills, MAX_CANDIDATES); } catch (e) { return []; }
127
+ return (Array.isArray(ranked) ? ranked : [])
128
+ .filter(function (s) { return s && Number.isFinite(s.score) && s.score > 0; })
129
+ .map(function (s) {
130
+ return { skill: s.id, invoke: s.invoke || s.id, description: s.description || '', score: s.score, source: s.source };
131
+ });
132
+ }
133
+
134
+ /** The top entry when it clears `min` and leads the runner-up by `ratio`. The
135
+ * floor is on keyword relevance alone (baseScore when a prior re-ranked). */
136
+ function leads(list, min, ratio) {
137
+ var top = list && list[0];
138
+ if (!top || !((top.baseScore !== undefined ? top.baseScore : top.score) >= min)) return null;
139
+ var second = list[1];
140
+ if (!second || !(second.score > 0)) return top;
141
+ return top.score >= second.score * (ratio || 1) && top.score > second.score ? top : null;
142
+ }
143
+
144
+ /**
145
+ * The prompt's pick. A Jev agent answer (already past acceptAgent) wins, else a
146
+ * strong keyword agent; a confident Jev skill answer (including "none fits")
147
+ * wins, else a strong keyword skill. Agent ids are resolved to registry names.
148
+ */
149
+ function decide(opts) {
150
+ var agents = opts.agents || [];
151
+ var jev = opts.jev || null;
152
+ var byId = {};
153
+ agents.forEach(function (a) { byId[a.id] = a; });
154
+ var out = { agent: null, skill: null, method: 'none', provider: null, confidence: null, candidates: [] };
155
+ var viaJev = false;
156
+ var viaKeyword = false;
157
+
158
+ if (jev && jev.agent && byId[jev.agent]) {
159
+ out.agent = { id: jev.agent, name: byId[jev.agent].name };
160
+ out.confidence = jev.agentConfidence;
161
+ viaJev = true;
162
+ } else {
163
+ var kw = leads(opts.keywordCands, KEYWORD_MIN_AGENT_SCORE, KEYWORD_AGENT_LEAD);
164
+ if (kw) { out.agent = { id: kw.id, name: kw.name }; viaKeyword = true; }
165
+ }
166
+
167
+ if (jev && jev.skillAnswered) {
168
+ var js = (jev.skills || [])[0];
169
+ if (js) out.skill = { skill: js.id, invoke: js.invoke };
170
+ viaJev = true;
171
+ } else {
172
+ var ks = leads(opts.skillMatches, KEYWORD_MIN_SKILL_SCORE, KEYWORD_SKILL_LEAD);
173
+ if (ks) { out.skill = { skill: ks.skill, invoke: ks.invoke }; viaKeyword = true; }
174
+ }
175
+
176
+ if (jev && Array.isArray(jev.agentRanked) && jev.agentRanked.length > 0) {
177
+ out.candidates = jev.agentRanked.filter(function (r) { return byId[r.id]; }).slice(0, MAX_CANDIDATES)
178
+ .map(function (r) { return { name: byId[r.id].name, score: r.probability }; });
179
+ } else {
180
+ out.candidates = (opts.keywordCands || []).slice(0, MAX_CANDIDATES)
181
+ .map(function (c) { return c.prior !== undefined && c.prior !== 1 ? { name: c.name, score: c.score, prior: c.prior } : { name: c.name, score: c.score }; });
182
+ }
183
+ if (viaJev) { out.method = 'jev'; out.provider = jev.provider || null; }
184
+ else if (viaKeyword) out.method = 'keyword';
185
+ return out;
186
+ }
187
+
188
+ /** The one line Claude sees: `[PICK] agent: <name> · skill: <invoke>`, '' when nothing is confident. */
189
+ function formatPickLine(pick) {
190
+ var parts = [];
191
+ if (pick && pick.agent) parts.push('agent: ' + pick.agent.name);
192
+ if (pick && pick.skill) parts.push('skill: ' + pick.skill.invoke);
193
+ return parts.length ? '[PICK] ' + parts.join(' · ') : '';
194
+ }
195
+
196
+ // ── Route records ───────────────────────────────────────────────────────────
197
+
198
+ function safeSessionId(sid) {
199
+ var s = String(sid || '').replace(/[^A-Za-z0-9_-]/g, '').slice(0, 128);
200
+ return s || null;
201
+ }
202
+
203
+ function monoDir(CWD) { return path.join(CWD, '.monomind'); }
204
+ function routeFile(CWD, sid) { return path.join(monoDir(CWD), 'routes', sid + '.json'); }
205
+
206
+ function atomicWrite(file, text) {
207
+ fs.mkdirSync(path.dirname(file), { recursive: true });
208
+ var tmp = file + '.' + process.pid + '.' + Date.now() + '.tmp';
209
+ fs.writeFileSync(tmp, text, 'utf-8');
210
+ fs.renameSync(tmp, file);
211
+ }
212
+
213
+ function readJson(file, maxBytes) {
214
+ try {
215
+ if (fs.statSync(file).size > maxBytes) return null;
216
+ return JSON.parse(fs.readFileSync(file, 'utf-8'));
217
+ } catch (e) { return null; }
218
+ }
219
+
220
+ function pruneRouteFiles(dir) {
221
+ try {
222
+ var names = fs.readdirSync(dir);
223
+ if (names.length <= 50) return;
224
+ var cutoff = Date.now() - ROUTE_FILE_TTL_MS;
225
+ names.slice(0, 500).forEach(function (n) {
226
+ var f = path.join(dir, n);
227
+ try { if (fs.statSync(f).mtimeMs < cutoff) fs.unlinkSync(f); } catch (e) { /* raced */ }
228
+ });
229
+ } catch (e) { /* best effort */ }
230
+ }
231
+
232
+ function outcomesFile(CWD) { return path.join(monoDir(CWD), 'route-outcomes.jsonl'); }
233
+
234
+ /** Run `fn(locked)` holding route-outcomes.jsonl.lock, waiting up to
235
+ * LOCK_WAIT_MS. `locked` is false when the wait ran out: the caller decides
236
+ * whether its work is safe without the lock. */
237
+ function withOutcomesLock(CWD, fn) {
238
+ var lock = outcomesFile(CWD) + '.lock';
239
+ var deadline = Date.now() + LOCK_WAIT_MS;
240
+ var locked = fsHelpers.claimLock(lock, LOCK_STALE_MS, 3);
241
+ while (!locked && Date.now() < deadline) {
242
+ fsHelpers.sleepSync(2 + Math.floor(Math.random() * 4));
243
+ locked = fsHelpers.claimLock(lock, LOCK_STALE_MS, 3);
244
+ }
245
+ try {
246
+ return fn(locked);
247
+ } finally {
248
+ if (locked) fsHelpers.releaseLock(lock);
249
+ }
250
+ }
251
+
252
+ /** Append one record; past MAX_OUTCOMES_BYTES keep the newest KEEP_OUTCOMES
253
+ * lines, at most half the byte cap. Both under the lock; an append that could
254
+ * not get it still lands (O_APPEND), rotation then waits for the next one. */
255
+ function appendOutcome(CWD, rec) {
256
+ var file = outcomesFile(CWD);
257
+ withOutcomesLock(CWD, function (locked) {
258
+ fs.appendFileSync(file, JSON.stringify(rec) + '\n', 'utf-8');
259
+ if (!locked) return;
260
+ try {
261
+ if (fs.statSync(file).size <= MAX_OUTCOMES_BYTES) return;
262
+ var lines = fs.readFileSync(file, 'utf-8').split('\n').filter(Boolean).slice(-KEEP_OUTCOMES);
263
+ var bytes = 0;
264
+ var from = lines.length;
265
+ while (from > 0 && bytes + Buffer.byteLength(lines[from - 1]) + 1 <= MAX_OUTCOMES_BYTES / 2) {
266
+ bytes += Buffer.byteLength(lines[--from]) + 1;
267
+ }
268
+ atomicWrite(file, lines.slice(from).join('\n') + '\n');
269
+ } catch (e) { /* rotation is best effort */ }
270
+ });
271
+ }
272
+
273
+ /** Record the pick: route-outcomes.jsonl line, per-session route file and the
274
+ * latest-route file the statusline reads. Returns the routeId. */
275
+ function persistRoute(CWD, opts) {
276
+ var pick = opts.pick;
277
+ var sid = safeSessionId(opts.sessionId);
278
+ var routeId = typeof crypto.randomUUID === 'function'
279
+ ? crypto.randomUUID()
280
+ : 'route-' + Date.now() + '-' + Math.random().toString(36).slice(2, 8);
281
+ var preview = promptPreview(opts.prompt);
282
+ var agentName = pick.agent ? pick.agent.name : null;
283
+ fs.mkdirSync(monoDir(CWD), { recursive: true });
284
+ appendOutcome(CWD, {
285
+ routeId: routeId,
286
+ sessionId: sid,
287
+ ts: Date.now(),
288
+ promptHash: promptHash(opts.prompt),
289
+ promptPreview: preview,
290
+ agentName: agentName,
291
+ agentId: pick.agent ? pick.agent.id : null,
292
+ skill: pick.skill ? pick.skill.invoke : null,
293
+ method: pick.method,
294
+ provider: pick.provider,
295
+ confidence: pick.confidence,
296
+ candidates: pick.candidates,
297
+ shown: !!opts.shown,
298
+ // Field names route-outcomes.ts (doctor accuracy/adherence) reads.
299
+ task: preview,
300
+ recommendedAgent: agentName,
301
+ routingMethod: pick.method,
302
+ learningMode: 'js',
303
+ });
304
+ var route = JSON.stringify({
305
+ routeId: routeId,
306
+ sessionId: sid,
307
+ agent: agentName,
308
+ name: agentName,
309
+ agentSlug: pick.agent ? pick.agent.id : null,
310
+ skill: pick.skill ? pick.skill.invoke : null,
311
+ confidence: pick.confidence,
312
+ reason: pick.method === 'none' ? 'no confident pick' : pick.method + (pick.provider ? ' (' + pick.provider + ')' : ''),
313
+ prompt: preview,
314
+ updatedAt: new Date().toISOString(),
315
+ });
316
+ if (sid) {
317
+ atomicWrite(routeFile(CWD, sid), route);
318
+ pruneRouteFiles(path.join(monoDir(CWD), 'routes'));
319
+ }
320
+ atomicWrite(path.join(monoDir(CWD), 'last-route.json'), route);
321
+ return routeId;
322
+ }
323
+
324
+ /** A slash command's route: no agent recommendation (the command is the
325
+ * skill) and no routeId, so it never counts as a pick to follow. It replaces
326
+ * the session's route so spawns the command makes are not scored against an
327
+ * earlier prompt's pick. */
328
+ function persistCommandRoute(CWD, opts) {
329
+ var sid = safeSessionId(opts.sessionId);
330
+ var route = JSON.stringify({
331
+ sessionId: sid,
332
+ agent: null,
333
+ name: null,
334
+ skill: String(opts.command || '').slice(0, 200) || null,
335
+ confidence: 1.0,
336
+ reason: 'predefined command — no routing needed',
337
+ updatedAt: new Date().toISOString(),
338
+ });
339
+ if (sid) atomicWrite(routeFile(CWD, sid), route);
340
+ atomicWrite(path.join(monoDir(CWD), 'last-route.json'), route);
341
+ }
342
+
343
+ /** The session's latest route: its own route file, else the shared
344
+ * last-route.json when that names this session. Never another session's
345
+ * route, nor one that names no session. */
346
+ function readSessionRoute(CWD, sessionId) {
347
+ var sid = safeSessionId(sessionId);
348
+ if (!sid) return null;
349
+ var own = readJson(routeFile(CWD, sid), MAX_ROUTE_FILE_BYTES);
350
+ if (own) return own;
351
+ var last = readJson(path.join(monoDir(CWD), 'last-route.json'), MAX_ROUTE_FILE_BYTES);
352
+ return last && last.sessionId === sid ? last : null;
353
+ }
354
+
355
+ /** Merge `patch` into the last route-outcomes record with `routeId`, never
356
+ * overwriting a field that is already set. Returns true when a record changed. */
357
+ function joinOutcome(CWD, routeId, patch) {
358
+ if (!routeId) return false;
359
+ var file = outcomesFile(CWD);
360
+ // Without the lock a rewrite could drop a concurrent append: skip the join.
361
+ return withOutcomesLock(CWD, function (locked) {
362
+ if (!locked) return false;
363
+ try {
364
+ if (fs.statSync(file).size > MAX_JOIN_BYTES) return false;
365
+ var lines = fs.readFileSync(file, 'utf-8').split('\n').filter(Boolean);
366
+ for (var i = lines.length - 1; i >= 0; i--) {
367
+ var rec;
368
+ try { rec = JSON.parse(lines[i]); } catch (e) { continue; }
369
+ if (rec.routeId !== routeId) continue;
370
+ var changed = false;
371
+ Object.keys(patch).forEach(function (k) {
372
+ if (patch[k] !== undefined && patch[k] !== null && rec[k] === undefined) { rec[k] = patch[k]; changed = true; }
373
+ });
374
+ if (!changed) return false;
375
+ lines[i] = JSON.stringify(rec);
376
+ atomicWrite(file, lines.join('\n') + '\n');
377
+ return true;
378
+ }
379
+ } catch (e) { /* no outcomes yet */ }
380
+ return false;
381
+ });
382
+ }
383
+
384
+ /** PreToolUse Task|Agent: did the spawn follow this session's latest pick? */
385
+ function recordAdherence(CWD, hookInput) {
386
+ var toolInput = (hookInput && (hookInput.tool_input || hookInput.toolInput)) || {};
387
+ var sid = safeSessionId(hookInput && (hookInput.session_id || hookInput.sessionId));
388
+ var actual = typeof toolInput.subagent_type === 'string' && toolInput.subagent_type ? toolInput.subagent_type.slice(0, 128) : null;
389
+ var route = readSessionRoute(CWD, sid);
390
+ // Only a recorded pick (routeId) that named an agent is a recommendation.
391
+ if (route && !route.routeId) route = null;
392
+ var recommended = route && route.agent ? route.agent : null;
393
+ var recommendedId = recommended && route.agentSlug ? route.agentSlug : null;
394
+ var rec = {
395
+ ts: Date.now(),
396
+ routeId: route && route.routeId ? route.routeId : null,
397
+ sessionId: sid,
398
+ tool: (hookInput && (hookInput.tool_name || hookInput.toolName)) || null,
399
+ recommended: recommended,
400
+ recommendedId: recommendedId,
401
+ actual: actual,
402
+ followed: recommended ? !!actual && (actual === recommended || actual === recommendedId) : null,
403
+ };
404
+ fs.mkdirSync(monoDir(CWD), { recursive: true });
405
+ require('../utils/fs-helpers.cjs').appendJsonlWithRotation(
406
+ path.join(monoDir(CWD), 'pick-adherence.jsonl'), JSON.stringify(rec), 1000);
407
+ if (rec.routeId && actual) joinOutcome(CWD, rec.routeId, { agentActuallyUsed: actual });
408
+ return rec;
409
+ }
410
+
411
+ // ── SessionStart: keep skill-registry.json in step with its sources ────────
412
+
413
+ /** Rebuild .claude/helpers/skill-registry.json when build-skill-registry.cjs
414
+ * says it is stale (missing, or older than any of its sources: skills,
415
+ * commands, org skills, the catalog state). Returns what it did. */
416
+ function ensureSkillRegistryFresh(root, builder) {
417
+ if (builder === undefined) {
418
+ try { builder = require('../build-skill-registry.cjs'); } catch (e) { builder = null; }
419
+ }
420
+ if (!builder || typeof builder.isStale !== 'function' || typeof builder.ensure !== 'function') return 'no-builder';
421
+ if (!builder.isStale(root)) return 'fresh';
422
+ builder.ensure(root);
423
+ return 'rebuilt';
424
+ }
425
+
426
+ /** Rebuild .monomind/registry.json when agent-registry.cjs says it is stale
427
+ * (missing, or older than an agent in .claude/agents, ~/.claude/agents or an
428
+ * extra root), so a new user agent is routed from the next session on. Only
429
+ * inside a project (findProjectRoot: never the home directory, never a
430
+ * folder without .monomind or .claude/agents). opts.home overrides the home
431
+ * directory. Returns what it did. */
432
+ function ensureAgentRegistryFresh(root, builder, opts) {
433
+ if (builder === undefined) {
434
+ try { builder = require('../agent-registry.cjs'); } catch (e) { builder = null; }
435
+ }
436
+ if (!builder || typeof builder.isStale !== 'function' || typeof builder.ensure !== 'function') return 'no-builder';
437
+ if (builder.findProjectRoot(root, opts && opts.home) !== path.resolve(root)) return 'not-a-project';
438
+ if (!builder.isStale(root, opts)) return 'fresh';
439
+ return builder.ensure(root, opts) ? 'rebuilt' : 'failed';
440
+ }
441
+
442
+ module.exports = {
443
+ KEYWORD_MIN_AGENT_SCORE: KEYWORD_MIN_AGENT_SCORE,
444
+ KEYWORD_AGENT_LEAD: KEYWORD_AGENT_LEAD,
445
+ KEYWORD_MIN_SKILL_SCORE: KEYWORD_MIN_SKILL_SCORE,
446
+ KEYWORD_SKILL_LEAD: KEYWORD_SKILL_LEAD,
447
+ isSystemPrompt: isSystemPrompt,
448
+ isTrivialPrompt: isTrivialPrompt,
449
+ promptHash: promptHash,
450
+ promptPreview: promptPreview,
451
+ rankAgents: rankAgents,
452
+ rankSkills: rankSkills,
453
+ decide: decide,
454
+ formatPickLine: formatPickLine,
455
+ safeSessionId: safeSessionId,
456
+ persistRoute: persistRoute,
457
+ persistCommandRoute: persistCommandRoute,
458
+ readSessionRoute: readSessionRoute,
459
+ joinOutcome: joinOutcome,
460
+ recordAdherence: recordAdherence,
461
+ ensureSkillRegistryFresh: ensureSkillRegistryFresh,
462
+ ensureAgentRegistryFresh: ensureAgentRegistryFresh,
463
+ };