Build
Execute a plan against the active plan folder. Native single-thread loop: per task, flip status, implement via TDD, verify, commit. Auto-invokes tdd, verify, lessons, git, and dispatch on failure or when parallelizable sets appear. Use when the user asks to build, implement, or tackle a task, says "build §T.3", "run the build", or "do the next task".From its SKILL.md
npx -y skills add arendon1/agent-skills --skill buildAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 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.
SKILL.md
5.8 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
build — execute the plan
Single-thread native plan-then-execute. No swarm. You are the main agent; you may
dispatch parallel work to subagents only when the plan flags an independent set
(via the dispatch discipline).
OWNERSHIP
Owns: PLAN.md task status cells (flips [ ] -> ~ -> [x]) — and nothing else
in the plan artifacts.
Reads: PLAN.md (required), PRD.md/ARD.md/SPEC.md (whatever exists),
CONTEXT.md, the codebase.
MUST NOT rewrite PRD.md, ARD.md, SPEC.md, LESSONS.md, or PLAN.md task
content. Only status cells.
WHEN (user-invoked)
- User says "build", "implement", "execute the plan", "run the build".
- User names a task: "build §T.3", "do T2".
- User says "do the next task", "--next", "implement next".
STEP 0 — LOAD
- Resolve the active plan per §6. If none, tell the user to run
grill+planfirst. Stop. - Read
PLAN.md. If absent, tell the user to runplan. Stop. - Read whatever else exists:
PRD.md,ARD.md,SPEC.md,CONTEXT.md,§R(research) if present — external facts the build MUST honor. - Parse the invocation:
§T.n/T<n>→ that task only.--next/ "next" → lowest-numbered task with status[ ]or~.--all/ empty → every[ ]task in§Torder.
Right-size gate
High blast radius (shared module, auth, data, money, public interface)? Run the
review loop first. Trivial and reversible? Skip planning ceremony, go to EXECUTE.
STEP 1 — PLAN (per chosen task)
Native plan mode — the agent's own task breakdown, not a new artifact. For each chosen task:
- Cite every
§Vinvariant that applies. The plan MUST respect all. - Cite every
§Iinterface touched. The plan MUST preserve shape. - List files to create / edit.
- Verification contract — name the EXACT test(s) that prove each
§Vtouched. Which test, not "add tests". Each§Vtouched -> a named test that fails first. (This is what thetdddiscipline will write.) - Name the verification command (test, build, lint) — the external oracle. Green = done; NEVER "looks done".
Show the plan. Wait for user OK unless the user said "auto" / "go".
Independent-set detection
If the chosen tasks include a parallelizable set (flagged in PLAN.md §N), and
the work would benefit from isolation, invoke the dispatch discipline to farm
the independent tasks to subagents. Otherwise, single-thread.
STEP 2 — EXECUTE (per task, in dependency order)
For each task in order:
- Flip
§T.nstatus cell[ ]->~. Write only that cell. - Invoke the
tdddiscipline: write the failing test named in the verification contract, watch it fail, write minimal code to pass, watch it pass. - Run the verification command (the oracle).
- Pass → flip
~->[x]. Commit (invoke thegitdiscipline:T<n>: <goal line>+§Vcites). Next task. - Fail → invoke the
debugdiscipline, then thelessonsreflex. Do NOT retry blindly. See FAIL below.
STEP 3 — FAIL → DEBUG → LESSONS
On test/build failure:
- Invoke the
debugdiscipline — build a tight feedback loop, reproduce, hypothesize, instrument, fix. Do not guess. - When the root cause is found, invoke the
lessonsreflex: ask "would a new§Vinvariant catch this class of bug?"- If yes →
lessonsappends the§Brow + the new§VtoLESSONS.md/SPEC.md, and writes the regression test. Then resumebuildagainst the updated spec. - If no (one-time typo, external dep) →
lessonsstill appends the§Brow.
- If yes →
Rule: NEVER silently fix root-cause without considering lessons. LESSONS.md
is the memory that stops recurrence (see the lessons skill).
STEP 4 — VERIFY (before declaring done)
A task is [x] only if (invoke the verify discipline):
- The verification command (the oracle) exits 0, run fresh in this session.
- Every
§Vtouched has its named test from the verification contract, and it passes. - No
§Vinvariant regressed (run the full test suite at the end of the task, and again at the end of the whole plan).
STEP 5 — COMPLETE
After all chosen tasks are [x]:
- Run the full test suite + lint + build. All green.
- Invoke the
verifydiscipline on the whole plan. - Invoke the
gitdiscipline: present options (merge, PR, keep branch). - Tell the user: plan complete. Optionally archive the plan folder to
docs/plans/archive/.
WRITE POLICY
- Only flip
§Tstatus cells inPLAN.md. No other artifact edits frombuild. - Other spec edits → invoke
spec. Other invariant additions →lessons. - Commit after each
§Tcompletes. Message:T<n>: <goal line>+§Vcites.
NON-GOALS
- No speculative work beyond chosen task scope.
- No progress dashboards.
grep '|~|' PLAN.mdis the dashboard. - No silent fixes. Every failure routes through
debug+lessons. - No completion claims without fresh verification evidence (the
verifyIron Law).
BOUNDARIES
- MUST NOT rewrite
PRD.md,ARD.md,SPEC.md,LESSONS.md, orPLAN.mdtask content. Status cells only. - MUST NOT declare a task
[x]without running the verification command fresh. - MUST NOT retry a failure blindly. Route through
debugthenlessons. - MUST commit after each task (via the
gitdiscipline). - MUST use
cavemanfor any artifact touches andCONTEXT.mdcanonical terms.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.