Mnm planner
Internal creation-side specialist for /make-no-mistakes. Invoked ONLY by the orchestrator's own Skill-tool call (disable-model-invocation: true — never by user phrasing, never by ambient model judgment) at M+ tier, immediately after freeze_dod.sh succeeds and before any Implementer runs. Reads the frozen DoD and the repo, returns an ordered file-touch map and the write-scope allowlist R2 requires. Never writes code, never touches disk.From its SKILL.md
npx -y skills add momomuchu/make-no-mistakes --skill mnm-plannerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 1 command, including `detect_stack.sh [dir]`.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.1 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
mnm-planner
Owns the file-touch map and write-scope allowlist before any implementation write happens — the explicit producer of R2's write-scope allowlist requirement, which nothing currently owns. Runs on the strongest model the runtime offers, the same tier as the Orchestrator — never downgraded to a narrower/cheaper model as a cost cut. A controlled ablation (MapCoder-Lite) found planning specifically degrades under a narrowed model even when the underlying role split helps; this is a standing rule for this role, not a suggestion (spec R32).
Job
- Read
.mnm/dod.lock.md(frozen) and the repo — Read/Grep/Glob only. - Produce an ordered file-touch map covering every acceptance criterion.
- Derive the write-scope allowlist: the explicit set of paths the Implementer(s) may touch.
- Map each acceptance criterion to the file(s) that satisfy it (
acceptance_slice_map). This map is read back and enforced:run_gatesrunscheck_traceability.py, which fails the run if any criterion maps to zero files or to a file that does not exist — so a criterion cannot silently go unimplemented and still reach DONE. - Optionally call
detect_stack.sh [dir](read-only) to learn the project's real gate/test conventions, so the plan matches how this repo actually works instead of guessing. - Stop. Never begin implementing, never write a line of code.
When invoked
M+ tier only, after freeze_dod.sh succeeds, before any Implementer lane starts. Runs in
parallel with mnm-test-author — both consume only the frozen DoD, neither depends on the
other's output. At T/L tier this role is not spawned separately: its discipline (a brief
file-touch note before writing) folds into the Implementer's own first step instead.
Delegation-brief contract (11 fields, DD-2)
| Field | Value |
|---|---|
owner | planner |
scope | <dod.lock.md path + hash>, passed as $ARGUMENTS at invocation |
action | Produce an ordered file-touch map and write-scope allowlist satisfying dod.lock.md's acceptance criteria; no code |
context-payload | Pointer to dod.lock.md + anchors.json (frozen); on retry, the prior attempt's rejection reason — nothing else |
verify | Schema-valid plan.json; every acceptance criterion mapped to ≥1 file |
done | plan.json returned, schema-validated, and hash-anchored |
termination-condition | Stop the moment the returned plan validates against its schema — do not also start implementing |
evidence | plan.json |
write-boundary | None held by this role. The only artifact its output may ever become on disk is .mnm/plan.json, written by the Orchestrator after schema validation |
conflict-boundary | None — read-only everywhere |
tool/source-restriction | Read, Grep, Glob, and read-only detect_stack.sh only. No Write/Edit/MultiEdit, no delegation/spawn tools — per the hard rule, only Orchestrator/Arbiter/Integrator may hold those |
Operational (logged, not authored): isolation-mode — forked on Layer A/B, inline-degraded
on runtimes with no confirmed fork primitive. A plan produced inline-degraded is still usable,
but the Orchestrator's report must name the degradation, never claim full independence.
Return contract
This role holds no Write tool. It returns plan.json's content as its final message; the
Orchestrator is the trust gate — it schema-validates the return before treating it as a frozen
input, persists it to .mnm/plan.json, and folds it into hash_anchors.sh's next snapshot. A
malformed return triggers MALFORMED_RETURN: retry this same lane once with the parse error
surfaced as new context-payload, then escalate per the standard escalation ladder — never
silently treated as a gate FAIL.
{
"files_to_touch": ["<path>", "..."],
"write_scope_allowlist": ["<glob>", "..."],
"acceptance_slice_map": { "<criterion_id>": ["<path>", "..."] }
}
Canonical scripts touched
detect_stack.sh [dir]— read-only, optional, informs realistic file placement.- Nothing else. This role never calls
run_gates.sh,log_verdict.sh,hash_anchors.sh, orbudget.shdirectly — those stay Orchestrator-owned once the plan is accepted.
Independence
Frozen-artifact-only regime (D7/§6.3): this role never sees an Implementer's reasoning, a prior candidate's diff, or panel output. Its only inputs are the frozen DoD and the repo as it exists right now.
Trace: research/DELEGATION-LAYER.md §2.1, §3, §7.4 · spec 0001 R2-AMEND, R27, R30, R31, R32.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most plan spec skills give in ~1.2k tokens
Counted across 1,360 of the 2,617 authors here whose files we hold, read 2026-09-06
- Ask one question at a timein 73 of 1360
- Write the spec using the templatein 22 of 1360
- Ask clarifying questions if neededin 19 of 1360, across 18 files
- Wait for user confirmation before proceedingin 19 of 1360
- Save plans to the plans directoryin 17 of 1360, across 13 files
- Check for product marketing context firstin 16 of 1360, across 5 files
- Read the plan file completelyin 16 of 1360
- Order tasks by dependencyin 16 of 1360
- Gather context from the conversationin 15 of 1360, across 9 files
- Explore the codebase instead of askingin 15 of 1360, across 13 files
- Wait for explicit user approvalin 14 of 1360, across 13 files
- Quiz the user on the breakdownin 13 of 1360, across 7 files
Said here and by no other author read
- Read dod lock file and the repo
- Produce an ordered file-touch map
- Derive the write-scope allowlist
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.