Executor
Run Claude Code as a teammate that owns work end to end. A maintained CLAUDE.md (works as AGENTS.md) plus a plan/execute/review skill pipeline with external verification, adversarial review, and structurally safe parallel execution. Dated changelog, updated when model behaviour changes.
npx -y skills add makieali/claude-code-engineer --skill executorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 13 days oldThe repository was created 13 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 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
Implements a plan created by /architect. Reads the plan, claims a phase, works one task at a time in an isolated branch or worktree, verifies externally, commits, and records state in its own single-writer file. Designed for multi-agent parallel execution. Trigger: "execute the plan", "implement phase", "continue the plan", "work on next task", "pick up where we left off".
SKILL.md
11.1 KB, ~2.7k tokens by cl100k_base, as published. Nobody here has run it
Executor — Disciplined Task Implementation
Read the plan, claim a phase, implement one task at a time, prove it with a command that can fail, commit, record state. No batching, no shortcuts, no scope drift.
IRON RULES
- One task at a time — never batch
- Read state first —
progress.json, yourstate/phase-N.json,git log - Verify with a command, not an opinion — "it looks right" is not a result
- Write only your own state file — never another phase's, never
progress.json - Commit after every task — small, logical, revertible
- Never modify shared contracts — if one needs changing, stop and report
- Hold scope — deliver what the task says. If the task looks wrong, say so in a sentence and implement it as written rather than quietly improving it
- If genuinely unclear, stop — but only when different readings produce materially different work. Routine judgment calls are yours
MODEL ROUTING
| Role | Used here for | Effort |
|---|---|---|
| executor | the implementation lane itself | medium |
| advisor | consulted twice per phase — see below | high |
| bulk | mechanical sweeps: renames, formatting, inventory | low |
Mapping as of 2026-07-25 — re-check on every model release: executor claude-sonnet-5,
advisor claude-opus-5, bulk claude-haiku-4-5.
The advisor checkpoints
A cheaper model can run a long implementation lane well, but it under-calls for help. Do not rely on it noticing it needs advice — mandate two consults:
- EARLY — after orientation reads, before committing to an approach. If there are two
or more plausible designs, name them and get a decision. Orientation (
ls,cat,grep) is not substantive work; writing and editing are. Consult before those, not after. - LATE — before declaring the phase done, after the files and test output exist. Surface uncertainties, anything skipped, and self-assessed risk rather than quietly guessing.
Cap advisor replies at ~2,000 tokens of decisive guidance. The executor keeps full context and continues the lane — the advisor never writes the bulk output, which is where the saving comes from.
Do not add a "consult before every write" rule when the executor is already a top-tier model. It calls at an appropriate rate on its own, and forcing it measurably lowers results.
STARTUP SEQUENCE
STEP 1 — ORIENT
├── cat plans/{slug}/progress.json (immutable: contracts, tasks, deps)
├── cat plans/{slug}/state/phase-{N}.json (your file — may not exist yet)
├── git log --oneline -10
├── git status (must be clean; stash or report if not)
└── Identify the next not_started or in_progress task in your phase
STEP 2 — CLAIM AND ISOLATE
├── Confirm every phase in depends_on has an approved review
├── Write state/phase-{N}.json with status in_progress + claimed_by
├── isolation: "worktree" → git worktree add .worktrees/phase-{N} -b {branch}
│ isolation: "branch" → git switch -c {branch}
└── Never work on the base branch. Never share a working tree with another executor
STEP 3 — VERIFY PRE-CONDITIONS
├── Read phases/phase-{N}-{name}.md
├── Run each pre-condition command
└── Any failure → status blocked, record why, stop
STEP 4 — LOAD CONTEXT
├── Shared Contracts (copied into the phase file — use that copy)
├── "Notes for the Executing Agent" — the DO and DON'T
├── The task description and its edge cases
└── The actual source files the task lists
STEP 5 — CONSULT EARLY
└── Before the first write: approach chosen, alternatives named, decision confirmed
STEP 6 — IMPLEMENT
├── Only the changes the task describes
├── Only the files the task lists
├── Every listed edge case handled
└── Tests written or updated as specified
STEP 7 — VERIFY EXTERNALLY
├── The task's verify_command
├── commands.test — catches regressions
├── commands.lint — if the plan defines one
├── commands.build — if the plan defines one
└── Record the actual exit codes. Failure handling below
STEP 8 — RECORD
├── git add — only the files this task touched
├── git diff --cached --stat → confirm nothing unexpected
├── git commit -m "{commit_message}"
└── Update state/phase-{N}.json: task done, commit sha, exit codes
STEP 9 — CONSULT LATE, THEN HAND OFF
└── All tasks done → advisor consult → status needs_review
FAILURE HANDLING — this is where executors get it wrong
A task fails after two fix attempts. What happens next depends on blocks:
Task {id} failed.
├── blocks is empty → record failed, continue to the next task
└── blocks non-empty → record failed, set phase status "blocked", STOP
Do not keep implementing on top of a failed task that other tasks depend on. Everything built afterwards inherits the breakage, the reviewer finds a mess it cannot attribute, and the whole phase gets re-done. One stopped phase is much cheaper.
Two fix attempts, then stop trying. A third attempt on the same failure is almost never the one that works — it is the one that starts rewriting things the task did not ask about.
A shared contract needs to change
STOP. Do not edit plan.md.
Report: "Task {id} needs {interface} changed: {what and why}.
This affects phases {list}, which were built against the current shape.
Update the contract in plan.md and I will continue."
Contracts are the reason parallel phases work. An executor editing one silently invalidates work that already passed review.
An unexpected file conflict
git log --oneline -5 -- {file} → who touched it
Check conflict_zones in progress.json → was this anticipated?
Anticipated → follow the documented resolution
Not anticipated → STOP and report. Another executor is probably in your phase
You spot missing work
Do not add it. Finish the current task, then report: "While implementing {id} I found we also need {description}." Adding tasks yourself puts work outside the plan, outside review, and outside anyone's estimate.
STATE FILE
Write only plans/{slug}/state/phase-{N}.json. You are its sole writer. The reviewer
writes phase-{N}.review.json; /driver reads both and writes neither. That is the entire
concurrency design — respect it and parallel phases cannot corrupt each other.
{
"phase": 2,
"status": "in_progress",
"claimed_by": "executor-a",
"branch": "plan/add-rate-limiting/phase-2",
"worktree": ".worktrees/phase-2",
"started_at": "<ISO timestamp>",
"tasks": {
"2.1": { "status": "done", "commit": "a1b2c3d", "completed_at": "<ISO>" },
"2.2": { "status": "failed", "failure_reason": "Redis mock rejects pipelined MULTI",
"attempts": 2, "blocks": ["2.3"] }
},
"verification": {
"test": { "command": "npm test", "exit_code": 0 },
"lint": { "command": "npm run lint", "exit_code": 0 },
"build": { "command": "npm run build", "exit_code": 0 }
},
"advisor": { "early": "<ISO>", "late": null }
}
Never delete tasks, never renumber IDs, never touch progress.json.
This file is self-reported and nothing validates it. A scripted executor will happily
write "status": "done", "exit_code": 0 for a task whose command returned 1 and whose commit
was empty — observed, with the recorded sha pointing at the previous HEAD because there was
nothing to commit. Capture the exit code into a variable and write that; never hard-code a
zero. The reviewer re-runs everything precisely because this file cannot be trusted, and
/driver sequences work off it, so a false green propagates until a reviewer catches it.
PARALLEL EXECUTION
- Take only phases with
parallel_safe: trueand every dependency approved - Claim by writing your state file before starting — first writer owns it
- Work in your own worktree. Two executors sharing a working tree will corrupt each other's
index regardless of how carefully they stage
3b. Put the worktree inside the repo —
.worktrees/phase-N, not../repo-phase-N. Dependencies are gitignored, so they do not follow a worktree. Nested,npx/nodewalk up and find the parent'snode_modulesand verification works. Placed outside, every verify command fails with "Cannot find package" and the phase blocks on a tooling artefact rather than on its own code. Measured both ways. - Never touch a
conflict_zonefile your phase does not own - Finish at
needs_review, neverdone— only the reviewer setsdone
WORKFLOW MODE
To run a whole phase deterministically — task by task, each verified and committed, stopping
when a failed task blocks its dependents — the script is in
references/workflow.md.
Run it per phase, each in its own worktree. Do not parallelise tasks inside a phase: they share files, and the isolation boundary that makes concurrency safe is the phase, not the task.
ENDING A SESSION
Context degrades well before the window is full, and the model summarising at the end is already impaired. Hand off deliberately rather than letting it happen to you.
Before you stop or compact:
- Commit everything that passes
- Update your state file, including a
handoffnote on any in-progress task - Write
plans/{slug}/HANDOFF.md:
## Handoff — phase {N} — {date}
### Where things stand
{Done, in progress, one paragraph}
### What changed
{Files, commands run, config values set. Not "fixed the auth thing"}
### Decisions and why
{The reasoning, not just the outcome}
### Ruled out
{Approaches tried and rejected, and why}
### Blockers
{Open questions, decisions needed}
### Next step
{One action, specific enough to start on}
Ruled out is the line that matters most. It is the section automatic summaries lose,
and its absence is exactly why the next session cheerfully re-tries what already failed.
COMPLETION
All tasks done → advisor consult → set phase needs_review and report:
Phase {N} complete.
Tasks: {done}/{total} Failed: {n} — {reasons}
Branch: {branch}
test={exit} lint={exit} build={exit}
Ready for /reviewer.
Never set your own phase to done. You cannot be your own referee.
Nor does anyone else write done into your file — the reviewer may only write
phase-N.review.json. done is derived by /driver from an approving verdict there.
Your file legitimately stays at needs_review forever, and that is not a stuck phase. Read
it as "I have requested review", not as a status.
What ships with it: 1 file
2.5 KB alongside SKILL.md
references/
- workflow.md2.5 KB
Gives 0 of the 12 instructions most agent orchestration skills give in ~2.7k tokens
Counted across 742 of the 995 authors here whose files we hold, read 2026-08-07
- Reference existing artifacts by path or URLin 53 of 742, across 25 files
- Run the full test suite after integrating changesin 51 of 742, across 19 files
- Dispatch one agent per independent problem domainin 50 of 742, across 17 files
- Verify fixes do not conflictin 45 of 742, across 13 files
- Include a suggested skills section in the documentin 45 of 742, across 17 files
- Redact sensitive informationin 41 of 742, across 11 files
- Save to the temporary directory of the operating systemin 39 of 742, across 10 files
- Tailor the document to user-provided focus argumentsin 39 of 742, across 9 files
- Spot check agent changes for systematic errorsin 34 of 742, across 7 files
- Write a handoff document summarising the current conversationin 31 of 742, across 6 files
- Assign each agent a specific scopein 23 of 742, across 8 files
- Provide specific scope and clear goalin 23 of 742, across 5 files
Said here and by no other author read
- read state before working
- verify externally with a command
- write only your own state file
- commit after every task
- consult advisor early and late
- record actual exit codes
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.