eval-harness

eval-harness is a skill for Claude Code, Codex from affaan-m/ECC. It costs 37 tokens per session (1,423 once invoked), scanned A, original, MIT.

A framework for testing and measuring AI coding-agent sessions. It uses predefined pass/fail checks, regression tests, and pass@k, a measure of how often an agent succeeds within a set number of attempts.

In plain words
What is it for?
Use it to define task success criteria, run capability and regression checks, and compare agent performance across model versions.
Why use it?
It helps you check whether an agent change works as expected and detect when a prompt or model update causes failures.

Skill for Claude CodeCodex

Written for Claude Code and Codex: allowed-tools in frontmatter, but also agents/openai.yaml present. Also seen: mentions Claude Code; installed under .agents/ (shared by several agents).

Part of the ecc plugin — 78 skills, 58 commands, 70 agents, 1 MCP server shipped together

Good fit Use it to define task success criteria, run capability and regression checks, and compare agent performance across model versions.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/affaan-m/ecc/eval-harness
About the project

ECC is a toolkit that organizes and improves how coding agents work through skills, memory, security checks, research practices, and related extensions. It is for developers using agents such as Claude Code, Codex, OpenCode, and Cursor.

affaan-m/ECC · 282,704 stars · on GitHub · ecc.tools

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.

Any agent
npx skills add affaan-m/ECC --skill eval-harness
Clone the repo
git clone --depth 1 https://github.com/affaan-m/ECC

Made for: Claude Code, Codex.

Or install ecc, the plugin that ships this one along with the rest of its 78 skills, 58 commands, 70 agents, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for eval-harness

README.md
[![agentmods](https://agentmods.dev/badge/skills/affaan-m/ecc/eval-harness/github.svg)](https://agentmods.dev/skills/affaan-m/ecc/eval-harness)
Your own site
<a href="https://agentmods.dev/skills/affaan-m/ecc/eval-harness"><img src="https://agentmods.dev/badge/skills/affaan-m/ecc/eval-harness/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for eval-harness

Your own site · 80×15
<a href="https://agentmods.dev/skills/affaan-m/ecc/eval-harness"><img src="https://agentmods.dev/badge/skills/affaan-m/ecc/eval-harness.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 37 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,423 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. ✓ AI security review Fable 5.1 · 6 Sept 2026 📄 Read the review Third-party audits
  • Socket pass 13 Sept 2026
  • Snyk pass 13 Sept 2026
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.1 $0.00037 $0.01423
Opus 5.5 $0.00015 $0.00569
Sonnet 5.5 $0.00007 $0.00285
Haiku 4.5 $0.00004 $0.00142

Measured 29d ago against content hash 49a5a1097586, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

eval-harness 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 29d 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

Copies of this mod

8 near-identical copies found in the catalogue:

.agents/skills/eval-harness/SKILL.md · 237 lines

How it starts

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

Eval Harness Skill

A formal evaluation framework for Claude Code sessions, implementing eval-driven development (EDD) principles.

When to Activate

  • Setting up eval-driven development (EDD) for AI-assisted workflows
  • Defining pass/fail criteria for Claude Code task completion
  • Measuring agent reliability with pass@k metrics
  • Creating regression test suites for prompt or agent changes
  • Benchmarking agent performance across model versions

Philosophy

Eval-Driven Development treats evals as the "unit tests of AI development":

  • Define expected behavior BEFORE implementation
  • Run evals continuously during development
  • Track regressions with each change
  • Use pass@k metrics for reliability measurement

Eval Types

Capability Evals

Test if Claude can do something it couldn't before:

[CAPABILITY EVAL: feature-name]
Task: Description of what Claude should accomplish
Success Criteria:
  - [ ] Criterion 1
  - [ ] Criterion 2
  - [ ] Criterion 3
Expected Output: Description of expected result

Regression Evals

Ensure changes don't break existing functionality:

[REGRESSION EVAL: feature-name]
Baseline: SHA or checkpoint name
Tests:
  - existing-test-1: PASS/FAIL
  - existing-test-2: PASS/FAIL
  - existing-test-3: PASS/FAIL
Result: X/Y passed (previously Y/Y)

Grader Types

1. Code-Based Grader

Deterministic checks using code:

# Check if file contains expected pattern
grep -q "export function handleAuth" src/auth.ts && echo "PASS" || echo "FAIL"

# Check if tests pass
npm test -- --testPathPattern="auth" && echo "PASS" || echo "FAIL"

# Check if build succeeds
npm run build && echo "PASS" || echo "FAIL"

2. Model-Based Grader

Use Claude to evaluate open-ended outputs:

[MODEL GRADER PROMPT]
Evaluate the following code change:
1. Does it solve the stated problem?
2. Is it well-structured?
3. Are edge cases handled?
4. Is error handling appropriate?

Score: 1-5 (1=poor, 5=excellent)
Reasoning: [explanation]

Read the full file on GitHub · 237 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 29d ago Changed · +1 lines 49a5a1097586
  2. 1mo ago First seen · 236 lines · 37 tokens per session scan A 1db3ddbf6ace

Subscribe to this mod's changes

eval-harness is a skill published in the GitHub repository affaan-m/ECC (282,704 stars, last pushed 3d ago), licensed MIT. It adds 37 tokens to every session and 1,423 once invoked, about $0.0001 per session on Opus 5.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.