Cross-provider teams
Naming another provider or model—or several providers or models—invokes app-managed orchestration. The provider receives injected context that tells it to discover what the current app can launch before it acts.
Route by outcome or by name
Section titled “Route by outcome or by name”Let the lead choose when you care about workload fit:
Orchestrate this with the available providers and models best suited to each role. Keep the team small and use a different perspective for final review when useful.
Name providers when the assignment matters:
Use Claude to lead and integrate, Codex for bounded backend implementation, and Grok for a fresh reliability review.
You do not need to include capability-discovery commands. The provider resolves requested names against live provider keys, models, and supported surfaces before launch.
Choose the lead
Section titled “Choose the lead”The lead plans the workflow, owns shared decisions, integrates results, and verifies completion. Use an exact model when you need its behavior:
Use Fable 5 as the orchestration lead. Let it choose the smallest useful supporting team after inspecting the repository.
If no particular model matters:
Choose a strong available model to lead this task and explain the choice briefly.
An orchestration request can still result in one working session. A provider should not create handoffs without a clear benefit.
Use fast models deliberately
Section titled “Use fast models deliberately”Fast models work best on narrow assignments with clear inputs and a checkable result:
Use a strong reasoning model for decomposition, integration, and difficult review. Route bounded research, mechanical edits, or focused checks to a fast model. Send ambiguity back to the lead.
Good fast-model assignments often have:
- a small file or subsystem boundary;
- a concrete deliverable;
- few unresolved design choices;
- an obvious verification method; and
- a lead responsible for integration.
Avoid routing architecture, ambiguous debugging, broad refactors, or final risk assessment to a fast model solely to reduce latency.
Set a substitution policy
Section titled “Set a substitution policy”Exact routing:
Use Fable 5 as the lead and Codex for implementation. Do not substitute either model; ask if one is unavailable.
Flexible routing:
Prefer Claude for the lead and a fast Codex model for implementation. If either is unavailable, choose the closest available substitute and report the change.
If you omit a substitution policy, the provider should use its judgment and make material changes visible.
Match models to roles
Section titled “Match models to roles”Prompt for capabilities rather than maintaining a permanent matrix:
| Work | Useful routing intent |
|---|---|
| Decomposition and architecture | Strong reasoning and broad context |
| Narrow implementation | Fast model when the contract is settled |
| Integration | Model that can evaluate all role outputs |
| Independent review | Fresh session; different provider when perspective helps |
| Mechanical research | Fast model with a bounded question and evidence requirement |
Model speed, cost, availability, and identifiers change. Let the provider inspect the current configuration each time.
Preserve review independence
Section titled “Preserve review independence”Provider diversity can add perspective, but fresh context and a stable checkpoint matter more:
After integration and verification, use a fresh read-only reviewer from a provider that did not implement the change. Give it the verified result and require evidence for each finding.
The lead should validate those findings before returning them to the existing implementer.
Evaluate the routing
Section titled “Evaluate the routing”After a run, consider:
- Did each role receive work suited to its model?
- Did a fast model reduce latency without increasing supervision?
- Did provider diversity improve the result or add handoffs?
- Were substitutions visible and acceptable?
- Would a smaller team have been easier to verify?
Use the answers to tune the next request, not to hard-code operational commands into every prompt.