@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.
- package/.claude/commands/mastermind/brain.md +14 -14
- package/.claude/commands/mastermind/help.md +2 -2
- package/.claude/commands/mastermind/master.md +24 -19
- package/.claude/commands/mastermind/memory.md +8 -8
- package/.claude/commands/mastermind/monoswarm.md +4 -4
- package/.claude/commands/mastermind.md +7 -7
- package/.claude/commands/truth/start.md +3 -3
- package/.claude/settings.json +0 -4
- package/.claude/skills/mastermind/SKILL.md +7 -16
- package/.claude/skills/mastermind/references/antigravity-tools.md +0 -62
- package/.claude/skills/mastermind/references/claude-code-tools.md +0 -52
- package/.claude/skills/mastermind/references/codex-tools.md +0 -66
- package/.claude/skills/mastermind/references/copilot-tools.md +0 -51
- package/.claude/skills/mastermind/references/gemini-tools.md +0 -65
- package/.claude/skills/mastermind/references/pi-tools.md +0 -30
- package/.claude/skills/mastermind-createorg/SKILL.md +3 -1
- package/.claude/skills/mastermind-debug/SKILL.md +3 -277
- package/.claude/skills/mastermind-design/SKILL.md +2 -0
- package/.claude/skills/mastermind-execute/SKILL.md +59 -103
- package/.claude/skills/mastermind-idea/SKILL.md +9 -2
- package/.claude/skills/mastermind-intake/SKILL.md +31 -7
- package/.claude/skills/mastermind-issue-detail/SKILL.md +70 -16
- package/.claude/skills/mastermind-issues/SKILL.md +111 -16
- package/.claude/skills/mastermind-liveness/SKILL.md +96 -26
- package/.claude/skills/mastermind-memory/SKILL.md +0 -316
- package/.claude/skills/mastermind-my-issues/SKILL.md +40 -8
- package/.claude/skills/mastermind-org/SKILL.md +1 -12
- package/.claude/skills/mastermind-plan/SKILL.md +7 -228
- package/.claude/skills/mastermind-plan-to-tasks/SKILL.md +132 -24
- package/.claude/skills/mastermind-protocol/SKILL.md +33 -22
- package/.claude/skills/mastermind-research/SKILL.md +0 -163
- package/.claude/skills/mastermind-review/SKILL.md +0 -228
- package/.claude/skills/mastermind-runorg/SKILL.md +22 -3
- package/.claude/skills/mastermind-skill-builder/SKILL.md +1 -1
- package/.claude/skills/mastermind-tasks/SKILL.md +5 -0
- package/.claude/skills/mastermind-techport/SKILL.md +1 -1
- package/.claude/skills/performance-analysis/SKILL.md +1 -1
- package/.claude/skills/verification-quality/SKILL.md +2 -3
- package/README.md +2 -2
- package/dist/src/commands/agent-exec.d.ts +2 -0
- package/dist/src/commands/agent-exec.d.ts.map +1 -1
- package/dist/src/commands/agent-exec.js +16 -0
- package/dist/src/commands/agent-exec.js.map +1 -1
- package/dist/src/commands/doc.js +2 -2
- package/dist/src/commands/doc.js.map +1 -1
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +20 -1
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/init-wizard.d.ts.map +1 -1
- package/dist/src/commands/init-wizard.js +6 -0
- package/dist/src/commands/init-wizard.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +12 -2
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/monograph.d.ts.map +1 -1
- package/dist/src/commands/monograph.js +11 -4
- package/dist/src/commands/monograph.js.map +1 -1
- package/dist/src/commands/org-observe.d.ts +2 -0
- package/dist/src/commands/org-observe.d.ts.map +1 -1
- package/dist/src/commands/org-observe.js +115 -6
- package/dist/src/commands/org-observe.js.map +1 -1
- package/dist/src/commands/org.d.ts +26 -0
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +186 -28
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/init/codex-generator.d.ts +5 -0
- package/dist/src/init/codex-generator.d.ts.map +1 -1
- package/dist/src/init/codex-generator.js +12 -3
- package/dist/src/init/codex-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +10 -9
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js +0 -5
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/write-codex.d.ts.map +1 -1
- package/dist/src/init/write-codex.js +6 -5
- package/dist/src/init/write-codex.js.map +1 -1
- package/dist/src/knowledge/document-pipeline.d.ts +5 -0
- package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
- package/dist/src/knowledge/document-pipeline.js +32 -16
- package/dist/src/knowledge/document-pipeline.js.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.d.ts +9 -0
- package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.js +12 -1
- package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
- package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/knowledge-tools.js +105 -13
- package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.d.ts +13 -0
- package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +257 -31
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/monograph/health-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph/health-tools.js +99 -42
- package/dist/src/mcp-tools/monograph/health-tools.js.map +1 -1
- package/dist/src/mcp-tools/monograph/impact-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph/impact-tools.js +123 -51
- package/dist/src/mcp-tools/monograph/impact-tools.js.map +1 -1
- package/dist/src/mcp-tools/monograph/query-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph/query-tools.js +113 -96
- package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
- package/dist/src/mcp-tools/monograph/shared.d.ts +37 -4
- package/dist/src/mcp-tools/monograph/shared.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph/shared.js +75 -56
- package/dist/src/mcp-tools/monograph/shared.js.map +1 -1
- package/dist/src/memory/embedding-operations.d.ts.map +1 -1
- package/dist/src/memory/embedding-operations.js +9 -4
- package/dist/src/memory/embedding-operations.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +60 -1
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +185 -42
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-kg.d.ts +495 -28
- package/dist/src/memory/memory-kg.d.ts.map +1 -1
- package/dist/src/memory/memory-kg.js +2186 -251
- package/dist/src/memory/memory-kg.js.map +1 -1
- package/dist/src/memory/query-router.d.ts +51 -0
- package/dist/src/memory/query-router.d.ts.map +1 -1
- package/dist/src/memory/query-router.js +38 -2
- package/dist/src/memory/query-router.js.map +1 -1
- package/dist/src/orgrt/agent-exec.d.ts +14 -0
- package/dist/src/orgrt/agent-exec.d.ts.map +1 -1
- package/dist/src/orgrt/agent-exec.js +88 -4
- package/dist/src/orgrt/agent-exec.js.map +1 -1
- package/dist/src/orgrt/agent-runner.d.ts +26 -1
- package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
- package/dist/src/orgrt/agent-runner.js +73 -22
- package/dist/src/orgrt/agent-runner.js.map +1 -1
- package/dist/src/orgrt/antigravity-runner.d.ts +1 -1
- package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
- package/dist/src/orgrt/antigravity-runner.js +36 -19
- package/dist/src/orgrt/antigravity-runner.js.map +1 -1
- package/dist/src/orgrt/approvals.d.ts +26 -2
- package/dist/src/orgrt/approvals.d.ts.map +1 -1
- package/dist/src/orgrt/approvals.js +67 -7
- package/dist/src/orgrt/approvals.js.map +1 -1
- package/dist/src/orgrt/broker.d.ts +21 -2
- package/dist/src/orgrt/broker.d.ts.map +1 -1
- package/dist/src/orgrt/broker.js +56 -8
- package/dist/src/orgrt/broker.js.map +1 -1
- package/dist/src/orgrt/bus.d.ts +8 -0
- package/dist/src/orgrt/bus.d.ts.map +1 -1
- package/dist/src/orgrt/bus.js +27 -0
- package/dist/src/orgrt/bus.js.map +1 -1
- package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
- package/dist/src/orgrt/checkpoint-ops.js +15 -5
- package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
- package/dist/src/orgrt/checkpoint.d.ts +42 -4
- package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
- package/dist/src/orgrt/checkpoint.js +75 -4
- package/dist/src/orgrt/checkpoint.js.map +1 -1
- package/dist/src/orgrt/codex-runner.d.ts +1 -1
- package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
- package/dist/src/orgrt/codex-runner.js +50 -23
- package/dist/src/orgrt/codex-runner.js.map +1 -1
- package/dist/src/orgrt/copilot-runner.d.ts +24 -2
- package/dist/src/orgrt/copilot-runner.d.ts.map +1 -1
- package/dist/src/orgrt/copilot-runner.js +257 -157
- package/dist/src/orgrt/copilot-runner.js.map +1 -1
- package/dist/src/orgrt/cross-org.d.ts +10 -3
- package/dist/src/orgrt/cross-org.d.ts.map +1 -1
- package/dist/src/orgrt/cross-org.js +225 -10
- package/dist/src/orgrt/cross-org.js.map +1 -1
- package/dist/src/orgrt/crush-runner.d.ts +22 -2
- package/dist/src/orgrt/crush-runner.d.ts.map +1 -1
- package/dist/src/orgrt/crush-runner.js +227 -120
- package/dist/src/orgrt/crush-runner.js.map +1 -1
- package/dist/src/orgrt/daemon.d.ts +77 -7
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +989 -385
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/decisions.d.ts +2 -2
- package/dist/src/orgrt/decisions.d.ts.map +1 -1
- package/dist/src/orgrt/decisions.js +90 -18
- package/dist/src/orgrt/decisions.js.map +1 -1
- package/dist/src/orgrt/grok-runner.d.ts +29 -3
- package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
- package/dist/src/orgrt/grok-runner.js +286 -150
- package/dist/src/orgrt/grok-runner.js.map +1 -1
- package/dist/src/orgrt/kimicode-runner.d.ts +5 -5
- package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
- package/dist/src/orgrt/kimicode-runner.js +53 -32
- package/dist/src/orgrt/kimicode-runner.js.map +1 -1
- package/dist/src/orgrt/mailbox.d.ts +15 -0
- package/dist/src/orgrt/mailbox.d.ts.map +1 -1
- package/dist/src/orgrt/mailbox.js +29 -1
- package/dist/src/orgrt/mailbox.js.map +1 -1
- package/dist/src/orgrt/migrate.d.ts.map +1 -1
- package/dist/src/orgrt/migrate.js +8 -5
- package/dist/src/orgrt/migrate.js.map +1 -1
- package/dist/src/orgrt/opencode-runner.d.ts +1 -1
- package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
- package/dist/src/orgrt/opencode-runner.js +29 -3
- package/dist/src/orgrt/opencode-runner.js.map +1 -1
- package/dist/src/orgrt/org-memory.d.ts +19 -3
- package/dist/src/orgrt/org-memory.d.ts.map +1 -1
- package/dist/src/orgrt/org-memory.js +110 -38
- package/dist/src/orgrt/org-memory.js.map +1 -1
- package/dist/src/orgrt/pi-rpc-runner.d.ts +3 -1
- package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -1
- package/dist/src/orgrt/pi-rpc-runner.js +35 -3
- package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
- package/dist/src/orgrt/pi-runner.d.ts +25 -2
- package/dist/src/orgrt/pi-runner.d.ts.map +1 -1
- package/dist/src/orgrt/pi-runner.js +271 -152
- package/dist/src/orgrt/pi-runner.js.map +1 -1
- package/dist/src/orgrt/policy.d.ts +1 -0
- package/dist/src/orgrt/policy.d.ts.map +1 -1
- package/dist/src/orgrt/policy.js +199 -39
- package/dist/src/orgrt/policy.js.map +1 -1
- package/dist/src/orgrt/provider.d.ts +4 -0
- package/dist/src/orgrt/provider.d.ts.map +1 -1
- package/dist/src/orgrt/provider.js +16 -0
- package/dist/src/orgrt/provider.js.map +1 -1
- package/dist/src/orgrt/qwen-rpc-runner.d.ts +3 -1
- package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -1
- package/dist/src/orgrt/qwen-rpc-runner.js +35 -3
- package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -1
- package/dist/src/orgrt/qwen-runner.d.ts +30 -3
- package/dist/src/orgrt/qwen-runner.d.ts.map +1 -1
- package/dist/src/orgrt/qwen-runner.js +282 -142
- package/dist/src/orgrt/qwen-runner.js.map +1 -1
- package/dist/src/orgrt/role-slot.d.ts +88 -0
- package/dist/src/orgrt/role-slot.d.ts.map +1 -0
- package/dist/src/orgrt/role-slot.js +133 -0
- package/dist/src/orgrt/role-slot.js.map +1 -0
- package/dist/src/orgrt/runtime-options.d.ts +17 -0
- package/dist/src/orgrt/runtime-options.d.ts.map +1 -0
- package/dist/src/orgrt/runtime-options.js +32 -0
- package/dist/src/orgrt/runtime-options.js.map +1 -0
- package/dist/src/orgrt/scheduler-integration.d.ts +11 -0
- package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
- package/dist/src/orgrt/scheduler-integration.js +75 -17
- package/dist/src/orgrt/scheduler-integration.js.map +1 -1
- package/dist/src/orgrt/scheduler.d.ts +4 -0
- package/dist/src/orgrt/scheduler.d.ts.map +1 -1
- package/dist/src/orgrt/scheduler.js +7 -1
- package/dist/src/orgrt/scheduler.js.map +1 -1
- package/dist/src/orgrt/server.d.ts +8 -3
- package/dist/src/orgrt/server.d.ts.map +1 -1
- package/dist/src/orgrt/server.js +48 -13
- package/dist/src/orgrt/server.js.map +1 -1
- package/dist/src/orgrt/session.d.ts +26 -2
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +99 -5
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/task-dag.d.ts +5 -0
- package/dist/src/orgrt/task-dag.d.ts.map +1 -1
- package/dist/src/orgrt/task-dag.js +41 -0
- package/dist/src/orgrt/task-dag.js.map +1 -1
- package/dist/src/orgrt/test-loop.js +2 -2
- package/dist/src/orgrt/test-loop.js.map +1 -1
- package/dist/src/orgrt/types.d.ts +14 -2
- package/dist/src/orgrt/types.d.ts.map +1 -1
- package/dist/src/orgrt/types.js +15 -1
- package/dist/src/orgrt/types.js.map +1 -1
- package/dist/src/orgrt/vercel-runner.d.ts.map +1 -1
- package/dist/src/orgrt/vercel-runner.js +4 -0
- package/dist/src/orgrt/vercel-runner.js.map +1 -1
- package/dist/src/ui/routes-org.mjs +27 -7
- package/dist/src/ui/server.mjs +82 -48
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- 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? }` —
|
|
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
|
-
-
|
|
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-
|
|
270
|
-
- `Skill("mastermind-
|
|
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:
|
|
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,
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
|
|
64
|
+
TASK: <task title>
|
|
65
|
+
STEPS:
|
|
66
|
+
<verbatim bite-sized steps for this task from the plan>
|
|
99
67
|
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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` →
|
|
150
|
-
- `mastermind:verify` → invoke `Skill("mastermind-
|
|
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:
|
|
158
|
-
- **REQUIRED SUB-SKILL:** invoke `Skill("mastermind-
|
|
159
|
-
- Follow that skill to verify
|
|
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-
|
|
201
|
-
- `Skill("mastermind-
|
|
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
|