npx skills add ...
npx skills add incept5/eve-skillpacks --skill eve-orchestration
Orchestrate jobs via depth propagation, parallel decomposition, relations, and control signals
npx skills add incept5/eve-skillpacks --skill eve-orchestration
This skill explains how to orchestrate complex work in Eve Horizon by spawning child jobs, managing dependencies, and maximizing parallel execution while respecting depth limits.
Not every job needs decomposition. Use this heuristic:
Fetch the current job context before deciding anything:
Use the context to confirm:
job.depth (current depth)children (existing sub-jobs)relations (dependencies)blocked / waiting / effective_phaseUse the environment to avoid guessing identifiers:
EVE_JOB_ID: current jobEVE_PROJECT_ID: owning projectEVE_ATTEMPT_ID: current attemptEVE_REPO_PATH: workspace pathEVE_AGENT_ID: agent identifier (optional)The parent decides the target depth and passes it to children (in the child description or data). Each child must read and honor the same target depth.
Example snippet to include in child descriptions:
EPIC: target depth = 3
Story: target depth = 2
If no target depth is provided, default to Story depth (2) unless the scope clearly indicates EPIC.
The orchestrator's most precious resource is its context window. Protect it:
A well-run orchestrator should finish with most of its context budget unspent.
eve job current --json).current_depth >= target_depth, execute directly.waits_for for standard gating.blocks only for strict ordering constraints.Create child jobs using eve job create with --parent. Each child description must be
fully self-contained — the child agent has no access to the parent's conversation,
context, or reasoning. Everything the child needs to act must be in the description itself.
After creating children, add dependencies so the parent waits on them:
Use the CLI dependency commands to express relationships:
Relation guidance:
waits_for: standard parent waits for child completionblocks: strict ordering constraintconditional_blocks: use only when the dependency is conditionalAdd relations before returning a waiting control signal.
When you spawn children and set relations, pause the parent with a waiting signal:
Rules:
waiting after dependencies exist.waiting requeues the job to ready while it stays blocked by relations.waiting without blockers triggers a short backoff; avoid it.success when the work is complete.failed only for unrecoverable outcomes.Default: no review unless explicitly required by the parent or project settings.
If review is required:
waiting.When a parent resumes after children complete:
If a child fails:
Every child description must be self-contained. The child agent starts cold — no access to the parent's conversation, files read, or reasoning. Include everything it needs:
Key rules for child descriptions:
/src/auth/handler.ts to add token refresh logic" is actionable.json-result waiting (if children exist)# Create two child jobs in parallel
eve job create --project $EVE_PROJECT_ID \
--parent $EVE_JOB_ID \
--description $'Target depth: 3 (EPIC). Current depth: 1.\nScope: Research sources\nDeliverable: Annotated bibliography' \
--phase ready
eve job create --project $EVE_PROJECT_ID \
--parent $EVE_JOB_ID \
--description $'Target depth: 3 (EPIC). Current depth: 1.\nScope: Draft outline\nDeliverable: Structured outline' \
--phase readyeve job dep add $EVE_JOB_ID $CHILD_A_ID --type waits_for
eve job dep add $EVE_JOB_ID $CHILD_B_ID --type waits_foreve job dep add $PARENT_JOB_ID $CHILD_JOB_ID --type waits_for
eve job dep add $CHILD_JOB_ID $OTHER_JOB_ID --type blocks
eve job dep list $JOB_ID{
"eve": {
"status": "waiting",
"summary": "Spawned 3 parallel child jobs; waiting on waits_for relations"
}
}eve job submit $EVE_JOB_ID --summary "Completed work and ready for review"Target depth: 3 (EPIC). Current depth: 1.
If current depth < target, you may create child jobs and use waits_for relations to parallelize.
If current depth >= target, execute directly.
Context: <why this work exists — enough background for the child to act without asking>
Scope: <concise child objective — what to do>
Inputs: <specific file paths, data references, or prior outputs the child needs>
Deliverable: <clear, verifiable outcome — what "done" looks like>
Constraints: <boundaries, standards, or requirements to honor>