What problem does it solve? Building an OpenAI-compatible or Anthropic-compatible gateway that works with Claude Code requires correctly handling tool schemas, streaming tool_use blocks, and tool_result messages; this Skill provides the exact wire-format rules so the gateway interoperates with Claude Code without protocol errors. ## Core Features & Use Cases - Tool Schema Handling: Parse incoming tools arrays and tool_choice from /v1/messages, preserving tool names (including MCP-style mcp__server__tool names) and tolerating extension fields like strict, defer_loading, and cache_control. - Streaming tool_use Emission: Emit Anthropic SSE events (content_block_start, input_json_delta, content_block_stop) with valid JSON fragments and stop_reason: tool_use, plus non-streaming equivalents. - tool_result Round-Trip: Accept tool_result content blocks in follow-up user messages and forward them to the upstream model, matching tool_use_id values. - Use Case: When a Claude Code client sends a Bash tool definition to your gateway, convert it for the upstream model, stream back a well-formed tool_use block, and correctly route the client's tool_result on the next turn. ## Quick Start Ask the AI to implement tool-call compatibility in the gateway's /v1/messages handler following this Skill's protocol rules.