acp-router

Routes coding-agent requests to ACP runtime sessions or direct acpx CLI sessions.

Updated Jun 19, 2026
One-click install
npx skills add https://github.com/AmirulAndalib/Vilvona-AI --skill acp-router-amirulandalib
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: acp-router
Source: https://github.com/AmirulAndalib/Vilvona-AI/tree/main/extensions/acpx/skills/acp-router
Command: npx skills add https://github.com/AmirulAndalib/Vilvona-AI --skill acp-router-amirulandalib

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires acpx.

What problem does it solve? When you ask an assistant to run work in an external coding harness like Claude Code, Cursor, Copilot, Gemini CLI, or Codex, it is easy to pick the wrong execution path (subagent runtimes, PTY scraping, or manual slash commands). This Skill standardizes that routing so harness requests reliably go through ACP-aware sessions with correct agent IDs, thread handling, and recovery. ## Core Features & Use Cases - Intent-based routing: Detects requests for Claude Code, Cursor, Copilot, OpenCode, Gemini, Qwen, Kiro, Kimi, iFlow, Droid, Kilocode, OpenClaw, and Codex, then maps them to the correct ACP agentId. - Two execution paths: Uses the OpenClaw ACP runtime via sessions_spawn by default, or a direct acpx CLI telephone-game flow when the runtime is unavailable or explicitly requested. - Self-repair and recovery: Automatically reinstalls the pinned plugin-local acpx binary, restarts the gateway, and retries failed ACP thread spawns before offering fallbacks. - Use Case: A user says "spawn a Codex ACP session in a thread and tell it to say hi" — the Skill reads its routing rules, calls sessions_spawn with runtime acp, agentId codex, and thread mode, then relays the harness response back. ## Quick Start Ask the assistant to run a task in your preferred coding harness, for example: "Run this refactor in Claude Code in a thread and report back what it changed."

Frequently Asked Questions about acp-router

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a task in Claude Code or Cursor from my assistant?

State the harness name and task in plain language, such as "run this in Claude Code". The router maps the harness to an ACP agentId and spawns an ACP runtime session with sessions_spawn, or drives it directly through the acpx CLI when needed.

What is the difference between the ACP runtime path and the direct acpx path?

The ACP runtime path uses sessions_spawn with runtime acp and thread mode for managed sessions. The direct acpx path calls the acpx CLI through exec to relay prompts to the harness, used when the runtime is unavailable or the user explicitly requests direct driving.

Which coding agents does ACP routing support?

Supported harnesses include Claude Code, Codex, Copilot, Cursor, Factory Droid, Gemini CLI, iFlow, Kilocode, Kimi, Kiro, OpenClaw, OpenCode, and Qwen. Each maps to a built-in acpx agent alias with a default adapter command.

Does Codex use ACP by default?

No. Plain Codex chat binding uses the native Codex app-server plugin with commands like /codex bind and /codex threads. ACP is used for Codex only when explicitly requested or when spawning background sessions through sessions_spawn.

What happens when the ACP backend or acpx command is not found?

The router installs the pinned plugin-local acpx binary in the ACPX plugin package, verifies its version, restarts the gateway, and retries the spawn once. Only after repair fails does it report the error and offer fallback options.

When should I not use ACP routing for harness control?

Avoid subagent runtimes and PTY scraping of supported harness CLIs when acpx is available. Also do not use message thread-create for ACP harness threads; sessions_spawn is the only supported thread-creation path.