The build loop. Takes the open acceptance criteria, asks the scope, then lands each one as a failing test, the least code to pass it, and a verified commit.
Free & open · no signup · read-only — it ends by asking · nothing leaves your machine
You are working inside this repo — a product repo with a ratified SPEC.md. Mission: turn open acceptance criteria into working code — test first, one AC per verified commit, the gate green after every step.
This is a Build brief: it writes code, but only inside the scope the operator picks at the Phase 2 gate.
Phase 2 sweeps the codebase through every one of these, citing file and line for each finding.
which ACs must land first: schemas before consumers, interfaces before implementations
for each AC, the smallest failing test that would prove it, named test_ac_<n>_...
the files each AC touches; flag overlaps that force sequencing
ACs you cannot test as written go back to 142 as spec questions, never into improvised code
One structured report at the repo root — or in reports/, if you keep one — the same shape every time, ready for a teammate — or the optional Studio — to act on.
Every Goal Prompt follows the same four steps, so results are consistent and repeatable — no matter which one you run.
Read SPEC.md.
Triage the open ACs.
For each AC in the agreed scope, on a branch build/<date>.
Append to BUILDLOG.md at repo root.
Copy it and paste it into your agent inside the repo you want checked.
Install the goal plugin once — two commands — then just type /goal:implement-to-spec.
/plugin marketplace add GhostlyGawd/goal-prompts/plugin install goal@goal-promptsOr install only this Goal Prompt as /goal-implement-to-spec:
curl -fsSL https://goal-prompts.vercel.app/install | BRIEF=143 shLet an agent fetch it mid-conversation, or pull the raw Goal Prompt by URL.
https://goal-prompts.vercel.app/raw/143.mdNothing hidden — this is the whole Goal Prompt, verbatim. Read it in a minute, edit it, or copy it as-is.
# Goal: Implement to Spec You are working inside this repo — a product repo with a ratified `SPEC.md`. Mission: turn open acceptance criteria into working code — test first, one AC per verified commit, the gate green after every step. This is a Build brief: it writes code, but only inside the scope the operator picks at the Phase 2 gate. ## Phase 1 — Load the contract - Read `SPEC.md`; list every AC and its status. Read `BUILDLOG.md` for what earlier sessions built and skipped. - Run `scripts/check`. It must be green before you build; a red start means fix that first or stop — never build on red. - Read `DECISIONS.md` — past choices bind this session. ## Phase 2 — Plan, then ask the scope Triage the open ACs: 1. **Dependency order** — which ACs must land first: schemas before consumers, interfaces before implementations 2. **The pinning test** — for each AC, the smallest failing test that would prove it, named `test_ac_<n>_...` 3. **Blast radius** — the files each AC touches; flag overlaps that force sequencing 4. **Ambiguity** — ACs you cannot test as written go back to 142 as spec questions, never into improvised code Show the numbered build plan. Then stop. Report only — end by asking the scope: all open ACs, the next N in order, or a named set. ## Phase 3 — The loop For each AC in the agreed scope, on a branch `build/<date>`: 1. Write the failing test for AC-n; run `scripts/check`; watch it fail for the stated reason. 2. Write the least code that passes; run `scripts/check`; green means commit `feat(AC-n): <criterion>`. 3. Red after your change? Fix or revert before touching the next AC — the PostToolUse hook holds you to this. 4. Update the AC's `status:` in `SPEC.md` in the same commit. Never edit the harness layer (`scripts/`, `.githooks/`, `.github/`, `.claude/`, `tests/harness/`). If the gate itself seems wrong, stop and report — that fix belongs to the operator. ## Phase 4 — Report Append to `BUILDLOG.md` at repo root: 1. **Session** — date · branch · scope agreed · gate state at start and end 2. **Built** — AC · commit · the test that proves it 3. **Skipped** — AC · why: ambiguous, blocked, or bigger than specced 4. **Spec questions** — what goes back to 142 If `BUILDLOG.md` already exists from previous sessions, append below the last entry — the log is history, and history never gets rewritten. ## Rules - No test, no code: every AC lands as a failing test first - The agreed scope is the whole job — nothing outside it gets built, fixed, or refactored in passing - A new dependency requires a `DECISIONS.md` entry in the same commit; the gate checks for it - No `SPEC.md` at this root? Say so in a one-paragraph null report and stop — run 141 and 142 first. - If a `reports/` directory exists at the repo root, write the report there instead of the root. - Before asking, present the top findings as a ranked list in plain words - Report only — end by asking the scope at the Phase 2 gate before writing any code
DECISIONS.md entry in the same commit; the gate checks for itSPEC.md at this root? Say so in a one-paragraph null report and stop — run 141 and 142 first.reports/ directory exists at the repo root, write the report there instead of the root.Curated neighbors — briefs that answer the adjacent question, worth running in the same session.
Turns venture research and operator intent into SPEC.md — a contract where every acceptance criterion carries a command a machine can run.
The adversarial go/no-go. Re-runs every check fresh, sabotages code to prove the tests bite, walks the revenue path end to end, and rules ship or hold.
Installs the golden-path harness into this repo — greenfield or grafted onto existing code — and proves the gate bites, red fails, green passes, before more code lands.
Turns venture research and operator intent into SPEC.md — a contract where every acceptance criterion carries a command a machine can run.
The adversarial go/no-go. Re-runs every check fresh, sabotages code to prove the tests bite, walks the revenue path end to end, and rules ship or hold.
Runs inside these playbooks — curated sequences you can launch with one paste: