stablyai / stablyai/orca

[Feature]: Default orchestrations (reusable multi-agent team presets)

Open
#9,712 0 comments 0 reactions 1 assignee Claimed by @AmethystLiang View on GitHub
enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.