Important
This project is archived and no longer maintained.
It is superseded by claude-max-bridge,
which solves the same problem — driving Claude Code from another agent — in a
general way: an OpenAI-compatible endpoint over the official claude binary,
with real structured tool-calls, usable from any client rather than as an
OpenClaw skill.
The code here is left readable for reference. It receives no further changes.
A reusable OpenClaw skill for delegating action-heavy tasks to Claude Code CLI through a structured bridge.
claude-bridge gives OpenClaw a predictable handoff layer for tasks that benefit from Claude as a specialist execution worker.
It is designed for situations where an agent should offload work such as:
- code changes and refactors
- file and repository operations
- shell-oriented execution work
- Microsoft 365 and API/integration tasks
- deep code review and architecture analysis
- structured task envelope and context contract
- task-type based routing
- timeout profiles
- retry handling for degraded failures
- dead-letter logging for failed bridge runs
- concise normalized output for chat surfaces
NEEDS_OPENCLAWsignaling when external OpenClaw action is required- test coverage for prompt budgeting, retry paths, DLQ/logging, and bridge parsing behavior
claude-bridge/SKILL.mdclaude-bridge/scripts/claude-bridge.pyclaude-bridge/scripts/bridge_runtime.pyclaude-bridge/scripts/test_bridge_runtime.pyclaude-bridge/scripts/test_claude_bridge.py
Use this skill when a local or coordinating agent should keep orchestration local but push specialist execution to Claude Code.
Typical examples:
- "Implement this refactor and verify it"
- "Review this module deeply and suggest exact fixes"
- "Run this M365 workflow and summarize the result"
- "Handle this integration task and return concise output"
python3 claude-bridge/scripts/test_bridge_runtime.py
python3 claude-bridge/scripts/test_claude_bridge.py
python3 claude-bridge/scripts/claude-bridge.py --json --task-type general --timeout-profile quick "Say hello in one short sentence"This repo is intentionally generic and sanitized for public publication. Do not add personal data, credentials, tenant-specific values, or cached tokens.