[Feature]: Default orchestrations (reusable multi-agent team presets)
- Dominant language
- TypeScript
- Stars
- 71.3k
- Forks
- 4.7k
- Avg merge
- 14h 54m
- Merged PRs (30d)
- 520
Description
## Problem or use case
Setting up a multi-agent orchestration is still manual every time. Many users have a stable preferred team topology and re-create it from scratch for each task/worktree.
**Example default setup (common pattern):**
- **Coordinator:** Fable 5
- **Manual QA / review:** Cursor Composer 2.5
- **Worker / implementer:** Codex
Today you pick agents, models, and roles ad hoc (spawn terminals, assign roles in prompts, dispatch tasks). There is no first-class way to save that topology as a **default orchestration** and apply it with one action.
Related but different: #8896 covers portable agent/workflow *settings* export/import (commands, model defaults). This issue is about **orchestration topology presets** — which agents fill which roles in a coordinated multi-agent run.
## Proposed solution
Add **default / named orchestration presets** that capture a multi-agent team layout and can be applied quickly.
### What a preset should capture
- **Roles** (at least): coordinator/orchestrator, worker/implementer, reviewer/QA (extensible)
- **Agent + model per role** (e.g. Fable 5, Cursor Composer 2.5, Codex)
- Optional: same-worktree vs child-worktree policy per role, default inject/dispatch style, max concurrent workers
- Optional: short role prompt fragments (“you are the manual QA’er…”, “you implement…”) so launches are consistent
### How users apply them
1. **Global default** — “when I start an orchestration, use this team”
2. **Named presets** — pick from a list (e.g. “Fable + Cursor QA + Codex worker”, “Claude coord + dual Codex”)
3. **One-click / one-command apply** from UI and CLI, e.g. spawn the role terminals (or bind to idle matching agents) and wire orchestration context
### Scope notes
- Prefer **role-based** presets over hardcoding specific agent product names in the schema.
- Agent CLIs that are missing on the machine should warn and still apply the rest.
- Should not dump secrets or full runtime orchestration DB state; presets are configuration only.
- Consider repo-scoped vs user-global defaults later; start with user-global named presets + one “default”.
## Acceptance criteria
- [ ] User can create/edit/delete named orchestration presets (roles → agent/model (+ optional prompts/policies)).
- [ ] User can mark one preset as the **default orchestration**.
- [ ] Applying a preset (UI + CLI) launches or binds the configured role agents without re-entering the same manual setup.
- [ ] Missing agents/models surface clear warnings; partial apply is safe.
- [ ] Presets are portable config (no secrets / terminal history / live task state).
- [ ] Docs/skill guidance mention default orchestrations for the common “orchestrator + worker + QA” pattern.
## Alternatives or additional context
Workarounds today:
- Manually spawn Fable / Cursor / Codex each time and prompt-role them
- Shell scripts around `orca terminal create` / `orca orchestration …` (brittle, not shared with UI)
- Relying only on default terminal tabs (tabs ≠ orchestration roles/dispatch topology)
Happy to bikeshed on first-class roles (`coordinator` / `worker` / `reviewer`) vs freeform role labels.
Contributor guide
Assessment
This issue has not been assessed yet.