@monoes/monomindcli 2.10.9 → 2.10.13

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 (265) hide show
  1. package/.claude/commands/mastermind/brain.md +14 -14
  2. package/.claude/commands/mastermind/help.md +2 -2
  3. package/.claude/commands/mastermind/master.md +24 -19
  4. package/.claude/commands/mastermind/memory.md +8 -8
  5. package/.claude/commands/mastermind/monoswarm.md +4 -4
  6. package/.claude/commands/mastermind.md +7 -7
  7. package/.claude/commands/truth/start.md +3 -3
  8. package/.claude/settings.json +0 -4
  9. package/.claude/skills/mastermind/SKILL.md +7 -16
  10. package/.claude/skills/mastermind/references/antigravity-tools.md +0 -62
  11. package/.claude/skills/mastermind/references/claude-code-tools.md +0 -52
  12. package/.claude/skills/mastermind/references/codex-tools.md +0 -66
  13. package/.claude/skills/mastermind/references/copilot-tools.md +0 -51
  14. package/.claude/skills/mastermind/references/gemini-tools.md +0 -65
  15. package/.claude/skills/mastermind/references/pi-tools.md +0 -30
  16. package/.claude/skills/mastermind-createorg/SKILL.md +3 -1
  17. package/.claude/skills/mastermind-debug/SKILL.md +3 -277
  18. package/.claude/skills/mastermind-design/SKILL.md +2 -0
  19. package/.claude/skills/mastermind-execute/SKILL.md +59 -103
  20. package/.claude/skills/mastermind-idea/SKILL.md +9 -2
  21. package/.claude/skills/mastermind-intake/SKILL.md +31 -7
  22. package/.claude/skills/mastermind-issue-detail/SKILL.md +70 -16
  23. package/.claude/skills/mastermind-issues/SKILL.md +111 -16
  24. package/.claude/skills/mastermind-liveness/SKILL.md +96 -26
  25. package/.claude/skills/mastermind-memory/SKILL.md +0 -316
  26. package/.claude/skills/mastermind-my-issues/SKILL.md +40 -8
  27. package/.claude/skills/mastermind-org/SKILL.md +1 -12
  28. package/.claude/skills/mastermind-plan/SKILL.md +7 -228
  29. package/.claude/skills/mastermind-plan-to-tasks/SKILL.md +132 -24
  30. package/.claude/skills/mastermind-protocol/SKILL.md +33 -22
  31. package/.claude/skills/mastermind-research/SKILL.md +0 -163
  32. package/.claude/skills/mastermind-review/SKILL.md +0 -228
  33. package/.claude/skills/mastermind-runorg/SKILL.md +22 -3
  34. package/.claude/skills/mastermind-skill-builder/SKILL.md +1 -1
  35. package/.claude/skills/mastermind-tasks/SKILL.md +5 -0
  36. package/.claude/skills/mastermind-techport/SKILL.md +1 -1
  37. package/.claude/skills/performance-analysis/SKILL.md +1 -1
  38. package/.claude/skills/verification-quality/SKILL.md +2 -3
  39. package/README.md +2 -2
  40. package/dist/src/commands/agent-exec.d.ts +2 -0
  41. package/dist/src/commands/agent-exec.d.ts.map +1 -1
  42. package/dist/src/commands/agent-exec.js +16 -0
  43. package/dist/src/commands/agent-exec.js.map +1 -1
  44. package/dist/src/commands/doc.js +2 -2
  45. package/dist/src/commands/doc.js.map +1 -1
  46. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  47. package/dist/src/commands/doctor-project-checks.js +20 -1
  48. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  49. package/dist/src/commands/init-wizard.d.ts.map +1 -1
  50. package/dist/src/commands/init-wizard.js +6 -0
  51. package/dist/src/commands/init-wizard.js.map +1 -1
  52. package/dist/src/commands/init.d.ts.map +1 -1
  53. package/dist/src/commands/init.js +12 -2
  54. package/dist/src/commands/init.js.map +1 -1
  55. package/dist/src/commands/monograph.d.ts.map +1 -1
  56. package/dist/src/commands/monograph.js +11 -4
  57. package/dist/src/commands/monograph.js.map +1 -1
  58. package/dist/src/commands/org-observe.d.ts +2 -0
  59. package/dist/src/commands/org-observe.d.ts.map +1 -1
  60. package/dist/src/commands/org-observe.js +115 -6
  61. package/dist/src/commands/org-observe.js.map +1 -1
  62. package/dist/src/commands/org.d.ts +26 -0
  63. package/dist/src/commands/org.d.ts.map +1 -1
  64. package/dist/src/commands/org.js +186 -28
  65. package/dist/src/commands/org.js.map +1 -1
  66. package/dist/src/init/codex-generator.d.ts +5 -0
  67. package/dist/src/init/codex-generator.d.ts.map +1 -1
  68. package/dist/src/init/codex-generator.js +12 -3
  69. package/dist/src/init/codex-generator.js.map +1 -1
  70. package/dist/src/init/executor.d.ts.map +1 -1
  71. package/dist/src/init/executor.js +10 -9
  72. package/dist/src/init/executor.js.map +1 -1
  73. package/dist/src/init/settings-generator.d.ts.map +1 -1
  74. package/dist/src/init/settings-generator.js +0 -5
  75. package/dist/src/init/settings-generator.js.map +1 -1
  76. package/dist/src/init/write-codex.d.ts.map +1 -1
  77. package/dist/src/init/write-codex.js +6 -5
  78. package/dist/src/init/write-codex.js.map +1 -1
  79. package/dist/src/knowledge/document-pipeline.d.ts +5 -0
  80. package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
  81. package/dist/src/knowledge/document-pipeline.js +32 -16
  82. package/dist/src/knowledge/document-pipeline.js.map +1 -1
  83. package/dist/src/mcp-tools/hooks-routing.d.ts +9 -0
  84. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  85. package/dist/src/mcp-tools/hooks-routing.js +12 -1
  86. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  87. package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
  88. package/dist/src/mcp-tools/knowledge-tools.js +105 -13
  89. package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
  90. package/dist/src/mcp-tools/memory-tools.d.ts +13 -0
  91. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  92. package/dist/src/mcp-tools/memory-tools.js +257 -31
  93. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  94. package/dist/src/mcp-tools/monograph/health-tools.d.ts.map +1 -1
  95. package/dist/src/mcp-tools/monograph/health-tools.js +99 -42
  96. package/dist/src/mcp-tools/monograph/health-tools.js.map +1 -1
  97. package/dist/src/mcp-tools/monograph/impact-tools.d.ts.map +1 -1
  98. package/dist/src/mcp-tools/monograph/impact-tools.js +123 -51
  99. package/dist/src/mcp-tools/monograph/impact-tools.js.map +1 -1
  100. package/dist/src/mcp-tools/monograph/query-tools.d.ts.map +1 -1
  101. package/dist/src/mcp-tools/monograph/query-tools.js +113 -96
  102. package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
  103. package/dist/src/mcp-tools/monograph/shared.d.ts +37 -4
  104. package/dist/src/mcp-tools/monograph/shared.d.ts.map +1 -1
  105. package/dist/src/mcp-tools/monograph/shared.js +75 -56
  106. package/dist/src/mcp-tools/monograph/shared.js.map +1 -1
  107. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  108. package/dist/src/memory/embedding-operations.js +9 -4
  109. package/dist/src/memory/embedding-operations.js.map +1 -1
  110. package/dist/src/memory/memory-bridge.d.ts +60 -1
  111. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  112. package/dist/src/memory/memory-bridge.js +185 -42
  113. package/dist/src/memory/memory-bridge.js.map +1 -1
  114. package/dist/src/memory/memory-kg.d.ts +495 -28
  115. package/dist/src/memory/memory-kg.d.ts.map +1 -1
  116. package/dist/src/memory/memory-kg.js +2186 -251
  117. package/dist/src/memory/memory-kg.js.map +1 -1
  118. package/dist/src/memory/query-router.d.ts +51 -0
  119. package/dist/src/memory/query-router.d.ts.map +1 -1
  120. package/dist/src/memory/query-router.js +38 -2
  121. package/dist/src/memory/query-router.js.map +1 -1
  122. package/dist/src/orgrt/agent-exec.d.ts +14 -0
  123. package/dist/src/orgrt/agent-exec.d.ts.map +1 -1
  124. package/dist/src/orgrt/agent-exec.js +88 -4
  125. package/dist/src/orgrt/agent-exec.js.map +1 -1
  126. package/dist/src/orgrt/agent-runner.d.ts +26 -1
  127. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  128. package/dist/src/orgrt/agent-runner.js +73 -22
  129. package/dist/src/orgrt/agent-runner.js.map +1 -1
  130. package/dist/src/orgrt/antigravity-runner.d.ts +1 -1
  131. package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
  132. package/dist/src/orgrt/antigravity-runner.js +36 -19
  133. package/dist/src/orgrt/antigravity-runner.js.map +1 -1
  134. package/dist/src/orgrt/approvals.d.ts +26 -2
  135. package/dist/src/orgrt/approvals.d.ts.map +1 -1
  136. package/dist/src/orgrt/approvals.js +67 -7
  137. package/dist/src/orgrt/approvals.js.map +1 -1
  138. package/dist/src/orgrt/broker.d.ts +21 -2
  139. package/dist/src/orgrt/broker.d.ts.map +1 -1
  140. package/dist/src/orgrt/broker.js +56 -8
  141. package/dist/src/orgrt/broker.js.map +1 -1
  142. package/dist/src/orgrt/bus.d.ts +8 -0
  143. package/dist/src/orgrt/bus.d.ts.map +1 -1
  144. package/dist/src/orgrt/bus.js +27 -0
  145. package/dist/src/orgrt/bus.js.map +1 -1
  146. package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
  147. package/dist/src/orgrt/checkpoint-ops.js +15 -5
  148. package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
  149. package/dist/src/orgrt/checkpoint.d.ts +42 -4
  150. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  151. package/dist/src/orgrt/checkpoint.js +75 -4
  152. package/dist/src/orgrt/checkpoint.js.map +1 -1
  153. package/dist/src/orgrt/codex-runner.d.ts +1 -1
  154. package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
  155. package/dist/src/orgrt/codex-runner.js +50 -23
  156. package/dist/src/orgrt/codex-runner.js.map +1 -1
  157. package/dist/src/orgrt/copilot-runner.d.ts +24 -2
  158. package/dist/src/orgrt/copilot-runner.d.ts.map +1 -1
  159. package/dist/src/orgrt/copilot-runner.js +257 -157
  160. package/dist/src/orgrt/copilot-runner.js.map +1 -1
  161. package/dist/src/orgrt/cross-org.d.ts +10 -3
  162. package/dist/src/orgrt/cross-org.d.ts.map +1 -1
  163. package/dist/src/orgrt/cross-org.js +225 -10
  164. package/dist/src/orgrt/cross-org.js.map +1 -1
  165. package/dist/src/orgrt/crush-runner.d.ts +22 -2
  166. package/dist/src/orgrt/crush-runner.d.ts.map +1 -1
  167. package/dist/src/orgrt/crush-runner.js +227 -120
  168. package/dist/src/orgrt/crush-runner.js.map +1 -1
  169. package/dist/src/orgrt/daemon.d.ts +77 -7
  170. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  171. package/dist/src/orgrt/daemon.js +989 -385
  172. package/dist/src/orgrt/daemon.js.map +1 -1
  173. package/dist/src/orgrt/decisions.d.ts +2 -2
  174. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  175. package/dist/src/orgrt/decisions.js +90 -18
  176. package/dist/src/orgrt/decisions.js.map +1 -1
  177. package/dist/src/orgrt/grok-runner.d.ts +29 -3
  178. package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
  179. package/dist/src/orgrt/grok-runner.js +286 -150
  180. package/dist/src/orgrt/grok-runner.js.map +1 -1
  181. package/dist/src/orgrt/kimicode-runner.d.ts +5 -5
  182. package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
  183. package/dist/src/orgrt/kimicode-runner.js +53 -32
  184. package/dist/src/orgrt/kimicode-runner.js.map +1 -1
  185. package/dist/src/orgrt/mailbox.d.ts +15 -0
  186. package/dist/src/orgrt/mailbox.d.ts.map +1 -1
  187. package/dist/src/orgrt/mailbox.js +29 -1
  188. package/dist/src/orgrt/mailbox.js.map +1 -1
  189. package/dist/src/orgrt/migrate.d.ts.map +1 -1
  190. package/dist/src/orgrt/migrate.js +8 -5
  191. package/dist/src/orgrt/migrate.js.map +1 -1
  192. package/dist/src/orgrt/opencode-runner.d.ts +1 -1
  193. package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
  194. package/dist/src/orgrt/opencode-runner.js +29 -3
  195. package/dist/src/orgrt/opencode-runner.js.map +1 -1
  196. package/dist/src/orgrt/org-memory.d.ts +19 -3
  197. package/dist/src/orgrt/org-memory.d.ts.map +1 -1
  198. package/dist/src/orgrt/org-memory.js +110 -38
  199. package/dist/src/orgrt/org-memory.js.map +1 -1
  200. package/dist/src/orgrt/pi-rpc-runner.d.ts +3 -1
  201. package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -1
  202. package/dist/src/orgrt/pi-rpc-runner.js +35 -3
  203. package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
  204. package/dist/src/orgrt/pi-runner.d.ts +25 -2
  205. package/dist/src/orgrt/pi-runner.d.ts.map +1 -1
  206. package/dist/src/orgrt/pi-runner.js +271 -152
  207. package/dist/src/orgrt/pi-runner.js.map +1 -1
  208. package/dist/src/orgrt/policy.d.ts +1 -0
  209. package/dist/src/orgrt/policy.d.ts.map +1 -1
  210. package/dist/src/orgrt/policy.js +199 -39
  211. package/dist/src/orgrt/policy.js.map +1 -1
  212. package/dist/src/orgrt/provider.d.ts +4 -0
  213. package/dist/src/orgrt/provider.d.ts.map +1 -1
  214. package/dist/src/orgrt/provider.js +16 -0
  215. package/dist/src/orgrt/provider.js.map +1 -1
  216. package/dist/src/orgrt/qwen-rpc-runner.d.ts +3 -1
  217. package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -1
  218. package/dist/src/orgrt/qwen-rpc-runner.js +35 -3
  219. package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -1
  220. package/dist/src/orgrt/qwen-runner.d.ts +30 -3
  221. package/dist/src/orgrt/qwen-runner.d.ts.map +1 -1
  222. package/dist/src/orgrt/qwen-runner.js +282 -142
  223. package/dist/src/orgrt/qwen-runner.js.map +1 -1
  224. package/dist/src/orgrt/role-slot.d.ts +88 -0
  225. package/dist/src/orgrt/role-slot.d.ts.map +1 -0
  226. package/dist/src/orgrt/role-slot.js +133 -0
  227. package/dist/src/orgrt/role-slot.js.map +1 -0
  228. package/dist/src/orgrt/runtime-options.d.ts +17 -0
  229. package/dist/src/orgrt/runtime-options.d.ts.map +1 -0
  230. package/dist/src/orgrt/runtime-options.js +32 -0
  231. package/dist/src/orgrt/runtime-options.js.map +1 -0
  232. package/dist/src/orgrt/scheduler-integration.d.ts +11 -0
  233. package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
  234. package/dist/src/orgrt/scheduler-integration.js +75 -17
  235. package/dist/src/orgrt/scheduler-integration.js.map +1 -1
  236. package/dist/src/orgrt/scheduler.d.ts +4 -0
  237. package/dist/src/orgrt/scheduler.d.ts.map +1 -1
  238. package/dist/src/orgrt/scheduler.js +7 -1
  239. package/dist/src/orgrt/scheduler.js.map +1 -1
  240. package/dist/src/orgrt/server.d.ts +8 -3
  241. package/dist/src/orgrt/server.d.ts.map +1 -1
  242. package/dist/src/orgrt/server.js +48 -13
  243. package/dist/src/orgrt/server.js.map +1 -1
  244. package/dist/src/orgrt/session.d.ts +26 -2
  245. package/dist/src/orgrt/session.d.ts.map +1 -1
  246. package/dist/src/orgrt/session.js +99 -5
  247. package/dist/src/orgrt/session.js.map +1 -1
  248. package/dist/src/orgrt/task-dag.d.ts +5 -0
  249. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  250. package/dist/src/orgrt/task-dag.js +41 -0
  251. package/dist/src/orgrt/task-dag.js.map +1 -1
  252. package/dist/src/orgrt/test-loop.js +2 -2
  253. package/dist/src/orgrt/test-loop.js.map +1 -1
  254. package/dist/src/orgrt/types.d.ts +14 -2
  255. package/dist/src/orgrt/types.d.ts.map +1 -1
  256. package/dist/src/orgrt/types.js +15 -1
  257. package/dist/src/orgrt/types.js.map +1 -1
  258. package/dist/src/orgrt/vercel-runner.d.ts.map +1 -1
  259. package/dist/src/orgrt/vercel-runner.js +4 -0
  260. package/dist/src/orgrt/vercel-runner.js.map +1 -1
  261. package/dist/src/ui/routes-org.mjs +27 -7
  262. package/dist/src/ui/server.mjs +82 -48
  263. package/dist/tsconfig.tsbuildinfo +1 -1
  264. package/package.json +2 -1
  265. package/dist/src/ui/data/mastermind-sessions.json +0 -1
@@ -61,68 +61,3 @@ These tools are unique to Gemini CLI:
61
61
  | `complete_task` | Signal that a Gemini subagent has completed and return its result to the parent agent |
62
62
  | `tracker_create_task`, `tracker_update_task`, `tracker_get_task`, `tracker_list_tasks`, `tracker_add_dependency`, `tracker_visualize` | Rich task tracker with dependency and visualization support |
63
63
  | `read_mcp_resource`, `list_mcp_resources` | MCP resource access |
64
- # monomind:start skills:claude:mastermind:references/gemini-tools.md
65
- # Gemini CLI Tool Mapping
66
-
67
- Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On Gemini CLI these resolve to the tools below.
68
-
69
- | Action skills request | Gemini CLI equivalent |
70
- |----------------------|----------------------|
71
- | Read a file | `read_file` |
72
- | Read multiple files at once | `read_many_files` |
73
- | Create a new file | `write_file` |
74
- | Edit a file | `replace` |
75
- | Run a shell command | `run_shell_command` |
76
- | Search file contents | `grep_search` |
77
- | Find files by name | `glob` |
78
- | List files and subdirectories | `list_directory` |
79
- | Fetch a URL | `web_fetch` |
80
- | Search the web | `google_web_search` |
81
- | Invoke a skill | `activate_skill` |
82
- | Dispatch a subagent (`Subagent (general-purpose):` template) | `invoke_agent` with `agent_name: "generalist"` (invocable via `@generalist` chat syntax — see [Subagent support](#subagent-support)) |
83
- | Multiple parallel dispatches | Multiple `invoke_agent` calls in the same response |
84
- | Task tracking ("create a todo", "mark complete") | `write_todos` (statuses: pending, in_progress, completed, cancelled, blocked) |
85
-
86
- ## Instructions file
87
-
88
- When a skill mentions "your instructions file", on Gemini CLI this is **`GEMINI.md`**. Gemini CLI loads `GEMINI.md` hierarchically: global at `~/.gemini/GEMINI.md`, project-level files in workspace directories and their ancestors, and sub-directory `GEMINI.md` files when a tool accesses files in those directories.
89
-
90
- ## Personal skills directory
91
-
92
- User-level skills live at **`~/.gemini/skills/`**, with **`~/.agents/skills/`** as a cross-runtime alias (shared with Codex and Copilot CLI). When both directories exist at the same scope, `.agents/skills/` takes precedence. Each skill is a subdirectory containing a `SKILL.md` (with `name` and `description` frontmatter).
93
-
94
- ## Subagent support
95
-
96
- Gemini CLI dispatches subagents through the `invoke_agent` tool, which takes `agent_name` and `prompt` parameters. The same dispatch is also surfaced as a chat-syntax shortcut: typing `@generalist <prompt>` is equivalent to calling `invoke_agent` with `agent_name: "generalist"`. Built-in agent names include `generalist`, `cli_help`, `codebase_investigator`, and (with browser tooling enabled) `browser_agent`.
97
-
98
- Skills dispatch with `Subagent (general-purpose):` and either reference a prompt-template file or supply an inline prompt. On Gemini CLI:
99
-
100
- | Skill dispatch form | Gemini CLI equivalent |
101
- |---------------------|----------------------|
102
- | References an implementer template (writes code, runs tests) | Fill the template, then `invoke_agent` with `agent_name: "generalist"` and the filled prompt |
103
- | References a code-reviewer template (`mastermind:review`) | `invoke_agent` with `agent_name: "generalist"` and the filled review template |
104
- | Inline prompt (no template referenced) | `invoke_agent` with `agent_name: "generalist"` and your inline prompt |
105
-
106
- ### Prompt filling
107
-
108
- Skills provide prompt templates with placeholders like `{WHAT_WAS_IMPLEMENTED}` or `[FULL TEXT of task]`. Fill all placeholders before passing the complete prompt to `invoke_agent`. The prompt template itself contains the agent's role, review criteria, and expected output format — the subagent will follow it.
109
-
110
- ### Parallel dispatch
111
-
112
- Gemini CLI supports parallel subagent dispatch. Issue multiple `invoke_agent` calls in the same response to run independent subagent work in parallel. Keep dependent tasks sequential, but do not serialize independent subagent tasks just to preserve a simpler history.
113
-
114
- ## Additional Gemini CLI tools
115
-
116
- These tools are unique to Gemini CLI:
117
-
118
- | Tool | Purpose |
119
- |------|---------|
120
- | `save_memory` (legacy) | Persist facts across sessions when `experimental.memoryV2 = false` |
121
- | `get_internal_docs` | Look up Gemini CLI's bundled documentation |
122
- | `ask_user` | Pose structured questions to the user (text / single-select / multi-select) |
123
- | `enter_plan_mode` / `exit_plan_mode` | Switch into and out of read-only plan mode |
124
- | `update_topic` | Update the current conversation's topic / strategic-intent metadata |
125
- | `complete_task` | Signal that a Gemini subagent has completed and return its result to the parent agent |
126
- | `tracker_create_task`, `tracker_update_task`, `tracker_get_task`, `tracker_list_tasks`, `tracker_add_dependency`, `tracker_visualize` | Rich task tracker with dependency and visualization support |
127
- | `read_mcp_resource`, `list_mcp_resources` | MCP resource access |
128
- # monomind:end skills:claude:mastermind:references/gemini-tools.md
@@ -26,33 +26,3 @@ Pi core does not ship a standard subagent tool. The `pi-subagents` package is a
26
26
  ## Task lists
27
27
 
28
28
  Pi core does not ship a standard task-list tool. If a todo/task extension is installed, use its documented tool. Otherwise use Mastermind plan files, checklists in Markdown, or a repo-local `TODO.md` for task tracking. Older docs may refer to `TodoWrite`; treat that as the task-tracking action above.
29
- # monomind:start skills:claude:mastermind:references/pi-tools.md
30
- # Pi Tool Mapping
31
-
32
- Skills speak in actions ("dispatch a subagent", "create a todo", "read a file"). On Pi these resolve to the tools below.
33
-
34
- | Action skills request | Pi equivalent |
35
- | --- | --- |
36
- | Invoke a skill | Pi native skills: load the relevant `SKILL.md` with `read`, or let the human use `/skill:name` |
37
- | Read a file | `read` |
38
- | Create a file | `write` |
39
- | Edit a file | `edit` |
40
- | Run a shell command | `bash` |
41
- | Search file contents | `grep` when active; otherwise `bash` with `rg`/`grep` |
42
- | Find files by name | `find` or `bash` with shell globs |
43
- | List files and subdirectories | `ls` when active; otherwise `bash` with `ls` |
44
- | Dispatch a subagent (`Subagent (general-purpose):` template) | Use an installed subagent tool such as `subagent` from `pi-subagents` if available |
45
- | Task tracking ("create a todo", "mark complete") | Use an installed todo/task tool if available, otherwise track tasks in the plan or `TODO.md` |
46
-
47
- ## Skills
48
-
49
- Pi discovers skills from configured skill directories and installed Pi packages. A Mastermind Pi package should expose `skills/` through its `pi.skills` manifest entry. Pi does not expose Claude Code's `Skill` tool, but the agent should still follow the Mastermind rule: when a skill applies, load and follow it before responding.
50
-
51
- ## Subagents
52
-
53
- Pi core does not ship a standard subagent tool. The `pi-subagents` package is a strong optional companion and provides a `subagent` tool with single-agent, chain, parallel, async, forked-context, and resume/status workflows. If no subagent tool is available, do not fabricate `Task` calls; execute sequentially in the current session or explain that the optional subagent capability is not installed.
54
-
55
- ## Task lists
56
-
57
- Pi core does not ship a standard task-list tool. If a todo/task extension is installed, use its documented tool. Otherwise use Mastermind plan files, checklists in Markdown, or a repo-local `TODO.md` for task tracking. Older docs may refer to `TodoWrite`; treat that as the task-tracking action above.
58
- # monomind:end skills:claude:mastermind:references/pi-tools.md
@@ -96,7 +96,9 @@ For any role that needs non-default behavior, set (all optional — omit to inhe
96
96
  - `"codex"` — ChatGPT subscription via `codex login` (no env vars needed). Auto-resolves `runtime: 'codex'`.
97
97
  - `"antigravity"` — Google AI Pro/Ultra subscription via `agy` CLI (Google OAuth in OS keyring). Auto-resolves `runtime: 'antigravity'`. This is the replacement for the consumer-OAuth path of Gemini CLI (sunset June 18, 2026).
98
98
  - `runtime`: `"claude"` | `"kimicode"` | `"opencode"` | `"vercel"` | `"codex"` | `"antigravity"` — per-role override of the agent loop backend. Usually unnecessary (auto-resolved from `provider.kind`); set explicitly only when you need to force a specific runner regardless of provider.
99
- - `policy`: `{ allowTools?, denyTools?, fileWrite?, fileRead?, webAllow?, maxTokens? }` — glob-based tool/file/web restrictions for that role; leave unset unless the user asked for sandboxing
99
+ - `policy`: `{ allowTools?, denyTools?, fileWrite?, fileRead?, webAllow?, autoApproveTools?, maxTokens? }` — leave the whole object unset for a role that doesn't need it (most roles). But `webAllow` unset/empty means **no web access at all**, and Bash/WebFetch/WebSearch/`org_complete` pause for human approval by default on every call — that's a restriction, not a neutral default, so don't leave it unset for a role whose responsibilities clearly require it (e.g. a role tasked with "gather headlines from news sources" needs `webAllow` populated, not omitted). Set proactively, at creation time, for any role whose stated responsibilities need it:
100
+ - `webAllow: ["*"]` (or specific domains) for a role that does WebSearch/WebFetch as part of its job — an empty/unset `webAllow` silently blocks the exact task you just assigned it.
101
+ - `autoApproveTools: [...]` — tool/action names this role may use without pausing for a human approval, even though they're normally on the sensitive-actions list (`Bash`, `WebFetch`, `WebSearch`, `org_complete`). **Mandatory, not optional, for any org with a `schedule` set** (an unattended/scheduled org): a role that pauses on `WebSearch` or `org_complete` waiting for a human who isn't there to click approve will deadlock forever on every scheduled run, repeatedly re-asking through both `ask_human` and `org_gate` with nothing to show for it. Grant every tool a scheduled org's roles routinely need — including `org_complete` for the boss role — rather than leaving the default human-approval gate in place for automation that's supposed to run with nobody watching.
100
102
 
101
103
  Do not invent values for these — only populate a field the user actually specified or clearly implied (e.g. "the researcher should use Opus" → that role's `adapter_config.model`).
102
104
 
@@ -157,7 +157,7 @@ Once you understand WHERE the break is, find existing working examples:
157
157
 
158
158
  1. **Write a failing test first** (before touching production code)
159
159
  - Automated test where possible; a one-off test script if no framework
160
- - Use `Skill("mastermind-tdd")` for writing proper failing tests
160
+ - Write the test so it fails for the stated root cause, not for a setup error
161
161
  - The test MUST fail before the fix proves it
162
162
 
163
163
  2. **Implement a single fix**
@@ -266,8 +266,8 @@ If systematic investigation reveals the issue is truly environmental, timing-dep
266
266
  - **Condition-based waiting:** replace arbitrary sleeps/timeouts in flaky tests and scripts with polling for the actual condition ("wait until the file exists / the port answers"), with a hard cap. Timing guesses are bugs waiting for a slower machine.
267
267
 
268
268
  **Related skills:**
269
- - `Skill("mastermind-tdd")` — for creating the failing test case (Phase 4, Step 1)
270
- - `Skill("mastermind-verify")` — verify the fix worked before claiming success
269
+ - `Skill("mastermind-review")` — verify the fix worked before claiming success
270
+ - `Skill("mastermind-plan")` — when the root cause turns out to need a multi-file change
271
271
 
272
272
  ## Impact
273
273
 
@@ -275,277 +275,3 @@ Systematic approach vs random fixing:
275
275
  - Time to fix: 15-30 min vs 2-3 hours of thrashing
276
276
  - First-time fix rate: ~95% vs ~40%
277
277
  - New bugs introduced by the fix: near zero vs common
278
- # monomind:start skills:claude:mastermind-debug
279
- # mastermind:debug — Systematic Debugging
280
-
281
- ## Overview
282
-
283
- Random fixes waste time and create new bugs. Quick patches mask underlying issues.
284
-
285
- **Core principle:** ALWAYS find root cause before attempting fixes. Symptom fixes are failure.
286
-
287
- **Violating the letter of this process is violating the spirit of debugging.**
288
-
289
- ## The Iron Law
290
-
291
- ```
292
- NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
293
- ```
294
-
295
- If you haven't completed Phase 1, you cannot propose fixes.
296
-
297
- ## When to Use
298
-
299
- Use for ANY technical issue:
300
- - Test failures
301
- - Bugs in production or staging
302
- - Unexpected behavior
303
- - Performance regressions
304
- - Build failures
305
- - Integration issues
306
-
307
- **Use this ESPECIALLY when:**
308
- - Under time pressure (emergencies make guessing tempting)
309
- - "Just one quick fix" seems obvious
310
- - You've already tried multiple fixes that didn't work
311
- - Previous fix didn't resolve the issue
312
- - You don't fully understand what's happening
313
-
314
- **Don't skip when:**
315
- - Issue seems simple (simple bugs have root causes too)
316
- - You're in a hurry (systematic is faster than thrashing)
317
- - The user wants it fixed immediately (systematic approach finds the real fix faster)
318
-
319
- ## The Four Phases
320
-
321
- You MUST complete each phase before proceeding to the next.
322
-
323
- ---
324
-
325
- ### Phase 1: Root Cause Investigation
326
-
327
- **BEFORE attempting ANY fix:**
328
-
329
- 1. **Read Error Messages Carefully**
330
- - Don't skim errors or warnings
331
- - They often contain the exact solution
332
- - Read stack traces completely
333
- - Note line numbers, file paths, error codes
334
-
335
- 2. **Reproduce Consistently**
336
- - Can you trigger the issue reliably?
337
- - What are the exact steps?
338
- - Does it happen every time?
339
- - If not reproducible → gather more data, don't guess
340
-
341
- 3. **Check Recent Changes**
342
- - What changed that could cause this?
343
- - `git diff`, recent commits, new dependencies, config changes
344
- - Environmental differences between working and broken states
345
-
346
- 4. **Gather Evidence in Multi-Component Systems**
347
-
348
- **WHEN the system has multiple components (CI → build → deploy, API → service → database):**
349
-
350
- **BEFORE proposing fixes, add diagnostic instrumentation:**
351
- ```
352
- For EACH component boundary:
353
- - Log what data enters the component
354
- - Log what data exits the component
355
- - Verify config/env propagation at each layer
356
- - Check state at each boundary
357
-
358
- Run once to gather evidence showing WHERE it breaks
359
- THEN analyze evidence to identify the failing component
360
- THEN investigate that specific component
361
- ```
362
-
363
- **Example:**
364
- ```bash
365
- # Layer 1: entry point
366
- echo "=== Input received: ==="
367
- echo "VAR: ${VAR:+SET}${VAR:-UNSET}"
368
-
369
- # Layer 2: processing
370
- echo "=== State after processing: ==="
371
- env | grep VAR || echo "VAR not in environment"
372
-
373
- # Layer 3: output/result
374
- echo "=== Final state: ==="
375
- ```
376
-
377
- 5. **Trace Data Flow**
378
-
379
- **WHEN the error is deep in a call stack:**
380
- - Where does the bad value originate?
381
- - What called this with the bad value?
382
- - Keep tracing up until you find the source
383
- - Fix at the source, not at the symptom — a `null` crashing in layer 4 usually entered in layer 1
384
-
385
- ---
386
-
387
- ### Phase 2: Pattern Analysis
388
-
389
- Once you understand WHERE the break is, find existing working examples:
390
-
391
- 1. **Find working code that solves the same problem**
392
- - Search the codebase for similar patterns
393
- - Check git history for when this worked
394
- - Find the canonical implementation to compare against
395
-
396
- 2. **Compare against references**
397
- - If implementing a pattern, read the reference implementation COMPLETELY
398
- - Don't skim — read every line
399
- - Understand the pattern fully before applying it
400
-
401
- 3. **Compare broken vs. working**
402
- - What's different?
403
- - List every difference, not just the obvious one — don't assume "that can't matter"
404
- - Environment, config, data, timing
405
-
406
- 4. **Understand dependencies**
407
- - What other components does this need?
408
- - What settings, config, environment?
409
- - What assumptions does it make?
410
-
411
- ---
412
-
413
- ### Phase 3: Form and Test a Hypothesis
414
-
415
- 1. **State your hypothesis explicitly:**
416
- > "I believe the root cause is [X] because [evidence Y] and [evidence Z]."
417
-
418
- 2. **Test the hypothesis minimally**
419
- - Change one thing and observe the result
420
- - If it doesn't confirm or deny, gather more evidence
421
- - A confirmed hypothesis means you understand the root cause
422
-
423
- 3. **If hypothesis is wrong:** Do NOT add more fixes. Return to Phase 1 with the new information.
424
-
425
- 4. **When you don't know:** Say "I don't understand X". Don't pretend to know. Research more or ask the user — a stated unknown beats a confident guess.
426
-
427
- ---
428
-
429
- ### Phase 4: Implementation
430
-
431
- 1. **Write a failing test first** (before touching production code)
432
- - Automated test where possible; a one-off test script if no framework
433
- - Use `Skill("mastermind-tdd")` for writing proper failing tests
434
- - The test MUST fail before the fix proves it
435
-
436
- 2. **Implement a single fix**
437
- - Address the root cause identified in Phase 3
438
- - ONE change at a time
439
- - No "while I'm here" improvements
440
- - No bundled refactoring
441
-
442
- 3. **Verify the fix**
443
- - Test passes now?
444
- - No other tests broken?
445
- - Issue actually resolved?
446
- - Use `Skill("mastermind-review")` to verify before declaring done
447
-
448
- 4. **If the fix doesn't work:**
449
- - STOP
450
- - Count: How many fixes have you tried?
451
- - If < 3: Return to Phase 1, re-analyze with the new information
452
- - **If ≥ 3: STOP — this is likely an architectural problem (see Phase 4.5 below)**
453
- - Do NOT attempt a 4th fix without architectural discussion
454
-
455
- ---
456
-
457
- ### Phase 4.5 — If 3+ Fixes Have Failed: Question the Architecture
458
-
459
- **Pattern indicating an architectural problem:**
460
- - Each fix reveals new coupling or shared state issues in a different place
461
- - Each fix creates new symptoms elsewhere
462
- - Fixes require "massive refactoring" to implement cleanly
463
-
464
- **STOP and question fundamentals:**
465
- - Is this design pattern fundamentally sound?
466
- - Are we continuing out of inertia?
467
- - Should we refactor the architecture rather than continue patching?
468
-
469
- **Discuss with the user before attempting more fixes.** This is not a failed hypothesis — this is the wrong architecture.
470
-
471
- ---
472
-
473
- ## Red Flags — STOP and Return to Phase 1
474
-
475
- If you catch yourself thinking or doing any of these:
476
-
477
- | Thought / Action | What it means |
478
- |---|---|
479
- | "Quick fix for now, investigate later" | You're skipping root cause. Return to Phase 1. |
480
- | "Just try changing X and see if it works" | Guessing. Return to Phase 1. |
481
- | "Add multiple changes, run tests" | Can't isolate what worked. Return to Phase 1. |
482
- | "Skip the test, I'll manually verify" | Untested fixes don't stick. Write the failing test. |
483
- | "Pattern says X but I'll adapt it differently" | Partial understanding guarantees bugs. Read the reference completely. |
484
- | "Here are the main problems: …" (listing fixes without investigation) | Solutions before evidence. Return to Phase 1. |
485
- | "It's probably X, let me fix that" | Assumed root cause. Verify it first. Return to Phase 1. |
486
- | "I don't fully understand but this might work" | You don't have a hypothesis. Return to Phase 1. |
487
- | Proposing solutions before tracing data flow | No root cause. Return to Phase 1. |
488
- | "One more fix attempt" (already tried 2+) | 3+ failures = architectural problem. Phase 4.5. |
489
- | Each fix reveals a new problem in a different place | Architectural problem. Phase 4.5. |
490
-
491
- ## User Signals You're Doing It Wrong
492
-
493
- Watch for these redirections from the user:
494
-
495
- | Signal | What it means |
496
- |---|---|
497
- | "Is that actually happening?" | You assumed without verifying. Add evidence gathering. |
498
- | "What does the output show?" | You should have checked before proposing a fix. |
499
- | "Stop guessing" | You're proposing fixes without root cause. Phase 1. |
500
- | "We keep going in circles" | 3+ fix attempts = architectural problem. Phase 4.5. |
501
-
502
- ## Common Rationalizations
503
-
504
- | Excuse | Reality |
505
- |---|---|
506
- | "Issue is simple, don't need process" | Simple issues have root causes too. Process is fast for simple bugs. |
507
- | "Emergency, no time for process" | Systematic debugging is FASTER than guess-and-check thrashing. |
508
- | "Just try this first, then investigate" | First fix sets the pattern. Do it right from the start. |
509
- | "I'll write the test after confirming the fix works" | Untested fixes don't stick. Test first proves it. |
510
- | "Multiple fixes at once saves time" | Can't isolate what worked. Creates new bugs. |
511
- | "Reference too long, I'll adapt the pattern" | Partial understanding guarantees bugs. Read it completely. |
512
- | "I can see the problem, let me fix it" | Seeing symptoms ≠ understanding root cause. |
513
- | "One more fix attempt" (after 2+ failures) | 3+ failures = architectural problem. Question the pattern. |
514
-
515
- ## Quick Reference
516
-
517
- | Phase | Key Activities | Success Criteria |
518
- |---|---|---|
519
- | **1. Root Cause** | Read errors, reproduce, check changes, gather evidence | Understand WHAT and WHY |
520
- | **2. Pattern** | Find working examples, compare | Identified differences |
521
- | **3. Hypothesis** | Form theory, test minimally | Confirmed or new hypothesis |
522
- | **4. Implementation** | Write failing test, fix, verify | Bug resolved, tests pass |
523
-
524
- ## When the Process Reveals "No Root Cause"
525
-
526
- If systematic investigation reveals the issue is truly environmental, timing-dependent, or external:
527
-
528
- 1. You've completed the process
529
- 2. Document what you investigated
530
- 3. Implement appropriate handling (retry, timeout, clear error message)
531
- 4. Add monitoring/logging for future investigation
532
-
533
- **But:** 95% of "no root cause" cases are incomplete investigation.
534
-
535
- ## Supporting Techniques
536
-
537
- - **Root-cause tracing:** when a bad value crashes deep in the stack, trace it backward caller by caller until you find where it was created; fix there. Adding a guard at the crash site only hides the origin.
538
- - **Defense in depth:** AFTER fixing the root cause, add validation at the layers the bad value passed through unchecked — so the next bad value fails loudly at its first boundary, not silently at its fourth.
539
- - **Condition-based waiting:** replace arbitrary sleeps/timeouts in flaky tests and scripts with polling for the actual condition ("wait until the file exists / the port answers"), with a hard cap. Timing guesses are bugs waiting for a slower machine.
540
-
541
- **Related skills:**
542
- - `Skill("mastermind-tdd")` — for creating the failing test case (Phase 4, Step 1)
543
- - `Skill("mastermind-verify")` — verify the fix worked before claiming success
544
-
545
- ## Impact
546
-
547
- Systematic approach vs random fixing:
548
- - Time to fix: 15-30 min vs 2-3 hours of thrashing
549
- - First-time fix rate: ~95% vs ~40%
550
- - New bugs introduced by the fix: near zero vs common
551
- # monomind:end skills:claude:mastermind-debug
@@ -79,6 +79,7 @@ Invoke Skill("mastermind-plan") ← TERMINAL STATE
79
79
  ### Understanding the idea
80
80
 
81
81
  - Check current project state first (files, docs, recent commits)
82
+ - Check `brain_context` for relevant prior decisions, lessons, or patterns for this domain/project before drafting questions — if it surfaces something relevant (a past constraint, a lesson from a similar feature, a decision already made), say so to the user and let it steer which questions actually need asking. Do not silently re-ask what's already answered in `brain_context`.
82
83
  - Before asking detailed questions, assess scope: if the request describes multiple independent subsystems, flag this immediately. Don't spend questions refining details of a project that needs to be decomposed first.
83
84
  - If too large for a single spec, help the user decompose into sub-projects: what are the independent pieces, how do they relate, what order to build? Then design the first sub-project through the normal flow. Each sub-project gets its own spec → plan → implementation cycle.
84
85
  - For appropriately-scoped projects, ask questions one at a time
@@ -88,6 +89,7 @@ Invoke Skill("mastermind-plan") ← TERMINAL STATE
88
89
 
89
90
  ### Exploring approaches
90
91
 
92
+ - Check `brain_context` for approaches tried (and their outcomes) on similar past work before proposing new ones — prefer what worked, flag what didn't, and say when a proposed approach is informed by recalled history
91
93
  - Propose 2-3 different approaches with trade-offs
92
94
  - Present options conversationally with your recommendation and reasoning
93
95
  - Lead with the recommended option and explain why
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: mastermind-execute
3
- description: Load a written implementation plan, review it critically, execute all tasks step by step, and hand off to mastermind:finish when complete.
3
+ description: Load a written implementation plan, review it critically, execute all tasks step by step, and hand off to mastermind:review when complete.
4
4
  type: domain-skill
5
5
  default_mode: confirm
6
6
  ---
@@ -11,7 +11,7 @@ Load plan, review critically, execute all tasks, report when complete.
11
11
 
12
12
  **Announce at start:** "I'm using the mastermind:execute skill to implement this plan."
13
13
 
14
- **Note:** This skill works best with subagent support (Claude Code). When subagents are available, prefer `Skill("mastermind-taskdev")` for parallel task execution.
14
+ **Note:** This skill works best with subagent support (Claude Code). When subagents are available, dispatch one subagent per independent task in a single message.
15
15
 
16
16
  ---
17
17
 
@@ -47,116 +47,43 @@ For each task in the plan:
47
47
  3. Run verifications as specified in the plan
48
48
  4. Mark as `completed`
49
49
 
50
- When the plan references skills:
51
- - `mastermind:taskdev` → invoke `Skill("mastermind-taskdev")`
52
- - `mastermind:verify` → invoke `Skill("mastermind-verify")`
53
- - Any other `mastermind:*` skill → invoke `Skill("mastermind-<name>")`
54
-
55
- ### Step 3: Complete Development
56
-
57
- After all tasks complete and are verified:
58
-
59
- - Announce: "All tasks complete. Handing off to mastermind:finish."
60
- - **REQUIRED SUB-SKILL:** invoke `Skill("mastermind-finish")`
61
- - Follow that skill to verify tests, present options, and execute the chosen finish action
62
-
63
- ---
64
-
65
- ## When to Stop and Ask for Help
66
-
67
- **STOP executing immediately when:**
68
- - A blocker is encountered (missing dependency, failing test, unclear instruction)
69
- - The plan has critical gaps preventing a task from starting
70
- - An instruction cannot be understood without guessing
71
- - A verification fails repeatedly (more than twice)
72
-
73
- **Ask for clarification rather than guessing.** Never invent steps not in the plan.
74
-
75
- ---
76
-
77
- ## When to Revisit Earlier Steps
78
-
79
- **Return to Step 1 (Review) when:**
80
- - The user updates the plan based on feedback
81
- - A fundamental approach needs rethinking due to new information
50
+ **Dispatching subagents (when available):** when independent tasks can run in parallel, dispatch one subagent per task in a single message via the Task tool. Each subagent starts with no memory of this session — embed the plan step and the `brain_context` received in Inputs directly in its prompt so it has the same grounding this skill was given.
82
51
 
83
- **Do not force through blockers.** Stop and ask.
52
+ **CRITICAL — variable substitution required:** before constructing the Task prompt, replace `${brain_context}` and `${project_name}` below with their actual literal values (the BRAIN CONTEXT block from Inputs, and the project name) — an unsubstituted `${brain_context}` placeholder means the subagent executes blind to prior decisions and constraints. This is the same substitution discipline `mastermind-idea/SKILL.md` uses for its Task prompts.
84
53
 
85
- ---
86
-
87
- ## Rules
88
-
89
- - Review the plan critically before touching any code
90
- - Follow plan steps exactly — do not improvise
91
- - Do not skip verifications
92
- - Reference skills when the plan says to invoke them
93
- - Stop when blocked; never guess
94
- - Never start implementation on `main` or `master` without explicit user consent
54
+ ```javascript
55
+ Task({
56
+ subagent_type: "coder", // pick per task, per the plan's agent recommendation
57
+ description: "<task title from plan>",
58
+ run_in_background: false, // true only when running independently alongside other parallel tasks
59
+ prompt: `You are executing one task from an implementation plan for project "${project_name}".
95
60
 
96
- ---
61
+ BRAIN CONTEXT:
62
+ ${brain_context}
97
63
 
98
- ## Integration
64
+ TASK: <task title>
65
+ STEPS:
66
+ <verbatim bite-sized steps for this task from the plan>
99
67
 
100
- **Skills used by this skill:**
101
- - `Skill("mastermind-plan")` — creates the plan this skill executes
102
- - `Skill("mastermind-taskdev")` — subagent-driven parallel task execution (preferred for complex plans)
103
- - `Skill("mastermind-finish")` — complete the development branch after all tasks
104
- - `Skill("mastermind-verify")` — verification gate before finishing
105
- # monomind:start skills:claude:mastermind-execute
106
- # Mastermind Execute
68
+ VERIFICATION:
69
+ <verification command(s) from the plan>
107
70
 
108
- Load plan, review critically, execute all tasks, report when complete.
109
-
110
- **Announce at start:** "I'm using the mastermind:execute skill to implement this plan."
111
-
112
- **Note:** This skill works best with subagent support (Claude Code). When subagents are available, prefer `Skill("mastermind-taskdev")` for parallel task execution.
113
-
114
- ---
115
-
116
- ## Inputs
117
-
118
- - `brain_context`: BRAIN CONTEXT block (injected by master, or loaded standalone via mastermind-protocol/SKILL.md brain load)
119
- - `plan_path`: path to the plan file to execute
120
- - `project_name`: monotask space name
121
- - `board_id`: monotask board ID
122
- - `mode`: auto | confirm
123
-
124
- ---
125
-
126
- ## The Process
127
-
128
- ### Step 1: Load and Review Plan
129
-
130
- 1. Read the plan file at `plan_path`
131
- 2. Review critically — identify any questions or concerns:
132
- - Missing dependencies or prerequisites
133
- - Ambiguous instructions
134
- - Steps that contradict each other
135
- - Verifications that cannot be run
136
- 3. If concerns exist: raise them with the user before starting
137
- 4. If no concerns: create a TodoWrite with each task and proceed
138
-
139
- ### Step 2: Execute Tasks
140
-
141
- For each task in the plan:
142
-
143
- 1. Mark as `in_progress`
144
- 2. Follow each step exactly — the plan has bite-sized steps; do not skip or reorder
145
- 3. Run verifications as specified in the plan
146
- 4. Mark as `completed`
71
+ Follow the steps exactly — do not skip, reorder, or invent steps not listed. Run the verification before reporting done.`
72
+ })
73
+ ```
147
74
 
148
75
  When the plan references skills:
149
- - `mastermind:taskdev` → invoke `Skill("mastermind-taskdev")`
150
- - `mastermind:verify` → invoke `Skill("mastermind-verify")`
76
+ - `mastermind:taskdev` → this skill; continue inline (no separate taskdev skill exists)
77
+ - `mastermind:verify` → invoke `Skill("mastermind-review")`
151
78
  - Any other `mastermind:*` skill → invoke `Skill("mastermind-<name>")`
152
79
 
153
80
  ### Step 3: Complete Development
154
81
 
155
82
  After all tasks complete and are verified:
156
83
 
157
- - Announce: "All tasks complete. Handing off to mastermind:finish."
158
- - **REQUIRED SUB-SKILL:** invoke `Skill("mastermind-finish")`
159
- - Follow that skill to verify tests, present options, and execute the chosen finish action
84
+ - Announce: "All tasks complete. Handing off to mastermind:review."
85
+ - **REQUIRED SUB-SKILL:** invoke `Skill("mastermind-review")`
86
+ - Follow that skill to verify the work before any merge, PR, or release step
160
87
 
161
88
  ---
162
89
 
@@ -170,6 +97,37 @@ After all tasks complete and are verified:
170
97
 
171
98
  **Ask for clarification rather than guessing.** Never invent steps not in the plan.
172
99
 
100
+ **Required stop-report format.** When any condition above fires, report using this exact structure — never just "I'm stuck" or a bare "please advise":
101
+
102
+ ```
103
+ STOP — <one-line description of what blocked>
104
+
105
+ Task: <the specific plan task/step that stopped, e.g. "Task 3: Add rate limiter">
106
+ Tried: <what was actually attempted — commands run, files checked, approaches tried — not just "it failed">
107
+ Result: <the actual error, output, or contradiction observed>
108
+ Need: <the exact decision or input required to unblock — a choice between named options,
109
+ a missing value, or explicit permission for a specific next step>
110
+ ```
111
+
112
+ Example:
113
+
114
+ ```
115
+ STOP — verification fails repeatedly on Task 3
116
+
117
+ Task: Task 3: Add rate limiter to /api/upload
118
+ Tried: Ran `npm test -- rate-limiter.test.ts` 3x after adding express-rate-limit
119
+ middleware per plan step 3.2. Confirmed middleware order matches the plan.
120
+ Checked for port conflicts (none). Re-read plan steps 3.1-3.4 — no gap found.
121
+ Result: Test "blocks after 100 requests/min" fails every run: expected 429, got 200.
122
+ express-rate-limit v7's `max` option appears to be silently ignored — same
123
+ failure with max:1.
124
+ Need: Decide between (a) pin express-rate-limit to v6 (last version where `max`
125
+ worked as documented) or (b) switch to a different limiter library — the plan
126
+ doesn't specify a version. Confirm which, or provide the correct v7 config.
127
+ ```
128
+
129
+ The report must let the user act without re-deriving the investigation themselves — never a vague "please advise" with no Task/Tried/Result/Need detail.
130
+
173
131
  ---
174
132
 
175
133
  ## When to Revisit Earlier Steps
@@ -188,7 +146,7 @@ After all tasks complete and are verified:
188
146
  - Follow plan steps exactly — do not improvise
189
147
  - Do not skip verifications
190
148
  - Reference skills when the plan says to invoke them
191
- - Stop when blocked; never guess
149
+ - Stop when blocked; never guess — use the required stop-report format above
192
150
  - Never start implementation on `main` or `master` without explicit user consent
193
151
 
194
152
  ---
@@ -197,7 +155,5 @@ After all tasks complete and are verified:
197
155
 
198
156
  **Skills used by this skill:**
199
157
  - `Skill("mastermind-plan")` — creates the plan this skill executes
200
- - `Skill("mastermind-taskdev")` — subagent-driven parallel task execution (preferred for complex plans)
201
- - `Skill("mastermind-finish")` — complete the development branch after all tasks
202
- - `Skill("mastermind-verify")` — verification gate before finishing
203
- # monomind:end skills:claude:mastermind-execute
158
+ - `Skill("mastermind-review")` — verification gate after all tasks complete
159
+ - `Skill("mastermind-debug")` — when a task fails for a reason the plan did not anticipate