arbiter

Verified·Scanned 2/17/2026

Push decisions to Arbiter Zebu for async human review. Use when you need human input on plans, architectural choices, or approval before proceeding.

from clawhub.ai·vf4e46b5·27.8 KB·0 installs
Scanned from 0.1.0 at f4e46b5 · Transparency log ↗
$ vett add clawhub.ai/5hanth/arbiter

Arbiter Skill

Agent-side CLI for pushing decisions to Arbiter Zebu. Works with Clawdbot/OpenClaw agents or standalone.

Install

Via ClawHub (for Clawdbot/OpenClaw):

clawhub install arbiter

Via npm/bun (standalone CLI):

bun add -g arbiter-skill

Prerequisites

  • Arbiter Zebu bot running (bunx arbiter-zebu)
  • ~/.arbiter/queue/ directory (created automatically by the bot)

CLI Commands

arbiter-push

Push a decision plan for human review:

arbiter-push '{
  "title": "API Design Decisions",
  "tag": "my-project",
  "priority": "high",
  "notify": "agent:swe1:main",
  "decisions": [
    {
      "id": "auth",
      "title": "Auth Method",
      "context": "How to authenticate users",
      "options": [
        {"key": "jwt", "label": "JWT tokens"},
        {"key": "session", "label": "Server sessions"},
        {"key": "oauth", "label": "OAuth provider"}
      ]
    },
    {
      "id": "database",
      "title": "Database Choice",
      "context": "Primary datastore",
      "options": [
        {"key": "pg", "label": "PostgreSQL"},
        {"key": "mongo", "label": "MongoDB"}
      ]
    }
  ]
}'

Returns:

{
  "planId": "abc123",
  "file": "~/.arbiter/queue/pending/ceo-api-design-abc123.md",
  "total": 2,
  "status": "pending"
}

arbiter-status

Check plan status:

arbiter-status '{"planId": "abc123"}'
# or by tag
arbiter-status '{"tag": "my-project"}'

arbiter-get

Get answers from a completed plan:

arbiter-get '{"planId": "abc123"}'

Returns:

{
  "planId": "abc123",
  "status": "completed",
  "answers": {
    "auth": "jwt",
    "database": "pg"
  }
}

How It Works

arbiter-push writes markdown → ~/.arbiter/queue/pending/
                                      ↓
                    Arbiter Zebu bot detects new file
                                      ↓
                    Human reviews & answers in Telegram
                                      ↓
                    On completion, notification written to
                    ~/.arbiter/queue/notify/
                                      ↓
                    Agent picks up answers (heartbeat or poll)

JSON Fields

Push args

FieldRequiredDescription
titleYesPlan title
tagNoProject tag for filtering
contextNoBackground for the reviewer
priorityNolow / normal / high / urgent
notifyNoSession key to notify on completion
decisionsYesArray of decision objects

Decision object

FieldRequiredDescription
idYesUnique ID within the plan
titleYesHuman-readable title
contextNoExplanation for the reviewer
optionsYesArray of {key, label}
allowCustomNoAllow free-text answers

Usage with Clawdbot

See SKILL.md for full agent integration docs.

License

MIT