Jeremy KayeProduct Engineer
◉ Claude Code plugin · Open source · MIT

Phase Runner.

Your whole product team, not just a coding agent.

Plan → design → build → QA, with you as the PM who signs off.

◉ What it is

A set of Claude skills that takes a product from a rough idea to shipped code. It plans the work as phases and sprints, locks a design system before any code gets written, builds in parallel waves, and runs independent verification and browser QA on every wave.

◉ Install

Two commands in Claude Code:

Claude Code
/plugin marketplace add AyeJK/phase-runner
/plugin install phase-runner@phase-runner

Skills load as phase-runner:phase-planner, phase-runner:phase-builder, and so on. The planners create their own docs/ folders the first time they run.

◉ How it works

Four steps. You sign off on each.

  1. 01

    Idea

    product-planner

    Tell it what you want to build. It turns the idea into a product plan: the options, how the data flows, and the open questions to settle.

  2. 02

    Design

    design-planner

    Locks a design system and gives you HTML mockups of every screen before any code is written.

  3. 03

    Plan

    phase-planner

    Turns the plan, design system and mockups into phase files: sprints and tasks, each with acceptance criteria.

  4. 04

    Build

    phase-builder

    Say “implement phase 1.” It runs the build loop and checks in when it hits a blocker or finishes the phase.

◉ The build loop

Step 4 runs on its own.

phase-builder groups sprints into parallel-safe waves and gives each sprint a fresh sub-agent. Every wave passes through the same gates before anything is marked done.

Animation of one sprint in the build loop. Attempt 1 passes implement and fails verify. The sprint re-runs from implement with the failure attached, and attempt 2 passes all four gates.

  1. 01Implement

    A fresh sub-agent per sprint. UI sprints read your design system first.

  2. 02Verify

    Runs your build, typecheck and tests, then reviews the diff against every acceptance criterion.

  3. 03Wave test

    Checks UI work in a real browser against your design system.

  4. 04Doc sync

    The only step allowed to write status back to the phase file.

A failed gate re-runs the same sprint with the failure attached. Three attempts, then the run stops and asks you. Nothing ships past you.

◉ Watch it build

A live dashboard for every run.

phase-viewer shows your phases, sprints and tasks as they build: wave progress, verify failures, retries, and anything that needs you. It updates as the files change, and it only reads your project, never writes to it.

A replay of Phase 2 of the viewer's own build, failures and blocker included.

In Claude Code, say “open the viewer.” Or run it yourself from the folder that holds docs/phases/. Local sessions only: it serves on localhost.

Terminal
npx phase-viewer
◉ Receipts

Built with itself.

The viewer above was built with Phase Runner: 7 phases, 26 sprints. Here's what it recorded.

Gate results
84
implement, verify, wave test, doc sync
Verify failures
3
on 2 sprints, both fixed by retry
Browser wave tests
9
all passed
Escalation
1
the run stopped and asked

What verify caught

[!] Sprint 4.2 → passed

Attempt 1 failed npm run check: the new browser test used window and document, but the TypeScript config had no DOM types. Attempt 2 fixed that and failed again, because at 375px every page scrolled sideways by 168px. Attempt 3 fixed the overflow and passed.

[!] Sprint 5.3 → passed

Attempt 1 failed typecheck: a test imported a chain of files that reached a .tsx component, and the root TypeScript build isn't set up for JSX. Attempt 2 moved the shared helper into a plain .ts file and passed.

◉ How it compares

Most of these pieces exist somewhere.

Phase Runner is the one where all of them run on their own, on every wave, inside the build loop.

CapabilityPhase RunnerSuperpowersSpec KitGSDBMAD
Idea → product planBuilt into the workflowBuilt into the workflowBuilt into the workflowBuilt into the workflowBuilt into the workflow
Design system before codeBuilt into the workflowNot includedNot includedBuilt into the workflowBuilt into the workflow
Parallel buildBuilt into the workflowNot includedNot documentedBuilt into the workflowNot documented
A separate agent reviews the workBuilt into the workflowBuilt into the workflowNot includedA command you runA command you run
Automatic retry on failureBuilt into the workflowBuilt into the workflowA command you runA command you runNot documented
Browser QA on UI workBuilt into the workflowNot includedNot includedA command you runA command you run
Live dashboard of the buildBuilt into the workflowNot includedNot includedA command you runA command you run

built into the workflow a command you run not included not documented

◉ Why it's built this way

Every job gets its own agent.

The orchestrator never writes code, never runs your tests, and never edits the plan. Each of those happens in a sub-agent with one narrow job, and the run only advances on a structured result.

01

Nothing is done because an agent said so

Verify and wave test are separate passes with their own pass/fail contract. Implementation can't grade its own homework.

02

The plan can't drift

Only doc sync writes to the phase file, and only after every gate for that wave has passed.

03

Retries keep their scope

A failed sprint re-runs with the failure attached: same sprint, same acceptance criteria. No patched-together fix task.

04

You can read the run

The orchestrator never writes code or runs tests. Its thread is one line per gate, not pages of build logs.

◉ What's included

Nine skills. You talk to five.

The other four are sub-agents that phase-builder runs for you. Each skill uses what your Claude session offers, and works from the files on disk when it offers less.

Skills you use

  • product-planner

    Turns a rough idea into an HTML plan: the options considered, how the data flows, and the open questions. An optional first step.

    In a Claude app session the plan also publishes as an artifact: a hosted page you can share. The file in docs/ stays the plan.

  • design-planner

    Locks a design system and writes a spec and an HTML mockup for every screen, before implementation starts.

    Publishes a Design System artifact and a Design canvas with an artboard per mockup. Change the design on the page or in chat and the files follow.

  • phase-planner

    Creates and edits the phase files in docs/phases/: sprints and tasks, each with acceptance criteria.

    Copies any edits you made on the design artifacts back into the files before it plans. It reads docs/, never an artifact.

  • phase-builder

    The orchestrator. Reads a phase file, groups sprints into parallel-safe waves, and won't advance a wave until it passes verification.

    Gives every sprint a fresh Claude sub-agent and only advances on a structured result.

  • phase-viewer

    Starts the live dashboard in the background and gives you its URL. Local sessions only.

    Say “open the viewer” in Claude Code. One viewer runs per project, so asking again returns the same URL.

Skills phase-builder runs for you

  • phase-ui-implement

    Builds UI sprints. Reads your design-system.md first, generic UI patterns second.

    A sub-agent per UI sprint. It picks up a UI-pattern skill if you have one installed, and your design system wins where they disagree.

  • phase-verify

    Runs your build, typecheck and tests, then reviews the diff: a verdict with evidence for every acceptance criterion, no test deleted or weakened, and changes kept inside each sprint's scope.

    A separate sub-agent from the one that wrote the code. Serious findings fail the wave and trigger a retry.

  • phase-wave-test

    Browser checks on UI sprints, against your design-system.md if one exists.

    A sub-agent that drives the browser with whatever testing skill your session has, and skips what your end-to-end specs already assert.

  • phase-doc-sync

    The only thing allowed to write status back into the phase file. It never touches acceptance criteria or task text.

    A sub-agent that runs only after every gate for the wave has passed, so the plan matches what passed.

◉ Get started

Start (and finish) anything you can imagine.

Claude Code
/plugin marketplace add AyeJK/phase-runner
/plugin install phase-runner@phase-runner
View on GitHub →