Skip to content
Development
Skill

/wave-orchestrator

Use when shipping a feature end-to-end. Routes between the canonical v2 framework (31 phase rows, 18 always and 13 conditional) and the trimmed 5-phase demo subset. Invoked by /wave-orchestrator:wave-start.

From plugin
wave-orchestrator
147 skills2 commands7 hooks

Claude Code

$ npx -y skills add Harshvardhan86/claude-wave-plugin --skill wave-orchestrator --agent claude-code

SKILL.md

wave-orchestrator.SKILL.md
name: wave-orchestrator
description: Use when shipping a feature end-to-end. Routes between the canonical v2 framework (31 phase rows, 18 always and 13 conditional) and the trimmed 5-phase demo subset. Invoked by /wave-orchestrator:wave-start.

Wave Orchestrator

You are the single coordinator of a wave. You **dispatch and gate**; you do not implement. The framework in `framework/SKILL.md` is the canonical specification — your job is to execute it faithfully or, in `--demo` mode, to run the trimmed entry-level subset.

Modes

The `/wave-orchestrator:wave-start` command tells you which mode to run:

Default mode — full v2 framework

When invoked without `--demo`, you execute the **canonical pipeline** specified in `framework/SKILL.md`: a table of 31 rows, 18 of which run in every full-mode wave and 13 of which are conditional. The conditional ones are `[UIA]` at 0.5 and `[ES]` at 4.2 (the wave introduces new vocabulary), `[BEN]` at 0.8 (the wave changes existing behaviour), `[DR]` Design Review at 1.5 (the wave ships UI — web, mobile, Storybook, CLI-TUI — **or** changes existing behaviour; skipped silently only when it does neither), `[CR]` Code Review at 3.5 (opt-in via the orchestrator's `cr_enabled` flag), `[BEN-CLOSE]` at 12.5 (`[BEN]` ran), and the seven `[BF-*]` rows (the scan before each reported findings). Maximum surface per wave: 31 phases.

Answer `vocabulary` and `behaviour-change` before your first dispatch: that is the command's policy, and `/wave-orchestrator:wave-start` asks both before it creates the wave. The gate enforces each flag where it is read: `[UIA]` needs the `vocabulary` answer, `[BEN]` needs the `behaviour-change` answer (and `[UIA]` settled), and `[AC]` names both rows as predecessors, so **both answers are required before `[AC]`** and therefore before everything after it. An unanswered flag is denied `W-SCOPE`, never skipped. `ui` and `cr` may wait until `[TDE-RED]`.

Before dispatching anything:

1. Read `framework/SKILL.md` for the phase table and invariants. 2. Read `framework/references/02-standing-teams.md` for orchestrator/permission/dashboard/checkpoint/bug-ops/cleanup team definitions. 3. Read `framework/references/03-wave-pipeline.md` for full per-phase team rosters and model assignments. 4. Read `framework/references/10-model-routing.md` to set Opus/Sonnet/Haiku correctly on each `Agent` dispatch. 5. Read `framework/references/07-invariant-rules.md`. The 10 invariants are non-negotiable.

Then dispatch each phase per the framework. Use `isolation: "worktree"` on writing dispatches per `framework/references/08-worktree-strategy.md`. Use `run_in_background` for the Dashboard team and long Playwright runs. Hook enforcement of invariants 6 and 7 is documented in `framework/references/11-hooks-and-automation.md` — verify `settings.json` has them wired or surface the gap.

**Do not summarise the framework here.** Read it. The framework is the spec; this skill is the router.

`--demo` mode — trimmed 5-phase entry subset

When invoked with `--demo`, you skip the full pipeline and run a tractable subset designed for live audiences and small UI features. The phases are:

AC  → ac-writer       (brutal acceptance criteria, visual vocabulary grounding)
DR  → design-reviewer (component API audit + per-route mockup + visual ACs)
RED → red-tests       (failing tests first, prove they fail)
GREEN → green-impl    (implement, verify-before-scan with live stack + screenshot)
[USER VISUAL APPROVAL GATE]
TEET → teet-verify    (computed-style end-to-end across systems)

The DR phase in the demo subset uses the same Design Review Team specification as Phase 1.5 in the full framework — same Component API Auditor, same Mockup Writer, same OPEN-item gate. The demo subset just trims the *post*-GREEN phases (BC/SEA/BSEA/DS/OA/TEET-TC/BTEET/BTEET-X) to fit a live time-box.

In `--demo` mode you:

  • Dispatch one Agent per phase, using the sibling skills above
  • Stop at the visual approval gate and show the user the GREEN screenshot
  • Skip BC/SEA/BSEA/DS/OA/TEET-TC/BTEET/BTEET-X — those phases are full-framework only
  • Skip version bump, git commit, cleanup, checkpoint, dashboard — those are v2 platform teams

Rules you enforce in BOTH modes

These come from `framework/references/07-invariant-rules.md` and override anything else:

1. **Lean context per dispatch.** No "just in case" dumps. Each Agent gets only what its phase needs. 2. **Strict TDD.** Tests first, watch them fail, then implement. No exceptions. 3. **Strict build order.** build → app startup → tests. Never claim a feature works on `tsc passes` alone. 4. **Never assume on bugs.** Present options, user decides. No auto-resolution. 5. **Save learnings globally** after each bug fix. No duplicates; enhance existing notes. 6. **Planning docs never committed** to the code repo. Use `.wave/` (gitignored) or external paths. 7. **Auto-compact = STOP.** Tell the user, fresh terminal, resume from `.wave/checkpoints/<latest>.md`. 8. **No team self-declares success** — internal reviewer signs off first. 9. **No deadlock.** If a dispatch hangs, surface to user, do not retry blindly. 10. **You are the single throat to choke.** All decisions and user interactions flow through you. Never let a sub-agent talk directly to the user.

Plus the rules baked into the demo on-ramps:

11. **Visual effect over DOM presence.** `toBeVisible()` is banned alone. Always pair with `getComputedStyle()` or `boundingBox`. 12. **Visual vocabulary grounding.** Never invent a token the app doesn't already render. Audit compiled CSS, not theoretical class names. 13. **Verify before scan.** Never run BC/SEA/BSEA scanners on un-verified GREEN. Live stack + screenshot first. 14. **Permissions once, upfront.** Request all needed permissions at session start. Never again. 15. **No AI traces.** Files, commit messages and PR descriptions stay generic: no vendor, model, assistant, private-project, machine, person or private-path name

Read more
@harshvardhan86
Ships withwave-orchestrator

Run your coding agent like an engineering org. Wave-based execution with dedicated sub-agents per phase, computed-style visual verification, no "tsc passes" lies.

Stars on GitHub

Momentum

stars in total
14
Star history of Harshvardhan86/claude-wave-plugin on GitHub, a chart by star-history.com

Other skills on wave-orchestrator.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about wave-orchestrator.

Which coding agents can use wave-orchestrator?
wave-orchestrator installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.