monomind 1.16.6 → 1.16.8

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 (560) hide show
  1. package/package.json +3 -1
  2. package/packages/@monomind/cli/.claude/agents/architecture/system-design/arch-system-design.md +54 -0
  3. package/packages/@monomind/cli/.claude/agents/consensus/crdt-synchronizer.md +977 -0
  4. package/packages/@monomind/cli/.claude/agents/consensus/quorum-manager.md +803 -0
  5. package/packages/@monomind/cli/.claude/agents/consensus/security-manager.md +602 -0
  6. package/packages/@monomind/cli/.claude/agents/core/coder.md +262 -0
  7. package/packages/@monomind/cli/.claude/agents/core/coordinator.md +71 -0
  8. package/packages/@monomind/cli/.claude/agents/core/planner.md +170 -0
  9. package/packages/@monomind/cli/.claude/agents/core/researcher.md +192 -0
  10. package/packages/@monomind/cli/.claude/agents/core/reviewer.md +327 -0
  11. package/packages/@monomind/cli/.claude/agents/core/tester.md +318 -0
  12. package/packages/@monomind/cli/.claude/agents/design/design-monodesign.md +121 -0
  13. package/packages/@monomind/cli/.claude/agents/engineering/engineering-ai-data-remediation-engineer.md +212 -0
  14. package/packages/@monomind/cli/.claude/agents/engineering/engineering-ai-engineer.md +165 -0
  15. package/packages/@monomind/cli/.claude/agents/engineering/engineering-autonomous-optimization-architect.md +108 -0
  16. package/packages/@monomind/cli/.claude/agents/engineering/engineering-backend-architect.md +254 -0
  17. package/packages/@monomind/cli/.claude/agents/engineering/engineering-code-reviewer.md +95 -0
  18. package/packages/@monomind/cli/.claude/agents/engineering/engineering-data-engineer.md +307 -0
  19. package/packages/@monomind/cli/.claude/agents/engineering/engineering-database-optimizer.md +200 -0
  20. package/packages/@monomind/cli/.claude/agents/engineering/engineering-devops-automator.md +430 -0
  21. package/packages/@monomind/cli/.claude/agents/engineering/engineering-embedded-firmware-engineer.md +174 -0
  22. package/packages/@monomind/cli/.claude/agents/engineering/engineering-feishu-integration-developer.md +607 -0
  23. package/packages/@monomind/cli/.claude/agents/engineering/engineering-frontend-developer.md +249 -0
  24. package/packages/@monomind/cli/.claude/agents/engineering/engineering-git-workflow-master.md +108 -0
  25. package/packages/@monomind/cli/.claude/agents/engineering/engineering-incident-response-commander.md +482 -0
  26. package/packages/@monomind/cli/.claude/agents/engineering/engineering-mobile-app-builder.md +499 -0
  27. package/packages/@monomind/cli/.claude/agents/engineering/engineering-rapid-prototyper.md +463 -0
  28. package/packages/@monomind/cli/.claude/agents/engineering/engineering-security-engineer.md +303 -0
  29. package/packages/@monomind/cli/.claude/agents/engineering/engineering-senior-developer.md +195 -0
  30. package/packages/@monomind/cli/.claude/agents/engineering/engineering-software-architect.md +100 -0
  31. package/packages/@monomind/cli/.claude/agents/engineering/engineering-solidity-smart-contract-engineer.md +528 -0
  32. package/packages/@monomind/cli/.claude/agents/engineering/engineering-sre.md +114 -0
  33. package/packages/@monomind/cli/.claude/agents/engineering/engineering-technical-writer.md +412 -0
  34. package/packages/@monomind/cli/.claude/agents/engineering/engineering-threat-detection-engineer.md +540 -0
  35. package/packages/@monomind/cli/.claude/agents/engineering/engineering-wechat-mini-program-developer.md +351 -0
  36. package/packages/@monomind/cli/.claude/agents/generated/case-analyst.md +50 -0
  37. package/packages/@monomind/cli/.claude/agents/generated/channel-intelligence-director.md +87 -0
  38. package/packages/@monomind/cli/.claude/agents/generated/chief-growth-officer.md +88 -0
  39. package/packages/@monomind/cli/.claude/agents/generated/churn-analyst.md +53 -0
  40. package/packages/@monomind/cli/.claude/agents/generated/code-reviewer.md +55 -0
  41. package/packages/@monomind/cli/.claude/agents/generated/code-validator.md +57 -0
  42. package/packages/@monomind/cli/.claude/agents/generated/complexity-scanner.md +56 -0
  43. package/packages/@monomind/cli/.claude/agents/generated/content-seo-strategist.md +90 -0
  44. package/packages/@monomind/cli/.claude/agents/generated/copy-editor.md +45 -0
  45. package/packages/@monomind/cli/.claude/agents/generated/court-reporter.md +50 -0
  46. package/packages/@monomind/cli/.claude/agents/generated/defender.md +51 -0
  47. package/packages/@monomind/cli/.claude/agents/generated/devbot-orchestrator.md +58 -0
  48. package/packages/@monomind/cli/.claude/agents/generated/devbot-planner.md +63 -0
  49. package/packages/@monomind/cli/.claude/agents/generated/developer-community-strategist.md +91 -0
  50. package/packages/@monomind/cli/.claude/agents/generated/editor-in-chief.md +45 -0
  51. package/packages/@monomind/cli/.claude/agents/generated/fact-checker.md +45 -0
  52. package/packages/@monomind/cli/.claude/agents/generated/impact-assessor.md +54 -0
  53. package/packages/@monomind/cli/.claude/agents/generated/judge.md +51 -0
  54. package/packages/@monomind/cli/.claude/agents/generated/outreach-partnership-strategist.md +90 -0
  55. package/packages/@monomind/cli/.claude/agents/generated/prosecutor.md +51 -0
  56. package/packages/@monomind/cli/.claude/agents/generated/reporter.md +45 -0
  57. package/packages/@monomind/cli/.claude/agents/generated/social-media-strategist.md +91 -0
  58. package/packages/@monomind/cli/.claude/agents/generated/video-visual-strategist.md +90 -0
  59. package/packages/@monomind/cli/.claude/agents/github/code-review-swarm.md +557 -0
  60. package/packages/@monomind/cli/.claude/agents/github/github-modes.md +154 -0
  61. package/packages/@monomind/cli/.claude/agents/github/issue-tracker.md +299 -0
  62. package/packages/@monomind/cli/.claude/agents/github/multi-repo-swarm.md +525 -0
  63. package/packages/@monomind/cli/.claude/agents/github/pr-manager.md +163 -0
  64. package/packages/@monomind/cli/.claude/agents/github/project-board-sync.md +478 -0
  65. package/packages/@monomind/cli/.claude/agents/github/release-manager.md +296 -0
  66. package/packages/@monomind/cli/.claude/agents/github/repo-architect.md +359 -0
  67. package/packages/@monomind/cli/.claude/agents/github/swarm-issue.md +548 -0
  68. package/packages/@monomind/cli/.claude/agents/github/swarm-pr.md +427 -0
  69. package/packages/@monomind/cli/.claude/agents/github/sync-coordinator.md +355 -0
  70. package/packages/@monomind/cli/.claude/agents/github/workflow-automation.md +640 -0
  71. package/packages/@monomind/cli/.claude/agents/goal/goal-planner.md +168 -0
  72. package/packages/@monomind/cli/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -0
  73. package/packages/@monomind/cli/.claude/agents/hive-mind/queen-coordinator.md +202 -0
  74. package/packages/@monomind/cli/.claude/agents/hive-mind/scout-explorer.md +241 -0
  75. package/packages/@monomind/cli/.claude/agents/hive-mind/swarm-memory-manager.md +192 -0
  76. package/packages/@monomind/cli/.claude/agents/hive-mind/worker-specialist.md +216 -0
  77. package/packages/@monomind/cli/.claude/agents/marketing/marketing-competitive-content.md +155 -0
  78. package/packages/@monomind/cli/.claude/agents/marketing/marketing-cro-specialist.md +147 -0
  79. package/packages/@monomind/cli/.claude/agents/marketing/marketing-email-specialist.md +90 -0
  80. package/packages/@monomind/cli/.claude/agents/marketing/marketing-launch-strategist.md +129 -0
  81. package/packages/@monomind/cli/.claude/agents/marketing/marketing-pricing-strategist.md +127 -0
  82. package/packages/@monomind/cli/.claude/agents/optimization/benchmark-suite.md +665 -0
  83. package/packages/@monomind/cli/.claude/agents/optimization/load-balancer.md +431 -0
  84. package/packages/@monomind/cli/.claude/agents/optimization/performance-monitor.md +672 -0
  85. package/packages/@monomind/cli/.claude/agents/optimization/resource-allocator.md +674 -0
  86. package/packages/@monomind/cli/.claude/agents/optimization/topology-optimizer.md +808 -0
  87. package/packages/@monomind/cli/.claude/agents/reengineer-squad/boss.md +113 -0
  88. package/packages/@monomind/cli/.claude/agents/reengineer-squad/critic-architect.md +132 -0
  89. package/packages/@monomind/cli/.claude/agents/reengineer-squad/git-manager.md +145 -0
  90. package/packages/@monomind/cli/.claude/agents/reengineer-squad/idea-generator.md +95 -0
  91. package/packages/@monomind/cli/.claude/agents/reengineer-squad/implementer.md +112 -0
  92. package/packages/@monomind/cli/.claude/agents/reengineer-squad/integration-planner.md +112 -0
  93. package/packages/@monomind/cli/.claude/agents/reengineer-squad/source-analyst.md +103 -0
  94. package/packages/@monomind/cli/.claude/agents/reengineer-squad/target-analyst.md +118 -0
  95. package/packages/@monomind/cli/.claude/agents/reengineer-squad/tester.md +105 -0
  96. package/packages/@monomind/cli/.claude/agents/schemas/architecture-output.json +43 -0
  97. package/packages/@monomind/cli/.claude/agents/schemas/code-review-output.json +28 -0
  98. package/packages/@monomind/cli/.claude/agents/schemas/generic-task-input.json +12 -0
  99. package/packages/@monomind/cli/.claude/agents/schemas/implementation-output.json +18 -0
  100. package/packages/@monomind/cli/.claude/agents/schemas/research-output.json +31 -0
  101. package/packages/@monomind/cli/.claude/agents/schemas/security-audit-output.json +29 -0
  102. package/packages/@monomind/cli/.claude/agents/schemas/test-report-output.json +29 -0
  103. package/packages/@monomind/cli/.claude/agents/sparc/architecture.md +453 -0
  104. package/packages/@monomind/cli/.claude/agents/sparc/pseudocode.md +299 -0
  105. package/packages/@monomind/cli/.claude/agents/sparc/refinement.md +504 -0
  106. package/packages/@monomind/cli/.claude/agents/sparc/specification.md +258 -0
  107. package/packages/@monomind/cli/.claude/agents/specialists/integration-architect.md +94 -0
  108. package/packages/@monomind/cli/.claude/agents/specialized/agentic-identity-trust.md +388 -0
  109. package/packages/@monomind/cli/.claude/agents/specialized/agents-orchestrator.md +368 -0
  110. package/packages/@monomind/cli/.claude/agents/specialized/automation-governance-architect.md +217 -0
  111. package/packages/@monomind/cli/.claude/agents/specialized/blockchain-security-auditor.md +497 -0
  112. package/packages/@monomind/cli/.claude/agents/specialized/compliance-auditor.md +159 -0
  113. package/packages/@monomind/cli/.claude/agents/specialized/identity-graph-operator.md +261 -0
  114. package/packages/@monomind/cli/.claude/agents/specialized/lsp-index-engineer.md +315 -0
  115. package/packages/@monomind/cli/.claude/agents/specialized/mobile/spec-mobile-react-native.md +89 -0
  116. package/packages/@monomind/cli/.claude/agents/specialized/specialized-cultural-intelligence-strategist.md +89 -0
  117. package/packages/@monomind/cli/.claude/agents/specialized/specialized-developer-advocate.md +318 -0
  118. package/packages/@monomind/cli/.claude/agents/specialized/specialized-document-generator.md +56 -0
  119. package/packages/@monomind/cli/.claude/agents/specialized/specialized-mcp-builder.md +64 -0
  120. package/packages/@monomind/cli/.claude/agents/specialized/specialized-model-qa.md +489 -0
  121. package/packages/@monomind/cli/.claude/agents/specialized/specialized-workflow-architect.md +598 -0
  122. package/packages/@monomind/cli/.claude/agents/specialized/zk-steward.md +212 -0
  123. package/packages/@monomind/cli/.claude/agents/swarm/mesh-coordinator.md +363 -0
  124. package/packages/@monomind/cli/.claude/agents/templates/automation-smart-agent.md +185 -0
  125. package/packages/@monomind/cli/.claude/agents/templates/coordinator-swarm-init.md +83 -0
  126. package/packages/@monomind/cli/.claude/agents/templates/implementer-sparc-coder.md +231 -0
  127. package/packages/@monomind/cli/.claude/agents/testing/production-validator.md +374 -0
  128. package/packages/@monomind/cli/.claude/agents/testing/tdd-london-swarm.md +241 -0
  129. package/packages/@monomind/cli/.claude/agents/testing/testing-accessibility-auditor.md +322 -0
  130. package/packages/@monomind/cli/.claude/agents/testing/testing-api-tester.md +307 -0
  131. package/packages/@monomind/cli/.claude/agents/testing/testing-evidence-collector.md +211 -0
  132. package/packages/@monomind/cli/.claude/agents/testing/testing-performance-benchmarker.md +269 -0
  133. package/packages/@monomind/cli/.claude/agents/testing/testing-test-results-analyzer.md +306 -0
  134. package/packages/@monomind/cli/.claude/agents/testing/testing-tool-evaluator.md +395 -0
  135. package/packages/@monomind/cli/.claude/agents/testing/testing-workflow-optimizer.md +451 -0
  136. package/packages/@monomind/cli/.claude/commands/agents/README.md +14 -0
  137. package/packages/@monomind/cli/.claude/commands/agents/agent-capabilities.md +25 -0
  138. package/packages/@monomind/cli/.claude/commands/agents/agent-coordination.md +32 -0
  139. package/packages/@monomind/cli/.claude/commands/agents/agent-spawning.md +32 -0
  140. package/packages/@monomind/cli/.claude/commands/agents/agent-types.md +30 -0
  141. package/packages/@monomind/cli/.claude/commands/analysis/README.md +18 -0
  142. package/packages/@monomind/cli/.claude/commands/analysis/bottleneck-detect.md +69 -0
  143. package/packages/@monomind/cli/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  144. package/packages/@monomind/cli/.claude/commands/analysis/performance-report.md +52 -0
  145. package/packages/@monomind/cli/.claude/commands/analysis/token-usage.md +47 -0
  146. package/packages/@monomind/cli/.claude/commands/automation/README.md +19 -0
  147. package/packages/@monomind/cli/.claude/commands/automation/auto-agent.md +86 -0
  148. package/packages/@monomind/cli/.claude/commands/automation/self-healing.md +108 -0
  149. package/packages/@monomind/cli/.claude/commands/automation/session-memory.md +89 -0
  150. package/packages/@monomind/cli/.claude/commands/automation/smart-agents.md +81 -0
  151. package/packages/@monomind/cli/.claude/commands/automation/smart-spawn.md +66 -0
  152. package/packages/@monomind/cli/.claude/commands/automation/workflow-select.md +60 -0
  153. package/packages/@monomind/cli/.claude/commands/coordination/README.md +13 -0
  154. package/packages/@monomind/cli/.claude/commands/coordination/agent-spawn.md +69 -0
  155. package/packages/@monomind/cli/.claude/commands/coordination/swarm-init.md +82 -0
  156. package/packages/@monomind/cli/.claude/commands/coordination/task-orchestrate.md +79 -0
  157. package/packages/@monomind/cli/.claude/commands/github/README.md +24 -0
  158. package/packages/@monomind/cli/.claude/commands/github/github-modes.md +151 -0
  159. package/packages/@monomind/cli/.claude/commands/github/issue-tracker.md +293 -0
  160. package/packages/@monomind/cli/.claude/commands/github/pr-manager.md +173 -0
  161. package/packages/@monomind/cli/.claude/commands/github/release-manager.md +343 -0
  162. package/packages/@monomind/cli/.claude/commands/github/repo-architect.md +379 -0
  163. package/packages/@monomind/cli/.claude/commands/github/sync-coordinator.md +297 -0
  164. package/packages/@monomind/cli/.claude/commands/hive-mind/README.md +42 -0
  165. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-consensus.md +72 -0
  166. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-init.md +68 -0
  167. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-memory.md +73 -0
  168. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-spawn.md +82 -0
  169. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-status.md +56 -0
  170. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind-stop.md +55 -0
  171. package/packages/@monomind/cli/.claude/commands/hive-mind/hive-mind.md +87 -0
  172. package/packages/@monomind/cli/.claude/commands/hooks/README.md +66 -0
  173. package/packages/@monomind/cli/.claude/commands/hooks/overview.md +117 -0
  174. package/packages/@monomind/cli/.claude/commands/hooks/post-edit.md +78 -0
  175. package/packages/@monomind/cli/.claude/commands/hooks/post-task.md +62 -0
  176. package/packages/@monomind/cli/.claude/commands/hooks/pre-edit.md +81 -0
  177. package/packages/@monomind/cli/.claude/commands/hooks/pre-task.md +76 -0
  178. package/packages/@monomind/cli/.claude/commands/hooks/session-end.md +82 -0
  179. package/packages/@monomind/cli/.claude/commands/hooks/setup.md +132 -0
  180. package/packages/@monomind/cli/.claude/commands/mastermind/_repeat.md +472 -0
  181. package/packages/@monomind/cli/.claude/commands/mastermind/_taskfile.md +235 -0
  182. package/packages/@monomind/cli/.claude/commands/mastermind/adr.md +11 -0
  183. package/packages/@monomind/cli/.claude/commands/mastermind/approve.md +94 -0
  184. package/packages/@monomind/cli/.claude/commands/mastermind/architect.md +55 -0
  185. package/packages/@monomind/cli/.claude/commands/mastermind/autodev.md +32 -0
  186. package/packages/@monomind/cli/.claude/commands/mastermind/brain.md +102 -0
  187. package/packages/@monomind/cli/.claude/commands/mastermind/budget.md +7 -0
  188. package/packages/@monomind/cli/.claude/commands/mastermind/build.md +26 -0
  189. package/packages/@monomind/cli/.claude/commands/mastermind/code-review.md +317 -0
  190. package/packages/@monomind/cli/.claude/commands/mastermind/content.md +26 -0
  191. package/packages/@monomind/cli/.claude/commands/mastermind/createorg.md +139 -0
  192. package/packages/@monomind/cli/.claude/commands/mastermind/createtask.md +383 -0
  193. package/packages/@monomind/cli/.claude/commands/mastermind/debug.md +22 -0
  194. package/packages/@monomind/cli/.claude/commands/mastermind/design.md +20 -0
  195. package/packages/@monomind/cli/.claude/commands/mastermind/do.md +528 -0
  196. package/packages/@monomind/cli/.claude/commands/mastermind/execute.md +20 -0
  197. package/packages/@monomind/cli/.claude/commands/mastermind/finance.md +26 -0
  198. package/packages/@monomind/cli/.claude/commands/mastermind/finish.md +20 -0
  199. package/packages/@monomind/cli/.claude/commands/mastermind/graph-status.md +7 -0
  200. package/packages/@monomind/cli/.claude/commands/mastermind/help.md +118 -0
  201. package/packages/@monomind/cli/.claude/commands/mastermind/idea.md +26 -0
  202. package/packages/@monomind/cli/.claude/commands/mastermind/ideate.md +261 -0
  203. package/packages/@monomind/cli/.claude/commands/mastermind/improve.md +345 -0
  204. package/packages/@monomind/cli/.claude/commands/mastermind/loops.md +7 -0
  205. package/packages/@monomind/cli/.claude/commands/mastermind/marketing.md +26 -0
  206. package/packages/@monomind/cli/.claude/commands/mastermind/master.md +1070 -0
  207. package/packages/@monomind/cli/.claude/commands/mastermind/memory.md +230 -0
  208. package/packages/@monomind/cli/.claude/commands/mastermind/ops.md +26 -0
  209. package/packages/@monomind/cli/.claude/commands/mastermind/orgs.md +21 -0
  210. package/packages/@monomind/cli/.claude/commands/mastermind/orgstatus.md +59 -0
  211. package/packages/@monomind/cli/.claude/commands/mastermind/plan.md +26 -0
  212. package/packages/@monomind/cli/.claude/commands/mastermind/receive-review.md +20 -0
  213. package/packages/@monomind/cli/.claude/commands/mastermind/release.md +26 -0
  214. package/packages/@monomind/cli/.claude/commands/mastermind/repeat.md +257 -0
  215. package/packages/@monomind/cli/.claude/commands/mastermind/research.md +26 -0
  216. package/packages/@monomind/cli/.claude/commands/mastermind/review.md +26 -0
  217. package/packages/@monomind/cli/.claude/commands/mastermind/runorg.md +156 -0
  218. package/packages/@monomind/cli/.claude/commands/mastermind/sales.md +26 -0
  219. package/packages/@monomind/cli/.claude/commands/mastermind/skill-builder.md +20 -0
  220. package/packages/@monomind/cli/.claude/commands/mastermind/specialagents.md +125 -0
  221. package/packages/@monomind/cli/.claude/commands/mastermind/stoporg.md +78 -0
  222. package/packages/@monomind/cli/.claude/commands/mastermind/swarm.md +161 -0
  223. package/packages/@monomind/cli/.claude/commands/mastermind/taskdev.md +26 -0
  224. package/packages/@monomind/cli/.claude/commands/mastermind/tdd.md +22 -0
  225. package/packages/@monomind/cli/.claude/commands/mastermind/techport.md +30 -0
  226. package/packages/@monomind/cli/.claude/commands/mastermind/understand.md +139 -0
  227. package/packages/@monomind/cli/.claude/commands/mastermind/verify.md +22 -0
  228. package/packages/@monomind/cli/.claude/commands/mastermind/worktree.md +20 -0
  229. package/packages/@monomind/cli/.claude/commands/mastermind.md +121 -0
  230. package/packages/@monomind/cli/.claude/commands/memory/README.md +79 -0
  231. package/packages/@monomind/cli/.claude/commands/memory/memory-search.md +77 -0
  232. package/packages/@monomind/cli/.claude/commands/monitoring/README.md +69 -0
  233. package/packages/@monomind/cli/.claude/commands/monitoring/agent-metrics.md +65 -0
  234. package/packages/@monomind/cli/.claude/commands/monitoring/agents.md +71 -0
  235. package/packages/@monomind/cli/.claude/commands/monitoring/status.md +108 -0
  236. package/packages/@monomind/cli/.claude/commands/monobrowse.md +21 -0
  237. package/packages/@monomind/cli/.claude/commands/monograph/README.md +102 -0
  238. package/packages/@monomind/cli/.claude/commands/monograph/monograph-build.md +79 -0
  239. package/packages/@monomind/cli/.claude/commands/monograph/monograph-search.md +96 -0
  240. package/packages/@monomind/cli/.claude/commands/monograph/monograph-stats.md +53 -0
  241. package/packages/@monomind/cli/.claude/commands/monograph/monograph-watch.md +63 -0
  242. package/packages/@monomind/cli/.claude/commands/monograph/monograph-wiki.md +91 -0
  243. package/packages/@monomind/cli/.claude/commands/optimization/auto-topology.md +85 -0
  244. package/packages/@monomind/cli/.claude/commands/optimization/performance-optimize.md +79 -0
  245. package/packages/@monomind/cli/.claude/commands/pair/README.md +79 -0
  246. package/packages/@monomind/cli/.claude/commands/pair/examples.md +156 -0
  247. package/packages/@monomind/cli/.claude/commands/pair/modes.md +122 -0
  248. package/packages/@monomind/cli/.claude/commands/pair/session.md +124 -0
  249. package/packages/@monomind/cli/.claude/commands/sparc/analyzer.md +35 -0
  250. package/packages/@monomind/cli/.claude/commands/sparc/architect.md +36 -0
  251. package/packages/@monomind/cli/.claude/commands/sparc/ask.md +56 -0
  252. package/packages/@monomind/cli/.claude/commands/sparc/batch-executor.md +37 -0
  253. package/packages/@monomind/cli/.claude/commands/sparc/code.md +48 -0
  254. package/packages/@monomind/cli/.claude/commands/sparc/coder.md +37 -0
  255. package/packages/@monomind/cli/.claude/commands/sparc/debug.md +42 -0
  256. package/packages/@monomind/cli/.claude/commands/sparc/debugger.md +37 -0
  257. package/packages/@monomind/cli/.claude/commands/sparc/designer.md +36 -0
  258. package/packages/@monomind/cli/.claude/commands/sparc/devops.md +68 -0
  259. package/packages/@monomind/cli/.claude/commands/sparc/docs-writer.md +39 -0
  260. package/packages/@monomind/cli/.claude/commands/sparc/documenter.md +37 -0
  261. package/packages/@monomind/cli/.claude/commands/sparc/innovator.md +37 -0
  262. package/packages/@monomind/cli/.claude/commands/sparc/integration.md +42 -0
  263. package/packages/@monomind/cli/.claude/commands/sparc/mcp.md +76 -0
  264. package/packages/@monomind/cli/.claude/commands/sparc/memory-manager.md +57 -0
  265. package/packages/@monomind/cli/.claude/commands/sparc/optimizer.md +37 -0
  266. package/packages/@monomind/cli/.claude/commands/sparc/orchestrator.md +70 -0
  267. package/packages/@monomind/cli/.claude/commands/sparc/post-deployment-monitoring-mode.md +42 -0
  268. package/packages/@monomind/cli/.claude/commands/sparc/refinement-optimization-mode.md +42 -0
  269. package/packages/@monomind/cli/.claude/commands/sparc/researcher.md +37 -0
  270. package/packages/@monomind/cli/.claude/commands/sparc/reviewer.md +37 -0
  271. package/packages/@monomind/cli/.claude/commands/sparc/security-review.md +39 -0
  272. package/packages/@monomind/cli/.claude/commands/sparc/sparc-modes.md +120 -0
  273. package/packages/@monomind/cli/.claude/commands/sparc/sparc.md +71 -0
  274. package/packages/@monomind/cli/.claude/commands/sparc/spec-pseudocode.md +39 -0
  275. package/packages/@monomind/cli/.claude/commands/sparc/supabase-admin.md +301 -0
  276. package/packages/@monomind/cli/.claude/commands/sparc/swarm-coordinator.md +50 -0
  277. package/packages/@monomind/cli/.claude/commands/sparc/tdd.md +37 -0
  278. package/packages/@monomind/cli/.claude/commands/sparc/tester.md +37 -0
  279. package/packages/@monomind/cli/.claude/commands/sparc/tutorial.md +38 -0
  280. package/packages/@monomind/cli/.claude/commands/sparc/workflow-manager.md +37 -0
  281. package/packages/@monomind/cli/.claude/commands/sparc.md +112 -0
  282. package/packages/@monomind/cli/.claude/commands/stream-chain/pipeline.md +116 -0
  283. package/packages/@monomind/cli/.claude/commands/stream-chain/run.md +156 -0
  284. package/packages/@monomind/cli/.claude/commands/swarm/README.md +40 -0
  285. package/packages/@monomind/cli/.claude/commands/swarm/analysis.md +73 -0
  286. package/packages/@monomind/cli/.claude/commands/swarm/development.md +72 -0
  287. package/packages/@monomind/cli/.claude/commands/swarm/examples.md +103 -0
  288. package/packages/@monomind/cli/.claude/commands/swarm/maintenance.md +75 -0
  289. package/packages/@monomind/cli/.claude/commands/swarm/optimization.md +84 -0
  290. package/packages/@monomind/cli/.claude/commands/swarm/research.md +76 -0
  291. package/packages/@monomind/cli/.claude/commands/swarm/swarm.md +79 -0
  292. package/packages/@monomind/cli/.claude/commands/swarm/testing.md +80 -0
  293. package/packages/@monomind/cli/.claude/commands/tokens.md +18 -0
  294. package/packages/@monomind/cli/.claude/commands/truth/start.md +121 -0
  295. package/packages/@monomind/cli/.claude/commands/ts.md +14 -0
  296. package/packages/@monomind/cli/.claude/commands/workflows/README.md +65 -0
  297. package/packages/@monomind/cli/.claude/commands/workflows/development.md +86 -0
  298. package/packages/@monomind/cli/.claude/commands/workflows/research.md +89 -0
  299. package/packages/@monomind/cli/.claude/commands/workflows/workflow-create.md +84 -0
  300. package/packages/@monomind/cli/.claude/commands/workflows/workflow-execute.md +103 -0
  301. package/packages/@monomind/cli/.claude/commands/workflows/workflow-export.md +90 -0
  302. package/packages/@monomind/cli/.claude/helpers/auto-memory-hook.mjs +413 -0
  303. package/packages/@monomind/cli/.claude/helpers/control-start.cjs +155 -0
  304. package/packages/@monomind/cli/.claude/helpers/event-logger.cjs +155 -0
  305. package/packages/@monomind/cli/.claude/helpers/extras-registry.json +5141 -0
  306. package/packages/@monomind/cli/.claude/helpers/graphify-freshen.cjs +115 -0
  307. package/packages/@monomind/cli/.claude/helpers/handlers/adr-draft-handler.cjs +78 -0
  308. package/packages/@monomind/cli/.claude/helpers/handlers/agent-start-handler.cjs +108 -0
  309. package/packages/@monomind/cli/.claude/helpers/handlers/budget-status-handler.cjs +14 -0
  310. package/packages/@monomind/cli/.claude/helpers/handlers/capture-handler.cjs +473 -0
  311. package/packages/@monomind/cli/.claude/helpers/handlers/compact-handler.cjs +35 -0
  312. package/packages/@monomind/cli/.claude/helpers/handlers/edit-handler.cjs +145 -0
  313. package/packages/@monomind/cli/.claude/helpers/handlers/gates-handler.cjs +138 -0
  314. package/packages/@monomind/cli/.claude/helpers/handlers/graph-status-handler.cjs +45 -0
  315. package/packages/@monomind/cli/.claude/helpers/handlers/loops-status-handler.cjs +48 -0
  316. package/packages/@monomind/cli/.claude/helpers/handlers/route-handler.cjs +457 -0
  317. package/packages/@monomind/cli/.claude/helpers/handlers/session-handler.cjs +174 -0
  318. package/packages/@monomind/cli/.claude/helpers/handlers/session-restore-handler.cjs +370 -0
  319. package/packages/@monomind/cli/.claude/helpers/handlers/stats-handler.cjs +14 -0
  320. package/packages/@monomind/cli/.claude/helpers/handlers/task-handler.cjs +341 -0
  321. package/packages/@monomind/cli/.claude/helpers/hook-handler.cjs +400 -0
  322. package/packages/@monomind/cli/.claude/helpers/intelligence.cjs +164 -0
  323. package/packages/@monomind/cli/.claude/helpers/learning-service.mjs +60 -0
  324. package/packages/@monomind/cli/.claude/helpers/loop-tracker.cjs +119 -0
  325. package/packages/@monomind/cli/.claude/helpers/memory-palace.cjs +461 -0
  326. package/packages/@monomind/cli/.claude/helpers/memory.cjs +193 -0
  327. package/packages/@monomind/cli/.claude/helpers/metrics-db.mjs +87 -0
  328. package/packages/@monomind/cli/.claude/helpers/monolean-activate.cjs +20 -0
  329. package/packages/@monomind/cli/.claude/helpers/monolean-config.cjs +76 -0
  330. package/packages/@monomind/cli/.claude/helpers/monolean-instructions.cjs +109 -0
  331. package/packages/@monomind/cli/.claude/helpers/monolean-propagate.cjs +9 -0
  332. package/packages/@monomind/cli/.claude/helpers/monolean-tracker.cjs +18 -0
  333. package/packages/@monomind/cli/.claude/helpers/router.cjs +326 -0
  334. package/packages/@monomind/cli/.claude/helpers/session.cjs +140 -0
  335. package/packages/@monomind/cli/.claude/helpers/skill-registry.json +1043 -0
  336. package/packages/@monomind/cli/.claude/helpers/statusline.cjs +1350 -0
  337. package/packages/@monomind/cli/.claude/helpers/toggle-statusline.cjs +73 -0
  338. package/packages/@monomind/cli/.claude/helpers/token-tracker.cjs +934 -0
  339. package/packages/@monomind/cli/.claude/helpers/utils/micro-agents.cjs +354 -0
  340. package/packages/@monomind/cli/.claude/helpers/utils/monograph.cjs +386 -0
  341. package/packages/@monomind/cli/.claude/helpers/utils/telemetry.cjs +146 -0
  342. package/packages/@monomind/cli/.claude/skills/agent-browser-testing/SKILL.md +964 -0
  343. package/packages/@monomind/cli/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  344. package/packages/@monomind/cli/.claude/skills/github-issue-triage/SKILL.md +354 -0
  345. package/packages/@monomind/cli/.claude/skills/github-repo-recap/SKILL.md +207 -0
  346. package/packages/@monomind/cli/.claude/skills/hive-mind-advanced/SKILL.md +709 -0
  347. package/packages/@monomind/cli/.claude/skills/hooks-automation/SKILL.md +1193 -0
  348. package/packages/@monomind/cli/.claude/skills/mastermind/_agent-select.md +132 -0
  349. package/packages/@monomind/cli/.claude/skills/mastermind/_delegation.md +83 -0
  350. package/packages/@monomind/cli/.claude/skills/mastermind/_intake.md +83 -0
  351. package/packages/@monomind/cli/.claude/skills/mastermind/_protocol.md +404 -0
  352. package/packages/@monomind/cli/.claude/skills/mastermind/_repeat.md +144 -0
  353. package/packages/@monomind/cli/.claude/skills/mastermind/access.md +236 -0
  354. package/packages/@monomind/cli/.claude/skills/mastermind/activity.md +191 -0
  355. package/packages/@monomind/cli/.claude/skills/mastermind/adapter-manager.md +259 -0
  356. package/packages/@monomind/cli/.claude/skills/mastermind/adapters.md +204 -0
  357. package/packages/@monomind/cli/.claude/skills/mastermind/agent-detail.md +242 -0
  358. package/packages/@monomind/cli/.claude/skills/mastermind/agents.md +178 -0
  359. package/packages/@monomind/cli/.claude/skills/mastermind/approval-detail.md +259 -0
  360. package/packages/@monomind/cli/.claude/skills/mastermind/approve.md +188 -0
  361. package/packages/@monomind/cli/.claude/skills/mastermind/architect.md +863 -0
  362. package/packages/@monomind/cli/.claude/skills/mastermind/autodev.md +536 -0
  363. package/packages/@monomind/cli/.claude/skills/mastermind/backup.md +197 -0
  364. package/packages/@monomind/cli/.claude/skills/mastermind/bootstrap.md +190 -0
  365. package/packages/@monomind/cli/.claude/skills/mastermind/budgets.md +237 -0
  366. package/packages/@monomind/cli/.claude/skills/mastermind/build.md +170 -0
  367. package/packages/@monomind/cli/.claude/skills/mastermind/code-quality-reviewer-prompt.md +60 -0
  368. package/packages/@monomind/cli/.claude/skills/mastermind/companies.md +256 -0
  369. package/packages/@monomind/cli/.claude/skills/mastermind/content.md +197 -0
  370. package/packages/@monomind/cli/.claude/skills/mastermind/costs.md +151 -0
  371. package/packages/@monomind/cli/.claude/skills/mastermind/createorg.md +853 -0
  372. package/packages/@monomind/cli/.claude/skills/mastermind/debug.md +232 -0
  373. package/packages/@monomind/cli/.claude/skills/mastermind/design.md +189 -0
  374. package/packages/@monomind/cli/.claude/skills/mastermind/diagnose.md +249 -0
  375. package/packages/@monomind/cli/.claude/skills/mastermind/env.md +198 -0
  376. package/packages/@monomind/cli/.claude/skills/mastermind/environments.md +250 -0
  377. package/packages/@monomind/cli/.claude/skills/mastermind/execute.md +104 -0
  378. package/packages/@monomind/cli/.claude/skills/mastermind/export.md +333 -0
  379. package/packages/@monomind/cli/.claude/skills/mastermind/finance.md +166 -0
  380. package/packages/@monomind/cli/.claude/skills/mastermind/finish.md +251 -0
  381. package/packages/@monomind/cli/.claude/skills/mastermind/goal-detail.md +255 -0
  382. package/packages/@monomind/cli/.claude/skills/mastermind/goals.md +149 -0
  383. package/packages/@monomind/cli/.claude/skills/mastermind/heartbeat.md +164 -0
  384. package/packages/@monomind/cli/.claude/skills/mastermind/idea.md +1142 -0
  385. package/packages/@monomind/cli/.claude/skills/mastermind/implementer-prompt.md +109 -0
  386. package/packages/@monomind/cli/.claude/skills/mastermind/import.md +281 -0
  387. package/packages/@monomind/cli/.claude/skills/mastermind/inbox.md +214 -0
  388. package/packages/@monomind/cli/.claude/skills/mastermind/instance-settings.md +315 -0
  389. package/packages/@monomind/cli/.claude/skills/mastermind/instance.md +233 -0
  390. package/packages/@monomind/cli/.claude/skills/mastermind/invite-landing.md +227 -0
  391. package/packages/@monomind/cli/.claude/skills/mastermind/invites.md +254 -0
  392. package/packages/@monomind/cli/.claude/skills/mastermind/issue-detail.md +291 -0
  393. package/packages/@monomind/cli/.claude/skills/mastermind/issues.md +235 -0
  394. package/packages/@monomind/cli/.claude/skills/mastermind/join-queue.md +170 -0
  395. package/packages/@monomind/cli/.claude/skills/mastermind/liveness.md +392 -0
  396. package/packages/@monomind/cli/.claude/skills/mastermind/marketing.md +228 -0
  397. package/packages/@monomind/cli/.claude/skills/mastermind/memory.md +321 -0
  398. package/packages/@monomind/cli/.claude/skills/mastermind/monitor.md +1284 -0
  399. package/packages/@monomind/cli/.claude/skills/mastermind/monotask.md +350 -0
  400. package/packages/@monomind/cli/.claude/skills/mastermind/my-issues.md +146 -0
  401. package/packages/@monomind/cli/.claude/skills/mastermind/new-agent.md +241 -0
  402. package/packages/@monomind/cli/.claude/skills/mastermind/ops.md +168 -0
  403. package/packages/@monomind/cli/.claude/skills/mastermind/org-chart.md +209 -0
  404. package/packages/@monomind/cli/.claude/skills/mastermind/org-settings.md +254 -0
  405. package/packages/@monomind/cli/.claude/skills/mastermind/orgs.md +98 -0
  406. package/packages/@monomind/cli/.claude/skills/mastermind/orgstatus.md +194 -0
  407. package/packages/@monomind/cli/.claude/skills/mastermind/plan-to-tasks.md +136 -0
  408. package/packages/@monomind/cli/.claude/skills/mastermind/plan.md +198 -0
  409. package/packages/@monomind/cli/.claude/skills/mastermind/plugin-manager.md +241 -0
  410. package/packages/@monomind/cli/.claude/skills/mastermind/plugin-settings.md +273 -0
  411. package/packages/@monomind/cli/.claude/skills/mastermind/plugins.md +190 -0
  412. package/packages/@monomind/cli/.claude/skills/mastermind/profile.md +187 -0
  413. package/packages/@monomind/cli/.claude/skills/mastermind/project-detail.md +249 -0
  414. package/packages/@monomind/cli/.claude/skills/mastermind/project-workspace.md +244 -0
  415. package/packages/@monomind/cli/.claude/skills/mastermind/projects.md +164 -0
  416. package/packages/@monomind/cli/.claude/skills/mastermind/receive-review.md +213 -0
  417. package/packages/@monomind/cli/.claude/skills/mastermind/references/copywriting-frameworks.md +181 -0
  418. package/packages/@monomind/cli/.claude/skills/mastermind/references/persuasion-psychology.md +158 -0
  419. package/packages/@monomind/cli/.claude/skills/mastermind/release.md +168 -0
  420. package/packages/@monomind/cli/.claude/skills/mastermind/research.md +168 -0
  421. package/packages/@monomind/cli/.claude/skills/mastermind/review.md +219 -0
  422. package/packages/@monomind/cli/.claude/skills/mastermind/routine-detail.md +253 -0
  423. package/packages/@monomind/cli/.claude/skills/mastermind/routines.md +203 -0
  424. package/packages/@monomind/cli/.claude/skills/mastermind/runorg.md +684 -0
  425. package/packages/@monomind/cli/.claude/skills/mastermind/sales.md +170 -0
  426. package/packages/@monomind/cli/.claude/skills/mastermind/search.md +186 -0
  427. package/packages/@monomind/cli/.claude/skills/mastermind/secrets.md +199 -0
  428. package/packages/@monomind/cli/.claude/skills/mastermind/skill-builder.md +274 -0
  429. package/packages/@monomind/cli/.claude/skills/mastermind/skills.md +156 -0
  430. package/packages/@monomind/cli/.claude/skills/mastermind/spec-reviewer-prompt.md +63 -0
  431. package/packages/@monomind/cli/.claude/skills/mastermind/stoporg.md +138 -0
  432. package/packages/@monomind/cli/.claude/skills/mastermind/taskdev.md +307 -0
  433. package/packages/@monomind/cli/.claude/skills/mastermind/tasks.md +149 -0
  434. package/packages/@monomind/cli/.claude/skills/mastermind/tdd.md +394 -0
  435. package/packages/@monomind/cli/.claude/skills/mastermind/techport.md +743 -0
  436. package/packages/@monomind/cli/.claude/skills/mastermind/threads.md +259 -0
  437. package/packages/@monomind/cli/.claude/skills/mastermind/tree-control.md +250 -0
  438. package/packages/@monomind/cli/.claude/skills/mastermind/verify.md +196 -0
  439. package/packages/@monomind/cli/.claude/skills/mastermind/wiki.md +314 -0
  440. package/packages/@monomind/cli/.claude/skills/mastermind/workspace-detail.md +317 -0
  441. package/packages/@monomind/cli/.claude/skills/mastermind/workspaces.md +261 -0
  442. package/packages/@monomind/cli/.claude/skills/mastermind/worktree.md +215 -0
  443. package/packages/@monomind/cli/.claude/skills/monodesign/SKILL.md +333 -0
  444. package/packages/@monomind/cli/.claude/skills/monodesign/adapt.md +53 -0
  445. package/packages/@monomind/cli/.claude/skills/monodesign/agents/monodesign-asset-producer.md +100 -0
  446. package/packages/@monomind/cli/.claude/skills/monodesign/animate.md +65 -0
  447. package/packages/@monomind/cli/.claude/skills/monodesign/audit.md +89 -0
  448. package/packages/@monomind/cli/.claude/skills/monodesign/bolder.md +50 -0
  449. package/packages/@monomind/cli/.claude/skills/monodesign/clarify.md +64 -0
  450. package/packages/@monomind/cli/.claude/skills/monodesign/colorize.md +68 -0
  451. package/packages/@monomind/cli/.claude/skills/monodesign/craft.md +51 -0
  452. package/packages/@monomind/cli/.claude/skills/monodesign/critique.md +66 -0
  453. package/packages/@monomind/cli/.claude/skills/monodesign/delight.md +47 -0
  454. package/packages/@monomind/cli/.claude/skills/monodesign/distill.md +56 -0
  455. package/packages/@monomind/cli/.claude/skills/monodesign/document.md +80 -0
  456. package/packages/@monomind/cli/.claude/skills/monodesign/extract.md +74 -0
  457. package/packages/@monomind/cli/.claude/skills/monodesign/harden.md +65 -0
  458. package/packages/@monomind/cli/.claude/skills/monodesign/live.md +59 -0
  459. package/packages/@monomind/cli/.claude/skills/monodesign/onboard.md +50 -0
  460. package/packages/@monomind/cli/.claude/skills/monodesign/optimize.md +64 -0
  461. package/packages/@monomind/cli/.claude/skills/monodesign/overdrive.md +56 -0
  462. package/packages/@monomind/cli/.claude/skills/monodesign/polish.md +68 -0
  463. package/packages/@monomind/cli/.claude/skills/monodesign/quieter.md +57 -0
  464. package/packages/@monomind/cli/.claude/skills/monodesign/reference/adapt.md +190 -0
  465. package/packages/@monomind/cli/.claude/skills/monodesign/reference/animate.md +175 -0
  466. package/packages/@monomind/cli/.claude/skills/monodesign/reference/antipatterns-catalog.md +359 -0
  467. package/packages/@monomind/cli/.claude/skills/monodesign/reference/audit.md +133 -0
  468. package/packages/@monomind/cli/.claude/skills/monodesign/reference/bolder.md +113 -0
  469. package/packages/@monomind/cli/.claude/skills/monodesign/reference/brand-workflow.md +180 -0
  470. package/packages/@monomind/cli/.claude/skills/monodesign/reference/brand.md +114 -0
  471. package/packages/@monomind/cli/.claude/skills/monodesign/reference/clarify.md +174 -0
  472. package/packages/@monomind/cli/.claude/skills/monodesign/reference/codex.md +107 -0
  473. package/packages/@monomind/cli/.claude/skills/monodesign/reference/cognitive-load.md +106 -0
  474. package/packages/@monomind/cli/.claude/skills/monodesign/reference/color-and-contrast.md +105 -0
  475. package/packages/@monomind/cli/.claude/skills/monodesign/reference/colorize.md +154 -0
  476. package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-specs.md +260 -0
  477. package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-states.md +274 -0
  478. package/packages/@monomind/cli/.claude/skills/monodesign/reference/component-system.md +358 -0
  479. package/packages/@monomind/cli/.claude/skills/monodesign/reference/copy-formulas.md +160 -0
  480. package/packages/@monomind/cli/.claude/skills/monodesign/reference/craft.md +196 -0
  481. package/packages/@monomind/cli/.claude/skills/monodesign/reference/critique.md +213 -0
  482. package/packages/@monomind/cli/.claude/skills/monodesign/reference/delight.md +302 -0
  483. package/packages/@monomind/cli/.claude/skills/monodesign/reference/design-principles.md +246 -0
  484. package/packages/@monomind/cli/.claude/skills/monodesign/reference/distill.md +111 -0
  485. package/packages/@monomind/cli/.claude/skills/monodesign/reference/document.md +427 -0
  486. package/packages/@monomind/cli/.claude/skills/monodesign/reference/extract.md +69 -0
  487. package/packages/@monomind/cli/.claude/skills/monodesign/reference/harden.md +347 -0
  488. package/packages/@monomind/cli/.claude/skills/monodesign/reference/heuristics-scoring.md +234 -0
  489. package/packages/@monomind/cli/.claude/skills/monodesign/reference/hooks.md +99 -0
  490. package/packages/@monomind/cli/.claude/skills/monodesign/reference/image-prompts.md +130 -0
  491. package/packages/@monomind/cli/.claude/skills/monodesign/reference/interaction-design.md +195 -0
  492. package/packages/@monomind/cli/.claude/skills/monodesign/reference/layout.md +141 -0
  493. package/packages/@monomind/cli/.claude/skills/monodesign/reference/live.md +622 -0
  494. package/packages/@monomind/cli/.claude/skills/monodesign/reference/motion-design.md +109 -0
  495. package/packages/@monomind/cli/.claude/skills/monodesign/reference/onboard.md +234 -0
  496. package/packages/@monomind/cli/.claude/skills/monodesign/reference/optimize.md +258 -0
  497. package/packages/@monomind/cli/.claude/skills/monodesign/reference/overdrive.md +130 -0
  498. package/packages/@monomind/cli/.claude/skills/monodesign/reference/personas.md +179 -0
  499. package/packages/@monomind/cli/.claude/skills/monodesign/reference/polish.md +233 -0
  500. package/packages/@monomind/cli/.claude/skills/monodesign/reference/pre-delivery-checklist.md +108 -0
  501. package/packages/@monomind/cli/.claude/skills/monodesign/reference/product.md +62 -0
  502. package/packages/@monomind/cli/.claude/skills/monodesign/reference/quieter.md +99 -0
  503. package/packages/@monomind/cli/.claude/skills/monodesign/reference/responsive-design.md +114 -0
  504. package/packages/@monomind/cli/.claude/skills/monodesign/reference/shape.md +151 -0
  505. package/packages/@monomind/cli/.claude/skills/monodesign/reference/spatial-design.md +100 -0
  506. package/packages/@monomind/cli/.claude/skills/monodesign/reference/teach.md +156 -0
  507. package/packages/@monomind/cli/.claude/skills/monodesign/reference/token-architecture.md +222 -0
  508. package/packages/@monomind/cli/.claude/skills/monodesign/reference/typeset.md +124 -0
  509. package/packages/@monomind/cli/.claude/skills/monodesign/reference/typography.md +159 -0
  510. package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-research.md +143 -0
  511. package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-rules.md +211 -0
  512. package/packages/@monomind/cli/.claude/skills/monodesign/reference/ux-writing.md +107 -0
  513. package/packages/@monomind/cli/.claude/skills/monodesign/shape.md +71 -0
  514. package/packages/@monomind/cli/.claude/skills/monodesign/teach.md +69 -0
  515. package/packages/@monomind/cli/.claude/skills/monodesign/typeset.md +59 -0
  516. package/packages/@monomind/cli/.claude/skills/monolean/SKILL.md +118 -0
  517. package/packages/@monomind/cli/.claude/skills/monolean-audit/SKILL.md +41 -0
  518. package/packages/@monomind/cli/.claude/skills/monolean-debt/SKILL.md +46 -0
  519. package/packages/@monomind/cli/.claude/skills/monolean-help/SKILL.md +60 -0
  520. package/packages/@monomind/cli/.claude/skills/monolean-review/SKILL.md +57 -0
  521. package/packages/@monomind/cli/.claude/skills/monomind/browse-agentcore.md +115 -0
  522. package/packages/@monomind/cli/.claude/skills/monomind/browse-electron.md +188 -0
  523. package/packages/@monomind/cli/.claude/skills/monomind/browse-qa.md +228 -0
  524. package/packages/@monomind/cli/.claude/skills/monomind/browse-references/authentication.md +161 -0
  525. package/packages/@monomind/cli/.claude/skills/monomind/browse-references/trust-boundaries.md +40 -0
  526. package/packages/@monomind/cli/.claude/skills/monomind/browse-references/video-recording.md +83 -0
  527. package/packages/@monomind/cli/.claude/skills/monomind/browse-slack.md +188 -0
  528. package/packages/@monomind/cli/.claude/skills/monomind/browse-vercel.md +239 -0
  529. package/packages/@monomind/cli/.claude/skills/monomind/browse.md +724 -0
  530. package/packages/@monomind/cli/.claude/skills/monomotion/SKILL.md +145 -0
  531. package/packages/@monomind/cli/.claude/skills/monomotion/rules/api-control.md +139 -0
  532. package/packages/@monomind/cli/.claude/skills/monomotion/rules/effects.md +109 -0
  533. package/packages/@monomind/cli/.claude/skills/monomotion/rules/integration.md +140 -0
  534. package/packages/@monomind/cli/.claude/skills/monomotion/rules/scroll.md +131 -0
  535. package/packages/@monomind/cli/.claude/skills/monomotion/rules/sequencing.md +105 -0
  536. package/packages/@monomind/cli/.claude/skills/monomotion/rules/svg.md +101 -0
  537. package/packages/@monomind/cli/.claude/skills/monomotion/rules/text.md +119 -0
  538. package/packages/@monomind/cli/.claude/skills/pair-programming/SKILL.md +1202 -0
  539. package/packages/@monomind/cli/.claude/skills/performance-analysis/SKILL.md +560 -0
  540. package/packages/@monomind/cli/.claude/skills/skill-builder/SKILL.md +910 -0
  541. package/packages/@monomind/cli/.claude/skills/sparc-methodology/SKILL.md +950 -0
  542. package/packages/@monomind/cli/.claude/skills/specialagent/SKILL.md +208 -0
  543. package/packages/@monomind/cli/.claude/skills/stop-slop/SKILL.md +67 -0
  544. package/packages/@monomind/cli/.claude/skills/stop-slop/references/examples.md +61 -0
  545. package/packages/@monomind/cli/.claude/skills/stop-slop/references/phrases.md +130 -0
  546. package/packages/@monomind/cli/.claude/skills/stop-slop/references/structures.md +136 -0
  547. package/packages/@monomind/cli/.claude/skills/swarm-advanced/SKILL.md +937 -0
  548. package/packages/@monomind/cli/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  549. package/packages/@monomind/cli/.claude/skills/verification-quality/SKILL.md +674 -0
  550. package/packages/@monomind/cli/dist/src/browser/action-builder/analyzer.js +6 -13
  551. package/packages/@monomind/cli/dist/src/commands/browse-action.js +3 -2
  552. package/packages/@monomind/cli/dist/src/commands/doctor.js +17 -2
  553. package/packages/@monomind/cli/dist/src/commands/index.js +2 -0
  554. package/packages/@monomind/cli/dist/src/commands/sync.d.ts +10 -0
  555. package/packages/@monomind/cli/dist/src/commands/sync.js +100 -0
  556. package/packages/@monomind/cli/dist/src/init/executor.js +22 -0
  557. package/packages/@monomind/cli/dist/src/init/statusline-generator.js +45 -0
  558. package/packages/@monomind/cli/dist/src/sync/checker.d.ts +12 -0
  559. package/packages/@monomind/cli/dist/src/sync/checker.js +26 -0
  560. package/packages/@monomind/cli/package.json +2 -2
@@ -0,0 +1,457 @@
1
+ 'use strict';
2
+ // Extracted from hook-handler.cjs — receives hCtx from dispatcher.
3
+ // Behavioral equivalence verified: 133 routing tests pass post-extraction.
4
+ // hCtx (hook context) contains all shared state and utility functions:
5
+ // hCtx.hookInput, hCtx.toolInput, hCtx.toolName, hCtx.prompt, hCtx.args, hCtx.CWD
6
+ // hCtx.session, hCtx.router, hCtx.intelligence
7
+ // hCtx.isSimpleCommand — function defined in main(), passed via hCtx
8
+ // hCtx.getLearningService — async factory for LearningService singleton
9
+ // Utility fns: _recordRecentEdit, _findAffectedTests, _recordHookLatency,
10
+ // _getBudgetStatus, _injectCompactGraphMap, _maybeRebuildMonograph,
11
+ // _buildKnowledgeSearchFn, getMonographSuggestions, getMonographNeighbors,
12
+ // runWithTimeout, safeRequire, scanMicroAgentTriggers, _recordGraphTelemetry,
13
+ // _recordDecisionMarkers, _recordToolCall, _openMonographDb, fs, path
14
+ //
15
+ // NOTE: The 'route' handler has a local variable named 'ctx' (from intelligence.getContext).
16
+ // The dispatcher passes the hook context as 'hCtx' to avoid collision.
17
+
18
+ const path = require('path');
19
+ const fs = require('fs');
20
+
21
+ module.exports = {
22
+ handle: async function(hCtx) {
23
+ var prompt = hCtx.prompt;
24
+ var hookInput = hCtx.hookInput;
25
+ var router = hCtx.router;
26
+ var intelligence = hCtx.intelligence;
27
+ var CWD = hCtx.CWD;
28
+
29
+ // For slash commands and single-action invocations: skip routing panel output
30
+ // but still write last-route.json so the statusline reflects the current action.
31
+ if (hCtx.isSimpleCommand(prompt)) {
32
+ try {
33
+ var cmdLabel = (typeof prompt === 'string' && prompt.trim().startsWith('/'))
34
+ ? prompt.trim().split(/\s+/)[0] // e.g. "/ts"
35
+ : (hookInput.commandName || hookInput.command_name || 'command');
36
+ var routeDir = path.join(CWD, '.monomind');
37
+ fs.mkdirSync(routeDir, { recursive: true });
38
+ fs.writeFileSync(
39
+ path.join(routeDir, 'last-route.json'),
40
+ JSON.stringify({
41
+ agent: cmdLabel,
42
+ confidence: 1.0,
43
+ reason: 'predefined command — no routing needed',
44
+ semanticRouting: false,
45
+ updatedAt: new Date().toISOString(),
46
+ }),
47
+ 'utf-8'
48
+ );
49
+ } catch (e) { /* non-fatal */ }
50
+ return;
51
+ }
52
+
53
+ if (intelligence && intelligence.getContext) {
54
+ try {
55
+ const ctx = intelligence.getContext(prompt);
56
+ if (ctx) console.log(ctx);
57
+ } catch (e) { /* non-fatal */ }
58
+ }
59
+ if (router && (router.routeTaskSemantic || router.routeTask)) {
60
+ const routeFn = router.routeTaskSemantic || router.routeTask;
61
+ var result = await Promise.resolve(routeFn(prompt));
62
+
63
+ // Graph-fallback override: when the router picked a low-confidence
64
+ // non-dev specialist (marketing slugs etc) but monograph has a strong
65
+ // graph match for the prompt, derive the agent from the top file's
66
+ // label instead. Stops "improve the system" → China E-Commerce.
67
+ try {
68
+ // Don't override when the prompt has obvious non-dev keywords —
69
+ // marketing/sales/finance asks SHOULD route to those specialists.
70
+ var nonDevPrompt = /\b(marketing|advertis|seo|tiktok|instagram|linkedin|sales|customer|brand|blog post|content strategy|copy(?:writ|writing)|pitch|investor|hr|recruit|legal|compliance|tax|invoice|accounting|onboarding|design syst|figma|user research|persona)\b/i.test(prompt);
71
+
72
+ var devAgents = /^(coder|tester|reviewer|planner|researcher|system-architect|backend-dev|backend-architect|mobile-dev|ml-developer|cicd-engineer|api-docs|code-analyzer|production-validator|Technical Writer)$/i;
73
+ var pickedDev = devAgents.test(String(result.agent || '').trim()) ||
74
+ devAgents.test(String(result.agentSlug || '').trim());
75
+
76
+ var resConf = (result.confidence != null ? result.confidence : 0);
77
+ var resReason = String(result.reason || '');
78
+ var fromKeywordStage = resReason.indexOf('Keyword 2-stage') !== -1;
79
+ var promptIsDevish = /\b(develop(?:ment|er)?|routing|improve|refactor|fix|bug|optimi[sz]e|implement|build|debug|deploy|test|feature|system|performance|architecture|memory|hook|graph|statusline|monograph|api|cli|skill|hooks|agent|workflow|init|module|package|registry|server|client|route|handler|localhost|dashboard|sidebar|layout|component|function|class|config|port|script|parse|compile|lint|build)\b/i.test(prompt);
80
+
81
+ // Align with the 90% primary-panel threshold: any non-dev pick below
82
+ // 90% confidence gets overridden via the graph, unless the prompt
83
+ // explicitly uses non-dev domain language (nonDevPrompt guard).
84
+ var shouldOverride = !nonDevPrompt && (
85
+ (!pickedDev && resConf < 0.90) ||
86
+ (fromKeywordStage && promptIsDevish)
87
+ );
88
+ if (shouldOverride) {
89
+ var topGraph = hCtx.getMonographSuggestions(prompt, 1)[0];
90
+ if (topGraph) {
91
+ var agent = 'coder';
92
+ var file = (topGraph.file || '').toLowerCase();
93
+ // Test files
94
+ if (/\.(test|spec)\./.test(file) || file.includes('__tests__')) agent = 'tester';
95
+ // Architecture/system docs → architect
96
+ else if (/(architect|adr-|design-doc|rfc-)/.test(file)) agent = 'system-architect';
97
+ // Pure docs → tech writer
98
+ else if (file.endsWith('readme.md') || file.startsWith('docs/') || /\/docs\//.test(file)) agent = 'Technical Writer';
99
+ // Other .md (skills, agents, configs) → coder (they're code-adjacent)
100
+ else if (file.endsWith('.md')) agent = 'coder';
101
+ // Class/Interface → architect
102
+ else if (topGraph.label === 'Class' || topGraph.label === 'Interface') agent = 'system-architect';
103
+ // Functions, files, methods → coder
104
+ else agent = 'coder';
105
+ // Scale confidence by graph degree: well-connected nodes are stronger anchors.
106
+ var topDeg = topGraph.deg || 0;
107
+ var graphConf = topDeg > 30 ? 0.80 : (topDeg > 10 ? 0.75 : 0.70);
108
+ result = Object.assign({}, result, {
109
+ agent: agent,
110
+ agentSlug: agent,
111
+ confidence: graphConf,
112
+ reason: 'Graph fallback: top file ' + (topGraph.name || '').substring(0, 30) + ' [' + topGraph.label + '] deg=' + topDeg,
113
+ specificAgents: [],
114
+ extrasMatches: [],
115
+ });
116
+ }
117
+ }
118
+ } catch (e) {}
119
+
120
+ var output = [];
121
+ // Skip the noisy "[INFO] Routing task: ..." prefix — it repeats the user's
122
+ // own words back and adds token overhead without helping Claude.
123
+ // Routing panel strategy:
124
+ // conf >= 0.90 → show primary recommendation (router is confident, trust it)
125
+ // conf < 0.90 → show category picker so Claude uses its own context to
126
+ // pick the right agent category + agent from a menu.
127
+ // Specific-agent panel is suppressed (category menu replaces it).
128
+ var conf = result.confidence != null ? result.confidence : 0;
129
+ var promptShort = (prompt || '').trim().length < 60;
130
+ var lowConf = conf < 0.70;
131
+ var suppressPanel = lowConf && promptShort;
132
+
133
+ // Agent category menu — shown when conf < 0.90 so Claude picks with context.
134
+ var AGENT_CATEGORIES = [
135
+ { label: 'CORE', agents: 'coder · reviewer · tester · planner · researcher' },
136
+ { label: 'BACKEND', agents: 'backend-dev · Backend Architect · DB Optimizer' },
137
+ { label: 'FRONTEND', agents: 'Frontend Developer · mobile-dev' },
138
+ { label: 'ARCH', agents: 'Software Architect · system-architect' },
139
+ { label: 'SECURITY', agents: 'Security Engineer · security-architect' },
140
+ { label: 'AI/ML', agents: 'AI Engineer · ml-developer · Data Engineer' },
141
+ { label: 'DEVOPS', agents: 'DevOps Automator · SRE · cicd-engineer' },
142
+ { label: 'DOCS', agents: 'Technical Writer · api-docs' },
143
+ { divider: 'Non-Coding Agents' },
144
+ { label: 'PRODUCT', agents: 'Product Manager · Launch Strategist · CRO Spec.' },
145
+ { label: 'MARKETING', agents: 'Content Creator · SEO Specialist · Growth Hacker' },
146
+ { label: 'SOCIAL', agents: 'TikTok · LinkedIn · Twitter · Instagram Strat.' },
147
+ { label: 'SALES', agents: 'Deal Strategist · Sales Coach · Outbound Strat.' },
148
+ { label: 'BUSINESS', agents: 'Finance Tracker · Legal Compliance · Analytics' },
149
+ { label: 'DESIGN', agents: 'Monodesign (UI/UX · brand · CSS · animation)' },
150
+ ];
151
+
152
+ if (conf >= 0.90) {
153
+ output.push('+------------- monomind | Primary Recommendation --------------+');
154
+ output.push('| Agent: ' + (result.agent || 'unknown').substring(0, 54).padEnd(54) + '|');
155
+ output.push('| Confidence: ' + ((result.confidence != null ? (result.confidence * 100).toFixed(1) : '?') + '%').padEnd(49) + '|');
156
+ output.push('| Reason: ' + (result.reason || '').substring(0, 53).padEnd(53) + '|');
157
+ output.push('+--------------------------------------------------------------+');
158
+ } else if (!suppressPanel) {
159
+ output.push('+------- monomind | Agent Category Picker ---------------------+');
160
+ output.push('| ' + ('Conf: ' + (conf * 100).toFixed(0) + '% — router uncertain. YOU choose using context.').padEnd(60) + ' |');
161
+ output.push('+--------------------------------------------------------------+');
162
+ AGENT_CATEGORIES.forEach(function(cat) {
163
+ if (cat.divider) {
164
+ var d = '- ' + cat.divider + ' ';
165
+ output.push('|' + d.padEnd(31, '-') + ''.padEnd(31, '-') + '|');
166
+ } else {
167
+ output.push('| ' + cat.label.padEnd(10) + cat.agents.substring(0, 50).padEnd(50) + ' |');
168
+ }
169
+ });
170
+ output.push('+--------------------------------------------------------------+');
171
+ output.push('| INSTRUCTION: Read your conversation context. Identify the |');
172
+ output.push('| best-fit category above, then pick one agent from it and |');
173
+ output.push('| spawn it via Task({ subagent_type: "name" }). If no agent |');
174
+ output.push('| fits the task, skip and proceed directly. Do this now. |');
175
+ output.push('+--------------------------------------------------------------+');
176
+ }
177
+
178
+ // ── Persist routing result for statusline display ─────────────
179
+ try {
180
+ var routeDir = path.join(CWD, '.monomind');
181
+ fs.mkdirSync(routeDir, { recursive: true });
182
+ // When confidence < 90% and the router picked a non-dev agent without
183
+ // a graph override, don't persist the wrong specialist — show "AI" instead.
184
+ var confForPersist = result.confidence != null ? result.confidence : 0;
185
+ var devAgentsForPersist = /^(coder|tester|reviewer|planner|researcher|system-architect|backend-dev|backend-architect|mobile-dev|ml-developer|cicd-engineer|api-docs|code-analyzer|production-validator|Technical Writer|Software Architect|Frontend Developer|AI Engineer|Data Engineer|Security Engineer|DevOps Automator|SRE)$/i;
186
+ var persistedIsNonDev = !devAgentsForPersist.test(String(result.agent || '').trim());
187
+ var resolvedAgent = result.agent;
188
+ var resolvedFromExtras = false;
189
+ if (!resolvedAgent || resolvedAgent === 'extras') {
190
+ var topExtra = result.extrasMatches && result.extrasMatches[0];
191
+ resolvedAgent = topExtra ? topExtra.name : 'Specialist Agent';
192
+ resolvedFromExtras = true;
193
+ }
194
+ // If router was uncertain (< 90%) and picked a non-dev specialist,
195
+ // show "AI selecting" in statusline rather than the wrong agent.
196
+ // Exception: when agent was explicitly 'extras' and we resolved from extrasMatches,
197
+ // trust that resolution — the domain specialist was explicitly matched.
198
+ if (!resolvedFromExtras && confForPersist < 0.90 && persistedIsNonDev && !String(result.reason || '').startsWith('Graph fallback')) {
199
+ resolvedAgent = 'AI selecting';
200
+ }
201
+ var routePayload = {
202
+ agent: resolvedAgent,
203
+ agentSlug: result.agentSlug || null,
204
+ confidence: result.confidence,
205
+ reason: result.reason,
206
+ semanticRouting: result.semanticRouting || false,
207
+ llmRouting: result.llmRouting || false,
208
+ updatedAt: new Date().toISOString(),
209
+ };
210
+ if (result.extrasMatches && result.extrasMatches.length > 0) {
211
+ routePayload.extrasMatches = result.extrasMatches.map(function(e) {
212
+ return { name: e.name, slug: e.slug, category: e.category };
213
+ });
214
+ }
215
+ fs.writeFileSync(
216
+ path.join(routeDir, 'last-route.json'),
217
+ JSON.stringify(routePayload),
218
+ 'utf-8'
219
+ );
220
+ } catch (e) { /* non-fatal */ }
221
+
222
+ // ── Dev skill suggestions ──────────────────────────────────────
223
+ var matches = result.skillMatches || [];
224
+ if (matches.length > 0) {
225
+ // Check for high-confidence auto-invoke: if top skill scored >= 3 keyword
226
+ // hits and is the dominant match, auto-invoke instead of just suggesting
227
+ var topMatch = matches[0];
228
+ var autoInvoke = false;
229
+ if (topMatch && topMatch.score >= 3 && matches.length <= 2) {
230
+ autoInvoke = true;
231
+ } else if (topMatch && topMatch.score >= 2 && matches.length === 1 && (result.confidence ?? 0) < 0.7) {
232
+ // Single strong skill match with weak agent routing = skill should take over
233
+ autoInvoke = true;
234
+ }
235
+
236
+ if (autoInvoke) {
237
+ output.push('');
238
+ output.push('+======== SKILL AUTO-ACTIVATED (high confidence match) ========+');
239
+ output.push('| ' + topMatch.invoke.substring(0, 61).padEnd(61) + '|');
240
+ output.push('| INSTRUCTION: Invoke ' + topMatch.invoke.substring(0, 41).padEnd(41) + '|');
241
+ output.push('| BEFORE responding. This skill matched with very high |');
242
+ output.push('| confidence — do not skip it. |');
243
+ output.push('+==============================================================+');
244
+ } else {
245
+ output.push('');
246
+ if ((result.confidence ?? 0) < 0.8) {
247
+ output.push('+----------- Skill Suggestions (pick one if relevant) ---------+');
248
+ output.push('| No strong primary match — here are the best skill candidates |');
249
+ } else {
250
+ output.push('+----------- Matching Skills (invoke via Skill tool) ----------+');
251
+ }
252
+ matches.forEach(function(m, i) {
253
+ var label = (i + 1) + '. ' + m.skill;
254
+ var desc = (m.description || '').substring(0, 30);
255
+ var line = '| ' + label.substring(0, 30).padEnd(30) + desc.padEnd(30) + ' |';
256
+ output.push(line);
257
+ output.push('| invoke: ' + m.invoke.substring(0, 51).padEnd(51) + '|');
258
+ });
259
+ output.push('+--------------------------------------------------------------+');
260
+ if ((result.confidence ?? 0) < 0.8) {
261
+ output.push('| To use a skill: call Skill("skill-name") before responding. |');
262
+ output.push('+--------------------------------------------------------------+');
263
+ }
264
+ }
265
+ }
266
+
267
+ // ── Specific agent panel ──────────────────────────────────────────────────
268
+ // Skip entirely on suppressed (low-confidence + short) prompts.
269
+ var specificAgents = result.specificAgents || [];
270
+ if (specificAgents.length > 0 && !suppressPanel && conf >= 0.90) {
271
+ output.push('');
272
+ var saHdr = '------- Specific Agents (' + specificAgents.length + ' available) ';
273
+ output.push('+' + saHdr + '-'.repeat(Math.max(1, 62 - saHdr.length)) + '+');
274
+ specificAgents.forEach(function(a, i) {
275
+ var label = (i + 1) + '. ' + a.label;
276
+ var note = (a.note || '').substring(0, 26);
277
+ output.push('| ' + label.substring(0, 33).padEnd(33) + note.padEnd(27) + ' |');
278
+ if (a.slug) {
279
+ output.push('| slug: ' + a.slug.substring(0, 52).padEnd(52) + ' |');
280
+ }
281
+ });
282
+ output.push('+--------------------------------------------------------------+');
283
+ output.push('| Use: Task({ subagent_type: "<slug>" }) or /specialagent |');
284
+ output.push('+--------------------------------------------------------------+');
285
+ }
286
+
287
+ // ── Specialist agents (non-dev domain) — only shown when specificAgents panel wasn't shown ──
288
+ var extras = result.extrasMatches || [];
289
+ var specificAgentsShown = (result.specificAgents || []).length > 0 && conf >= 0.90;
290
+ if (extras.length > 0 && !specificAgentsShown && !suppressPanel) {
291
+ output.push('');
292
+ var spHdr = '------- Specialist Agents (' + extras.length + ' matched) ';
293
+ output.push('+' + spHdr + '-'.repeat(Math.max(1, 62 - spHdr.length)) + '+');
294
+ extras.slice(0, 5).forEach(function(e, i) {
295
+ var label = (i + 1) + '. ' + e.name;
296
+ var cat = '[' + e.category + ']';
297
+ output.push('| ' + label.substring(0, 44).padEnd(44) + cat.substring(0, 16).padEnd(16) + ' |');
298
+ output.push('| slug: ' + e.slug.substring(0, 52).padEnd(52) + ' |');
299
+ });
300
+ output.push('+--------------------------------------------------------------+');
301
+ output.push('| Use: Task({ subagent_type: "<slug>" }) or /specialagent |');
302
+ output.push('+--------------------------------------------------------------+');
303
+ }
304
+
305
+ // ── MicroAgent Trigger Scan (Task 32) ──────────────────────────────
306
+ try {
307
+ var triggerResult = hCtx.scanMicroAgentTriggers(typeof prompt === 'string' ? prompt : '');
308
+ if (triggerResult.matches.length > 0) {
309
+ output.push('');
310
+ if (triggerResult.takeoverAgent) {
311
+ var tAgent = triggerResult.takeoverAgent;
312
+ var tKw = triggerResult.matches[0].matchedText;
313
+ output.push('+============= MicroAgent TAKEOVER Detected ===================+');
314
+ output.push('| Specialist: ' + tAgent.substring(0, 49).padEnd(49) + '|');
315
+ output.push('| Keyword: ' + ('"' + tKw + '"').substring(0, 49).padEnd(49) + '|');
316
+ output.push('| Recommended: use this specialist instead of primary agent. |');
317
+ output.push('+==============================================================+');
318
+ } else {
319
+ output.push('+------- MicroAgent Specialists Triggered ---------------------+');
320
+ triggerResult.matches.forEach(function(m) {
321
+ var slug = m.agentSlug.substring(0, 37).padEnd(37);
322
+ var kw = ('(match: "' + m.matchedText + '")').substring(0, 21).padEnd(21);
323
+ output.push('| + ' + slug + kw + ' |');
324
+ });
325
+ output.push('+--------------------------------------------------------------+');
326
+ }
327
+ // Persist trigger matches alongside route result
328
+ try {
329
+ var routeFile = path.join(CWD, '.monomind', 'last-route.json');
330
+ var routeSt = fs.statSync(routeFile);
331
+ if (routeSt.size <= 1024 * 1024) {
332
+ var existing = JSON.parse(fs.readFileSync(routeFile, 'utf-8'));
333
+ existing.microAgents = { injectAgents: triggerResult.injectAgents || [], takeoverAgent: triggerResult.takeoverAgent || null };
334
+ fs.writeFileSync(routeFile, JSON.stringify(existing), 'utf-8');
335
+ }
336
+ } catch (e) {}
337
+ }
338
+ } catch (e) { /* non-fatal */ }
339
+
340
+ console.log(output.join('\n'));
341
+
342
+ // Record any decision markers in this prompt (auto-ADR pipeline).
343
+ try { hCtx._recordDecisionMarkers(prompt); } catch (e) {}
344
+
345
+ // Cost budget — emit amber/red banner when approaching limit.
346
+ try {
347
+ var budget = hCtx._getBudgetStatus();
348
+ if (budget && budget.alert) {
349
+ var tunedNote = budget.autoTuned ? ' (auto-tuned)' : '';
350
+ if (budget.spike && !budget.breached) {
351
+ console.log('[BUDGET_SPIKE] Today $' + budget.todayCost.toFixed(2) + ' is >2x your rolling daily avg. Unusual spend — review .monomind/metrics/token-summary.json.');
352
+ } else if (budget.breached) {
353
+ console.log('[BUDGET_BREACHED] Daily $' + budget.todayCost.toFixed(2) + '/$' + budget.dailyLimit + ' (' + budget.dailyPct + '%) · Monthly $' + budget.monthCost.toFixed(2) + '/$' + budget.monthlyLimit + ' (' + budget.monthlyPct + '%)' + tunedNote + '. Switch to Haiku with /model haiku or edit .monomind/budget.json.');
354
+ } else {
355
+ console.log('[BUDGET_ALERT] Daily ' + budget.dailyPct + '% of $' + budget.dailyLimit + ' · Monthly ' + budget.monthlyPct + '% of $' + budget.monthlyLimit + tunedNote + '.');
356
+ }
357
+ }
358
+ } catch (e) {}
359
+
360
+ // Inject monograph hint for complex tasks.
361
+ // Source of truth is .monomind/monograph.db (SQLite). Legacy stats.json
362
+ // is no longer written by the build, so it is checked only as a fallback.
363
+ try {
364
+ var monographDb = path.join(CWD, '.monomind', 'monograph.db');
365
+ var legacyStats = path.join(CWD, '.monomind', 'graph', 'stats.json');
366
+ var nodeCount = 0;
367
+ if (fs.existsSync(monographDb)) {
368
+ try {
369
+ var hintDb = hCtx._openMonographDb();
370
+ if (hintDb) {
371
+ nodeCount = hintDb.prepare('SELECT COUNT(*) AS c FROM nodes').get().c;
372
+ }
373
+ } catch (e) { /* ignore — fall back to legacy */ }
374
+ }
375
+ if (nodeCount === 0 && fs.existsSync(legacyStats)) {
376
+ try {
377
+ var legacyStatsSt = fs.statSync(legacyStats);
378
+ if (legacyStatsSt.size <= 1024 * 1024) {
379
+ var gStats = JSON.parse(fs.readFileSync(legacyStats, 'utf-8'));
380
+ nodeCount = gStats.nodes || 0;
381
+ }
382
+ } catch (e) { /* ignore */ }
383
+ }
384
+ if (nodeCount > 100) {
385
+ // Pre-resolve top-3 relevant files for the user's prompt — the LLM
386
+ // sees the answer inline instead of being told to call a tool.
387
+ // 3 is enough signal; more files inflate token cost on every prompt.
388
+ var suggestions = hCtx.getMonographSuggestions(prompt, 3);
389
+
390
+ // Boost recently-edited files to the top of pre-resolve suggestions.
391
+ // Even when the FTS index hasn't caught up to the latest edits, the
392
+ // LLM should see the files it just modified as the primary context.
393
+ try {
394
+ var recentEditsForRoute = hCtx._getRecentEdits();
395
+ if (recentEditsForRoute.length > 0) {
396
+ // Extract prompt keywords for relevance gating
397
+ var promptWords = (prompt || '').toLowerCase().match(/[a-z][a-z0-9_-]{2,}/g) || [];
398
+ var promptWordSet = {};
399
+ for (var pw = 0; pw < promptWords.length; pw++) promptWordSet[promptWords[pw]] = 1;
400
+
401
+ var existingFiles = {};
402
+ for (var se = 0; se < suggestions.length; se++) existingFiles[suggestions[se].file || ''] = 1;
403
+
404
+ var editBoosts = [];
405
+ for (var re = 0; re < recentEditsForRoute.length && editBoosts.length < 2; re++) {
406
+ var reFile = recentEditsForRoute[re].file;
407
+ // Skip if already in suggestions
408
+ if (existingFiles[reFile]) continue;
409
+ var reName = path.basename(reFile, path.extname(reFile)).toLowerCase();
410
+ // Only boost if filename shares a keyword with the prompt OR the edit is very recent (<3 min)
411
+ var veryRecent = (Date.now() - recentEditsForRoute[re].editedAt) < 3 * 60 * 1000;
412
+ var editMatches = promptWordSet[reName] || veryRecent;
413
+ if (editMatches) {
414
+ editBoosts.push({ name: path.basename(reFile), label: 'File', file: reFile, deg: 0, _editBoost: true });
415
+ }
416
+ }
417
+ if (editBoosts.length > 0) {
418
+ suggestions = editBoosts.concat(suggestions).slice(0, 3);
419
+ }
420
+ }
421
+ } catch (e) { /* non-fatal */ }
422
+
423
+ if (suggestions.length > 0) {
424
+ // Compact single-line format: "[MONOGRAPH] N nodes. Top files: name [Label] — path:line, ..."
425
+ // Matches the agent-start-handler pattern — keeps per-prompt token cost minimal.
426
+ var hintParts = suggestions.map(function(s) {
427
+ var editTag = s._editBoost ? ' ✎' : '';
428
+ var fileLoc = (s.file || '');
429
+ if (fileLoc && s.startLine != null) fileLoc = fileLoc + ':' + s.startLine;
430
+ return s.name + ' [' + s.label + '] — ' + fileLoc + editTag;
431
+ });
432
+ console.log('[MONOGRAPH] ' + nodeCount + ' nodes. Top files: ' + hintParts.join(' · '));
433
+ hCtx._recordGraphTelemetry('preresolve_hit');
434
+ } else {
435
+ console.log('[MONOGRAPH] ' + nodeCount + ' nodes. Call mcp__monomind__monograph_suggest to find relevant files.');
436
+ hCtx._recordGraphTelemetry('preresolve_miss');
437
+ }
438
+ }
439
+ } catch(e) {}
440
+
441
+ // Swarm mode selection is available on-demand via /mastermind slash command.
442
+ } else {
443
+ console.log('[INFO] Router not available, using default routing');
444
+ }
445
+
446
+ // Task 22: TeamRoutingModes — only log when an explicit swarm config is present
447
+ try {
448
+ var swarmCfgPath = path.join(CWD, '.monomind', 'swarm-config.json');
449
+ if (fs.existsSync(swarmCfgPath)) {
450
+ var swarmCfgSt = fs.statSync(swarmCfgPath);
451
+ var topology22 = swarmCfgSt.size <= 1024 * 1024 ? (JSON.parse(fs.readFileSync(swarmCfgPath, 'utf-8')).topology || 'mesh') : 'mesh';
452
+ var mode22 = topology22 === 'hierarchical' ? 'route' : 'coordinate';
453
+ console.log('[ROUTING_MODE] topology=' + topology22 + ' → mode=' + mode22);
454
+ }
455
+ } catch (e) { /* non-fatal */ }
456
+ }
457
+ };
@@ -0,0 +1,174 @@
1
+ 'use strict';
2
+ // Extracted from hook-handler.cjs — receives hCtx from dispatcher.
3
+ // Handles 'session-end' hook event.
4
+ // See route-handler.cjs for full hCtx field documentation.
5
+
6
+ const path = require('path');
7
+ const fs = require('fs');
8
+
9
+ module.exports = {
10
+ handleEnd: async function(hCtx) {
11
+ var hookInput = hCtx.hookInput;
12
+ var intelligence = hCtx.intelligence;
13
+ var session = hCtx.session;
14
+ var CWD = hCtx.CWD;
15
+
16
+ // Check if daemon is holding the consolidation lock — if so, skip synchronous consolidation
17
+ // to avoid duplicate work and potential index corruption
18
+ var consolidationLockPath = path.join(CWD, '.monomind', 'consolidation.lock');
19
+ var daemonHoldsLock = fs.existsSync(consolidationLockPath);
20
+
21
+ if (daemonHoldsLock) {
22
+ console.log('[SESSION] Skipping consolidation — daemon holds lock');
23
+ }
24
+
25
+ // Consolidate intelligence (with timeout — #1530)
26
+ if (!daemonHoldsLock && intelligence && intelligence.consolidate) {
27
+ var consResult = await hCtx.runWithTimeout(function() { return intelligence.consolidate(); }, 'intelligence.consolidate()');
28
+ if (consResult && consResult.entries > 0) {
29
+ var msg = '[INTELLIGENCE] Consolidated: ' + consResult.entries + ' entries, ' + consResult.edges + ' edges';
30
+ if (consResult.newEntries > 0) msg += ', ' + consResult.newEntries + ' new';
31
+ msg += ', PageRank recomputed';
32
+ console.log(msg);
33
+ }
34
+ }
35
+ try {
36
+ if (session && session.end) {
37
+ session.end();
38
+ } else {
39
+ console.log('[OK] Session ended');
40
+ }
41
+ } catch (e) { console.log('[WARN] Session end failed: ' + e.message); }
42
+
43
+ // ── Routing Feedback Loop (SE-001) ────────────────────────────────────
44
+ // Persist routing accuracy feedback so the router improves over sessions.
45
+ // sessionSuccess is derived from intelligence-outcomes.jsonl entries written
46
+ // during this session (last 30 minutes). A session is marked failed when the
47
+ // majority of feedback() calls carried success=false in that window.
48
+ try {
49
+ var feedbackPath = path.join(CWD, '.monomind', 'routing-feedback.jsonl');
50
+ var lastRoutePath = path.join(CWD, '.monomind', 'last-route.json');
51
+ var MAX_ROUTE = 64 * 1024; // 64 KiB
52
+ if (fs.existsSync(lastRoutePath) && (function() { try { return fs.statSync(lastRoutePath).size <= MAX_ROUTE; } catch(_) { return false; } }())) {
53
+ var lastRoute = JSON.parse(fs.readFileSync(lastRoutePath, 'utf-8'));
54
+
55
+ // Derive sessionSuccess from intelligence-outcomes.jsonl
56
+ var sessionSuccess = true; // optimistic default when no signal exists
57
+ try {
58
+ var outcomesPath = path.join(CWD, '.monomind', 'intelligence-outcomes.jsonl');
59
+ var MAX_OUTCOMES = 512 * 1024; // 512 KiB
60
+ if (fs.existsSync(outcomesPath) && (function() { try { return fs.statSync(outcomesPath).size <= MAX_OUTCOMES; } catch(_) { return false; } }())) {
61
+ var windowMs = 30 * 60 * 1000; // 30-minute session window
62
+ var cutoff = Date.now() - windowMs;
63
+ var outcomeLines = fs.readFileSync(outcomesPath, 'utf-8').trim().split('\n').filter(Boolean);
64
+ var recent = outcomeLines.map(function(l) {
65
+ try { return JSON.parse(l); } catch { return null; }
66
+ }).filter(function(e) { return e && e.ts && e.ts >= cutoff; });
67
+ if (recent.length > 0) {
68
+ var failures = recent.filter(function(e) { return e.success === false; }).length;
69
+ // Majority-vote: session fails only if more than half the recent signals are failures
70
+ sessionSuccess = failures / recent.length < 0.5;
71
+ }
72
+ }
73
+ } catch (e) { /* non-critical — keep optimistic default */ }
74
+
75
+ if (intelligence && intelligence.feedback) {
76
+ try { intelligence.feedback(sessionSuccess); } catch (e) { /* non-fatal */ }
77
+ }
78
+ var feedbackEntry = {
79
+ timestamp: new Date().toISOString(),
80
+ suggestedAgent: lastRoute.agent,
81
+ confidence: lastRoute.confidence,
82
+ sessionId: String(hookInput.sessionId || hookInput.session_id || '').slice(0, 128),
83
+ intelligenceFeedback: sessionSuccess,
84
+ };
85
+ fs.appendFileSync(feedbackPath, JSON.stringify(feedbackEntry) + '\n', 'utf-8');
86
+ // Rotate: keep last 1000 lines to prevent unbounded growth
87
+ try {
88
+ var MAX_FEEDBACK = 512 * 1024; // 512 KiB
89
+ if (fs.existsSync(feedbackPath) && fs.statSync(feedbackPath).size > MAX_FEEDBACK) {
90
+ // File too large — emergency trim without full read
91
+ throw new Error('skip-rotation');
92
+ }
93
+ var raw = fs.readFileSync(feedbackPath, 'utf-8');
94
+ var lines = raw.split('\n').filter(Boolean);
95
+ if (lines.length > 1000) {
96
+ fs.writeFileSync(feedbackPath, lines.slice(-1000).join('\n') + '\n', 'utf-8');
97
+ }
98
+ } catch (e2) { /* rotation is best-effort */ }
99
+ }
100
+ } catch (e) { /* non-fatal */ }
101
+
102
+ // Memory Palace tombstone writes removed — redundant with raw session JSONL
103
+
104
+ // ── Learning Service Auto-Consolidation ─────────────────────────────
105
+ // Consolidate learned patterns from short-term to long-term storage.
106
+ // Uses module-level singleton (getLearningService) so the DB is not
107
+ // reopened on every session-end — state accumulated during the session
108
+ // is preserved and consolidated in a single pass.
109
+ if (!daemonHoldsLock) {
110
+ try {
111
+ var ls = await hCtx.getLearningService();
112
+ if (ls && ls.consolidate) {
113
+ var lResult = await hCtx.runWithTimeout(function() { return ls.consolidate(); }, 'learning.consolidate()');
114
+ if (lResult && lResult.promoted > 0) {
115
+ console.log('[LEARNING] Consolidated: ' + lResult.promoted + ' patterns promoted to long-term');
116
+ }
117
+ }
118
+ if (ls && ls.promoteEpisodic) {
119
+ try {
120
+ var promResult = await hCtx.runWithTimeout(function() { return ls.promoteEpisodic(); }, 'learning.promoteEpisodic()');
121
+ if (promResult && promResult.promoted > 0) {
122
+ console.log('[LEARNING] Promoted ' + promResult.promoted + ' episodic patterns to semantic memory');
123
+ }
124
+ } catch (e) { /* non-fatal */ }
125
+ }
126
+ } catch (e) { /* non-fatal — learning-service may need better-sqlite3 */ }
127
+ }
128
+
129
+ // ── Context Persistence Auto-Archive ─────────────────────────────────
130
+ // Archive conversation context so it survives compaction and new sessions
131
+ try {
132
+ var cpHook = await import('file://' + path.join(__dirname, '..', 'context-persistence-hook.mjs'));
133
+ if (cpHook && cpHook.archive) {
134
+ await hCtx.runWithTimeout(function() { return cpHook.archive(); }, 'context-persistence.archive()');
135
+ console.log('[CONTEXT_PERSIST] Session transcript archived');
136
+ } else if (cpHook && cpHook.default && cpHook.default.archive) {
137
+ await hCtx.runWithTimeout(function() { return cpHook.default.archive(); }, 'context-persistence.archive()');
138
+ console.log('[CONTEXT_PERSIST] Session transcript archived');
139
+ }
140
+ } catch (e) { /* non-fatal — context-persistence may not export archive() */ }
141
+
142
+ // ── Worker Queue Cleanup ─────────────────────────────────────────────
143
+ // Process and clean up any pending worker dispatch files
144
+ try {
145
+ var dispatchDir = path.join(CWD, '.monomind', 'worker-dispatch');
146
+ if (fs.existsSync(dispatchDir)) {
147
+ var pending = fs.readdirSync(dispatchDir).filter(function(f) { return f.startsWith('pending-'); }).slice(0, 500);
148
+ if (pending.length > 0) {
149
+ console.log('[WORKER_CLEANUP] ' + pending.length + ' worker dispatch(es) pending from this session');
150
+ }
151
+ // Move to processed
152
+ var processedDir = path.join(dispatchDir, 'processed');
153
+ fs.mkdirSync(processedDir, { recursive: true });
154
+ pending.forEach(function(f) {
155
+ try {
156
+ fs.renameSync(path.join(dispatchDir, f), path.join(processedDir, f));
157
+ } catch (e) { /* ignore */ }
158
+ });
159
+ // Trim processed/ to last 200 files to prevent unbounded growth
160
+ try {
161
+ var processedFiles = fs.readdirSync(processedDir)
162
+ .filter(function(f) { return f.startsWith('pending-'); })
163
+ .map(function(f) { var fp = path.join(processedDir, f); var mt = 0; try { mt = fs.statSync(fp).mtimeMs; } catch(e2){} return { f: f, mt: mt }; })
164
+ .sort(function(a, b) { return a.mt - b.mt; });
165
+ if (processedFiles.length > 200) {
166
+ processedFiles.slice(0, processedFiles.length - 200).forEach(function(item) {
167
+ try { fs.unlinkSync(path.join(processedDir, item.f)); } catch (e2) { /* ignore */ }
168
+ });
169
+ }
170
+ } catch (e2) { /* non-fatal */ }
171
+ }
172
+ } catch (e) { /* non-fatal */ }
173
+ }
174
+ };