본문으로 건너뛰기
cccskills
무료GitHub에 공개

ls-arbiter-human-review

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구PostgreSQLMongoDB

실행 점수 미검증

설치 방법 보기

포함된 파일(5)

  • SKILL.md6.1 KB
  • references/overview.md2.9 KB
  • scripts/arbiter_cli.py20.6 KB
  • scripts/test_arbiter_cli.py7.0 KB
  • templates/decision.md2.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Arbiter Skill

Use this skill when work is blocked on a human decision: plan review, architecture tradeoffs, release approvals, or a batch of related choices that should be answered asynchronously.

Do not use it for simple questions you can answer from the repository, urgent real-time decisions, or approvals that require direct user confirmation in the current chat.

Active Contract

This skill ships a Python queue helper:

python3 scripts/arbiter_cli.py push '<plan-json>'
python3 scripts/arbiter_cli.py status <plan-id>
python3 scripts/arbiter_cli.py get <plan-id>
python3 scripts/arbiter_cli.py await <plan-id> --timeout 3600

The helper writes and reads markdown plans in ~/.arbiter/queue/:

DirectoryPurpose
pending/Plans waiting for review
completed/Plans marked complete with answers
notify/Optional notification files for agent heartbeat checks

The helper does not run the Arbiter Zebu bot, contact Telegram, or replace the reviewer. It only manages the filesystem queue contract that Arbiter Zebu consumes.

Prerequisites

  1. Install framework Python dependencies:
uv sync --locked --no-dev
  1. Ensure an Arbiter Zebu bot or compatible reviewer watches ~/.arbiter/queue/.
  2. Keep ~/.arbiter/queue/pending, completed, and notify readable by the agent process.

If you intentionally installed the upstream Arbiter CLI, you may use it directly, but this skill documents and tests the bundled Python helper as the local supported surface.

Push A Plan

Create one JSON object with a title and a non-empty decisions array:

python3 scripts/arbiter_cli.py push '{
  "title": "API Design Decisions",
  "tag": "nft-marketplace",
  "context": "Implementation is blocked until these choices are made.",
  "priority": "normal",
  "notify": "agent:swe2:main",
  "decisions": [
    {
      "id": "auth-strategy",
      "title": "Auth Strategy",
      "context": "How should admin users authenticate?",
      "options": [
        {"key": "jwt", "label": "JWT tokens", "note": "Stateless"},
        {"key": "session", "label": "Server sessions", "note": "Central revocation"}
      ],
      "default": "session"
    },
    {
      "id": "database",
      "title": "Primary Datastore",
      "options": [
        {"key": "postgresql", "label": "PostgreSQL"},
        {"key": "mongodb", "label": "MongoDB"}
      ],
      "allowCustom": true
    }
  ]
}'

Successful output:

{
  "planId": "abc123",
  "file": "/home/user/.arbiter/queue/pending/agent-nft-marketplace-abc123.md",
  "total": 2,
  "status": "pending"
}

JSON Fields

FieldRequiredDescription
titleYesPlan title
decisionsYesNon-empty list of decision objects
tagNoProject or topic filter; defaults to general
contextNoBackground for the reviewer
priorityNolow, normal, high, or urgent; defaults to normal
notifyNoSession key for heartbeat notification
agentNoAgent ID; defaults from ARBITER_AGENT, AGENT_ID, or USER
sessionNoSession ID; defaults from ARBITER_SESSION or AGENT_SESSION

Decision objects require id, title, and a non-empty options array. Each option requires key and label; note is optional. Set allowCustom: true if the reviewer may answer with free text. push rejects plan or decision completion fields and always writes each new decision as status: pending with null answer and answered_at values.

Check Status

Use a plan ID or the newest plan with a tag:

python3 scripts/arbiter_cli.py status abc123
python3 scripts/arbiter_cli.py status --tag nft-marketplace

Output includes status, total, answered, remaining, and per-decision answer state derived from the frontmatter decisions list. A decision is answered only when its answer is a non-empty string matching an option key, unless that decision has allowCustom: true.

Get Answers

After the reviewer records a valid answer in frontmatter for every decision:

python3 scripts/arbiter_cli.py get abc123
python3 scripts/arbiter_cli.py get --tag nft-marketplace

If any answer is missing or invalid, the command exits non-zero and reports the remaining decision count. A file location or plan-level status: completed value does not override answer validation.

Await Completion

For blocking workflows, poll until completion or timeout:

python3 scripts/arbiter_cli.py await abc123 --timeout 3600 --interval 30

Use await only when the current workflow can safely block. For routine agent loops, prefer heartbeat polling.

Heartbeat Integration

Add a heartbeat or session-resume check that:

  1. Looks for files in ~/.arbiter/queue/notify/ for the current session.
  2. Runs python3 scripts/arbiter_cli.py get <plan-id> or get --tag <tag>.
  3. Resumes blocked work when answers are complete.
  4. Archives or removes handled notification files according to the local Arbiter policy.

Troubleshooting

IssueCheck
python-frontmatter is requiredRun uv sync --locked --no-dev from the LocalSetup source checkout
Plan not visible to ArbiterConfirm the generated file is under ~/.arbiter/queue/pending/ and has YAML frontmatter
get reports pendingCheck for missing or invalid per-decision answers in frontmatter; moving the plan to completed/ does not determine completion
Tag finds the wrong planUse the explicit planId; tag lookup returns the newest matching plan

Reference

See references/overview.md for the filesystem lifecycle and generated file shape. The template in templates/decision.md mirrors the bundled CLI output.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Guide accessibility reviews for UI, documents, and workflows. Use for WCAG-oriented audits, keyboard review, semantics, contrast, and remediation planning.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

CruxExperts/LocalSetup62026년 10월 22일 업데이트

Use when choosing a LocalSetup Agent-* lane for exploration, research, bounded implementation, or review. Consult the static capability matrix; do not probe account or network availability.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

CruxExperts/LocalSetup62026년 10월 22일 업데이트

Guide agent email inbox workflows with prompt-injection defenses. Use for inbound email processing, webhooks, routing, and safety review.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

CruxExperts/LocalSetup62026년 10월 22일 업데이트

Navigate and understand codebases using agentlens hierarchical documentation. Use when exploring new projects, finding modules, locating symbols in large files, finding TODOs/warnings, or understanding code structure.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

CruxExperts/LocalSetup62026년 10월 22일 업데이트

Use for Agent Q signed encrypted file-drop or mail ship and ingest, private registry v2 setup, queue status, and transport maintenance.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

CruxExperts/LocalSetup62026년 10월 22일 업데이트

Inventory wrapper for the alirezarezvani Claude skills bundle. Use when triaging its broad skill catalog and large script surface before any targeted import.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

CruxExperts/LocalSetup62026년 10월 22일 업데이트

CruxExperts의 스킬 모두 보기

이 스킬의 문제 신고