scottrbk/eval-harness/eval-interpretation

Claude Code and agent skill by scottrbk/eval-harness

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Monitor and interpret evaluation runs of the eval-harness framework. Use when asked to watch, interpret, debug or diagnose an eval run, its logs, its scores or its results.

Install

npx vskill@latest install scottrbk/eval-harness/eval-interpretation

SKILL.md

Overview

This guide covers how to monitor an eval-harness run while it is in progress, interpret the logs and results once it finishes, and diagnose the failures that can occur along the way.

Locate the run

Every run writes to its own directory: <OUTPUT_DIR>/<YYYYMMDD_HHMMSS>_<session_id>/, where OUTPUT_DIR is set by EVAL_HARNESS_OUTPUT_DIR (default output). Inside it:

  • session.log - every record from every agent thread, interleaved.
  • <agent_type>_<model>[_<effort>][_id].log - one per agent, containing only that agent's

records. Variant IDs and profile names distinguish baseline/treatment runs; characters that cannot appear in a filename (e.g. / in model names) are replaced with _.

  • results.json (or results.csv) - written when the session finishes; see the

Results File Schema for the field-by-field breakdown.

  • diagnostics/<agent>/eval-XX/run-XX/attempt-XX/ - present only for failed attempts when

EVAL_HARNESS_CAPTURE_FAILURE_DIAGNOSTICS=true; contains failure metadata and best-effort AgentShell trace/container state.

Read the logs

Log lines are formatted <timestamp> - <level> - <file:line> - <message>. The markers to look for:

  • --- capabilities phase --- / --- arrange phase --- / --- act phase --- /

--- score phase --- - phase boundaries. The capabilities phase is present only for a non-empty profile and runs before arrange.

  • [arrange] <line> (likewise [act] and [score]) - stdout/stderr streamed from inside the

container, including every print() in the eval's phase methods.

  • Run 1/3 - logged when an eval has run_count > 1; each run is a fresh container.
  • EVAL_TOTAL_TOKENS=<int> - emitted once per agent-shell call and summed into the token totals.
  • EVAL_SCORE=<float> - printed by the eval's score method; the harness takes the last

occurrence in the score phase output. If no line matches, the run silently scores 0.0.

  • phase <label> completed - the phase finished cleanly.

In the results file, an eval's score is the mean across its runs, while total_tokens and time_taken_seconds are totals across them.

Monitor a live run

tail -f the session log, or a single agent's log for less noise. A failing agent does not stop the others: it is logged as Agent <type>-<model> failed with a traceback, marked FAILED, and the session carries on. At the end, main.py prints one FAILED: ... line per failed agent and exits with code 1.

Diagnose failures

SymptomLikely causeWhere to look
RuntimeError: ... not configured or ... auth file not found, before any phase markerMissing or expired credentials for that agentAuthorisation
<phase> failed (exit <N>) followed by a --- container output --- blockThe phase script raised; the block holds the full tracebackThe traceback; for arrange, also external dependencies (repo clones, MCP servers)
<phase> timed out after <N>s (exit 124 or 137)The phase exceeded its timeout`EVAL_HARNESS_<CAPABILITY_SETUP\ARRANGE\ACT\SCORE>_TIMEOUT_SECONDS`, defaults 600/3600/3600/600
Raw AgentShell details are neededFailure diagnostics were enabledThe failed attempt's diagnostics/.../failure.json and, when present, agent-shell-trace.log
NameError or ImportError in a phase tracebackThe eval violates an authoring constraint (module-level state, imports outside the method body)Constraints in the eval creation skill
TypeError: <Class> must be a class implementing arrange/act/scoreThe eval class does not satisfy the EvaluationFile protocolSame constraints section
Score is 0.0 with no errorThe score method never printed EVAL_SCORE= (or the agent genuinely scored zero)The [score] output for that run
Malformed score lineEVAL_SCORE= was printed with a non-float valueThe eval's score method
total_tokens is 0 but the agent clearly did workStale docker image (agent-shell version mismatch)Rebuild the images - see the commands in AGENTS.md
ValueError: I/O operation on closed file after the end-of-run summaryBenign docker-py teardown noiseIgnore it

Where the fix belongs

Classify the failure before changing anything:

  • The eval itself (authoring constraint violations, scoring bugs) - fix the eval class,

following the eval creation skill.

  • Harness configuration (timeouts, output locations) - .env / EVAL_HARNESS_ environment

variables, documented in Configuration.

  • Credentials - re-authenticate on the host per the

authorisation guide.

  • The docker image - rebuild manually after any Dockerfile or agent-shell change; there is no

auto-rebuild.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/scottrbk/eval-harness/eval-interpretation/badge)](https://verified-skill.com/skills/scottrbk/eval-harness/eval-interpretation)

Something wrong with this skill or its page? Tell us.