AgentSkillsCN

headless-adapters

探索、创建并验证用于代理集成的无头适配器。内置脚手架工具与基于 Schema 的合规性测试功能。

SKILL.md
--- frontmatter
name: headless-adapters
description: Discover, create, and validate headless adapters for agent integration. Includes scaffolding tools and schema-driven compliance testing.
compatibility: Bun >= 1.2.9

Headless Adapters

Purpose

Schema-driven adapter for headless CLI agents. No code required - just define a JSON schema describing how to interact with the CLI.

Use CaseTool
Wrap headless CLI agentheadless command
Create new schemasSchema Creation Guide

Quick Start

  1. Check if a schema exists in schemas/
  2. Run the adapter:
    bash
    ANTHROPIC_API_KEY=... bunx @plaited/agent-eval-harness headless --schema .claude/skills/headless-adapters/schemas/claude-headless.json
    

CLI Commands

headless

Schema-driven adapter for ANY headless CLI agent.

bash
bunx @plaited/agent-eval-harness headless --schema <path>

Options:

FlagDescriptionRequired
-s, --schemaPath to adapter schema (JSON)Yes

Schema Format:

json
{
  "version": 1,
  "name": "my-agent",
  "command": ["my-agent-cli"],
  "sessionMode": "stream",
  "prompt": { "flag": "-p" },
  "output": { "flag": "--output-format", "value": "stream-json" },
  "autoApprove": ["--allow-all"],
  "outputEvents": [
    {
      "match": { "path": "$.type", "value": "message" },
      "emitAs": "message",
      "extract": { "content": "$.text" }
    }
  ],
  "result": {
    "matchPath": "$.type",
    "matchValue": "result",
    "contentPath": "$.content"
  }
}

Session Modes:

ModeDescriptionUse When
streamKeep process alive, multi-turn via stdinCLI supports session resume
iterativeNew process per turn, accumulate historyCLI is stateless

Pre-built Schemas

Tested schemas are available in schemas/:

SchemaAgentModeAuth Env VarStatus
claude-headless.jsonClaude CodestreamANTHROPIC_API_KEYTested
gemini-headless.jsonGemini CLIiterativeGEMINI_API_KEYTested

Usage:

bash
# Claude Code
ANTHROPIC_API_KEY=... bunx @plaited/agent-eval-harness headless --schema .claude/skills/headless-adapters/schemas/claude-headless.json

# Gemini CLI
GEMINI_API_KEY=... bunx @plaited/agent-eval-harness headless --schema .claude/skills/headless-adapters/schemas/gemini-headless.json

Creating a Schema

  1. Explore the CLI's --help to identify prompt, output, and auto-approve flags
  2. Capture sample JSON output from the CLI
  3. Map JSONPath patterns to output events
  4. Create schema file based on an existing template
  5. Test with headless command

See Schema Creation Guide for the complete workflow.

Troubleshooting

Common Issues

IssueLikely CauseSolution
Tool calls not capturedJSONPath not iterating arraysUse [*] wildcard syntax - see guide
"unexpected argument" errorStdin mode misconfiguredUse stdin: true - see guide
401 Authentication errorsAPI key not properly configuredSet the correct API key environment variable (see Pre-built Schemas table)
Timeout on promptJSONPath not matchingCapture raw CLI output, verify paths - see guide
Empty responsesContent extraction failingCheck extract paths - see guide

Complete troubleshooting documentation: Troubleshooting Guide

External Resources

Related