mcpField
H
headless-adapters

headless-adapters

github.com/youdotcom-ossエージェントワークフロー9744 回インストール今日更新
リポジトリ

headless-adapters について

headless-adaptersは、コードを書かずにヘッドレスCLIエージェントをラップするスキルです。Claude CodeとGemini CLIの検証済みスキーマを備え、ストリーム型と反復型のセッションに対応します。

主な機能

  1. 01JSONスキーマによるCLIアダプター
  2. 02ストリーム型と反復型のセッション
  3. 03検証済みのClaude Code・Gemini CLIスキーマ
  4. 04JSONPathによる出力マッピング

活用シーン

  1. 01評価用にヘッドレスCLIエージェントをラップ
  2. 02反復型セッションでステートレスCLIを適応
  3. 03ストリーム型セッションで再開可能なCLIに接続

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/youdotcom-oss/agent-skills --skill headless-adapters

インストール後、Claude Code で/headless-adaptersを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
schema-creation-guide.md
troubleshooting-guide.md
schemas/
claude-headless.json
gemini-headless.json

詳細

ヘッドレスアダプター

目的

ヘッドレス CLI エージェント向けのスキーマ駆動型アダプターです。コードは不要です。CLI とのやり取り方法を記述した JSON スキーマを定義するだけです。

ユースケースツール
ヘッドレス CLI エージェントをラップするheadless コマンド
新しいスキーマを作成するスキーマ作成ガイド

クイックスタート

  1. schemas/ にスキーマがあるか確認します
  2. アダプターを実行します:
    ANTHROPIC_API_KEY=... bunx @plaited/agent-eval-harness headless --schema .claude/skills/headless-adapters/schemas/claude-headless.json
    

CLI コマンド

headless

あらゆるヘッドレス CLI エージェントに対応する、スキーマ駆動型アダプターです。

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

オプション:

フラグ説明必須
-s, --schemaアダプタースキーマ(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"
  }
}

セッションモード:

モード説明使用する場面
streamプロセスを起動したままにし、stdin 経由で複数ターンに対応しますCLI がセッションの再開に対応している場合
iterativeターンごとに新しいプロセスを起動し、履歴を蓄積しますCLI がステートレスな場合

事前構築済みスキーマ

テスト済みのスキーマは schemas/ にあります:

スキーマエージェントモード認証環境変数状態
claude-headless.jsonClaude CodestreamANTHROPIC_API_KEYテスト済み
gemini-headless.jsonGemini CLIiterativeGEMINI_API_KEYテスト済み

使用方法:

# 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

スキーマの作成

  1. CLI の --help を確認して、プロンプト、出力、自動承認のフラグを特定します
  2. CLI の JSON 出力例を取得します
  3. JSONPath パターンを出力イベントに対応付けます
  4. 既存のテンプレートを基にスキーマファイルを作成します
  5. headless コマンドでテストします

全手順については、スキーマ作成ガイドを参照してください。

トラブルシューティング

よくある問題
問題考えられる原因解決策
ツール呼び出しが取得されないJSONPath で配列を反復処理していない[*] ワイルドカード構文を使用します — ガイドを参照
「unexpected argument」エラーStdin モードの設定が誤っているstdin: true を使用します — ガイドを参照
401 認証エラーAPI キーが正しく設定されていない正しい API キーの環境変数を設定します(「事前構築済みスキーマ」表を参照)
プロンプトでタイムアウトするJSONPath が一致していないCLI の出力をそのまま取得し、パスを確認します — ガイドを参照
応答が空になるコンテンツの抽出に失敗している抽出パスを確認します — ガイドを参照

トラブルシューティングの完全なドキュメント: トラブルシューティングガイド

外部リソース

関連項目

コメント