Agent skill · Testing & QA

build-loop

Drive a build to actually-works, near-finish-line craft by looping build → see → exercise → check → critique → rebuild over the agent's existing tools (bash build/test, headless screenshot + vision, Playwright, axe/Lighthouse) until acceptance criteria pass or an explicit stop-condition fires — no infinite thrash. ALWAYS invoke when the user says any of "tighten this build", "iterate until it passes", "self-verify the UI", "make it actually work, not just compile", "loop until the core flows pass", or "drive this to near-finish-line". Also invoke proactively after a scaffold or feature lands a

nelsonwerdgithub.com/nelsonwerdGitHub ↗
claude-codecodexMIT
Install
npx skills add nelsonwerd/idea-to-ship-skills --skill build-loop --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 4
SKILL.md size: 20 KB
Bundled scripts: none
Path: skills/build-loop/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 78
Language: Shell

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Drives a build that compiles but isn’t finished toward near-finish-line craft by looping through a disciplined cycle: build → see → exercise → check → critique → rebuild. It uses the agent’s existing tools (bash build/test, headless screenshot + vision, Playwright, axe/Lighthouse) to observe, exercise, and validate the build until acceptance criteria pass or a stop-condition fires. It is invoked when the user asks to tighten or iterate the build, self-verify the UI, or drive a near-finish-line result, and can run proactively after scaffolds or features land before handing to a human. It is composition-first and does not decide WHAT to build or whether the design is sound; it focuses on objective craft and design-critique only as applicable. It emphasizes an honest ledger of checks and a per-iteration report, with a configurable stop condition and a finite budget to prevent infinite loops.

How it works

  • It starts from a build that compiles but isn’t finished and repeats the loop: build → see → exercise → check → critique → rebuild. It records observations from each step and feeds them back into the next rebuild.
  • It orchestrates existing tools: bash (build/test), headless screenshot + vision to see, Playwright/headless to exercise flows, and axe/Lighthouse to check accessibility and performance. It conveys results in prose to guide improvements rather than executing a new program.
  • It requires locking acceptance criteria and a design bar before iterating. Per iteration, it performs:
    1. Build & test via bash and records exit codes and pass counts.
    2. See — render running UI or use a renderer/Playwright to capture key states across ≥2 viewports and critique against the brief and design craft, reporting defects with severity.
    3. Exercise — drive core flows headless (click, fill, navigate) and verify input/output coupling.
    4. Check — run axe for accessibility and Lighthouse for performance budgets; scan for broken assets/links.
    5. Critique — list defects with severity and tie them to acceptance criteria.
    6. Rebuild — fix top defects from both machine and design tracks and loop again until stop conditions.
  • It maintains a per-iteration ledger of objective signals and design-taste judgments; reports iteration count, open defects, and what remains to be done.
  • Stop conditions include PASS (all criteria met and defects closed), PLATEAU (2 consecutive iterations with no progress), BUDGET (rebuild cap), or BLOCKED (needs human input). It never fakes signals, and never continues past the defined stops without explicit conditions.

When to use it

  • Strong triggers: "Tighten this build", "drive it to near-finish-line", "make it actually work, not just compile", "Iterate until it passes", "Self-verify the UI", "loop until the core flows pass".
  • Softer triggers: after scaffolds or features land, or before handing a draft to a human to ensure machine-checkable defects are cleared.
  • Do not use for: deciding what to build, judging design soundness, or validating user demand.

What it can touch

  • The skill touches: bash (build/test), headless screenshot + vision, Playwright/headless, axe, Lighthouse.
  • It relies on these tools to run builds, render UI, exercise flows, and perform accessibility and performance checks; it does not, by itself, implement changes outside these tools.

Caveats

  • It is bounded by a ceiling of craft (approximately 80%), with design taste partially assessed by different-model critique when applicable; final design sign-off still requires human review.
  • The loop cannot determine market validation or external truth beyond its checks; those aspects are out of scope.
  • It requires that acceptance criteria are defined upfront and that a design bar is provided when design is load-bearing; otherwise the loop emphasizes objective signals and defect tracking.
From the SKILL.md

# Build-Loop — see-and-exercise iteration until a build actually works `build-loop` takes a build that compiles-but-isn't-done and drives it toward **near-finish-line craft** by repeating one disciplined cycle — **build → see → exercise → check → critique → rebuild** — until its acceptance criteria pass or a stop-condition fires. It doesn't just re-read its own plan; it *runs, sees, and exercises what it built*, then feeds those observations back into the next rebuild. It is **composition-first**: it orchestrates tools the agent already has — `bash` (build/test), a headless screenshot + vision to *see*, Playwright/headless to *exercise* the flows, `axe`/Lighthouse to *check* — via prose. It is **not** a new program, and not a reinvention of the see-and-exercise agents vendors already ship; it's the discipline that wraps them: a target, a loop, a stop-condition, and an honest ledger of what was actually checked. This skill is the downstream partner to `prompt-pack` (which sequences *what* to build) and `ideate` (which decides *whether* to build it). It carries `prompt-pack`'s execute-discipline (**never fake a signal you didn't run**) and `ideate`'s conditional-design (**a design ba

What's inside
Steps it walks through
  1. When to use this
  2. What it can and cannot do (read this before you trust it)
  3. Prerequisite — lock the acceptance criteria first
  4. The loop
  5. The stop-condition (no infinite thrash)
  6. Scope the battery to the change (claim-narrowing, never gate-weakening)
  7. Keep the verification machinery proportionate
  8. Environment & fallbacks (run anywhere)
  9. Pitfalls to avoid
  10. Scale heuristics
Ships with 3 files
  • references/acceptance-criteria.md
  • references/design-critique.md
  • references/loop-procedure.md
More from idea-to-ship-skills
All skills →
About this skill
What does the build-loop skill do?

Drive a build to actually-works, near-finish-line craft by looping build → see → exercise → check → critique → rebuild over the agent's existing tools (bash build/test, headless screenshot + vision, Playwright, axe/Lighthouse) until acceptance criteria pass or an explicit stop-condition fires — no infinite thrash. ALWAYS invoke when the user says any of "tighten this build", "iterate until it passes", "self-verify the UI", "make it actually work, not just compile", "loop until the core flows pass", or "drive this to near-finish-line". Also invoke proactively after a scaffold or feature lands a

How do I install it?

Run `npx skills add nelsonwerd/idea-to-ship-skills --skill build-loop --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From nelsonwerd/idea-to-ship-skills, a repository with 78 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going