All skills

Use when executing a multi-task implementation plan with parallel agents. Coordinates task assignment, wave sequencing, heartbeat monitoring, git safety, and quality gates. Supports interactive (TeamCreate/Task) and headless (claude -p) modes. Keywords: parallel agents, wave execution, orchestrate, headless, phase execution, task plan. Triggers on "orchestrate agents" or "execute multi-task plan".

Use this Skill: https://skilld.dev/gh/acedergren/agentic-tools/orchestrate

This session only. Nothing lands on disk.

SKILL.md

≈103 tokens always: the name and description. ≈1.4k when used: this file. ≈15k more on demand in 11 files.

Orchestrate

When to Use

Load this skill when the user request matches the frontmatter description for Orchestrate.

Coordinate a team of parallel agents to execute a phase from a task plan. Manages task assignment, monitoring, scope enforcement, and wave-transition quality gates.

Modes:

  • Interactive (default): In-session agents via TeamCreate/Task/SendMessage — use for complex tasks needing inter-agent coordination
  • Headless (--headless): Independent claude -p processes — use for parallelizable tasks with clear scope boundaries (~54% less coordination overhead)

Do NOT load when

  • task is small enough for one agent to finish directly
  • no written plan or no separable workstreams exist
  • parallel execution would create more overlap than speedup

NEVER

  • Never let parallel agents git add && git commit without flock — git's index is process-global. Concurrent writes silently mix staged files between commits. Every agent system prompt must include flock /tmp/orchestrate/{session-id}/git.lock. Symptom: commit A contains files from task B.

  • Never skip file overlap check — two agents editing the same file produces merge conflicts neither can resolve (they have no knowledge of each other). Detect overlap at plan time, serialize conflicting tasks.

  • Never trust is_error field alone for failure detection — budget exhaustion sets is_error: false with subtype: "error_max_budget_usd". Always check subtype.startsWith("error_"). Confirmed via live testing of claude -p --output-format json.

  • Never reuse PID files across waves — OS recycles process IDs. Always clear /tmp/orchestrate/{session-id}/task-*.pid between waves or a stale PID matches an unrelated process, causing the monitor loop to wait indefinitely.

  • Never spawn headless agents without --no-session-persistence — each claude -p writes a session file to ~/.claude/. 22 parallel tasks = 22 orphaned session files polluting session history.

  • Never use --dangerously-skip-permissions without --allowedTools — the flag alone gives unrestricted tool access including TeamCreate/SendMessage/Task (recursive agents). Always pair with --allowedTools "Bash Edit Write Read Glob Grep".

  • Never retry a failed agent by re-spawning the same one with appended errors — accumulated failed reasoning makes the second attempt worse. Always spawn a fresh fix-subagent with targeted instructions.

  • Never run code quality review before spec compliance passes — quality review on spec-incorrect code wastes tokens and produces misleading results. Spec compliance first, always.

  • Never consider a headless task done without running the full verification chain — even subtype: "success" doesn't guarantee: correct branch, in-scope files, passing build. Always: commit exists → scope check → verify command.

Mode selection decision tree

Is task count > 10 AND tasks have clear file boundaries?
  YES → Headless: ~54% less overhead, simpler monitoring
  NO → Interactive: better for coordination, cross-task decisions

Do tasks share many files (>50% overlap)?
  YES → Add git worktrees OR serialize into sequential waves
  NO → Standard parallel execution with flock

Resource loading (mandatory)

  • Before spawning any agent: Read agent-roles.md for role assignments and model selection
  • Headless mode, before each task prompt: Read prompt-templates/{role}.md for that task's role
  • At every wave transition: Read wave-template.md for the pre/during/post checklist
  • For claude -p flag details or error classification: headless-runner.md

Do NOT load prompt templates in interactive mode — interactive agents invoke /quality-commit and /tdd directly.

Scripts

bash scripts/setup-session-dir.sh
node scripts/check-file-overlap.js "apps/api/src/a.ts,apps/api/src/b.ts" "apps/api/src/b.ts,apps/web/src/c.ts"

Failure escalation (headless)

  1. Retry with context (up to 2): Append error output, re-spawn same model
  2. Model escalation (after 2 fails): haiku→sonnet, sonnet→opus. Budget ×1.5
  3. User intervention: Print full failure history. Offer: Skip / Manual fix / Abort

Progressive stall escalation (interactive)

Timer Action
60s Ping: "Status check — what are you working on?"
120s Warning: "No response in 2min. Will reassign in 60s."
180s Reassign: spawn replacement with task context

Integration map

File Load when
agent-roles.md Assigning roles to tasks (Step 2)
prompt-templates/{role}.md Building headless agent prompts
wave-template.md Running wave transition gate
headless-runner.md Debugging claude -p flags or output format
execution-steps.md Full step-by-step execution reference (3H/3I)

Arguments

$ARGUMENTS accepts: Phase ID, plan file path, or inline task list.

Key flags: --headless, --interactive, --dry-run, --wave N, --max-agents N, --budget-per-task N, --timeout-multiplier N, --no-qa, --verbose

Examples

/orchestrate A                          # Phase A, interactive
/orchestrate A --headless               # Phase A, headless
/orchestrate A --headless --dry-run     # Preview prompts without spawning
/orchestrate A --wave 2                 # Resume from wave 2
/orchestrate docs/plans/custom.md       # Custom plan file
/orchestrate "add auth; write tests"    # Inline task list

Source: SKILL.md on GitHub

1 alert5mo5 checks · Risk SAFE
  • Gen Agent Trust Hub6mo

    The skill orchestrates parallel AI agent teams to execute development plans. It manages tasks, roles, and quality gates using both interactive and headless modes. While its operations are consistent with its purpose, it possesses a surface for indirect prompt injection via the implementation plans it ingests.

  • Socket6mo

    No alerts

  • Snyk6mo

    Risk: LOW · No issues

  • Runlayer6mo

    7/13 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 9d099e9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Steadyupdated 4 months ago

README badge

README badge for acedergren/agentic-tools/orchestrate