@monoes/monomindcli 1.10.47 → 1.10.55

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 (573) hide show
  1. package/.claude/agents/optimization/benchmark-suite.md +2 -0
  2. package/.claude/agents/optimization/load-balancer.md +2 -0
  3. package/.claude/agents/optimization/performance-monitor.md +2 -0
  4. package/.claude/agents/optimization/resource-allocator.md +3 -1
  5. package/.claude/agents/optimization/topology-optimizer.md +2 -0
  6. package/.claude/commands/mastermind/_repeat.md +21 -0
  7. package/.claude/commands/mastermind/_taskfile.md +235 -0
  8. package/.claude/commands/mastermind/adr.md +11 -0
  9. package/.claude/commands/mastermind/approve.md +94 -0
  10. package/.claude/commands/mastermind/autodev.md +32 -0
  11. package/.claude/commands/mastermind/budget.md +7 -0
  12. package/.claude/commands/mastermind/code-review.md +317 -0
  13. package/.claude/commands/mastermind/createorg.md +40 -1
  14. package/.claude/commands/mastermind/createtask.md +383 -0
  15. package/.claude/commands/mastermind/debug.md +22 -0
  16. package/.claude/commands/mastermind/design.md +20 -0
  17. package/.claude/commands/mastermind/do.md +526 -0
  18. package/.claude/commands/mastermind/execute.md +20 -0
  19. package/.claude/commands/mastermind/finish.md +20 -0
  20. package/.claude/commands/mastermind/graph-status.md +7 -0
  21. package/.claude/commands/mastermind/help.md +118 -0
  22. package/.claude/commands/mastermind/ideate.md +261 -0
  23. package/.claude/commands/mastermind/improve.md +345 -0
  24. package/.claude/commands/mastermind/loops.md +7 -0
  25. package/.claude/commands/mastermind/master.md +186 -6
  26. package/.claude/commands/mastermind/memory.md +230 -0
  27. package/.claude/commands/mastermind/plan.md +26 -0
  28. package/.claude/commands/mastermind/receive-review.md +20 -0
  29. package/.claude/commands/mastermind/repeat.md +257 -0
  30. package/.claude/commands/mastermind/runorg.md +3 -0
  31. package/.claude/commands/mastermind/skill-builder.md +20 -0
  32. package/.claude/commands/mastermind/specialagents.md +125 -0
  33. package/.claude/commands/mastermind/swarm.md +161 -0
  34. package/.claude/commands/mastermind/taskdev.md +26 -0
  35. package/.claude/commands/mastermind/tdd.md +22 -0
  36. package/.claude/commands/mastermind/techport.md +4 -0
  37. package/.claude/commands/mastermind/understand.md +139 -0
  38. package/.claude/commands/mastermind/verify.md +22 -0
  39. package/.claude/commands/mastermind/worktree.md +20 -0
  40. package/.claude/commands/monomind/do.md +52 -0
  41. package/.claude/commands/monomind/improve.md +2 -0
  42. package/.claude/helpers/handlers/graph-status-handler.cjs +2 -1
  43. package/.claude/helpers/handlers/route-handler.cjs +61 -11
  44. package/.claude/helpers/hook-handler.cjs +19 -0
  45. package/.claude/helpers/skill-registry.json +122 -51
  46. package/.claude/helpers/statusline.cjs +1 -1
  47. package/.claude/skills/agent-browser-testing/SKILL.md +522 -152
  48. package/.claude/skills/github-issue-triage/SKILL.md +354 -0
  49. package/.claude/skills/github-repo-recap/SKILL.md +207 -0
  50. package/.claude/skills/mastermind/_delegation.md +83 -0
  51. package/.claude/skills/mastermind/_protocol.md +14 -0
  52. package/.claude/skills/mastermind/approve.md +15 -7
  53. package/.claude/skills/mastermind/autodev.md +534 -0
  54. package/.claude/skills/mastermind/createorg.md +21 -5
  55. package/.claude/skills/mastermind/debug.md +232 -0
  56. package/.claude/skills/mastermind/design.md +187 -0
  57. package/.claude/skills/mastermind/execute.md +104 -0
  58. package/.claude/skills/mastermind/finish.md +251 -0
  59. package/.claude/skills/mastermind/plan.md +180 -0
  60. package/.claude/skills/mastermind/receive-review.md +213 -0
  61. package/.claude/skills/mastermind/runorg.md +23 -8
  62. package/.claude/skills/mastermind/skill-builder.md +274 -0
  63. package/.claude/skills/mastermind/taskdev.md +307 -0
  64. package/.claude/skills/mastermind/tdd.md +394 -0
  65. package/.claude/skills/mastermind/verify.md +196 -0
  66. package/.claude/skills/mastermind/worktree.md +160 -132
  67. package/README.md +320 -253
  68. package/dist/src/commands/analyze.d.ts.map +1 -1
  69. package/dist/src/commands/analyze.js +9 -2
  70. package/dist/src/commands/analyze.js.map +1 -1
  71. package/dist/src/commands/benchmark.js.map +1 -1
  72. package/dist/src/commands/completions.js +1 -1
  73. package/dist/src/commands/guidance.js +7 -7
  74. package/dist/src/commands/hooks.d.ts.map +1 -1
  75. package/dist/src/commands/hooks.js +16 -3
  76. package/dist/src/commands/hooks.js.map +1 -1
  77. package/dist/src/commands/index.d.ts +3 -2
  78. package/dist/src/commands/index.d.ts.map +1 -1
  79. package/dist/src/commands/index.js +7 -0
  80. package/dist/src/commands/index.js.map +1 -1
  81. package/dist/src/commands/init.d.ts.map +1 -1
  82. package/dist/src/commands/init.js +47 -13
  83. package/dist/src/commands/init.js.map +1 -1
  84. package/dist/src/commands/neural.d.ts.map +1 -1
  85. package/dist/src/commands/neural.js +100 -14
  86. package/dist/src/commands/neural.js.map +1 -1
  87. package/dist/src/commands/platforms.d.ts +11 -0
  88. package/dist/src/commands/platforms.d.ts.map +1 -0
  89. package/dist/src/commands/platforms.js +195 -0
  90. package/dist/src/commands/platforms.js.map +1 -0
  91. package/dist/src/commands/ruvector/backup.js.map +1 -1
  92. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  93. package/dist/src/commands/ruvector/init.js.map +1 -1
  94. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  95. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  96. package/dist/src/commands/ruvector/status.js.map +1 -1
  97. package/dist/src/commands/update.js +6 -6
  98. package/dist/src/init/executor.d.ts.map +1 -1
  99. package/dist/src/init/executor.js +28 -0
  100. package/dist/src/init/executor.js.map +1 -1
  101. package/dist/src/init/statusline-generator.js +1 -1
  102. package/dist/src/init/types.d.ts +1 -0
  103. package/dist/src/init/types.d.ts.map +1 -1
  104. package/dist/src/mcp-server.d.ts.map +1 -1
  105. package/dist/src/mcp-server.js +92 -0
  106. package/dist/src/mcp-server.js.map +1 -1
  107. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  108. package/dist/src/mcp-tools/hive-mind-tools.js +52 -0
  109. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  110. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  111. package/dist/src/mcp-tools/hooks-tools.js +106 -5
  112. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  113. package/dist/src/mcp-tools/index.d.ts +0 -5
  114. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  115. package/dist/src/mcp-tools/index.js +0 -5
  116. package/dist/src/mcp-tools/index.js.map +1 -1
  117. package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
  118. package/dist/src/mcp-tools/monograph-tools.js +507 -5587
  119. package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
  120. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
  121. package/dist/src/mcp-tools/neural-tools.js +64 -4
  122. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  123. package/dist/src/mcp-tools/security-tools.js +4 -4
  124. package/dist/src/memory/intelligence.d.ts +2 -2
  125. package/dist/src/memory/intelligence.d.ts.map +1 -1
  126. package/dist/src/memory/intelligence.js +108 -3
  127. package/dist/src/memory/intelligence.js.map +1 -1
  128. package/dist/src/memory/memory-bridge.js +1 -1
  129. package/dist/src/memory/memory-bridge.js.map +1 -1
  130. package/dist/src/memory/sona-optimizer.d.ts +1 -10
  131. package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
  132. package/dist/src/memory/sona-optimizer.js +0 -46
  133. package/dist/src/memory/sona-optimizer.js.map +1 -1
  134. package/dist/src/runtime/headless.js +3 -3
  135. package/dist/src/ruvector/diff-classifier.d.ts +0 -2
  136. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -1
  137. package/dist/src/ruvector/diff-classifier.js +2 -14
  138. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  139. package/dist/src/ruvector/index.d.ts +26 -9
  140. package/dist/src/ruvector/index.d.ts.map +1 -1
  141. package/dist/src/ruvector/index.js +3 -21
  142. package/dist/src/ruvector/index.js.map +1 -1
  143. package/dist/src/ruvector/ruvllm-wasm.js +2 -2
  144. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
  145. package/dist/src/types.d.ts +0 -15
  146. package/dist/src/types.d.ts.map +1 -1
  147. package/dist/src/types.js +0 -18
  148. package/dist/src/types.js.map +1 -1
  149. package/dist/src/ui/dashboard.html +8763 -9765
  150. package/dist/src/ui/data/agent-avatars.html +763 -0
  151. package/dist/src/ui/data/agent-avatars.json +966 -0
  152. package/dist/src/ui/data/avatars/account-strategist.svg +58 -0
  153. package/dist/src/ui/data/avatars/accounts-payable.svg +54 -0
  154. package/dist/src/ui/data/avatars/adaptive-coordinator.svg +55 -0
  155. package/dist/src/ui/data/avatars/adaptive-coordinator2.svg +54 -0
  156. package/dist/src/ui/data/avatars/ai-citation.svg +57 -0
  157. package/dist/src/ui/data/avatars/ai-engineer.svg +61 -0
  158. package/dist/src/ui/data/avatars/analytics-reporter.svg +53 -0
  159. package/dist/src/ui/data/avatars/api-tester.svg +53 -0
  160. package/dist/src/ui/data/avatars/architecture.svg +54 -0
  161. package/dist/src/ui/data/avatars/automation-governance.svg +55 -0
  162. package/dist/src/ui/data/avatars/backend-dev.svg +53 -0
  163. package/dist/src/ui/data/avatars/benchmarker.svg +54 -0
  164. package/dist/src/ui/data/avatars/blockchain-auditor.svg +53 -0
  165. package/dist/src/ui/data/avatars/byzantine-coord.svg +57 -0
  166. package/dist/src/ui/data/avatars/case-analyst.svg +57 -0
  167. package/dist/src/ui/data/avatars/cicd-engineer.svg +55 -0
  168. package/dist/src/ui/data/avatars/cloud-architect.svg +54 -0
  169. package/dist/src/ui/data/avatars/code-review-swarm.svg +57 -0
  170. package/dist/src/ui/data/avatars/coder-v119.svg +57 -0
  171. package/dist/src/ui/data/avatars/coder.svg +58 -0
  172. package/dist/src/ui/data/avatars/collective-coord.svg +54 -0
  173. package/dist/src/ui/data/avatars/compliance-auditor.svg +58 -0
  174. package/dist/src/ui/data/avatars/consensus-coordinator.svg +54 -0
  175. package/dist/src/ui/data/avatars/content-creator.svg +54 -0
  176. package/dist/src/ui/data/avatars/crdt-synchronizer.svg +53 -0
  177. package/dist/src/ui/data/avatars/cro-specialist.svg +58 -0
  178. package/dist/src/ui/data/avatars/data-consolidator.svg +54 -0
  179. package/dist/src/ui/data/avatars/data-engineer.svg +53 -0
  180. package/dist/src/ui/data/avatars/database-optimizer.svg +61 -0
  181. package/dist/src/ui/data/avatars/deal-strategist.svg +54 -0
  182. package/dist/src/ui/data/avatars/defender.svg +53 -0
  183. package/dist/src/ui/data/avatars/devops-automator.svg +56 -0
  184. package/dist/src/ui/data/avatars/discovery-coach.svg +54 -0
  185. package/dist/src/ui/data/avatars/email-marketing.svg +57 -0
  186. package/dist/src/ui/data/avatars/embedded-firmware.svg +61 -0
  187. package/dist/src/ui/data/avatars/evidence-collector.svg +57 -0
  188. package/dist/src/ui/data/avatars/experiment-tracker.svg +53 -0
  189. package/dist/src/ui/data/avatars/feedback-synthesizer.svg +54 -0
  190. package/dist/src/ui/data/avatars/finance-tracker.svg +54 -0
  191. package/dist/src/ui/data/avatars/frontend-developer.svg +54 -0
  192. package/dist/src/ui/data/avatars/game-audio-engineer.svg +59 -0
  193. package/dist/src/ui/data/avatars/game-designer.svg +54 -0
  194. package/dist/src/ui/data/avatars/gossip-coordinator.svg +54 -0
  195. package/dist/src/ui/data/avatars/hierarchical-coord.svg +54 -0
  196. package/dist/src/ui/data/avatars/incident-commander.svg +57 -0
  197. package/dist/src/ui/data/avatars/infrastructure.svg +54 -0
  198. package/dist/src/ui/data/avatars/input-validator.svg +53 -0
  199. package/dist/src/ui/data/avatars/ios-developer.svg +54 -0
  200. package/dist/src/ui/data/avatars/issue-tracker.svg +53 -0
  201. package/dist/src/ui/data/avatars/judge.svg +55 -0
  202. package/dist/src/ui/data/avatars/launch-strategist.svg +54 -0
  203. package/dist/src/ui/data/avatars/legal-compliance.svg +53 -0
  204. package/dist/src/ui/data/avatars/level-designer.svg +53 -0
  205. package/dist/src/ui/data/avatars/load-balancer.svg +57 -0
  206. package/dist/src/ui/data/avatars/mcp-builder.svg +53 -0
  207. package/dist/src/ui/data/avatars/memory-coordinator.svg +55 -0
  208. package/dist/src/ui/data/avatars/mesh-coordinator.svg +55 -0
  209. package/dist/src/ui/data/avatars/ml-developer.svg +58 -0
  210. package/dist/src/ui/data/avatars/mobile-app-builder.svg +53 -0
  211. package/dist/src/ui/data/avatars/mobile-dev.svg +54 -0
  212. package/dist/src/ui/data/avatars/model-qa.svg +58 -0
  213. package/dist/src/ui/data/avatars/narrative-designer.svg +58 -0
  214. package/dist/src/ui/data/avatars/outbound-strategist.svg +55 -0
  215. package/dist/src/ui/data/avatars/path-validator.svg +54 -0
  216. package/dist/src/ui/data/avatars/payment-agent.svg +53 -0
  217. package/dist/src/ui/data/avatars/perf-analyzer.svg +58 -0
  218. package/dist/src/ui/data/avatars/pipeline-analyst.svg +54 -0
  219. package/dist/src/ui/data/avatars/planner.svg +55 -0
  220. package/dist/src/ui/data/avatars/pr-manager.svg +54 -0
  221. package/dist/src/ui/data/avatars/pricing-strategist.svg +54 -0
  222. package/dist/src/ui/data/avatars/product-manager.svg +54 -0
  223. package/dist/src/ui/data/avatars/production-validator.svg +54 -0
  224. package/dist/src/ui/data/avatars/project-shepherd.svg +54 -0
  225. package/dist/src/ui/data/avatars/proposal-strategist.svg +54 -0
  226. package/dist/src/ui/data/avatars/prosecutor.svg +57 -0
  227. package/dist/src/ui/data/avatars/pseudocode.svg +53 -0
  228. package/dist/src/ui/data/avatars/queen-coordinator.svg +55 -0
  229. package/dist/src/ui/data/avatars/quorum-manager.svg +53 -0
  230. package/dist/src/ui/data/avatars/raft-manager.svg +53 -0
  231. package/dist/src/ui/data/avatars/reality-checker.svg +58 -0
  232. package/dist/src/ui/data/avatars/recruitment.svg +58 -0
  233. package/dist/src/ui/data/avatars/refinement.svg +53 -0
  234. package/dist/src/ui/data/avatars/release-manager.svg +54 -0
  235. package/dist/src/ui/data/avatars/repo-architect.svg +54 -0
  236. package/dist/src/ui/data/avatars/researcher.svg +58 -0
  237. package/dist/src/ui/data/avatars/resource-allocator.svg +53 -0
  238. package/dist/src/ui/data/avatars/reviewer.svg +53 -0
  239. package/dist/src/ui/data/avatars/safe-executor.svg +53 -0
  240. package/dist/src/ui/data/avatars/sales-coach.svg +53 -0
  241. package/dist/src/ui/data/avatars/sales-engineer.svg +58 -0
  242. package/dist/src/ui/data/avatars/scout-explorer.svg +58 -0
  243. package/dist/src/ui/data/avatars/security-architect.svg +54 -0
  244. package/dist/src/ui/data/avatars/security-auditor.svg +55 -0
  245. package/dist/src/ui/data/avatars/senior-developer.svg +58 -0
  246. package/dist/src/ui/data/avatars/senior-pm.svg +58 -0
  247. package/dist/src/ui/data/avatars/seo-specialist.svg +57 -0
  248. package/dist/src/ui/data/avatars/social-media.svg +54 -0
  249. package/dist/src/ui/data/avatars/solidity-engineer.svg +58 -0
  250. package/dist/src/ui/data/avatars/sparc-coder.svg +58 -0
  251. package/dist/src/ui/data/avatars/sparc-coord.svg +56 -0
  252. package/dist/src/ui/data/avatars/specification.svg +57 -0
  253. package/dist/src/ui/data/avatars/sprint-prioritizer.svg +53 -0
  254. package/dist/src/ui/data/avatars/sre.svg +54 -0
  255. package/dist/src/ui/data/avatars/studio-operations.svg +53 -0
  256. package/dist/src/ui/data/avatars/studio-producer.svg +55 -0
  257. package/dist/src/ui/data/avatars/support-responder.svg +56 -0
  258. package/dist/src/ui/data/avatars/system-architect.svg +54 -0
  259. package/dist/src/ui/data/avatars/task-orchestrator.svg +56 -0
  260. package/dist/src/ui/data/avatars/technical-artist.svg +53 -0
  261. package/dist/src/ui/data/avatars/technical-writer.svg +59 -0
  262. package/dist/src/ui/data/avatars/tester.svg +53 -0
  263. package/dist/src/ui/data/avatars/threat-detection.svg +61 -0
  264. package/dist/src/ui/data/avatars/trend-researcher.svg +54 -0
  265. package/dist/src/ui/data/avatars/trial-director.svg +55 -0
  266. package/dist/src/ui/data/avatars/unity-architect.svg +54 -0
  267. package/dist/src/ui/data/avatars/visionos-engineer.svg +57 -0
  268. package/dist/src/ui/data/avatars/worker-specialist.svg +55 -0
  269. package/dist/src/ui/data/avatars/workflow-architect.svg +57 -0
  270. package/dist/src/ui/data/avatars/workflow-automation.svg +54 -0
  271. package/dist/src/ui/data/avatars/zk-steward.svg +54 -0
  272. package/dist/src/ui/data/known-projects.json +1 -1
  273. package/dist/src/ui/data/mastermind-events.jsonl +28 -0
  274. package/dist/src/ui/orgs.html +1171 -0
  275. package/dist/src/ui/server.mjs +529 -43
  276. package/dist/src/update/index.js +1 -1
  277. package/dist/src/update/validator.js +8 -8
  278. package/dist/tsconfig.tsbuildinfo +1 -1
  279. package/package.json +2 -2
  280. package/.claude/agents/academic/academic-anthropologist.md +0 -126
  281. package/.claude/agents/academic/academic-geographer.md +0 -128
  282. package/.claude/agents/academic/academic-historian.md +0 -124
  283. package/.claude/agents/academic/academic-narratologist.md +0 -119
  284. package/.claude/agents/academic/academic-psychologist.md +0 -119
  285. package/.claude/agents/analysis/analyze-code-quality.md +0 -58
  286. package/.claude/agents/analysis/code-analyzer.md +0 -189
  287. package/.claude/agents/analysis/code-review/analyze-code-quality.md +0 -58
  288. package/.claude/agents/consensus/performance-benchmarker.md +0 -831
  289. package/.claude/agents/data/ml/data-ml-model.md +0 -76
  290. package/.claude/agents/development/dev-backend-api.md +0 -178
  291. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +0 -52
  292. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +0 -63
  293. package/.claude/agents/game-development/blender/blender-addon-engineer.md +0 -235
  294. package/.claude/agents/game-development/game-audio-engineer.md +0 -265
  295. package/.claude/agents/game-development/game-designer.md +0 -168
  296. package/.claude/agents/game-development/godot/godot-gameplay-scripter.md +0 -335
  297. package/.claude/agents/game-development/godot/godot-multiplayer-engineer.md +0 -298
  298. package/.claude/agents/game-development/godot/godot-shader-developer.md +0 -267
  299. package/.claude/agents/game-development/level-designer.md +0 -209
  300. package/.claude/agents/game-development/narrative-designer.md +0 -244
  301. package/.claude/agents/game-development/roblox-studio/roblox-avatar-creator.md +0 -298
  302. package/.claude/agents/game-development/roblox-studio/roblox-experience-designer.md +0 -306
  303. package/.claude/agents/game-development/roblox-studio/roblox-systems-scripter.md +0 -326
  304. package/.claude/agents/game-development/technical-artist.md +0 -230
  305. package/.claude/agents/game-development/unity/unity-architect.md +0 -272
  306. package/.claude/agents/game-development/unity/unity-editor-tool-developer.md +0 -311
  307. package/.claude/agents/game-development/unity/unity-multiplayer-engineer.md +0 -322
  308. package/.claude/agents/game-development/unity/unity-shader-graph-artist.md +0 -270
  309. package/.claude/agents/game-development/unreal-engine/unreal-multiplayer-architect.md +0 -314
  310. package/.claude/agents/game-development/unreal-engine/unreal-systems-engineer.md +0 -311
  311. package/.claude/agents/game-development/unreal-engine/unreal-technical-artist.md +0 -257
  312. package/.claude/agents/game-development/unreal-engine/unreal-world-builder.md +0 -274
  313. package/.claude/agents/github/release-swarm.md +0 -597
  314. package/.claude/agents/goal/agent.md +0 -804
  315. package/.claude/agents/goal/code-goal-planner.md +0 -445
  316. package/.claude/agents/marketing/marketing-ai-citation-strategist.md +0 -171
  317. package/.claude/agents/marketing/marketing-app-store-optimizer.md +0 -322
  318. package/.claude/agents/marketing/marketing-baidu-seo-specialist.md +0 -227
  319. package/.claude/agents/marketing/marketing-bilibili-content-strategist.md +0 -200
  320. package/.claude/agents/marketing/marketing-book-co-author.md +0 -111
  321. package/.claude/agents/marketing/marketing-carousel-growth-engine.md +0 -200
  322. package/.claude/agents/marketing/marketing-china-ecommerce-operator.md +0 -284
  323. package/.claude/agents/marketing/marketing-content-creator.md +0 -67
  324. package/.claude/agents/marketing/marketing-cross-border-ecommerce.md +0 -260
  325. package/.claude/agents/marketing/marketing-douyin-strategist.md +0 -150
  326. package/.claude/agents/marketing/marketing-growth-hacker.md +0 -54
  327. package/.claude/agents/marketing/marketing-instagram-curator.md +0 -114
  328. package/.claude/agents/marketing/marketing-kuaishou-strategist.md +0 -224
  329. package/.claude/agents/marketing/marketing-linkedin-content-creator.md +0 -215
  330. package/.claude/agents/marketing/marketing-livestream-commerce-coach.md +0 -306
  331. package/.claude/agents/marketing/marketing-podcast-strategist.md +0 -278
  332. package/.claude/agents/marketing/marketing-private-domain-operator.md +0 -309
  333. package/.claude/agents/marketing/marketing-reddit-community-builder.md +0 -124
  334. package/.claude/agents/marketing/marketing-seo-specialist.md +0 -279
  335. package/.claude/agents/marketing/marketing-short-video-editing-coach.md +0 -413
  336. package/.claude/agents/marketing/marketing-social-media-strategist.md +0 -125
  337. package/.claude/agents/marketing/marketing-tiktok-strategist.md +0 -126
  338. package/.claude/agents/marketing/marketing-twitter-engager.md +0 -127
  339. package/.claude/agents/marketing/marketing-wechat-official-account.md +0 -146
  340. package/.claude/agents/marketing/marketing-weibo-strategist.md +0 -241
  341. package/.claude/agents/marketing/marketing-xiaohongshu-specialist.md +0 -139
  342. package/.claude/agents/marketing/marketing-zhihu-strategist.md +0 -163
  343. package/.claude/agents/neural/safla-neural.md +0 -74
  344. package/.claude/agents/paid-media/paid-media-auditor.md +0 -71
  345. package/.claude/agents/paid-media/paid-media-creative-strategist.md +0 -71
  346. package/.claude/agents/paid-media/paid-media-paid-social-strategist.md +0 -71
  347. package/.claude/agents/paid-media/paid-media-ppc-strategist.md +0 -71
  348. package/.claude/agents/paid-media/paid-media-programmatic-buyer.md +0 -71
  349. package/.claude/agents/paid-media/paid-media-search-query-analyst.md +0 -71
  350. package/.claude/agents/paid-media/paid-media-tracking-specialist.md +0 -71
  351. package/.claude/agents/payments/agentic-payments.md +0 -126
  352. package/.claude/agents/product/product-behavioral-nudge-engine.md +0 -81
  353. package/.claude/agents/product/product-feedback-synthesizer.md +0 -119
  354. package/.claude/agents/product/product-manager.md +0 -469
  355. package/.claude/agents/product/product-sprint-prioritizer.md +0 -154
  356. package/.claude/agents/product/product-trend-researcher.md +0 -159
  357. package/.claude/agents/project-management/project-management-experiment-tracker.md +0 -199
  358. package/.claude/agents/project-management/project-management-jira-workflow-steward.md +0 -231
  359. package/.claude/agents/project-management/project-management-project-shepherd.md +0 -195
  360. package/.claude/agents/project-management/project-management-studio-operations.md +0 -201
  361. package/.claude/agents/project-management/project-management-studio-producer.md +0 -204
  362. package/.claude/agents/project-management/project-manager-senior.md +0 -136
  363. package/.claude/agents/reasoning/agent.md +0 -804
  364. package/.claude/agents/reasoning/goal-planner.md +0 -73
  365. package/.claude/agents/sales/sales-account-strategist.md +0 -228
  366. package/.claude/agents/sales/sales-coach.md +0 -272
  367. package/.claude/agents/sales/sales-deal-strategist.md +0 -181
  368. package/.claude/agents/sales/sales-discovery-coach.md +0 -226
  369. package/.claude/agents/sales/sales-engineer.md +0 -183
  370. package/.claude/agents/sales/sales-outbound-strategist.md +0 -202
  371. package/.claude/agents/sales/sales-pipeline-analyst.md +0 -268
  372. package/.claude/agents/sales/sales-proposal-strategist.md +0 -218
  373. package/.claude/agents/sona/sona-learning-optimizer.md +0 -65
  374. package/.claude/agents/spatial-computing/macos-spatial-metal-engineer.md +0 -338
  375. package/.claude/agents/spatial-computing/terminal-integration-specialist.md +0 -71
  376. package/.claude/agents/spatial-computing/visionos-spatial-engineer.md +0 -55
  377. package/.claude/agents/specialists/memory-specialist.md +0 -298
  378. package/.claude/agents/specialists/performance-engineer.md +0 -387
  379. package/.claude/agents/specialists/queen-coordinator.md +0 -67
  380. package/.claude/agents/specialists/security-architect.md +0 -154
  381. package/.claude/agents/specialized/accounts-payable-agent.md +0 -186
  382. package/.claude/agents/specialized/corporate-training-designer.md +0 -193
  383. package/.claude/agents/specialized/data-consolidation-agent.md +0 -61
  384. package/.claude/agents/specialized/government-digital-presales-consultant.md +0 -364
  385. package/.claude/agents/specialized/healthcare-marketing-compliance.md +0 -396
  386. package/.claude/agents/specialized/recruitment-specialist.md +0 -510
  387. package/.claude/agents/specialized/report-distribution-agent.md +0 -66
  388. package/.claude/agents/specialized/sales-data-extraction-agent.md +0 -68
  389. package/.claude/agents/specialized/specialized-french-consulting-market.md +0 -193
  390. package/.claude/agents/specialized/specialized-korean-business-navigator.md +0 -217
  391. package/.claude/agents/specialized/specialized-salesforce-architect.md +0 -181
  392. package/.claude/agents/specialized/study-abroad-advisor.md +0 -283
  393. package/.claude/agents/specialized/supply-chain-strategist.md +0 -583
  394. package/.claude/agents/sublinear/consensus-coordinator.md +0 -333
  395. package/.claude/agents/sublinear/matrix-optimizer.md +0 -180
  396. package/.claude/agents/sublinear/pagerank-analyzer.md +0 -295
  397. package/.claude/agents/sublinear/performance-optimizer.md +0 -363
  398. package/.claude/agents/sublinear/trading-predictor.md +0 -242
  399. package/.claude/agents/support/support-analytics-reporter.md +0 -366
  400. package/.claude/agents/support/support-executive-summary-generator.md +0 -213
  401. package/.claude/agents/support/support-finance-tracker.md +0 -443
  402. package/.claude/agents/support/support-infrastructure-maintainer.md +0 -619
  403. package/.claude/agents/support/support-legal-compliance-checker.md +0 -589
  404. package/.claude/agents/support/support-support-responder.md +0 -586
  405. package/.claude/agents/swarm/adaptive-coordinator.md +0 -364
  406. package/.claude/agents/swarm/hierarchical-coordinator.md +0 -318
  407. package/.claude/agents/templates/github-pr-manager.md +0 -155
  408. package/.claude/agents/templates/memory-coordinator.md +0 -163
  409. package/.claude/agents/templates/migration-plan.md +0 -724
  410. package/.claude/agents/templates/orchestrator-task.md +0 -120
  411. package/.claude/agents/templates/performance-analyzer.md +0 -179
  412. package/.claude/agents/templates/sparc-coordinator.md +0 -163
  413. package/.claude/agents/testing/testing-reality-checker.md +0 -237
  414. package/.claude/commands/analysis/token-efficiency.md +0 -42
  415. package/.claude/commands/optimization/README.md +0 -73
  416. package/.claude/commands/optimization/parallel-execution.md +0 -76
  417. package/.claude/commands/swarm/swarm-analysis.md +0 -62
  418. package/.claude/commands/swarm/swarm-background.md +0 -65
  419. package/.claude/commands/swarm/swarm-modes.md +0 -67
  420. package/.claude/commands/swarm/swarm-monitor.md +0 -54
  421. package/.claude/commands/swarm/swarm-status.md +0 -44
  422. package/.claude/commands/swarm/swarm-strategies.md +0 -76
  423. package/.claude/commands/training/model-update.md +0 -78
  424. package/.claude/commands/training/pattern-learn.md +0 -69
  425. package/.claude/commands/training/specialization.md +0 -92
  426. package/.claude/commands/verify/check.md +0 -106
  427. package/.claude/commands/verify/start.md +0 -105
  428. package/.claude/helpers/README.md +0 -105
  429. package/.claude/helpers/context-persistence-hook.mjs +0 -1988
  430. package/.claude/helpers/intelligence.cjs +0 -247
  431. package/.claude/helpers/learning-service.mjs +0 -1302
  432. package/.claude/helpers/memory-palace.cjs +0 -461
  433. package/.claude/helpers/memory.cjs +0 -84
  434. package/.claude/helpers/metrics-db.mjs +0 -488
  435. package/.claude/helpers/router.cjs +0 -559
  436. package/.claude/helpers/session.cjs +0 -126
  437. package/.claude/helpers/swarm-hooks.sh +0 -761
  438. package/.claude/helpers/toggle-statusline.cjs +0 -58
  439. package/.claude/helpers/token-tracker.cjs +0 -934
  440. package/.claude/skills/agentdb-advanced/SKILL.md +0 -549
  441. package/.claude/skills/agentdb-learning/SKILL.md +0 -544
  442. package/.claude/skills/agentdb-memory-patterns/SKILL.md +0 -337
  443. package/.claude/skills/agentdb-optimization/SKILL.md +0 -508
  444. package/.claude/skills/agentdb-vector-search/SKILL.md +0 -335
  445. package/.claude/skills/agentic-integration/SKILL.md +0 -265
  446. package/.claude/skills/cli-modernization/SKILL.md +0 -950
  447. package/.claude/skills/core-implementation/SKILL.md +0 -892
  448. package/.claude/skills/ddd-architecture/SKILL.md +0 -444
  449. package/.claude/skills/github-code-review/SKILL.md +0 -1147
  450. package/.claude/skills/github-multi-repo/SKILL.md +0 -912
  451. package/.claude/skills/github-project-management/SKILL.md +0 -1245
  452. package/.claude/skills/github-release-management/SKILL.md +0 -1118
  453. package/.claude/skills/github-workflow-automation/SKILL.md +0 -1107
  454. package/.claude/skills/mcp-optimization/SKILL.md +0 -837
  455. package/.claude/skills/memory-unification/SKILL.md +0 -196
  456. package/.claude/skills/performance-optimization/SKILL.md +0 -416
  457. package/.claude/skills/reasoningbank-agentdb/SKILL.md +0 -444
  458. package/.claude/skills/reasoningbank-intelligence/SKILL.md +0 -199
  459. package/.claude/skills/security-hardening/SKILL.md +0 -101
  460. package/.claude/skills/stream-chain/SKILL.md +0 -560
  461. package/.claude/skills/swarm-coordination/SKILL.md +0 -451
  462. package/bundled-graph/dist/src/analyze.d.ts +0 -32
  463. package/bundled-graph/dist/src/analyze.d.ts.map +0 -1
  464. package/bundled-graph/dist/src/analyze.js +0 -297
  465. package/bundled-graph/dist/src/analyze.js.map +0 -1
  466. package/bundled-graph/dist/src/build.d.ts +0 -8
  467. package/bundled-graph/dist/src/build.d.ts.map +0 -1
  468. package/bundled-graph/dist/src/build.js.map +0 -1
  469. package/bundled-graph/dist/src/cache.d.ts +0 -12
  470. package/bundled-graph/dist/src/cache.d.ts.map +0 -1
  471. package/bundled-graph/dist/src/cache.js +0 -43
  472. package/bundled-graph/dist/src/cache.js.map +0 -1
  473. package/bundled-graph/dist/src/cluster.d.ts +0 -5
  474. package/bundled-graph/dist/src/cluster.d.ts.map +0 -1
  475. package/bundled-graph/dist/src/cluster.js.map +0 -1
  476. package/bundled-graph/dist/src/detect.d.ts +0 -21
  477. package/bundled-graph/dist/src/detect.d.ts.map +0 -1
  478. package/bundled-graph/dist/src/detect.js +0 -195
  479. package/bundled-graph/dist/src/detect.js.map +0 -1
  480. package/bundled-graph/dist/src/export.d.ts +0 -21
  481. package/bundled-graph/dist/src/export.d.ts.map +0 -1
  482. package/bundled-graph/dist/src/export.js +0 -68
  483. package/bundled-graph/dist/src/export.js.map +0 -1
  484. package/bundled-graph/dist/src/extract/index.d.ts +0 -20
  485. package/bundled-graph/dist/src/extract/index.d.ts.map +0 -1
  486. package/bundled-graph/dist/src/extract/index.js +0 -158
  487. package/bundled-graph/dist/src/extract/index.js.map +0 -1
  488. package/bundled-graph/dist/src/extract/languages/c.d.ts +0 -3
  489. package/bundled-graph/dist/src/extract/languages/c.d.ts.map +0 -1
  490. package/bundled-graph/dist/src/extract/languages/c.js +0 -88
  491. package/bundled-graph/dist/src/extract/languages/c.js.map +0 -1
  492. package/bundled-graph/dist/src/extract/languages/cpp.d.ts +0 -3
  493. package/bundled-graph/dist/src/extract/languages/cpp.d.ts.map +0 -1
  494. package/bundled-graph/dist/src/extract/languages/cpp.js +0 -121
  495. package/bundled-graph/dist/src/extract/languages/cpp.js.map +0 -1
  496. package/bundled-graph/dist/src/extract/languages/csharp.d.ts +0 -3
  497. package/bundled-graph/dist/src/extract/languages/csharp.d.ts.map +0 -1
  498. package/bundled-graph/dist/src/extract/languages/csharp.js +0 -121
  499. package/bundled-graph/dist/src/extract/languages/csharp.js.map +0 -1
  500. package/bundled-graph/dist/src/extract/languages/go.d.ts +0 -3
  501. package/bundled-graph/dist/src/extract/languages/go.d.ts.map +0 -1
  502. package/bundled-graph/dist/src/extract/languages/go.js +0 -181
  503. package/bundled-graph/dist/src/extract/languages/go.js.map +0 -1
  504. package/bundled-graph/dist/src/extract/languages/java.d.ts +0 -3
  505. package/bundled-graph/dist/src/extract/languages/java.d.ts.map +0 -1
  506. package/bundled-graph/dist/src/extract/languages/java.js +0 -117
  507. package/bundled-graph/dist/src/extract/languages/java.js.map +0 -1
  508. package/bundled-graph/dist/src/extract/languages/kotlin.d.ts +0 -3
  509. package/bundled-graph/dist/src/extract/languages/kotlin.d.ts.map +0 -1
  510. package/bundled-graph/dist/src/extract/languages/kotlin.js +0 -112
  511. package/bundled-graph/dist/src/extract/languages/kotlin.js.map +0 -1
  512. package/bundled-graph/dist/src/extract/languages/php.d.ts +0 -3
  513. package/bundled-graph/dist/src/extract/languages/php.d.ts.map +0 -1
  514. package/bundled-graph/dist/src/extract/languages/php.js +0 -130
  515. package/bundled-graph/dist/src/extract/languages/php.js.map +0 -1
  516. package/bundled-graph/dist/src/extract/languages/python.d.ts +0 -3
  517. package/bundled-graph/dist/src/extract/languages/python.d.ts.map +0 -1
  518. package/bundled-graph/dist/src/extract/languages/python.js +0 -230
  519. package/bundled-graph/dist/src/extract/languages/python.js.map +0 -1
  520. package/bundled-graph/dist/src/extract/languages/ruby.d.ts +0 -3
  521. package/bundled-graph/dist/src/extract/languages/ruby.d.ts.map +0 -1
  522. package/bundled-graph/dist/src/extract/languages/ruby.js +0 -120
  523. package/bundled-graph/dist/src/extract/languages/ruby.js.map +0 -1
  524. package/bundled-graph/dist/src/extract/languages/rust.d.ts +0 -3
  525. package/bundled-graph/dist/src/extract/languages/rust.d.ts.map +0 -1
  526. package/bundled-graph/dist/src/extract/languages/rust.js +0 -195
  527. package/bundled-graph/dist/src/extract/languages/rust.js.map +0 -1
  528. package/bundled-graph/dist/src/extract/languages/scala.d.ts +0 -3
  529. package/bundled-graph/dist/src/extract/languages/scala.d.ts.map +0 -1
  530. package/bundled-graph/dist/src/extract/languages/scala.js +0 -110
  531. package/bundled-graph/dist/src/extract/languages/scala.js.map +0 -1
  532. package/bundled-graph/dist/src/extract/languages/swift.d.ts +0 -3
  533. package/bundled-graph/dist/src/extract/languages/swift.d.ts.map +0 -1
  534. package/bundled-graph/dist/src/extract/languages/swift.js +0 -122
  535. package/bundled-graph/dist/src/extract/languages/swift.js.map +0 -1
  536. package/bundled-graph/dist/src/extract/languages/typescript.d.ts +0 -3
  537. package/bundled-graph/dist/src/extract/languages/typescript.d.ts.map +0 -1
  538. package/bundled-graph/dist/src/extract/languages/typescript.js +0 -295
  539. package/bundled-graph/dist/src/extract/languages/typescript.js.map +0 -1
  540. package/bundled-graph/dist/src/extract/semantic.d.ts +0 -38
  541. package/bundled-graph/dist/src/extract/semantic.d.ts.map +0 -1
  542. package/bundled-graph/dist/src/extract/semantic.js +0 -242
  543. package/bundled-graph/dist/src/extract/semantic.js.map +0 -1
  544. package/bundled-graph/dist/src/extract/tree-sitter-runner.d.ts +0 -48
  545. package/bundled-graph/dist/src/extract/tree-sitter-runner.d.ts.map +0 -1
  546. package/bundled-graph/dist/src/extract/tree-sitter-runner.js +0 -137
  547. package/bundled-graph/dist/src/extract/tree-sitter-runner.js.map +0 -1
  548. package/bundled-graph/dist/src/extract/types.d.ts +0 -7
  549. package/bundled-graph/dist/src/extract/types.d.ts.map +0 -1
  550. package/bundled-graph/dist/src/extract/types.js +0 -2
  551. package/bundled-graph/dist/src/extract/types.js.map +0 -1
  552. package/bundled-graph/dist/src/index.d.ts +0 -28
  553. package/bundled-graph/dist/src/index.d.ts.map +0 -1
  554. package/bundled-graph/dist/src/index.js +0 -26
  555. package/bundled-graph/dist/src/index.js.map +0 -1
  556. package/bundled-graph/dist/src/pipeline.d.ts +0 -27
  557. package/bundled-graph/dist/src/pipeline.d.ts.map +0 -1
  558. package/bundled-graph/dist/src/pipeline.js +0 -269
  559. package/bundled-graph/dist/src/pipeline.js.map +0 -1
  560. package/bundled-graph/dist/src/report.d.ts +0 -26
  561. package/bundled-graph/dist/src/report.d.ts.map +0 -1
  562. package/bundled-graph/dist/src/report.js +0 -214
  563. package/bundled-graph/dist/src/report.js.map +0 -1
  564. package/bundled-graph/dist/src/types.d.ts +0 -124
  565. package/bundled-graph/dist/src/types.d.ts.map +0 -1
  566. package/bundled-graph/dist/src/types.js +0 -2
  567. package/bundled-graph/dist/src/types.js.map +0 -1
  568. package/bundled-graph/dist/src/visualize.d.ts +0 -4
  569. package/bundled-graph/dist/src/visualize.d.ts.map +0 -1
  570. package/bundled-graph/dist/src/visualize.js +0 -574
  571. package/bundled-graph/dist/src/visualize.js.map +0 -1
  572. package/bundled-graph/dist/tsconfig.tsbuildinfo +0 -1
  573. package/dist/src/ui/dashboard-v2.html +0 -4576
@@ -97,7 +97,7 @@ approval=$(jq --arg id "$approval_id" '.approvals[] | select(.id == $id)' "$appr
97
97
  agent_id=$(echo "$approval" | jq -r '.agent_id')
98
98
  memNs="org:${org_name}"
99
99
  npx monomind@latest memory store \
100
- --key "${memNs}:approval:${approval_id}" \
100
+ --key "approval:${approval_id}" \
101
101
  --namespace "$memNs" \
102
102
  --value '{"status":"approved","approval_id":"'"$approval_id"'","ts":"'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'"}'
103
103
 
@@ -118,7 +118,7 @@ approval=$(jq --arg id "$approval_id" '.approvals[] | select(.id == $id)' "$appr
118
118
  agent_id=$(echo "$approval" | jq -r '.agent_id')
119
119
  memNs="org:${org_name}"
120
120
  npx monomind@latest memory store \
121
- --key "${memNs}:approval:${approval_id}" \
121
+ --key "approval:${approval_id}" \
122
122
  --namespace "$memNs" \
123
123
  --value '{"status":"rejected","approval_id":"'"$approval_id"'","reason":"'"${reason:-No reason given}"'","ts":"'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'"}'
124
124
 
@@ -150,13 +150,21 @@ jq --arg id "$approval_id" \
150
150
 
151
151
  2. Emit `org:approval:requested` event to dashboard (so the human is notified).
152
152
 
153
- 3. Poll memory for the approval decision:
153
+ 3. Poll for the approval decision — check the approvals file first (authoritative, updated by both the dashboard UI and `/mastermind:approve`), then fall back to memory:
154
154
  ```bash
155
+ approvalsFile=".monomind/orgs/${orgName}-approvals.json"
155
156
  while true; do
156
- result=$(npx monomind@latest memory search --query "approval:${approval_id}" --namespace "${memNs}" 2>/dev/null)
157
- status=$(echo "$result" | jq -r '.[0].value.status // ""' 2>/dev/null)
158
- [ "$status" = "approved" ] && break
159
- [ "$status" = "rejected" ] && { echo "Action rejected: $(echo $result | jq -r '.[0].value.reason // ""')"; exit 1; }
157
+ # Check file first dashboard approve/reject button only updates the file (not memory)
158
+ file_status=$(jq --arg id "$approval_id" '.approvals[] | select(.id == $id) | .status // ""' "$approvalsFile" 2>/dev/null || echo "")
159
+ if [ -z "$file_status" ] || [ "$file_status" = '"pending"' ] || [ "$file_status" = "pending" ]; then
160
+ mem_result=$(npx monomind@latest memory search --query "approval:${approval_id}" --namespace "${memNs}" 2>/dev/null)
161
+ mem_status=$(echo "$mem_result" | jq -r '.[0].value.status // ""' 2>/dev/null)
162
+ [ -n "$mem_status" ] && [ "$mem_status" != "pending" ] && file_status="$mem_status"
163
+ fi
164
+ # Strip quotes from jq output
165
+ file_status=$(echo "$file_status" | tr -d '"')
166
+ [ "$file_status" = "approved" ] && break
167
+ [ "$file_status" = "rejected" ] && { echo "Action rejected by governance policy — skip this action"; exit 1; }
160
168
  sleep 30
161
169
  done
162
170
  ```
@@ -0,0 +1,534 @@
1
+ ---
2
+ name: mastermind-autodev
3
+ description: Mastermind autodev — autonomous research → build → review loop. Researches the project, picks the best improvement idea, builds it, then reviews with mastermind:review --tillend until clean. Repeats N times when given a count. Supports --newfeature N for full feature pipeline (research → build → review → document → deliver).
4
+ type: domain-skill
5
+ default_mode: auto
6
+ ---
7
+
8
+ # Mastermind Autodev Domain
9
+
10
+ This skill is invoked directly via `/mastermind:autodev`.
11
+
12
+ Autodev is a fully autonomous loop: it researches the project, selects the highest-value improvement, builds it, and reviews it until clean — then repeats.
13
+
14
+ When `--newfeature N` is passed, it switches to **feature mode**: discovers the N best genuinely-new features the project is missing, then for each one runs the complete pipeline — Build → Review → Documentation → Delivery.
15
+
16
+ ---
17
+
18
+ ## Inputs
19
+
20
+ - `brain_context`: BRAIN CONTEXT block (loaded via _protocol.md Brain Load Procedure)
21
+ - `count`: number of improvements to build (default: 1; set by leading integer in arguments, e.g. `9 --tillend`)
22
+ - `newfeature_count`: when `--newfeature N` is set, number of brand-new features to discover and fully deliver (overrides normal improvement loop)
23
+ - `focus`: optional topic hint (e.g. "performance", "security", "dx") — narrows research phase
24
+ - `mode`: auto | confirm (default: auto)
25
+ - `current_rep` / `loop_id`: injected by _repeat.md on continuation runs
26
+
27
+ ---
28
+
29
+ ## Flag Parsing
30
+
31
+ Before anything else, extract from `$ARGUMENTS`:
32
+
33
+ 1. **Leading integer** — if the first token is a bare integer (e.g. `9`), set `count = 9`. Remove it from the remaining args.
34
+ 2. **`--count <N>`** — alternate way to set count.
35
+ 3. **`--newfeature <N>`** — activate feature mode; set `newfeature_count = N`. When present, the normal improvement loop is **replaced** by the Feature Pipeline below. N is how many new features to discover and deliver end-to-end (must be ≥ 1).
36
+ 4. **`--focus <topic>`** — set focus topic.
37
+ 5. **`--auto` / `--confirm`** — mode.
38
+ 6. **`--tillend`, `--repeat`, `--maxruns`, `--wait`, `--rep`, `--loop`** — handled by _repeat.md PREAMBLE before this skill runs.
39
+ 7. Remaining text → `focus` hint (if no `--focus` was given).
40
+
41
+ If `count` is not set, default to `1`.
42
+ If `--newfeature` is present but N is missing or not a positive integer, default `newfeature_count = 3`.
43
+ If `newfeature_count > 10`: emit `[autodev] Warning: --newfeature capped at 10 (requested: N)` and set `newfeature_count = 10` before proceeding.
44
+ If `--newfeature` and `--tillend` are both present: emit `[autodev] Warning: --tillend is not supported with --newfeature and will be ignored.` and strip the tillend flag before proceeding.
45
+
46
+ ---
47
+
48
+ ## Feature Pipeline (--newfeature mode)
49
+
50
+ When `--newfeature N` is parsed, skip the normal improvement loop entirely and run this pipeline instead.
51
+
52
+ ### FP-0 — Feature Discovery
53
+
54
+ **Goal:** Find the N best brand-new features the project is missing — not improvements to existing code, not bugfixes, not refactors. Things that would be genuinely new capability.
55
+
56
+ Run all research in parallel:
57
+
58
+ ```bash
59
+ git log --oneline -30
60
+ find . -maxdepth 3 -type f \( -name "*.ts" -o -name "*.js" -o -name "*.py" -o -name "*.go" -o -name "*.md" \) \
61
+ ! -path "*/node_modules/*" ! -path "*/.git/*" ! -path "*/dist/*" | head -80
62
+ cat package.json 2>/dev/null || cat pyproject.toml 2>/dev/null || cat go.mod 2>/dev/null || true
63
+ cat README.md 2>/dev/null | head -120 || true
64
+ # Scan for capability gaps / user-facing TODOs
65
+ grep -rn "TODO\|could add\|future\|roadmap\|planned\|wish\|missing\|not yet\|coming soon" \
66
+ --include="*.ts" --include="*.js" --include="*.py" --include="*.md" \
67
+ . 2>/dev/null | grep -v node_modules | grep -v dist | head -40
68
+ ```
69
+
70
+ Also call (parallel):
71
+ - `mcp__monomind__monograph_god_nodes` — find the most-connected modules (surfaces where new features plug in best)
72
+ - `mcp__monomind__monograph_suggest` with query `"missing feature new capability gap"` — graph-guided gaps
73
+ - `mcp__monomind__memory_search` with query `"autodev newfeature built"`, namespace `"mastermind:autodev"`, limit 30 — exclude already-delivered features
74
+
75
+ **Produce a ranked shortlist of up to `newfeature_count` features.** Aim for exactly `newfeature_count`, but stop at fewer only if the project genuinely has no more viable new features. After producing the shortlist — regardless of mode — **set `newfeature_count = len(shortlist)`** so the loop counter and FP-End summary are accurate. For each:
76
+
77
+ ```
78
+ Feature <K>:
79
+ title: <short imperative name, e.g. "Add batch export command">
80
+ user_value: <one sentence — what a user gains>
81
+ entry_point: <where in the codebase it plugs in (file/module)>
82
+ feasibility: high | medium
83
+ effort_estimate: small (< 100 LOC) | medium (100-400 LOC) | large (400+ LOC)
84
+ type: feature
85
+ ```
86
+
87
+ Priority ranking:
88
+ 1. High feasibility first
89
+ 2. High user_value for the effort
90
+ 3. Not in recent git history
91
+ 4. Not in autodev memory (already built)
92
+ 5. Aligns with `focus` hint if given
93
+
94
+ If `mode = confirm`: display the full ranked shortlist and ask the user to approve before continuing. The user may strike features, reorder, or add constraints. After the user responds, update `approved_shortlist` to contain only the features the user kept, then **set `newfeature_count = len(approved_shortlist)`** before starting the FP-1..N loop. The FP-End summary denominator uses this updated count.
95
+
96
+ If `mode = auto`: `approved_shortlist = shortlist` (all features). `newfeature_count` was already aligned to `len(shortlist)` above — it does not revert to the originally parsed value.
97
+
98
+ Store the shortlist in memory:
99
+ ```
100
+ mcp__monomind__memory_store(
101
+ content: "autodev newfeature shortlist: [<title1>, <title2>, ...]. Session: <date>.",
102
+ namespace: "mastermind:autodev",
103
+ tags: ["autodev", "newfeature", "shortlist"]
104
+ )
105
+ ```
106
+
107
+ ---
108
+
109
+ ### FP-1 through FP-N — Full Delivery Loop (one per feature)
110
+
111
+ Initialize the loop counter before starting:
112
+ ```bash
113
+ K=0
114
+ ```
115
+
116
+ For **each feature** in the ranked shortlist (1 through `newfeature_count`), run these phases in order. At the start of each iteration, increment K:
117
+ ```bash
118
+ K=$((K + 1))
119
+ ```
120
+
121
+ #### Phase A — Build
122
+
123
+ (`K` is the current loop index integer — e.g. `1`, `2`, `3`. Treat `$K` and `$FEATURE_FILE_LIST` as template values: re-emit them with the concrete value substituted at the top of each phase's bash block, since each shell invocation is independent. E.g. at the top of Phase B's block: `K=1; FEATURE_FILE_LIST="/tmp/autodev_feature_files_${K}.txt"`. The same rule applies to FP-End: assign `K=<final_newfeature_count>` at the top of the FP-End bash block before the cleanup loop.)
124
+
125
+ Before invoking build, snapshot untracked files so the post-build delta can be computed:
126
+ ```bash
127
+ FEATURE_FILE_LIST="/tmp/autodev_feature_files_${K}.txt"
128
+ git ls-files --others --exclude-standard | sort > /tmp/autodev_untracked_before_${K}.txt
129
+ ```
130
+
131
+ Invoke `Skill("mastermind:build")` with a detailed brief:
132
+
133
+ ```
134
+ Brief must include:
135
+ - Feature title and user_value
136
+ - Concrete spec: inputs, outputs, API surface, CLI flags, UI, etc.
137
+ - Entry point file(s) to create or modify — list every path explicitly
138
+ - Acceptance criteria (3–5 testable outcomes)
139
+ - What NOT to touch (blast radius guard)
140
+ - Test requirements: at minimum one unit test and one integration test
141
+ ```
142
+
143
+ Wait for build to complete before Phase B.
144
+
145
+ After build returns, determine which files this feature owns for staging in Phase D. The **build brief's declared file list** is the primary source of truth — it names every path the build was allowed to touch. Supplement it with only the files the build created that were not untracked before:
146
+
147
+ ```bash
148
+ # 1. Write declared paths from the build brief (one per line)
149
+ printf '%s\n' \
150
+ "path/to/file1.ts" \
151
+ "path/to/file2.ts" \
152
+ "tests/path/to/test1.ts" \
153
+ > "$FEATURE_FILE_LIST"
154
+
155
+ # 2. Append any newly untracked files the build produced beyond the brief
156
+ # (comm -13: lines only in file2 — i.e., new since the before-snapshot)
157
+ comm -13 \
158
+ /tmp/autodev_untracked_before_${K}.txt \
159
+ <(git ls-files --others --exclude-standard | sort) \
160
+ >> "$FEATURE_FILE_LIST"
161
+ ```
162
+
163
+ Store build start in memory:
164
+ ```
165
+ mcp__monomind__memory_store(
166
+ content: "autodev newfeature building: <title>",
167
+ namespace: "mastermind:autodev",
168
+ tags: ["autodev", "newfeature", "building"]
169
+ )
170
+ ```
171
+
172
+ #### Phase B — Review Until Clean
173
+
174
+ Before starting the review loop, snapshot current working tree state (both unstaged and untracked) so the post-review delta is scoped only to this phase:
175
+ ```bash
176
+ git diff --name-only | sort > /tmp/autodev_unstaged_before_B_${K}.txt
177
+ git ls-files --others --exclude-standard | sort > /tmp/autodev_untracked_before_B_${K}.txt
178
+ ```
179
+
180
+ Inline review loop (same cap as improvement mode: max 5 iterations):
181
+
182
+ ```
183
+ review_iter = 0
184
+ LOOP:
185
+ review_iter += 1
186
+ If review_iter > 5: EXIT LOOP (cap reached — log warning, continue)
187
+
188
+ Invoke Skill("mastermind:review") with:
189
+ prompt: "Review the new feature just built: <title>. Verify: correctness, edge cases,
190
+ tests present and passing, no regressions, security, API consistency."
191
+ brain_context: brain_context
192
+ mode: auto
193
+ (do NOT pass --tillend)
194
+
195
+ If review returns zero findings: EXIT LOOP (clean)
196
+ Else: auto-fix findings; continue loop
197
+ ```
198
+
199
+ After the review loop exits, append only files this phase introduced (delta from before-snapshot), covering both modified tracked files and newly created untracked files:
200
+ ```bash
201
+ # Tracked files modified by review (delta only — excludes files modified by prior features)
202
+ comm -13 \
203
+ /tmp/autodev_unstaged_before_B_${K}.txt \
204
+ <(git diff --name-only | sort) \
205
+ >> "$FEATURE_FILE_LIST"
206
+ # Untracked files created by review (e.g. new test files)
207
+ comm -13 \
208
+ /tmp/autodev_untracked_before_B_${K}.txt \
209
+ <(git ls-files --others --exclude-standard | sort) \
210
+ >> "$FEATURE_FILE_LIST"
211
+ sort -u "$FEATURE_FILE_LIST" -o "$FEATURE_FILE_LIST"
212
+ ```
213
+
214
+ #### Phase C — Documentation
215
+
216
+ Before generating documentation, snapshot current working tree state:
217
+ ```bash
218
+ git diff --name-only | sort > /tmp/autodev_unstaged_before_C_${K}.txt
219
+ git ls-files --others --exclude-standard | sort > /tmp/autodev_untracked_before_C_${K}.txt
220
+ ```
221
+
222
+ After review is clean (or capped), generate documentation for the feature.
223
+
224
+ Invoke `Skill("mastermind:content")` with:
225
+ ```
226
+ prompt: "Document the new feature '<title>' that was just built.
227
+ Generate:
228
+ 1. A concise user-facing description (2-3 sentences) for README or CHANGELOG
229
+ 2. API/CLI/function-level docstrings for every new public symbol
230
+ 3. A usage example (runnable snippet or command)
231
+ 4. Any caveats or known limitations
232
+ Write documentation inline into the relevant files — do not create standalone doc files
233
+ unless the project already has a /docs directory pattern."
234
+ brain_context: brain_context
235
+ mode: auto
236
+ ```
237
+
238
+ If `Skill("mastermind:content")` raises a "skill not found" or "skill unavailable" error, write the documentation directly:
239
+ - Add docstrings to all new public functions/classes/commands
240
+ - Update README.md (Features section or equivalent) with one bullet describing the feature
241
+ - Add a CHANGELOG entry under `[Unreleased]` only if `CHANGELOG.md` already exists in the project (check with `git ls-files CHANGELOG.md`); do NOT create it from scratch
242
+
243
+ After Phase C completes, append only files this phase introduced (delta from before-snapshot):
244
+ ```bash
245
+ comm -13 \
246
+ /tmp/autodev_unstaged_before_C_${K}.txt \
247
+ <(git diff --name-only | sort) \
248
+ >> "$FEATURE_FILE_LIST"
249
+ comm -13 \
250
+ /tmp/autodev_untracked_before_C_${K}.txt \
251
+ <(git ls-files --others --exclude-standard | sort) \
252
+ >> "$FEATURE_FILE_LIST"
253
+ sort -u "$FEATURE_FILE_LIST" -o "$FEATURE_FILE_LIST"
254
+ ```
255
+
256
+ #### Phase D — Delivery
257
+
258
+ (`$FEATURE_FILE_LIST` is the variable set at the top of Phase A: `/tmp/autodev_feature_files_${K}.txt`.)
259
+
260
+ Stage only the files declared for this feature. Do NOT commit — leave that to the user.
261
+
262
+ ```bash
263
+ # Load file list, filtering blank lines, into an array (bash 4+)
264
+ mapfile -t _feat_files < <(grep -v '^[[:space:]]*$' "$FEATURE_FILE_LIST" 2>/dev/null)
265
+
266
+ # Guard: skip if file list is missing or contains only blank lines
267
+ if [ ${#_feat_files[@]} -eq 0 ]; then
268
+ echo "[autodev:newfeature] Warning: Feature ${K} file list is empty — build may be a no-op. Skipping stage."
269
+ else
270
+ # Stage only this feature's declared files. Exclude secrets/env.
271
+ for f in "${_feat_files[@]}"; do
272
+ case "$f" in
273
+ .env|*.env|secrets*|credentials*) echo "Skipping sensitive file: $f" ;;
274
+ *) git add -- "$f" 2>/dev/null || echo "Warning: could not stage $f" ;;
275
+ esac
276
+ done
277
+
278
+ # Guard: detect no-op build (files listed but nothing actually changed)
279
+ # Quoted array expansion handles filenames with spaces correctly
280
+ if git diff --cached --quiet -- "${_feat_files[@]}"; then
281
+ echo "[autodev:newfeature] Warning: Feature ${K} staged no changes — build produced no diff."
282
+ else
283
+ # Show what this feature contributed to the staged set (scoped to feature files only)
284
+ git diff --cached --stat -- "${_feat_files[@]}"
285
+ fi
286
+ fi
287
+ ```
288
+
289
+ Log delivery:
290
+ ```
291
+ [autodev:newfeature] Feature <K>/<newfeature_count> staged: <title>
292
+ Status: <staged|no-op|skipped> # staged=changes in index, no-op=built but no diff, skipped=build failed/empty list
293
+ Review: <clean|capped>
294
+ Files changed: <git diff --cached --stat output scoped to this feature's files>
295
+ ```
296
+
297
+ Track the outcome for FP-End: `feature_status[K] = staged|no-op|skipped`, `feature_review[K] = clean|capped|n/a`.
298
+
299
+ Suggest a commit message (print it, do not run it):
300
+ ```
301
+ feat(<entry_point_module>): <title>
302
+
303
+ <user_value>
304
+
305
+ Delivered by mastermind:autodev --newfeature
306
+ ```
307
+
308
+ Store completion in memory:
309
+ ```
310
+ mcp__monomind__memory_store(
311
+ content: "autodev newfeature built: <title> — <user_value>. Status: <status>.",
312
+ namespace: "mastermind:autodev",
313
+ tags: ["autodev", "newfeature", "built", status]
314
+ )
315
+ ```
316
+
317
+ ---
318
+
319
+ ### FP-End — Summary
320
+
321
+ After all `newfeature_count` features complete, clean up tmp files and print a summary table:
322
+
323
+ ```bash
324
+ # Re-assign K to the final feature count (each shell block is independent per Phase A rule)
325
+ K=<final_newfeature_count> # substitute the actual integer, e.g. K=3
326
+ # Clean up per-feature tmp files
327
+ for k in $(seq 1 $K); do
328
+ rm -f /tmp/autodev_feature_files_${k}.txt \
329
+ /tmp/autodev_untracked_before_${k}.txt \
330
+ /tmp/autodev_unstaged_before_B_${k}.txt \
331
+ /tmp/autodev_untracked_before_B_${k}.txt \
332
+ /tmp/autodev_unstaged_before_C_${k}.txt \
333
+ /tmp/autodev_untracked_before_C_${k}.txt
334
+ done
335
+ ```
336
+
337
+ Count staged features: `staged_count = count of features where feature_status[K] == "staged"`.
338
+
339
+ Print summary table (Status: `staged|no-op|skipped`; Review: `clean|capped|n/a`):
340
+
341
+ ```
342
+ ╔══════════════════════════════════════════════════════════════╗
343
+ ║ autodev --newfeature | Session Summary ║
344
+ ╠══════════════════════════════════════════════════════════════╣
345
+ ║ Feature │ Title │ Status │ Review ║
346
+ ╠═══════════╪═════════════════════════╪═══════════╪════════════╣
347
+ ║ 1/<newfeature_count> │ <title> │ staged │ clean ║
348
+ ║ 2/<newfeature_count> │ <title> │ skipped │ n/a ║
349
+ ║ ... ║
350
+ ╚══════════════════════════════════════════════════════════════╝
351
+ Staged: <staged_count>/<newfeature_count> features. Run `git commit` to finalize.
352
+ ```
353
+
354
+ ---
355
+
356
+ ## Loop: For Each Improvement (1 through `count`)
357
+
358
+ Run this sequence `count` times. After each completed improvement, increment the counter and continue — do not stop between improvements unless `mode = confirm` and the user declines.
359
+
360
+ ### Phase 1 — Research
361
+
362
+ **Goal:** Understand the project deeply enough to pick the single best improvement to build right now.
363
+
364
+ Gather context from at minimum these sources — run all in parallel:
365
+
366
+ ```bash
367
+ # Git log: what has been worked on recently
368
+ git log --oneline -20
369
+
370
+ # Project structure
371
+ find . -maxdepth 3 -type f \( -name "*.ts" -o -name "*.js" -o -name "*.py" -o -name "*.go" -o -name "*.md" \) \
372
+ ! -path "*/node_modules/*" ! -path "*/.git/*" ! -path "*/dist/*" | head -60
373
+
374
+ # Package/project metadata
375
+ cat package.json 2>/dev/null || cat pyproject.toml 2>/dev/null || cat go.mod 2>/dev/null || true
376
+
377
+ # README
378
+ cat README.md 2>/dev/null | head -80 || true
379
+
380
+ # Existing issues/todos (common patterns)
381
+ grep -rn "TODO\|FIXME\|HACK\|XXX\|BUG\|PERF\|DEBT" --include="*.ts" --include="*.js" --include="*.py" \
382
+ --include="*.go" --include="*.md" . 2>/dev/null | grep -v node_modules | grep -v dist | head -30
383
+ ```
384
+
385
+ Also call (parallel):
386
+ - `mcp__monomind__monograph_god_nodes` — find high-centrality files (architectural hotspots)
387
+ - `mcp__monomind__monograph_suggest` with query `"most impactful improvement"` — graph-guided suggestions
388
+ - `mcp__monomind__memory_search` with query `"autodev built"`, namespace `"mastermind:autodev"`, limit 20 — to exclude already-built improvements from candidates
389
+
390
+ If a `focus` hint was provided, bias all research toward that topic.
391
+
392
+ **Output of research phase:**
393
+ Produce a ranked list of 3–5 candidate improvements. For each candidate:
394
+ - `title`: one-line name
395
+ - `type`: feature | bugfix | refactor | performance | dx | security | test
396
+ - `why`: one sentence — why this helps the project most
397
+ - `feasibility`: high | medium (skip low — don't pick things that need days)
398
+ - `blast_radius`: files/modules affected (estimate)
399
+
400
+ ### Phase 2 — Selection
401
+
402
+ Pick the **single best** candidate using this priority order:
403
+ 1. Highest feasibility
404
+ 2. Lowest blast radius for the value delivered
405
+ 3. Aligns with `focus` hint (if given)
406
+ 4. Not something already in git log from the last 20 commits
407
+
408
+ If `mode = confirm`: show the ranked list and selection, wait for user approval before proceeding.
409
+
410
+ If `mode = auto`: proceed immediately with the top pick.
411
+
412
+ Log the selection:
413
+ ```
414
+ [autodev] Improvement <N>/<count>: <title> (<type>)
415
+ Rationale: <why>
416
+ Files affected: <blast_radius>
417
+ ```
418
+
419
+ Store selection in memory so it's not re-picked next iteration:
420
+ ```
421
+ mcp__monomind__memory_store(
422
+ content: "autodev built: <title> — <why>",
423
+ namespace: "mastermind:autodev",
424
+ tags: ["autodev", "built", type]
425
+ )
426
+ ```
427
+
428
+ ### Phase 3 — Build
429
+
430
+ Invoke `Skill("mastermind:build")` with:
431
+ - `prompt`: detailed implementation brief for the selected improvement
432
+ - `brain_context`: the loaded brain context
433
+ - `project_name`: `$(basename "$PWD")`
434
+ - `mode`: `auto`
435
+ - `board_id`: the autodev board (create once at startup, reuse)
436
+
437
+ The brief passed to build MUST include:
438
+ - What to build (concrete spec, not vague)
439
+ - Which files to touch
440
+ - Acceptance criteria (2–4 testable outcomes)
441
+ - What NOT to change (blast radius guard)
442
+
443
+ Wait for `mastermind:build` to complete before proceeding to Phase 4.
444
+
445
+ ### Phase 4 — Review Until Clean
446
+
447
+ After build completes, enter an **inline** review loop (no ScheduleWakeup — must stay within this session):
448
+
449
+ ```
450
+ review_iter = 0
451
+ LOOP:
452
+ review_iter += 1
453
+ If review_iter > 5: EXIT LOOP (cap reached)
454
+
455
+ Invoke Skill("mastermind:review") with:
456
+ prompt: "Review the changes just made for: <title>. Check correctness, tests, edge cases, security."
457
+ brain_context: brain_context
458
+ mode: auto
459
+ (do NOT pass --tillend — that would schedule a ScheduleWakeup and break out of autodev)
460
+
461
+ If review returns zero findings: EXIT LOOP (clean)
462
+ Else: findings are auto-fixed by the reviewer; continue loop
463
+ ```
464
+
465
+ **Critical:** Do not invoke the review command via `/mastermind:review --tillend ...`. That syntax schedules ScheduleWakeup continuations which would terminate the current autodev session. Always invoke inline with `Skill("mastermind:review")` only.
466
+
467
+ If the cap (5 iterations) is reached without a clean pass, log a warning and continue to Phase 5 — don't block the outer loop.
468
+
469
+ ### Phase 5 — Log Completion
470
+
471
+ ```
472
+ [autodev] Improvement <N>/<count> complete: <title>
473
+ Status: clean | capped (review issues remain)
474
+ ```
475
+
476
+ Update brain with what was built:
477
+ ```
478
+ mcp__monomind__memory_store(
479
+ content: "autodev completed improvement <N>: <title>. Type: <type>. Status: <status>.",
480
+ namespace: "mastermind:autodev",
481
+ tags: ["autodev", "completed", type, status]
482
+ )
483
+ ```
484
+
485
+ If `N < count`: log `[autodev] Moving to improvement <N+1>/<count>...` and repeat from Phase 1.
486
+
487
+ ---
488
+
489
+ ## Standalone Execution
490
+
491
+ 1. Extract flags (leading integer for count, --newfeature N, --focus, --auto/--confirm)
492
+ 2. Load brain context via _protocol.md Brain Load Procedure (namespace: `autodev`)
493
+ 3. Create monotask board:
494
+ ```bash
495
+ project_name="${project_name:-$(basename "$PWD")}"
496
+ board_id=$(monotask board create "autodev" --json 2>/dev/null | jq -r '.id // empty')
497
+ ```
498
+ 4. **If `--newfeature` was parsed:** run the Feature Pipeline (FP-0 through FP-End) and skip the improvement loop entirely.
499
+ **Otherwise:** run the Loop section above for each improvement.
500
+ 5. At end: follow _protocol.md Brain Write Procedure (namespace: `autodev`)
501
+
502
+ ---
503
+
504
+ ## Tillend Integration
505
+
506
+ **`--newfeature` is incompatible with `--tillend`.** Both the command and skill strip `--tillend` and emit a warning when both are present. This is because the Feature Pipeline has a fundamentally different termination model (a fixed shortlist of N features, not an open-ended "until exhausted" loop), and the FP-0 discovery + FP-End staging structure does not map onto the per-wakeup session model that `--tillend` assumes.
507
+
508
+ For the standard improvement loop: when `--tillend` wraps autodev, each ScheduleWakeup wakeup runs a **full autodev session** (all `count` improvements). Memory deduplication (Phase 1 searches `"autodev built"`) prevents already-built improvements from being re-picked in subsequent wakeups.
509
+
510
+ - `count` controls improvements **per session** (default: 1)
511
+ - `--tillend` keeps scheduling new sessions until an empty round
512
+ - An empty round occurs when Phase 1 research finds no viable new candidates (all feasible work is already in memory)
513
+
514
+ The loop terminates naturally when the project has no more improvements worth building — not based on hitting a fixed count across wakeups.
515
+
516
+ ---
517
+
518
+ ## Safety Guards
519
+
520
+ - Never delete files unless the improvement or feature explicitly requires it
521
+ - Never modify `.env`, secrets, credentials
522
+ - Never commit (only stage) — leave commit to the user
523
+ - If Phase A (build) fails or produces no output: skip this feature, log the skip, continue to next feature
524
+ - If Phase B (review) skill is unavailable or throws: log a warning, treat as capped (review issues may remain), continue to Phase C
525
+ - If Phase C (documentation) skill is unavailable: fall back to inline documentation; if that also fails, log and continue to Phase D
526
+ - If Phase D (delivery) `git add` fails on multiple files: log each failure, stage what succeeded, continue
527
+ - If all research candidates are infeasible: ask the user for a focus direction instead of guessing
528
+ - **`--newfeature` specific:**
529
+ - Features must be genuinely new — reject any candidate that is just a refactor or bugfix of existing code
530
+ - Do not create standalone `.md` doc files unless the project already has a `/docs` directory
531
+ - Stage only the files declared in the build brief for each feature (written to `$FEATURE_FILE_LIST` in Phase A), supplemented only by newly untracked files the build produced (detected via before/after `git ls-files` delta) — never use `git add --all` in feature mode
532
+ - Each feature's staged set is driven by its build brief's declared file list, making it deterministic and cross-feature safe
533
+ - `newfeature_count > 10` is caught at parse time and capped to 10 before any pipeline runs
534
+ - `--tillend` combined with `--newfeature` is rejected at parse time with a clear warning
@@ -128,6 +128,7 @@ Ask the user (or infer from prompt) for the optional Paperclip-style fields:
128
128
  "agent_type": "<subagent_type slug from mapping table>",
129
129
  "responsibilities": ["<1-3 bullet responsibilities>"],
130
130
  "reports_to": "<role id or null>",
131
+ "skills": [],
131
132
  "adapter_config": {
132
133
  "model": "<claude model id>",
133
134
  "max_tokens": 8192
@@ -226,18 +227,32 @@ mkdir -p .monomind/orgs
226
227
  Write the confirmed org config as JSON using `jq` to guarantee valid encoding:
227
228
 
228
229
  ```bash
229
- # Build the config JSON from the confirmed org plan and write atomically
230
- # (Claude constructs the full jq expression from the confirmed roles/edges in Step 5)
230
+ # Build the config JSON from the confirmed org plan and write atomically.
231
+ # Set shell variables from the confirmed plan before running this block:
232
+ # governance_policy — "auto" | "board" | "strict" (from Step 4)
233
+ # budget_tokens_val — integer or 0 for unlimited (from Step 4)
234
+ # ceo_adapter — model id string (from Step 4)
231
235
  jq -n \
232
236
  --arg name "$org_name" \
233
237
  --arg goal "$goal" \
234
238
  --arg topology "$topology" \
235
239
  --argjson roles "$roles_json" \
236
240
  --argjson communication "$communication_json" \
241
+ --arg gov_policy "${governance_policy:-auto}" \
242
+ --argjson budget_tokens "${budget_tokens_val:-0}" \
243
+ --arg ceo_adapter "${ceo_adapter:-claude-sonnet-4-6}" \
237
244
  '{name:$name,goal:$goal,mode:"daemon",topology:$topology,
238
245
  created_at:(now|todate),roles:$roles,communication:$communication,
246
+ governance:{policy:$gov_policy,approvals_file:(".monomind/orgs/"+$name+"-approvals.json")},
239
247
  board_space:$name,board_name:"org-tasks",
240
- run_config:{checkpoint_interval_min:30,max_concurrent_agents:6,memory_namespace:("org:"+$name)}}' \
248
+ run_config:{
249
+ checkpoint_interval_min:30,
250
+ max_concurrent_agents:6,
251
+ memory_namespace:("org:"+$name),
252
+ budget_tokens:$budget_tokens,
253
+ alert_threshold:0.8,
254
+ ceo_adapter:$ceo_adapter
255
+ }}' \
241
256
  > "${orgJson}.tmp" && mv "${orgJson}.tmp" "$orgJson"
242
257
  ```
243
258
 
@@ -296,14 +311,15 @@ curl -s -X POST "${CTRL_URL}/api/mastermind/event" \
296
311
  '{type:"domain:complete",session:$session,domain:"ops",status:"complete",
297
312
  org:$orgName,goal:$goal,roles_count:$rolesCount,ts:(now*1000|floor)}')" || true
298
313
 
299
- # org:create — so handleOrgEvent routes it to the Orgs panel event log
314
+ # org:create — so handleOrgEvent routes it to the Orgs panel event log and SSE triggers list refresh
300
315
  curl -s -X POST "${CTRL_URL}/api/mastermind/event" \
301
316
  -H "Content-Type: application/json" \
302
317
  -d "$(jq -cn \
303
318
  --arg session "$session_id" \
304
319
  --arg org "$orgName" \
305
320
  --arg goal "$goal_val" \
306
- '{type:"org:create",session:$session,org:$org,goal:$goal,ts:(now*1000|floor)}')" || true
321
+ --arg proj "$(pwd)" \
322
+ '{type:"org:create",session:$session,org:$org,goal:$goal,project:$proj,ts:(now*1000|floor)}')" || true
307
323
  ```
308
324
 
309
325
  ---