Coordinate multiple agents: parallel spawning, health monitoring, circuit breakers, escalation. Use for parallel agents, agent timeouts, fan-out tasks, multi-agent delegation.
68
84%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Runtime patterns for delegated agents.
Intervene early on:
| Signal | Action |
|---|---|
| Failing tests/builds | Check dependency resolution; revert if builds break |
| Unexpected file changes | Revert; enforce partition |
| Scope creep | Redirect to scoped files only |
| Circular behavior | Halt; switch approach |
| Intent misunderstanding | Clarify prompt; re-delegate |
When redirecting, state why + how:
"Don't modify
libs/data/src/lib/product.ts— shared across features. Add the new query inlibs/data/src/lib/reviews.ts."
Sub-agents: steer live, within the first 5 min. Background agents: no live steering — front-load prompt specificity, partition constraints, acceptance criteria checklists.
Run autonomously in isolated Git worktrees. Reserve for well-scoped tasks >5 min with clear acceptance criteria.
opencastle convoy resume picks up where the run stoppedSpawn parallel research sub-agents if: ≥3 independent questions AND answers span multiple codebase areas — else handle sequentially.
| Rule | Detail |
|---|---|
| Divide by topic/area | Each researcher owns a coherent domain |
| Max 3–5 researchers | More: diminishing returns, token waste |
| Focused scope per agent | Explicit dirs, file patterns, or questions |
| Economy/Standard tier | Manage cost for research sub-agents |
Prompt template:
Research: [specific question]
Scope: [files/directories to search]
Return: key findings, relevant file paths (with line numbers), patterns, unanswered questionsSummarize prior phase output before passing to next agent. Extract: files changed, key decisions, verification (pass/fail), blockers. Discard: raw tool output, reasoning traces, failed attempts.
Template:
### Prior Phase Output
**Phase [N] — [Agent Name] — [Task Title]**
- Files changed: [list]
- Decisions: [key decisions affecting downstream work]
- Verification: [lint ✅ | types ✅ | tests ✅]
- Blockers: [none | list]Health thresholds, escalation path, Error Recovery Playbook, Circuit Breaker: see REFERENCE.md.
Use OpenCastle CLI (npx opencastle or bin/cli.mjs):
opencastle convoy run --file convoy.yml --dry-run
opencastle convoy run --file convoy.yml --verbose
opencastle convoy resume
opencastle convoy
opencastle convoy retryPost-run verification (copy-paste checks):
Convoy records to .opencastle/convoy.db and .opencastle/logs/; there is no
plain-text run log to tail.
opencastle convoy --json # last run's status, machine-readable
opencastle convoy run --status # current convoy state from convoy.db
tail -n 50 .opencastle/logs/events.ndjson | jq -c 'select(.outcome != "success")'| Phase | Check | Command / Action |
|---|---|---|
| Pre-spawn | Inputs present (task, scope, ACs) | test -s convoy.yml || exit 1 |
| During-run | Watch for failures | opencastle convoy run --status |
| Pre-merge | No task left failed or gate-failed | opencastle convoy --json | jq -e '.failed == 0' |
| Dead letters | Queue is empty | opencastle convoy run --dlq-list |
| Post-merge | Lint + smoke tests pass | npm run lint && npm test -- -t "smoke" |
| Blocker | Any failure | Block merge; reopen to original researcher(s) |
f297837
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.