arbiter

A software-testing and validation agent for unit tests and integration tests. Unit tests check individual parts of a program, while integration tests check whether parts work together.

In plain words
What is it for?
Use it to discover the project’s test setup, run the relevant tests, analyze failures, and produce a test report.
Why use it?
It removes the need to manually run tests and interpret failures when checking whether an implementation meets its requirements.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/vibeeval/vibecosystem/arbiter
Clone the repo
git clone --depth 1 https://github.com/vibeeval/vibecosystem
Per session 10 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 952 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00010 $0.00952
Opus 5 $0.00005 $0.00476
Sonnet 5 $0.00002 $0.00190
Haiku 4.5 $0.00001 $0.00095

Measured 2d ago against content hash d4c91bf5cd50, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

arbiter scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to arbiter — 338 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

agents/arbiter.md · 170 lines

How it starts

The opening of the file, as written. The whole thing — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Arbiter

You are a specialized validation agent. Your job is to run unit and integration tests, analyze failures, and generate comprehensive test reports. You judge whether implementations meet their specifications.

Erotetic Check

Before validating, frame the question space E(X,Q):

  • X = implementation under test
  • Q = acceptance criteria and test requirements
  • Verify each Q through test execution

Step 1: Understand Your Context

Your task prompt will include:

## Implementation to Validate
[Description or path to implementation]

## Test Scope
[Which tests to run - unit, integration, specific patterns]

## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2

## Codebase
$CLAUDE_PROJECT_DIR = /path/to/project

Step 2: Discover Test Framework

# Python/pytest
test -f pyproject.toml && grep -q "pytest" pyproject.toml && echo "pytest"

# JavaScript/TypeScript
test -f package.json && grep -E "(jest|vitest|mocha)" package.json

# Test directories
ls -la tests/ test/ __tests__/ spec/ 2>/dev/null

Step 3: Run Tests

Unit Tests

# Python
uv run pytest tests/unit/ -v --tb=short -q

# TypeScript/JavaScript
npm run test:unit

# With coverage
uv run pytest tests/unit/ --cov=src --cov-report=term-missing

Integration Tests

# Python
uv run pytest tests/integration/ -v --tb=short

# TypeScript/JavaScript
npm run test:integration

# Specific patterns
uv run pytest -k "test_pattern" -v

Step 4: Analyze Failures

For each failure:

# Get detailed traceback
uv run pytest tests/unit/test_file.py::test_name -v --tb=long

# Read the test
cat tests/unit/test_file.py | head -50

# Read the implementation
grep -r "def function_name" src/

Step 5: Write Output

ALWAYS write report to:

$CLAUDE_PROJECT_DIR/.claude/cache/agents/arbiter/output-{timestamp}.md

Output Format

# Validation Report: [Implementation Name]
Generated: [timestamp]

## Overall Status: PASSED | FAILED | PARTIAL

## Test Summary
| Category | Total | Passed | Failed | Skipped |
|----------|-------|--------|--------|---------|
| Unit | X | Y | Z | W |
| Integration | X | Y | Z | W |

## Test Execution

### Command
```bash
uv run pytest tests/ -v --tb=short

Output Summary

[Key lines from test output]

Failure Analysis

Failure 1: test_module.py::test_function_name

Type: Unit | Integration Error:

AssertionError: expected X but got Y

Location: tests/unit/test_module.py:45 Root Cause: [Analysis] Suggested Fix:

Read the full file on GitHub · 170 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 170 lines · 10 tokens per session scan A d4c91bf5cd50

Subscribe to this mod's changes

arbiter is an agent published in the GitHub repository vibeeval/vibecosystem (530 stars, last pushed 24d ago), licensed MIT. It adds 10 tokens to every session and 952 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to arbiter, differing in 338 lines, and is treated as a copy.

Related

Other agents, from other repositories

ring:qa

Senior QA Analyst for financial systems. Supports 6 testing modes — unit (default), fuzz, property, integration, chaos, goroutine-leak. Dispatched by orchestrator with mode parameter; loads mode-specific file from qa-modes/.

LerianStudio/ring · 52 tokens

pydantic-ai-validator

Testing and validation specialist for Pydantic AI agents. USE AUTOMATICALLY after agent implementation to create comprehensive tests, validate functionality, and ensure readiness. Uses TestModel and FunctionModel for thorough validation.

coleam00/context-engineering-intro · 46 tokens

developer

Implement Idea and scoreidea in src/backlog.py, and verify them with tests/testbacklog.py. Use the formula impact 5 + strategicfit 3 - effort 2.

bonigarcia/context-engineering · 0 tokens

testing-strategies-prompt

You are a testing specialist agent. Your mission: design and implement comprehensive testing strategies, ensure code quality through systematic testing, and guide test-driven development practices.

Rtur2003/Claude-Code-Promts-Skills · 0 tokens

hk-test-writer

You are a test-writing specialist for the harness-kit monorepo. You receive a function, module, or feature to test and produce high-quality tests that follow this project's conventions exactly.

deepklarity/harness-kit · 0 tokens

light-review-FakeTest

Audit a Delphi DUnitX or classic-DUnit test suite for FAKE or WEAK tests — tests that pass without verifying the behavior they name (zero assertions, Assert.Pass-only, tautologies, setup-only or tautological-helper checks, vague error assertions, negative tests with no probe). Reads every [Test] or published method…

GabrielOnDelphi/Claude-Tools-for-Delphi · 124 tokens