Smart hybrid execution engine that dispatches agents in parallel or sequential order based on task dependencies. Manages the Agent tool calls, result collection, conflict detection, and integration review.
Scanned 5/27/2026
Install via CLI
openskills install d3x293/code-crew---
name: execution-orchestrator
description: Smart hybrid execution engine that dispatches agents in parallel or sequential order based on task dependencies. Manages the Agent tool calls, result collection, conflict detection, and integration review.
---
# Execution Orchestrator - Smart Hybrid Dispatch
Executes the task plan generated by the task-router by spawning agents with the right models, collecting results, and coordinating integration.
## When to Activate
- Called by task-router after generating an execution plan
- When re-executing after a conflict resolution
## Core Principle
**Each agent is self-contained.** When spawning an agent via the Agent tool:
- Include ALL context the agent needs in its prompt
- Include the Index-First Protocol
- Include relevant skill guidance
- Include the specific files/symbols to work on
- Include expected output format
- Include context carry-forward from previous task (if applicable, see below)
- The agent should be able to complete its subtask with ZERO additional context
## Context Carry-Forward
Before dispatching agents, check if context from the previous task can reduce re-reading:
1. Read the last entry in `.claude/crew-history.json`
2. Check if the previous task's `filesModified` overlaps with the current task's focus files
3. If overlap exists AND the previous task was recent (same session):
- Include a "Previous Context" section in the agent prompt (max 500 tokens):
```
## Previous Task Context
The previous task ("{task description}") modified these overlapping files:
- {file}: {summary of what changed}
Key decisions: {summary field from history}
```
- This helps agents understand recent changes without re-reading unchanged sections
4. If no overlap or no recent history: skip this section
**Token budget**: Max 500 tokens for carry-forward context. If the previous summary is longer, condense to the most relevant parts for the current task's scope.
## Execution Modes
### Sequential Execution
For dependent subtasks where output of one feeds into the next:
```
Phase 1: Agent A completes → result
Phase 2: Agent B receives result + its task → completes → result
Phase 3: Agent C receives combined results → completes
```
Implementation:
1. Spawn Agent A, wait for result
2. Include Agent A's result summary in Agent B's prompt
3. Spawn Agent B, wait for result
4. Continue chain
### Parallel Execution
For independent subtasks that don't share files:
```
Phase 1 (parallel):
Agent A → subtask on files {X, Y}
Agent B → subtask on files {Z, W}
Agent C → subtask on files {V}
All complete → collect results
```
Implementation:
1. Verify no file overlap between parallel agents (check via crew-index.json)
2. Spawn ALL agents in a SINGLE message using multiple Agent tool calls
3. Wait for all to complete
4. Collect and verify results
### Hybrid Execution (Most Common)
Mix of sequential and parallel phases:
```
Phase 1 (sequential): Investigation/Planning
CEO or debugger investigates → produces plan
Phase 2 (parallel): Independent Implementation
senior-dev implements feature A on src/moduleA.js
test-engineer writes tests on test/moduleA.test.js
doc-writer updates docs/api.md
Phase 3 (sequential): Integration Review
code-reviewer reviews all changes
→ report to user
```
## Agent Prompt Template
When spawning each agent, construct this prompt:
```markdown
# Task: {specific description of what to do}
**Agent**: {agent-name} | **Model**: {opus|sonnet|haiku}
## Context
{Brief from crew-profile.md — project type, stack, key patterns}
Focus files (from index analysis):
- {file1}: {relevant symbols and line ranges}
- {file2}: {relevant symbols and line ranges}
## Index Protocol
INDEX-FIRST: Read .claude/crew-index.json → crew-symbols.json → only specific lines. Never read entire files.
## Skill Guidance
{Condensed skill injections from skill-injector}
## Output
Report: what changed (file:lines), FILES_MODIFIED: {list}, confidence: high|medium|low, any concerns or dependencies.
```
## Conflict Detection
After parallel agents complete:
1. **File overlap check**: Did any two agents modify the same file?
- If yes: escalate to vp-engineering for merge review
- If no: safe to proceed
2. **Import/dependency check**: Did any agent add imports that conflict?
- Check via git diff or by reading modified sections
3. **Test verification**: If test-engineer was involved, run tests
- If tests pass: proceed
- If tests fail: route failures back to relevant agent
## Result Collection
After all agents complete, compile:
```
Done: "{task}" — {SUCCESS|PARTIAL|NEEDS_REVIEW}
{strategy} | Agents: {agent(model), agent(model), ...}
Skills: {deduplicated list of all skills injected across agents}
Changes: {per-agent 1-line summary}
Files: {file1}, {file2}, ...
Index: {updated N files | skipped | failed — run /crew reindex}
```
## Auto Index Update (Post-Execution)
After ALL agents have completed and results are collected:
1. **Aggregate FILES_MODIFIED** from all agent outputs
- Parse each agent's output for the `FILES_MODIFIED:` line
- Combine into a deduplicated list
- If no files were modified (e.g., review-only tasks), skip index update
2. **If files were modified**, invoke the `index-updater` skill:
- Pass the deduplicated list of modified file paths
- The index-updater will:
a. Recompute hashes for only those files
b. Update Layer 1 entries (crew-index.json)
c. Update Layer 2 entries (crew-symbols.json)
d. Update global metadata (contentHash, stats, lastIndexed)
3. **Report index update** in the task completion summary:
- `"Index updated: {count} files refreshed"` if successful
- `"Index update skipped: no files modified"` if no changes
- `"Index update failed: {reason} — run /crew reindex"` if error
4. **If index update fails** (e.g., file was deleted between edit and index):
- Log the warning but do NOT fail the overall task
- Recommend `/crew reindex` for a full rebuild in the completion report
This step is **mandatory** — do not skip it. A fresh index saves tokens on every subsequent task.
## Error Recovery
| Scenario | Action |
|----------|--------|
| Agent times out | Retry once with simplified prompt |
| Agent reports "can't find function" | Index is stale → incremental update → retry |
| Parallel agents conflict on same file | Fall back to sequential for those agents |
| Agent reports "task too complex" | Escalate complexity → re-route through CEO (or vp-engineering in lite mode) |
| Agent reports "need more context" | Provide additional index data + broader file reads |
| All agents fail | Report to user with diagnostics |
## Logging
After each task execution, append to `.claude/crew-history.json`:
```json
{
"timestamp": "2026-04-04T12:00:00Z",
"task": "original task description",
"type": "bug-fix",
"complexity": "moderate",
"strategy": "hybrid",
"mode": "full|lite",
"gitRefBefore": "abc1234",
"agents": [
{"name": "debugger", "model": "sonnet", "status": "success", "confidence": "high"},
{"name": "senior-dev", "model": "sonnet", "status": "success", "confidence": "high"}
],
"filesModified": ["src/parser.js"],
"skillsInjected": ["iterative-retrieval", "typescript-patterns", "verification-loop"],
"duration": "45s",
"status": "success",
"summary": "Debugger traced bug to parser.js:45, senior-dev fixed off-by-one in parseToken()"
}
```
Fields added for new features:
- `mode`: "full" or "lite" — tracks which routing mode was used
- `gitRefBefore`: git commit hash captured before execution (for rollback support)
- `confidence`: per-agent confidence level from their output
- `skillsInjected`: deduplicated list of all skills injected across all agents in this task
- `summary`: 2-3 sentence summary for context carry-forward to subsequent tasks
## Ongoing Agent Suggestions
After logging the task, check if a new custom agent should be suggested to the user. This runs **every 5th task** (check if the history array length is a multiple of 5).
### Trigger Condition
1. Read `.claude/crew-history.json` — if `length % 5 !== 0`, skip this section entirely
2. Read `.claude/crew-team.json` — get the list of existing custom agents
### Pattern Detection
Analyze the last 10 history entries for these patterns:
| Pattern | Signal | Suggested Agent |
|---------|--------|-----------------|
| **Repeated task type** | Same `type` appears 3+ times in last 10 tasks | Specialist for that type (e.g., repeated `security` → suggest security-focused custom agent if none exists) |
| **File cluster** | Same directory appears in `filesModified` across 3+ tasks | Directory-specific specialist (e.g., `src/api/` repeatedly modified → suggest api-specialist) |
| **Complexity escalation** | Average complexity is `moderate+` and senior-dev is used in 60%+ of tasks | Domain specialist to offload senior-dev |
| **Repeated escalation** | Agent reports "ESCALATE" 2+ times in last 10 | Specialist to handle that area directly |
### Output
If a pattern is found AND no existing custom agent covers it:
```
Tip: Your last {n} tasks frequently involve {pattern}. Consider adding a custom agent:
/crew agent create "{suggested-name}" --model sonnet --description "{suggested-description}"
```
Rules:
- Show **at most one** suggestion per task completion
- Never repeat the same suggestion in the same session
- If all patterns are already covered by existing custom agents, show nothing
No comments yet. Be the first to comment!