agentsclimarketplace

Mnm planner

Skill momomuchu/make-no-mistakes/skills/mnm-planner

Stop trusting 'done'. Make AI coding agents prove their work — frozen specs, tamper-detected tests, an independent blind verifier, hard-blocking gates. Fails loudly instead of pretending. For Claude Code, Codex, OpenCode & any Agent Skills runtime. No unverified work passes.

Install
npx -y skills add momomuchu/make-no-mistakes --skill mnm-planner

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 5 stars5 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.

What its author says it does

Copied from the file, not written here

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.

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, 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

  1. Read .mnm/dod.lock.md (frozen) and the repo — Read/Grep/Glob only.
  2. Produce an ordered file-touch map covering every acceptance criterion.
  3. Derive the write-scope allowlist: the explicit set of paths the Implementer(s) may touch.
  4. Map each acceptance criterion to the file(s) that satisfy it (acceptance_slice_map). This map is read back and enforced: run_gates runs check_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.
  5. 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.
  6. 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)

FieldValue
ownerplanner
scope<dod.lock.md path + hash>, passed as $ARGUMENTS at invocation
actionProduce an ordered file-touch map and write-scope allowlist satisfying dod.lock.md's acceptance criteria; no code
context-payloadPointer to dod.lock.md + anchors.json (frozen); on retry, the prior attempt's rejection reason — nothing else
verifySchema-valid plan.json; every acceptance criterion mapped to ≥1 file
doneplan.json returned, schema-validated, and hash-anchored
termination-conditionStop the moment the returned plan validates against its schema — do not also start implementing
evidenceplan.json
write-boundaryNone 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-boundaryNone — read-only everywhere
tool/source-restrictionRead, 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-modeforked 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, or budget.sh directly — 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.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.