wave-execution-framework-v2
Skill14 starsChanged 16 days agoMITView on GitHub
Use when executing multi-wave engineering work needing strict TDD, bug-capture/fix split, quality gates, and orchestrated teams with per-agent Opus-advisor / Sonnet-executor model routing.
In this repository7 other files it gives its agents.
- ac-writerSkill
- benefit-contractSkill
- design-reviewerSkill
- green-implSkill
- red-testsSkill
- teet-verifySkill
- wave-orchestratorSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
Model routing: Every dispatch specifies its model on the Agent tool.
- Very specific: line 71
Fresh-eyes rule — unchanged from v1: every hardening phase ([ACB], [BSEA], [BTEET]) must be a separate dispatch from the team that did the …
- Distinctive: line 84
Never assume on bugs — present options, user decides.
- Distinctive: line 88
No team self-declares success — internal reviewer signs off first.
- Distinctive: line 89
No hanging the system — teams must not deadlock or block indefinitely.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Wave Execution Framework v2 — Model-Routed
A multi-wave, multi-team engineering execution framework. Work is decomposed into waves; each wave runs a strict pipeline of 31 phase rows. 18 of them run in every full-mode wave. 13 are conditional: the seven [BF-*] rows run only when the scan before them reported findings, and six more depend on what the wave is — [UIA] and [ES] when the wave introduces new vocabulary, [BEN] when it changes existing behaviour, [DR] Design Review at Phase 1.5 when it ships UI (web, mobile, Storybook, CLI-TUI) or changes existing behaviour, [CR] Code Review at Phase 3.5 when the code-review gate is opted in, and [BEN-CLOSE] when [BEN] ran. Maximum surface per wave: 31 phases; the smallest full-mode wave runs 18. Enforced by specialized subagent teams (Stream-Aligned, Quality Gate, Platform, Enabling). The orchestrator is the single point of coordination and the single throat to choke.
v2 preserves every phase, invariant, and cardinal rule from v1 and adds three changes that realize the framework against the current (2026) host CLI / agent SDK primitives:
- Model routing. Every dispatch specifies its model on the
Agenttool. Opus = advisory (plan, critique, decide). Sonnet = executor (write code, run tests, scan, fix). Haiku = mechanical (dashboard render, version bump). Seereferences/10-model-routing.md. - Team-as-dispatch-pattern. Nested subagents are not supported in the host CLI, so v2 re-expresses every L2 "team" as either a single Agent dispatch carrying Lead + Executor + Reviewer personas, or a sequence of dispatches the orchestrator coordinates. Fresh-eyes hardening (
[ACB],[BSEA],[BTEET]) is enforced by separate dispatches with only the prior output in context. Seereferences/01-architecture.md. - Native platform primitives.
isolation: "worktree"on writing dispatches;run_in_backgroundfor Dashboard and long Playwright runs;PreCompact/PostToolUse/PreToolUsehooks to enforce invariants;TaskCreatereplacestasks/todo.md;ToolSearchgates the per-phase tool surface. Seereferences/09-platform-deltas.md,references/11-hooks-and-automation.md,references/12-mcp-and-plugins.md.
When to use
- Multi-wave projects (3+ discrete vertical slices of value).
- Work requiring strict TDD (RED → GREEN) and user-approved bug fixes.
- Projects where silent errors, skipped tests, or context pollution have burned you before.
- Cross-language binding work (N-API / FFI / WASM) — see
references/05-language-binding-rules.md. - Any time quality gates (dependency audit, silent-error scan, brutal E2E) must block release.
When NOT to use
- Single-file edits, typo fixes, renames.
- Research-only tasks with no code changes.
- Prototypes where discipline intentionally slows exploration.
Abbreviations
UIA=User-Intent Criteria (vocabulary waves) · BEN=Benefit Contract (behaviour-changing waves) · AC=Acceptance Criteria · ACB=Brutal AC · DR=Design Review (UI or behaviour-changing waves) · TDE=Test-Driven Execution · CR=Code Review (optional) · BC=Bug Capture · BF=Bug Fix · ES=Empty-State Scan (vocabulary waves) · BF-ES=Fix ES findings · SEA=Silent Error Analysis · BSEA=Brutal SEA · DS=Dependency Scan · OA=Output Alignment · TEET=True E2E Testing · TEET-TC=TEET Test Case Design · BTEET=Brutal TEET · BTEET-X=Brutal TEET Execution · BEN-CLOSE=Benefit Verdict · CL=Cleanup · CCP=Checkpoint · AD=Dashboard Update · E=Enabling · SA=Stream-Aligned · QG=Quality Gate · P=Platform
Wave pipeline (31 rows — 18 unconditional, 13 conditional)
| # | Code | Phase | Team | Topology | Lead / Executor / Reviewer model |
| 0.5 | [UIA] | User-intent criteria | AC Team | E | Opus / Sonnet / Opus |
| 0.8 | [BEN] | Benefit contract | AC Team | E | Opus / Sonnet / Opus |
| 1 | [AC] | Acceptance Criteria | AC Team | E | Opus / Sonnet / Opus |
| 1.2 | [ACB] | Brutal AC Review (fresh eyes) | AC Hardening Team | E | Opus / Opus / Opus |
| 1.5 | [DR] | Design Review (mandatory for UI or behaviour-changing waves, skipped otherwise) | Design Review Team | E | Opus / Sonnet / Opus |
| 2 | [TDE-RED] | Write tests, verify FAIL | TDD-RED Team | SA | Sonnet / Sonnet / Sonnet |
| 3 | [TDE-GREEN] | Implement, verify PASS (isolation: worktree) | TDD-GREEN Team | SA | Sonnet / Sonnet / Opus |
| 3.5 | [CR] | Code Review gate (CodeRabbit — optional) | CodeRabbit Plugin | QG | plugin-managed |
| 4 | [BC] | Bug Capture | Bug Capture Team | QG | Sonnet |
| 4.1 | [BF-BC] | Fix BC findings (user approves) | Bug Fix Team | SA | Opus / Sonnet / Opus |
| 4.2 | [ES] | Empty-state scan | Silent Error Team | QG | Sonnet |
| 4.3 | [BF-ES] | Fix ES findings (user approves) | Bug Fix Team | SA | Opus / Sonnet / Opus |
| 5 | [SEA] | Silent Error Scan | Silent Error Team | QG | Sonnet |
| 5.1 | [BF-SEA] | Fix SEA findings | Bug Fix Team | SA | Opus / Sonnet / Opus |
| 6 | [DS] | Dependency Validation | Dependency Audit Team | QG | Sonnet |
| 6.1 | [BF-DS] | Fix DS findings | Bug Fix Team | SA | Opus / Sonnet / Opus |
| 7 | [BSEA] | Brutal Silent Error Scan (fresh eyes) | SEA Hardening Team | QG | Opus / Opus / Opus |
| 7.1 | [BF-BSEA] | Fix BSEA findings | Bug Fix Team | SA | Opus / Sonnet / Opus |
| 8 | [OA] | Output Alignment vs AC | Output Alignment Team | E | Opus / Opus / Opus |
| 9 | [TEET-TC] | E2E Test Case Design | TEET Test Design Team | E | Opus / Sonnet / Opus |
| 10 | [TEET] | True End-to-End Testing (Playwright MCP for UI) | E2E Team | SA | Sonnet / Sonnet / Sonnet |
| 10.1 | [BF-TEET] | Fix TEET findings | Bug Fix Team | SA | Opus / Sonnet / Opus |
| 11 | [BTEET] | Brutal E2E Hardening (fresh eyes) | E2E Hardening Team | QG | Opus / Opus / Opus |
| 12 | [BTEET-X] | Execute brutalized E2E tests | E2E Execution Team | SA | Sonnet / Sonnet / Sonnet |
| 12.1 | [BF-BTEET] | Fix BTEET findings | Bug Fix Team | SA | Opus / Sonnet / Opus |
| 12.5 | [BEN-CLOSE] | Benefit-contract close | AC Team | E | Opus / Sonnet / Opus |
| 13 | — | Version Bump (parallel with 14) | Standalone subagent | — | Haiku |
| 14 | — | Git Commit (specific files only) | Standalone subagent | — | Sonnet |
| 15 | [CL] | Cleanup | Cleanup Team | P | Sonnet |
| 16 | [CCP] | Save Checkpoint | Checkpoint Team | P | Sonnet |
| 17 | [AD] | Dashboard Update (run_in_background) | Dashboard Team | P | Haiku |
Fresh-eyes rule — unchanged from v1: every hardening phase ([ACB], [BSEA], [BTEET]) must be a separate dispatch from the team that did the first pass. Every [BF-*] runs only if its preceding scan found bugs, and every fix strategy is user-approved — never auto-resolved.
Design Review rule (Phase 1.5): [DR] is mandatory for any wave that ships UI (web, mobile, Storybook, CLI-TUI) or changes existing behaviour. It is a separate team from [AC] and [ACB] because its inputs (installed design-system dist files, compiled CSS, route topology) and its outputs (component API audit, per-route mockup, computed-style visual ACs, gaps as OPEN items) are categorically different from functional acceptance criteria. On a behaviour-changing wave with no UI it reviews the changed behaviour's surface and topology instead of its pixels. [DR] is skipped silently only when the wave neither ships UI nor changes behaviour; [TDE-RED] does not begin while any DR OPEN item is unresolved.
Scope rule (v0.3.0): a full-mode wave answers vocabulary and behaviour-change before its first dispatch, because [AC] names [UIA] and [BEN] as predecessors and an unanswered flag on a predecessor denies the successor. ui and cr may still be answered any time before [TDE-RED]. Demo mode is unchanged: its five phases and its gates are exactly as they were.
Benefit rule (v0.3.0): a wave whose value is an outcome rather than a computation states that outcome as one Benefit AC at [BEN] before any criteria are written, and gets a written verdict at [BEN-CLOSE] before version bump and commit. BENEFIT: UNDELIVERED is a label, not a block — the wave still closes, and the verdict is recorded in state and printed in the scorecard.
The 10 Invariant Rules (non-negotiable, verbatim from v1)
- Lean context per unit — no "just in case" dumps.
- Strict TDD — tests first, watch them fail, then implement.
- Strict build order — build → app startup → tests.
- Never assume on bugs — present options, user decides.
- Save learnings globally after every bug fix (no duplicates, enhance existing).
- Planning docs never committed to the code repo.
- Auto-compact = STOP. Fresh terminal. Resume from checkpoint.
- No team self-declares success — internal reviewer signs off first.
- No hanging the system — teams must not deadlock or block indefinitely.
- The orchestrator is the single throat to choke — all decisions and user interactions flow through it.
Invariants 6, 7 are now hook-enforced in v2; see references/11-hooks-and-automation.md.
Reference index (load on demand)
| File | Load when |
references/01-architecture.md | Starting a session; designing team composition |
references/02-standing-teams.md | Instantiating Orchestrator, Permission, Dashboard, Checkpoint, Bug Ops, Cleanup |
references/03-wave-pipeline.md | Executing any wave phase — full phase spec with team rosters and model assignments |
references/04-meta-orchestration.md | Sequencing waves; acquiring session-wide permissions; toggling the CR gate |
references/05-language-binding-rules.md | Any cross-language boundary work (N-API / FFI / WASM) |
references/06-team-quick-reference.md | Spinning up a new team and needing membership / topology / model |
references/07-invariant-rules.md | Pressure to skip a step — re-read the invariants |
references/08-worktree-strategy.md | Multi-wave project with 3+ waves; isolating writes |
references/09-platform-deltas.md | Confirming which host CLI / agent SDK primitives the framework assumes |
references/10-model-routing.md | Choosing Opus / Sonnet / Haiku for a dispatch; escalation rules |
references/11-hooks-and-automation.md | Wiring PreCompact / PostToolUse / PreToolUse / TaskCreated hooks into settings.json |
references/12-mcp-and-plugins.md | Playwright for UI TEET; CodeRabbit as optional CR gate; ToolSearch scoping |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

