/synthex:start-review-team/synthex:start-review-team
BuildStart a standing review pool — warm reviewers that take reviews without per-review spawn latency.
Invocation
Run from inside Claude Code in any project where Synthex is installed:
/synthex:start-review-teamSome commands accept parameters; see the source-of-truth file linked below for the full parameter list and workflow.
Lifecycle phase
Build. Parallel-executed, peer-reviewed task delivery.
Related agents
- Tech Lead · Full-stack orchestrator. Breaks tasks down, delegates to specialists, rolls up the result.
- Lead Frontend Engineer · Coordinates frontend delivery, enforces UX quality, accessibility, and design-system fidelity.
- Architect · System design, ADRs, plan-review feasibility, technology trade-offs.
- Code Reviewer · Craftsmanship review — correctness, maintainability, reuse, conventions.
- Security Reviewer · Mandatory gate. Secrets, injection, auth, supply chain, OWASP.
- Quality Engineer · Test strategy, gap analysis, behavior-driven test authoring.
- Design System · Token ownership, component governance, compliance audit.
- Technical Writer · API docs, guides, migrations, changelogs verifiable against code.
Source
The command's parameters, workflow, and sub-agent invocations are defined in markdown at bluminal/lumenai/blob/main/plugins/synthex/commands/start-review-team.md.
Last modified:
What it does, end-to-end
/synthex:start-review-team/synthex:start-review-team starts a standing review pool: a Pool Lead plus one
reviewer teammate per agent in the roster, kept idle until a review arrives. Once it's running,
/synthex:review-code/synthex:review-code and /synthex:performance-audit/synthex:performance-audit route to it
automatically when its roster covers the reviewers they need and standing_pools.enabled is true.
See Standing review pools for the full model.
Each run:
- Checks the host. Needs Claude Code with
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1and theSendMessageandListAgentstools. Without them it prints a notice and stops. - Warns about leftover team directories under
~/.claude/teams/from earlier sessions. It doesn't abort or delete them. - Refuses a duplicate name. If a pool with that name already exists, it stops and points you at /synthex:list-teams/synthex:list-teams and /synthex:stop-review-team/synthex:stop-review-team.
- Fills in defaults from
standing_pools.*for anything you didn't pass. - Validates the pool name and checks that every reviewer is a real Synthex agent — all before writing anything.
- Runs the multi-model preflight when multi-model is on, and asks you to confirm if any
external CLI is set to
sandbox-yolomode. - Spawns the pool and checks that each reviewer came up as the right agent.
- Records the pool in
~/.claude/teams/standing/index.jsonunder a cross-session lock, so two sessions starting pools at once can't corrupt the index. - Prints a confirmation with the roster, multi-model setting, TTL, routing mode, storage paths, and the commands to check on or stop the pool.
Parameters
| Parameter | Description | Default | Required |
|---|---|---|---|
name | Pool name | standing_pools.default_name (review-pool) | No |
reviewers | Comma-separated reviewer agent names | standing_pools.default_reviewers (code-reviewer,security-reviewer) | No |
multi_model | Run multi-model review in this pool | standing_pools.default_multi_model (false) | No |
ttl_minutes | Idle minutes before the pool can be reaped | standing_pools.ttl_minutes (60) | No |
config_path | Project config path | .synthex/config.yaml | No |
Pool names are 1–48 lowercase letters, digits, and hyphens, starting with a letter or digit.
Input is lowercased first. index, standing, and names starting with . are reserved.
Examples
# Default pool: review-pool with code-reviewer + security-reviewer
/synthex:start-review-team
# A pool that also serves /synthex:performance-audit
/synthex:start-review-team --name full-pool \
--reviewers code-reviewer,security-reviewer,performance-engineer
# A multi-model pool (needs external CLIs configured)
/synthex:start-review-team --name mm-pool --multi_modelCommon scenarios
"Will my pool actually get used?"
Only if routing is on and the roster fits. Check standing_pools.enabled: true in
.synthex/config.yaml (or run /synthex:configure-teams/synthex:configure-teams). With the default
matching_mode: covers, the pool needs every reviewer the command asks for —
/synthex:performance-audit/synthex:performance-audit always asks for performance-engineer, so the default
roster won't serve it.
"It asked me to confirm the cost"
You get a cost warning before the confirmation when the pool has four or more reviewers, or two or more reviewers with a TTL over 240 minutes. Answer no and the pool is removed.
"Index is locked"
Another session is writing the pool index. Wait and retry. If a previous command crashed
while holding the lock, the error message gives the rmdir command to clear it.
What it does not do
- Restrict the roster. Any Synthex agent can join a pool, but only review commands route to pools. A pool with a planning roster runs, and nothing sends it work.
- Turn on routing. Starting a pool doesn't touch config. Without
standing_pools.enabled: true, commands ignore it. - Outlive your session. The pool stops serving reviews when the Claude Code session that started it closes; the next routed review cleans it up.
See also
- Standing review pools — lifecycle, routing, config
- /synthex:list-teams/synthex:list-teams — see running pools
- /synthex:stop-review-team/synthex:stop-review-team — stop a pool
- /synthex:configure-teams/synthex:configure-teams — turn on routing