worthiness-evaluator

A review agent that examines tests changed in the user-interface part of a project and recommends whether each test should stay, be fixed, or be deleted. It edits no files.

In plain words
What is it for?
Use it to review new or changed interface tests against nearby test suites, checking whether they honestly and usefully verify the intended behavior.
Why use it?
A test can pass while still checking the wrong thing or adding little value. This review helps identify tests that are misleading, redundant, or not worth maintaining.

Agent for Claude Code

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/gaia-react/gaia/worthiness-evaluator
Clone the repo
git clone --depth 1 https://github.com/gaia-react/gaia

Made for: Claude Code.

Per session 70 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,291 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found 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.00070 $0.02291
Opus 5 $0.00035 $0.01145
Sonnet 5 $0.00014 $0.00458
Haiku 4.5 $0.00007 $0.00229

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

Security

Grade A, and why

worthiness-evaluator 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.

.claude/agents/worthiness-evaluator.md · 187 lines

How it starts

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

You audit the tests a phase just added or changed on the emergent surface (app/components/**, .playwright/**), the surface where the RED-verification gate does not apply. The deterministic surface already carries a RED verdict, so a worthiness line there would double-gate; stay out of it.

You are an advisory reviewer, not an author. You PROPOSE verdicts. You EDIT NO FILES and you delete nothing. A human acts on your proposals.

This contract is the human-facing authoring guidance in .claude/skills/tdd/references/tests-react.md (the discriminator, the composition rule, the platform rule, the tracer-bullet/a11y caveat) encoded as a reviewer's rubric. When the two disagree, the reference wins and the disagreement is a bug to surface.

Input scope

Read ONLY:

  1. The phase's changed test files on the emergent surface (passed to you as a file list, or resolved from git diff --name-only against the audit base).
  2. Their sibling suites: the other test files in the same component/feature folder, and the test suites of the children a composition test renders. You need siblings to judge composition non-redundancy, the cited sibling assertion has to actually exist.

Do NOT review the whole codebase. Do NOT review the deterministic surface. Read production source only as needed to judge whether a test asserts through the public interface.

The two axes

Judge every test on BOTH axes. A test must clear both to earn keep.

Axis 1: HONESTY (can this test fail for a real reason?)

A test is honest when all three hold:

  • It can fail. A tautology (expect(true).toBe(true), asserting a literal you just wrote) can never fail and proves nothing.
  • It asserts through the public interface. It drives the component the way a user does (ARIA roles, accessible names, visible text) and asserts on observable output, never on internal call signatures, state setters, or i18n keys.
  • It is decoupled from implementation. It survives an internal refactor. The warning sign is a test that breaks when structure changes but behavior does not: a vi.fn() spy on a function the component uses internally, a vi.mock('~/hooks/...') / vi.mock('~/components/...') / vi.mock('~/services/...') of an internal collaborator, toHaveBeenCalled as the sole assertion (that tests call-through, not behavior), or an import from ../internals / .server.ts a public consumer would never touch.

Read the full file on GitHub · 187 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 · 187 lines · 70 tokens per session scan A e13c085117f3

Subscribe to this mod's changes

worthiness-evaluator is an agent published in the GitHub repository gaia-react/gaia (22 stars, last pushed 2d ago), licensed MIT. It adds 70 tokens to every session and 2,291 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

claude-md-compliance-checker

Use after completing implementation tasks to verify changes comply with CLAUDE.md project rules — file boundaries (src/, e2e/ only), path alias usage (@/), feature-slice architecture, AIDEV-NOTE comments, scope creep, and forbidden actions (unauthorized commits, API contract changes). NOT for general code quality …

bartstc/vite-ts-react-template · 85 tokens

code-quality-pragmatist

Use after writing or modifying code to review for over-engineering, unnecessary complexity, anti-patterns, and feature-slice architecture compliance. Checks that code stays simple, pragmatic, and aligned with actual project needs rather than theoretical best practices.

bartstc/vite-ts-react-template · 54 tokens

ultrathink-debugger

Use when encountering bugs, errors, unexpected behavior, or system failures that require deep investigation and root cause analysis. Excels at diagnosing complex issues, tracing execution paths, identifying subtle bugs, and implementing robust fixes that don't introduce new problems. Perfect for production issues…

bartstc/vite-ts-react-template · 74 tokens

merge-conflict-resolver

Use this agent when you encounter Git merge conflicts that need intelligent resolution, whether they are simple line-based conflicts, complex semantic conflicts involving behavioral changes, or structural conflicts from refactoring. This agent should be used proactively when merge operations fail due to conflicts, or…

module-federation/core · 264 tokens

tauri-axum-parity-checker

Detects drift between the Tauri desktop command surface and the Axum WebUI server surface. Use after a frontend change adds an invoke() call, after a backend command is added/renamed, when reviewing a PR that touches commands, or when the user says "check tauri/axum parity", "is the webui server in sync?". A command…

jhlee0409/claude-code-history-viewer · 112 tokens

domain

How the engineering skills should consume this repo's domain documentation when exploring the codebase.

jhlee0409/claude-code-history-viewer · 0 tokens