Agent Triforge
Install

The sprint, phase by phase

/at-ship <goal> runs a whole sprint in one session: it maps the code, plans, builds, reviews, tests and writes down what it learned.

Each phase also has its own lead workflow, so you can run one phase at a time and read its output before the next. Watch one sprint on the home page, or run one yourself in Your first sprint.

Start a sprint

Claude Code leads

/at-ship <goal>

Add --convergence fast or deep to change where the review stops, and --team to build as an agent team.

Phases

The phases run in this order, and the lead gives a reason for any phase it skips.

  1. Phase 0: Analyze

    Full-repo scan: architecture, patterns, contracts, debt

    Antigravity reads the whole repository with the codebase-analyst agent definition. The lead skips the phase when the codebase has not changed or the change is a small fix. A failed run does not stop the sprint, which goes on without a fresh ops/ARCHITECTURE.md. Captured output is kept only when it is not empty and the run reported success.

    Agents
    Antigravity CLI + codebase-mapping
    Analyst
    Antigravity, then Claude Code
    Writes
    ops/ARCHITECTURE.md
    Lead workflow
    at-plan
  2. Pre-plan

    Search institutional knowledge for relevant past solutions, skipped while the store holds only the skeleton

    The learnings-researcher persona searches the notes earlier sprints left for anything that bears on the goal, so a mistake one sprint wrote down is not made again in the next.

    Agents
    learnings-researcher
    Reads
    ops/solutions/ops/decisions/
    Lead workflow
    at-plan
  3. Phase 1: Plan

    Decompose the goal into tasks with shadow paths and error maps, grouped into waves

    The lead follows writing-plans, traces how each non-trivial task can fail with shadow-path-tracing, copies the types from ops/CONTRACTS.md into the task descriptions and groups the tasks into waves. Each task names the roster role that will do it.

    Agents
    Lead + writing-plans
    Writes
    ops/TASKS.md
    Lead workflow
    at-plan
  4. Phase 1.1: Ambiguity

    Surface the 3 most critical unverified assumptions and ask you to confirm or correct them

    Each assumption comes with its other reading and what goes wrong if it is the wrong one. You confirm or correct them, and the lead revises ops/TASKS.md. A goal with nothing open to question skips this step.

    Agents
    Lead
    Writes
    ops/TASKS.md
    Lead workflow
    at-plan, at-ship
  5. Phase 1.5: Validate

    Validate assignments, dependencies, scope and shadow paths, up to 3 rounds

    plan-checker reads the plan and returns a verdict, and the lead revises until it says APPROVED. Like security-sentinel and findings-synthesizer, it always runs on top-tier Claude, whichever CLI leads. Nothing is built from a plan it has not approved.

    Agents
    plan-checker
    Writes
    ops/TASKS.md
    Lead workflow
    at-plan
  6. Phase 2: Build

    Wave orchestration over leased builders, with integration verification between waves

    Each task is leased from the roster and built in its own worktree. A pinned reviewer, a different roster member from the builder, checks it; after three fix cycles with the same reviewer, you decide. The lead squash-merges its own snapshot of the task, one commit per task, onto the sprint's integration branch, and integration-verifier checks that branch between waves. Promotion to your main branch follows [promotion] in the roster and waits for your approval when the change touches a protected path. With fewer than 5 independent tasks the build runs as sub-agents; with 5 or more, with interdependent tasks or with --team, it runs as an agent team.

    Agents
    Leased builders, or the team-lead persona
    Builder
    Claude Code, then Codex, then Antigravity
    Reviewer
    Codex, then Antigravity, then Claude Code
    Writes
    ops/leases.tomlops/CHANGELOG.md
    Lead workflow
    at-build
  7. Phases 3 and 4: Review

    Five lanes at once (Antigravity, Codex, security-sentinel, performance-oracle, code-simplicity-reviewer), then synthesis with confidence tiers; up to 3 cycles

    The lanes start together, and each writes its own review file, so none waits for another. findings-synthesizer merges the files and sets the confidence tiers; a lane that is missing or empty counts as a gap, and the cycle cannot converge on it. The lead fixes the P1 and P2 findings and records every finding as fixed, dismissed with a reason, or deferred with where it went.

    Agents
    Antigravity + Codex + three review personas
    Writes
    ops/REVIEW_*.mdops/TASKS.md
    Lead workflow
    at-review
  8. Phase 5: Test

    Gap analysis, tests written failing first, up to 3 fix cycles, then escalation to you

    test-gap-analyzer finds the paths in the changed files that no test covers. It sees committed work only, so when the changes are uncommitted the lead asks you to commit them or name a branch, and never commits for you. The tester writes each test so that it fails first, and the lead fixes and reruns until the suite passes.

    Agents
    Codex CLI (test_writer)
    Tester
    Codex, then Claude Code
    Writes
    ops/TEST_RESULTS.md
    Lead workflow
    at-test
  9. Phase 6: Wrap

    Document solutions, archive reviews, verify, write STATE.md, create ops/.sprint-complete last

    knowledge-compounding writes a note to ops/solutions/ only when a future agent would repeat a mistake without it. The lead updates the changelog, memory and task files, archives the review files to ops/archive/<date>/, runs verification-before-completion and writes ops/STATE.md. The completion marker comes last, and only when the checklist below holds.

    Agents
    Lead + knowledge-compounding
    Writes
    ops/STATE.mdops/archive/ops/.sprint-complete
    Lead workflow
    at-wrap

Review until it converges

In at-ship, five lanes review the change at once. Each writes its own file, findings are ranked P1, P2 or P3 with a confidence tier, and a low-confidence finding is never P1. Each ends with a Coverage line, and one that reports less than complete, or omits the line, blocks convergence.

  • AntigravityArchitecture and design.
  • CodexLogic, security and tests.
  • security-sentinelReviews for security and nothing else: OWASP-class issues, in depth.
  • performance-oracleFinds bottlenecks and scaling problems, such as nested loops over the same data.
  • code-simplicity-reviewerFlags complexity the change does not need, like an interface with one implementation.

Then findings-synthesizer reads every review file, removes duplicates, sets confidence tiers and writes one report.

Fig. 1Five reviewers at once, the fixes, and a second pass with only minor findings left

Where the loop stops

After each round of fixes the lead counts what is left. With --convergence you choose when that is enough; until then the reviewers go again, three cycles at most. After the third, the lead hands you the open findings, each reviewer's view, the dispositions and its recommendation, and you decide whether to ship with known issues.

ModeStops whenUse it for
fastP1 count = 0Time-pressured, fix critical only
standard (default)P1 = 0 and P2 = 0Normal development
deepP1 = 0 and P2 = 0 and P3 < 3High-quality release

Quality gates

Five gates hold at every stage, whichever workflow runs.

  1. Plan validated

    No build without a validated plan (max 3 iterations).

    Enforced by plan-checker persona

  2. Failing test first

    No production code without a failing test.

    Enforced by at-test workflow, Codex test_writer

  3. Root cause first

    No fix without diagnosis.

    Enforced by at-debug workflow, Codex debugger

  4. Evidence first

    No "done" without proof.

    Enforced by verification-before-completion skill

  5. Review first

    No merge without code review (max 3 cycles).

    Enforced by at-review workflow, which merges findings with the review-synthesis skill

When a sprint is done

The lead creates ops/.sprint-complete in Phase 6, as its last action, and only when every item on the checklist holds. coordinate.sh reads that file and nothing else to decide that a sprint has ended. When an item fails there is no marker, and the blocker goes into ops/TASKS.md and ops/STATE.md.

Under Claude Code, the sprint prints the checklist as a /goal line at the start. /goal is an assist (probe CC-03 went 0 of 3 on Claude Code 2.1.318), and ops/.sprint-complete plus coordinate.sh decide completion. A Codex lead has no /goal and finishes on the marker alone.

The completion checklist

  1. Every phase is done (or explicitly skipped with a stated reason).
  2. The verification-before-completion checklist passes with evidence.
  3. ops/STATE.md is written for session handoff.
  4. Temporary review files are archived to ops/archive/.
  5. The runtime marker ops/.sprint-complete is created LAST, only after 1–4 hold.

Run a phase yourself

In a supervised session you run each phase's workflow and read what it wrote before you start the next. at-plan covers Phases 0 to 1.5, and each later workflow takes one phase.

at-coordinate runs the same pipeline without the convergence and team flags; it is the cycle coordinate.sh drives across fresh sessions. Every lead workflow is on Workflows.

Claude Code leads

/at-plan <goal>/at-build/at-review/at-test/at-wrap

Type them one at a time, each after the one before has finished.