Skip to main content
skill CX Codex

open-responses — Claude Code skill for the Open Responses spec

A skill for building and debugging Open Responses-compliant APIs: protocol, items, state machines, streaming events and the agentic loop.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add OpenRouterTeam/skills --skill open-responses -a claude-code
Open on GitHub

What open-responses does

Open Responses is an open specification for one HTTP protocol across LLM providers. This skill covers implementing, consuming and debugging an API that follows it. Requests go to POST /v1/responses with a bearer token; responses come back as JSON or as an SSE stream that ends with data: [DONE].

Three reference files carry the detail. references/protocol-and-items.md holds the HTTP protocol, item and content types, control parameters and error handling. references/state-machines-and-streaming.md has the state diagrams and the full event catalog. references/extensions.md explains custom items, custom events and vendor-prefixed schema extensions. Grep works for lookups — try function_call, tool_choice or previous_response_id.

The core protocol is stateless: multi-turn context is rebuilt through previous_response_id, and persistence is an optional provider extension. That distinction matters when you debug a server that seems to forget earlier turns. And remember this is the standard, not an SDK — whether your provider actually complies is a separate question.

What it helps with

  • check a request and response shape against the spec
  • trace the SSE event order for text or a tool call
  • thread a multi-turn conversation with previous_response_id
  • add a vendor extension without breaking the schema
  • find the right item type or parameter in the reference files

Example prompts for the agent

  • Check my POST /v1/responses handler against the Open Responses spec
  • Why does response.output_item.done arrive earlier than I expect? Walk me through the state diagram
  • Show me how to link two requests with previous_response_id

How to install open-responses

1Skills CLI (Vercel)

npx skills add OpenRouterTeam/skills --skill open-responses -a claude-code

2Manually: put the files in place

~/.claude/skills/open-responses/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/open-responses/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about open-responses

How do I install open-responses in Claude?

Run npx skills add OpenRouterTeam/skills --skill open-responses -a claude-code. The skill file lands at ~/.claude/skills/open-responses/SKILL.md.

What does the open-responses skill do?

It helps you implement, consume and debug an Open Responses-compliant API: the protocol, item types, state machines, streaming events, tools and the agentic loop.

Is this an SDK or the specification itself?

The specification. Open Responses is provider-agnostic, so any provider can implement it — compliance depends on the API you call.

Similar skills

Everything for Backend and APIs →

From the same set4

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor