Claw Orchestrator SKILL.md

A OpenClaw SKILL.md - Manage persistent coding sessions across Claude Code, Codex, Antigravity (agy), Cursor, and OpenCode engines. Use when orchestrating multi-engine coding agent…

Enderfga

@Enderfga

Install

$ openclaw skills install @Enderfga/claw-orchestrator--skills

Claw Orchestrator Skill

Claw Orchestrator — persistent multi-engine coding session manager for claw-style agent systems. Runs as a standalone CLI/server, with first-class OpenClaw plugin support. Wraps Claude Code, Codex, Antigravity, Cursor Agent, OpenCode, and custom CLIs into headless agentic engines with 65 tools.

Engine Quick Reference

EngineCLISession TypeBest For
claudeclaudePersistent subprocessMulti-turn, complex tasks
codexcodex execPer-message spawnOne-shot execution
agyagy -pPer-message spawnGoogle Antigravity; plain-text, auto conversation resume
cursoragent -pPer-message spawnOne-shot execution
opencodeopencode runPer-message spawnProvider-agnostic (provider/model)

Core Workflow

// 1. Start session (any engine)
session_start({ name: "myproject", cwd: "/path/to/project", engine: "claude" })
session_start({ name: "codex-task", cwd: "/path/to/project", engine: "codex" })
session_start({ name: "agy-task", cwd: "/path/to/project", engine: "agy" })
session_start({ name: "cursor-task", cwd: "/path/to/project", engine: "cursor" })
session_start({ name: "opencode-task", cwd: "/path/to/project", engine: "opencode", model: "anthropic/claude-sonnet-4" })

// 2. Send messages
session_send({ name: "myproject", message: "Fix the auth bug" })

// 3. Check status / search history
coding_session_status({ name: "myproject" })
session_grep({ name: "myproject", pattern: "error" })

// 4. Stop when done
session_stop({ name: "myproject" })

Session Options

ParameterDescription
engineclaude (default), codex, agy, cursor, opencode
modelModel name or alias (fable, opus, sonnet, haiku, gpt-5.5, agy-pro, composer-2)
permissionModeacceptEdits, auto, plan, bypassPermissions, manual, dontAsk (default = legacy alias for manual)
effortlow, medium, high, xhigh, max, auto (xhigh is Opus 4.7-only, between high and max)
maxBudgetUsdCost limit in USD
allowedToolsList of allowed tool names

CLI 2.1.111 options

ParameterDescription
bareMinimal mode — no CLAUDE.md, hooks, LSP, auto-memory. Auto-enables prompt cache optimizations (see below).
includeHookEventsStream hook lifecycle events (PreToolUse/PostToolUse).
forwardSubagentTextForward subagent text and thinking into the output stream, so sessions that fan out surface intermediate output instead of going quiet.
permissionPromptToolDelegate permission prompts to an MCP tool for non-interactive use.
excludeDynamicSystemPromptSectionsMove cwd/env/git from system prompt to user message for better prompt cache hits. Auto-enabled with bare: true.
enablePromptCaching1HEnable 1-hour prompt cache TTL (vs default 5-min). Auto-enabled with bare: true.
debug / debugFileTargeted debug output by category (e.g. "api,mcp") and optional file path.
fromPrResume a session linked to a GitHub PR number or URL.
channels / dangerouslyLoadDevelopmentChannelsMCP channel subscriptions (research preview).

CLI 2.1.121 options

ParameterDescription
forkSubagentFork subagent for non-interactive sessions (sets CLAUDE_CODE_FORK_SUBAGENT=1).
enableToolSearchEnable Vertex AI tool search (sets ENABLE_TOOL_SEARCH=1).
otelLogUserPromptsOpenTelemetry: include user prompts in logs (sets OTEL_LOG_USER_PROMPTS=1).
otelLogRawApiBodiesOpenTelemetry: include raw API bodies in logs (sets OTEL_LOG_RAW_API_BODIES=1). Debug only.

stats.pluginErrors is now populated from the system/init event when CLI plugins fail to load due to unmet dependencies.

TRACEPARENT / TRACESTATE (W3C distributed tracing) are automatically forwarded from parent process env — set them before starting the session and they propagate to the child Claude CLI.

Smart defaults: When bare: true, the plugin auto-enables --exclude-dynamic-system-prompt-sections and ENABLE_PROMPT_CACHING_1H=1 unless explicitly set to false.

Multi-Agent Council

Parallel agent collaboration with git worktree isolation and consensus voting. Agents can use different engines.

// Start a council
council_start({
  task: 'Build a REST API',
  agents: [
    { name: 'Architect', emoji: '🏗️', persona: 'System design', engine: 'claude' },
    { name: 'Engineer', emoji: '⚙️', persona: 'Implementation', engine: 'codex' },
  ],
  maxRounds: 5,
  projectDir: '/path/to/project',
});

Council lifecycle: council_start → poll council_statuscouncil_reviewcouncil_accept or council_reject.

For details: see references/council.md

Cross-Session Messaging

Sessions can communicate. Idle sessions receive immediately; busy sessions queue.

session_send_to({ from: "sender", to: "receiver", message: "Auth module needs rate limiting" })
session_send_to({ from: "monitor", to: "*", message: "Build failed!" })  // broadcast
session_inbox({ name: "receiver" })
session_deliver_inbox({ name: "receiver" })

Team Tools (All Engines)

All engines use the same virtual-team layer: cross-session inbox routing across active SessionManager sessions. (Claude Code's native experimental Agent Teams is in-process TUI only and not reachable from a subprocess wrapper.)

team_list({ name: "myproject" })
team_send({ name: "myproject", teammate: "teammate", message: "Review this" })

Ultraplan & Ultrareview

  • Ultraplan: Opus deep planning session (up to 30 min), produces detailed implementation plan
  • Ultrareview: Fleet of 5-20 bug-hunting agents reviewing in parallel (security, logic, perf, types, etc.)

Both are async — start then poll status.

Autoloop (autonomous workspace iteration)

Autoloop uses three persistent roles. You chat with the Planner to define plan.md and goal.json; after explicit approval it starts a Coder/Reviewer iteration loop. Each role may use a different engine.

autoloop_start({
  run_id: 'fix-parser',
  workspace: '/path/to/repo',
  planner_engine: 'claude',
  coder_engine: 'codex',
  reviewer_engine: 'agy',
});
autoloop_chat({ run_id: 'fix-parser', text: 'Read the repo and design a plan to fix the parser.' });
autoloop_chat({ run_id: 'fix-parser', text: 'Plan approved; start the loop.' });
autoloop_status({ run_id: 'fix-parser' });
autoloop_stop({ run_id: 'fix-parser', reason: 'done' });

Claude roles default to Planner opus and Coder/Reviewer sonnet. A non-Claude role with no model uses that engine's own default. Custom engine configs are supplied only at start (or HTTP resume), never by Planner output. The Reviewer runs in a restaged sandbox and returns advance/hold/rollback verdicts; push policy and SSE keep long runs observable.

For the full control protocol, registry/resume behavior, and ledger layout, see references/autoloop.md.

Tools Overview

CategoryTools
Session Lifecyclesession_start, session_send, session_stop, session_list, sessions_overview
Session Opscoding_session_status, session_grep, session_compact, session_update_tools, session_switch_model
Inboxsession_send_to, session_inbox, session_deliver_inbox
Teamscoding_agents_list, team_list, team_send
Codexcodex_resume, codex_review, codex_goal_*, codex_interrupt, codex_steer, codex_fork, codex_rollback, codex_models, codex_threads
Claude CLIclaude_goal_*, claude_agents_list, plugin_details
Fan-outfanout_start, fanout_status, fanout_abort
Councilcouncil_start, council_status, council_abort, council_inject, council_review, council_accept, council_reject
Ultraultraplan_start, ultraplan_status, ultrareview_start, ultrareview_status

ultracode (Claude dynamic workflows) is a session_start option, not a separate tool: set ultracode: true to have Claude orchestrate a JS workflow and fan out to subagents per task.

For full parameter reference: see references/tools.md

Authentication Prerequisites

Each engine requires its own auth before use:

  • Claude: claude /login or ANTHROPIC_API_KEY
  • Codex: codex login or OPENAI_API_KEY
  • Antigravity: run agy once and complete the Google OAuth login
  • Cursor: agent login or CURSOR_API_KEY
  • OpenCode: opencode auth login (provider-agnostic; use provider/model form for model)

Top skills in this category