skills/claude-code-skill/SKILL.md
Manage persistent coding sessions across Claude Code, Codex, Gemini, and Cursor engines. Use when orchestrating multi-engine coding agents, starting/sending/stopping sessions, running multi-agent council collaborations, cross-session messaging, ultraplan deep planning, ultrareview parallel code review, or switching models/tools at runtime. Triggers on "start a session", "send to session", "run council", "ultraplan", "ultrareview", "switch model", "multi-agent", "coding session", "session inbox", "cursor agent".
npx skillsauth add enderfga/openclaw-claude-code-skill claude-code-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Persistent multi-engine coding session manager. Wraps Claude Code, Codex, Gemini, and Cursor CLIs into headless agentic engines with 27 tools.
| Engine | CLI | Session Type | Best For |
|--------|-----|-------------|----------|
| claude | claude | Persistent subprocess | Multi-turn, complex tasks |
| codex | codex exec | Per-message spawn | One-shot execution |
| gemini | gemini -p | Per-message spawn | One-shot execution |
| cursor | agent -p | Per-message spawn | One-shot execution |
// 1. Start session (any engine)
claude_session_start({ name: "myproject", cwd: "/path/to/project", engine: "claude" })
claude_session_start({ name: "codex-task", cwd: "/path/to/project", engine: "codex" })
claude_session_start({ name: "gemini-task", cwd: "/path/to/project", engine: "gemini" })
claude_session_start({ name: "cursor-task", cwd: "/path/to/project", engine: "cursor" })
// 2. Send messages
claude_session_send({ name: "myproject", message: "Fix the auth bug" })
// 3. Check status / search history
claude_session_status({ name: "myproject" })
claude_session_grep({ name: "myproject", pattern: "error" })
// 4. Stop when done
claude_session_stop({ name: "myproject" })
| Parameter | Description |
|-----------|-------------|
| engine | claude (default), codex, gemini, cursor |
| model | Model name or alias (opus, sonnet, haiku, gpt-5.4, gemini-pro, composer-2) |
| permissionMode | acceptEdits, auto, plan, bypassPermissions, default |
| effort | low, medium, high, xhigh, max, auto (xhigh is Opus 4.7-only, between high and max) |
| maxBudgetUsd | Cost limit in USD |
| allowedTools | List of allowed tool names |
| Parameter | Description |
|-----------|-------------|
| bare | Minimal mode — no CLAUDE.md, hooks, LSP, auto-memory. Auto-enables prompt cache optimizations (see below). |
| includeHookEvents | Stream hook lifecycle events (PreToolUse/PostToolUse). |
| permissionPromptTool | Delegate permission prompts to an MCP tool for non-interactive use. |
| excludeDynamicSystemPromptSections | Move cwd/env/git from system prompt to user message for better prompt cache hits. Auto-enabled with bare: true. |
| enablePromptCaching1H | Enable 1-hour prompt cache TTL (vs default 5-min). Auto-enabled with bare: true. |
| debug / debugFile | Targeted debug output by category (e.g. "api,mcp") and optional file path. |
| fromPr | Resume a session linked to a GitHub PR number or URL. |
| channels / dangerouslyLoadDevelopmentChannels | MCP channel subscriptions (research preview). |
| Parameter | Description |
|-----------|-------------|
| forkSubagent | Fork subagent for non-interactive sessions (sets CLAUDE_CODE_FORK_SUBAGENT=1). |
| enableToolSearch | Enable Vertex AI tool search (sets ENABLE_TOOL_SEARCH=1). |
| otelLogUserPrompts | OpenTelemetry: include user prompts in logs (sets OTEL_LOG_USER_PROMPTS=1). |
| otelLogRawApiBodies | OpenTelemetry: 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.
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_status → council_review → council_accept or council_reject.
For details: see references/council.md
Sessions can communicate. Idle sessions receive immediately; busy sessions queue.
claude_session_send_to({ from: "sender", to: "receiver", message: "Auth module needs rate limiting" })
claude_session_send_to({ from: "monitor", to: "*", message: "Build failed!" }) // broadcast
claude_session_inbox({ name: "receiver" })
claude_session_deliver_inbox({ name: "receiver" })
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.)
claude_team_list({ name: "myproject" })
claude_team_send({ name: "myproject", teammate: "teammate", message: "Review this" })
Both are async — start then poll status.
| Category | Tools |
|----------|-------|
| Session Lifecycle | claude_session_start, claude_session_send, claude_session_stop, claude_session_list, claude_sessions_overview |
| Session Ops | claude_session_status, claude_session_grep, claude_session_compact, claude_session_update_tools, claude_session_switch_model |
| Inbox | claude_session_send_to, claude_session_inbox, claude_session_deliver_inbox |
| Teams | claude_agents_list, claude_team_list, claude_team_send |
| Council | council_start, council_status, council_abort, council_inject, council_review, council_accept, council_reject |
| Ultra | ultraplan_start, ultraplan_status, ultrareview_start, ultrareview_status |
For full parameter reference: see references/tools.md
Each engine requires its own auth before use:
claude /login or ANTHROPIC_API_KEYcodex login or OPENAI_API_KEYgemini login or GEMINI_API_KEYagent login or CURSOR_API_KEYdevelopment
Use when the user opens a Forge tab in the claw-orchestrator dashboard to start building a new ultraapp. Drives a structured Q&A interview that produces a complete AppSpec, then signals readiness to build.
tools
Manage persistent coding sessions across Claude Code, Codex, Gemini, Cursor, and OpenCode engines. Use when orchestrating multi-engine coding agents, starting/sending/stopping sessions, running multi-agent council collaborations, cross-session messaging, ultraplan deep planning, ultrareview parallel code review, autoloop autonomous workspace iteration, ultraapp building deployable web apps from a structured Q&A interview, switching models/tools at runtime, or exposing the orchestrator's 55 tools as an MCP server to Hermes Agent / Claude Desktop / Cursor / Cline / Continue / Zed / Windsurf / Goose. Triggers on "start a session", "send to session", "run council", "ultraplan", "ultrareview", "autoloop", "ultraapp", "Forge tab", "build a web app", "one-click app", "AppSpec", "autonomous iteration", "iterate until goal", "deep paper review", "auto research", "switch model", "multi-agent", "coding session", "session inbox", "cursor agent", "opencode", "mcp server", "clawo-mcp", "hermes mcp", "model context protocol".
tools
Manage persistent coding sessions across Claude Code, Codex, Gemini, and Cursor engines. Use when orchestrating multi-engine coding agents, starting/sending/stopping sessions, running multi-agent council collaborations, cross-session messaging, ultraplan deep planning, ultrareview parallel code review, or switching models/tools at runtime. Triggers on "start a session", "send to session", "run council", "ultraplan", "ultrareview", "switch model", "multi-agent", "coding session", "session inbox", "cursor agent".
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.