Problem
The /orchestrate-dev skill runs a single configuration: optional architecture/planning, fix all findings, opus holistic reviewer. For well-understood tasks (small features, bug fixes, straightforward refactors), this is over-provisioned — architecture and planning phases are skipped anyway, low-criticality findings consume review budget, and the holistic reviewer uses the most expensive model.
There is no way to select a lighter-weight orchestration profile without manually passing multiple -- arguments on every invocation.
Proposed solution
1. Mode system on /orchestrate-dev
Add a --mode=<vibe|strict> argument (default = no mode, preserving current behavior). Each mode is a preset bundle of settings:
| Setting |
vibe |
(default) |
strict |
| architecture |
absent |
optional |
required |
| planning |
absent |
optional |
required |
| approval-threshold |
high |
low |
low |
| budget-threshold |
high |
low |
low |
| holistic_reviewer |
sonnet |
opus |
opus |
| max-review-rounds |
1 |
3 |
4 |
Mode presets are defaults — any setting can be individually overridden via explicit CLI arguments (e.g., --mode=vibe --approval-threshold=medium).
2. Two-threshold model replacing --fix-low/--no-fix-low
Replace the boolean --fix-low/--no-fix-low with two orthogonal thresholds:
--approval-threshold=<low|medium|high>: Findings at this level or above must be fixed for code approval. Findings below are reported but don't block.
--budget-threshold=<low|medium|high>: Remaining review-round budget is spent only on findings at this level or above. Findings below this level are not fixed even if budget remains (unless they also meet the approval threshold).
Interaction:
criticality >= approval_threshold → MUST fix (blocks approval)
criticality >= budget_threshold → MAY fix (opportunistic, if budget remains)
criticality < both thresholds → report only
Backward compatibility: --fix-low ≡ --approval-threshold=low --budget-threshold=low; --no-fix-low ≡ --approval-threshold=medium --budget-threshold=medium.
3. Resolution cascade
For all mode-affected settings:
- Explicit CLI arg (highest priority)
- Mode preset (if
--mode specified)
orchestration.<key> in preferences.yaml
- Legacy alias (
fix_low_findings → mapped to thresholds)
- Engine default
Files affected
| File |
Change |
packages/agents/content/skills/orchestrate-dev/SKILL.md |
Rewrite: add modes, per-mode pipeline tables, threshold arguments |
packages/agents/content/skills/orchestrate/SKILL.md |
Edit: thresholds replace --fix-low, update resolution cascades, run-index.json schema |
packages/agents/content/skills/orchestrate/modules/review-cycle.md |
Edit: threshold-based flow control in Phase 4 and Phase 4b |
packages/agents/content/skills/orchestrate-review/SKILL.md |
Edit: threshold arguments (no mode support — fixed pipeline) |
.agents/PROJECT.md |
Edit: document modes in orchestration entry points |
Acceptance criteria
Problem
The
/orchestrate-devskill runs a single configuration: optional architecture/planning, fix all findings, opus holistic reviewer. For well-understood tasks (small features, bug fixes, straightforward refactors), this is over-provisioned — architecture and planning phases are skipped anyway, low-criticality findings consume review budget, and the holistic reviewer uses the most expensive model.There is no way to select a lighter-weight orchestration profile without manually passing multiple
--arguments on every invocation.Proposed solution
1. Mode system on
/orchestrate-devAdd a
--mode=<vibe|strict>argument (default = no mode, preserving current behavior). Each mode is a preset bundle of settings:vibestrictMode presets are defaults — any setting can be individually overridden via explicit CLI arguments (e.g.,
--mode=vibe --approval-threshold=medium).2. Two-threshold model replacing
--fix-low/--no-fix-lowReplace the boolean
--fix-low/--no-fix-lowwith two orthogonal thresholds:--approval-threshold=<low|medium|high>: Findings at this level or above must be fixed for code approval. Findings below are reported but don't block.--budget-threshold=<low|medium|high>: Remaining review-round budget is spent only on findings at this level or above. Findings below this level are not fixed even if budget remains (unless they also meet the approval threshold).Interaction:
Backward compatibility:
--fix-low≡--approval-threshold=low --budget-threshold=low;--no-fix-low≡--approval-threshold=medium --budget-threshold=medium.3. Resolution cascade
For all mode-affected settings:
--modespecified)orchestration.<key>in preferences.yamlfix_low_findings→ mapped to thresholds)Files affected
packages/agents/content/skills/orchestrate-dev/SKILL.mdpackages/agents/content/skills/orchestrate/SKILL.md--fix-low, update resolution cascades, run-index.json schemapackages/agents/content/skills/orchestrate/modules/review-cycle.mdpackages/agents/content/skills/orchestrate-review/SKILL.md.agents/PROJECT.mdAcceptance criteria
/orchestrate-devaccepts--mode=vibeand--mode=strictarguments--mode) preserves identical behavior to the current/orchestrate-devvibemode: pipeline has only implementation + review-cycle (no architecture, no planning); approval-threshold=high, budget-threshold=high, holistic_reviewer=sonnet, max-review-rounds=1strictmode: pipeline has all four phases as required; max-review-rounds=4--approval-thresholdand--budget-thresholdarguments are accepted by the engine and review-cycle module--fix-low/--no-fix-lowremain as backward-compatible aliases mapping to the appropriate threshold valuesapprovalThresholdandbudgetThresholdinstead offixLowFindings/orchestrate-reviewaccepts the new threshold arguments (no mode support needed).agents/PROJECT.mddocuments the mode system