Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

agent-eval · colbymchenry — Claude Code skill: what it does, how to install

Compares agent behavior with and without CodeGraph on a real repository. Use it to audit retrieval quality and test a local or published CodeGraph version.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add colbymchenry/codegraph --skill agent-eval -a claude-code
Open on GitHub

What agent-eval does

This skill runs a CodeGraph retrieval audit against a selected real-world repository. It compares two agent setups: one using CodeGraph and one using plain grep and file reads. Before the run, you choose a local or published CodeGraph version, a language, a repository, and the harness mode.

The audit is driven by scripts/agent-eval/audit.sh. You can run it headlessly, through the real Claude TUI in tmux, or in both modes. Reports include tool calls, file reads, CodeGraph calls, duration, and total cost; interactive runs also use session logs. Check the contamination row first: if CLI calls returned output, that arm reached CodeGraph through Bash and its figures are void.

You need tmux 3+, a logged-in claude CLI, node, and git on macOS or Linux. Run it from the CodeGraph repository root. Each audit rebuilds the index and temporarily changes the global codegraph install. Corpus repositories are cloned to /tmp/codegraph-corpus.

What it helps with

  • compare retrieval with CodeGraph against plain grep and reads
  • test a local or published CodeGraph version
  • measure the agent’s tool calls and file reads
  • detect Bash contamination in benchmark results
  • compare cost and answer correctness across both arms

Example prompts for the agent

  • Run `/agent-eval` to audit CodeGraph on a repository for the selected language.
  • Test the local CodeGraph build and compare it with plain `grep` and file reads.
  • Run the audit in `headless` mode and report cost, tool calls, and correctness for both arms.

How to install agent-eval

1Skills CLI (Vercel)

npx skills add colbymchenry/codegraph --skill agent-eval -a claude-code

2Manually: put the files in place

~/.claude/skills/agent-eval/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/agent-eval/

From the same set2

The whole set →

Other versions of agent-eval

Similar

core-web-vitals web-quality-skills A skill that measures first, then fixes LCP, INP and CLS. Handy when a page loads slowly or the layout jumps around. Claude Code CX Codex Cursor +1 31,900installs react vercel-labs This skill turns json-render JSON specs into React component trees. Use it when building JSON-driven UIs or defining a component catalog for generated specs. Claude Code CX Codex Cursor +1 16,300installs unslop cursor This skill removes common AI writing patterns, filler, and vague phrasing while keeping the meaning and intended tone. Use it when polishing text. Claude Code CX Codex Cursor +1 27,700installs knowledge-synthesis official anthropics Merges search results across chats, emails, and documents into deduplicated answers with source attribution. Flags conflicting facts and scores source reliability. Claude Code CX Codex Cursor +1 6,400installs yeet official openai Walks a change from git add to a draft pull request using gh. Runs only when you ask for it explicitly. Claude Code CX Codex Cursor +1 3,400installs chakra-ui-builder chakra-ui Build responsive, accessible interfaces with Chakra UI v3, add the library to a project, and shape its theme. Useful for components, pages, and layouts. Claude Code CX Codex Cursor +1 3,500installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. Claude Code 711,230installs

Questions about agent-eval

How do I install agent-eval in Claude Code?

Run npx skills add colbymchenry/codegraph --skill agent-eval -a claude-code, then run npx skills add colbymchenry/codegraph --skill agent-eval -a claude-code again. The skill file is at ~/.claude/skills/agent-eval/SKILL.md.

What does agent-eval do?

It runs a comparative CodeGraph audit on a real repository. The skill measures agent behavior with and without CodeGraph, including tool use, file reads, cost, and answer correctness.

What does agent-eval require?

It requires tmux 3+, a logged-in claude CLI, node, and git on macOS or Linux. Run the audit from the CodeGraph repository root.

Source text

SKILL.md · MIT
---
name: agent-eval
description: Benchmark CodeGraph retrieval quality on a real codebase by comparing agent behavior with vs without CodeGraph. Use when the user runs /agent-eval or asks to test, benchmark, audit, or validate a codegraph version (the local dev build or a published npm version) against a language's repo.
---

# CodeGraph Quality Audit

Measures how much CodeGraph helps an agent versus plain grep/read, for a chosen
codegraph version on a chosen real-world repo. Drives the harness in
`scripts/agent-eval/`.

## Prerequisites
- `tmux` 3+, a logged-in `claude` CLI, `node`, `git` (macOS/Linux).
- Run from the codegraph repo root.

## Workflow

Copy this checklist:
```
- [ ] 1. Pick version (local or npm)
- [ ] 2. Pick language
- [ ] 3. Pick repo by size
- [ ] 4. Pick harness (headless / tmux / both)
- [ ] 5. Run audit.sh in the background
- [ ] 6. Report results
```

**Step 1 — version.** Ask with `AskUserQuestion`: which codegraph version to test.
Offer "Local dev build" and "Latest published"; the free-text "Other" lets the
user type a specific version (e.g. `0.7.10`). Map the answer to a VERSION token:
- "Local dev build" → `local`
- "Latest published" → `latest`
- a typed version → that string (e.g. `0.7.10`)

**Step 2 — language.** Read `.claude/skills/agent-eval/corpus.json`. Ask with
`AskUserQuestion` which language to test, listing the languages that have entries.

**Step 3 — repo.** From the chosen language's entries, ask which repo. Label each
option with its size and file count, e.g. `excalidraw — Medium (~600 files)`.
Each entry carries the `repo` URL and a representative `question`.

**Step 4 — harness.** Ask with `AskUserQuestion` which harness to run, and map
the answer to a MODE token:
- "Headless" → `headless` — `claude -p` with stream-json: exact tokens/cost and a
  clean tool sequence (2 runs, fast, no TTY).
- "Interactive (tmux)" → `tmux` — drives the real Claude TUI in tmux: faithful
  Explore-subagent behavior, metrics from session logs (2 runs, slower).
- "Both" → `all` — headless + interactive (4 runs).

**Step 5 — run.** Launch in the background (sets the version, clones if missing,
wipes + re-indexes, runs the chosen arms — several minutes):
```bash
scripts/agent-eval/audit.sh <VERSION> <repo-name> <repo-url> "<question>" <MODE>
```

**Step 6 — report.** When the job finishes, read the log and report per arm:
- Headless (`parse-run.mjs`): total tool calls, file `Read`s, Grep/Bash,
  codegraph-tool calls, duration, **total cost**.
- Interactive (`parse-session.mjs`): the `VERDICT: codegraph_explore used Nx |
  Read N | Grep/Bash N` and `TOKENS:` lines.
- Both paths also print the three feedback metrics — residual context occupancy,
  explore sufficiency, allocation efficiency — and a headless A/B ends with a
  side-by-side `ARM COMPARISON` table. Report that table, and check its
  contamination row first: `CLI calls that RETURNED output` > 0 means the arm
  reached codegraph through Bash and its numbers are void. How to read the rest:
  `docs/benchmarks/agent-eval-feedback-metrics.md`.

Lead with cost + tool/Read counts — they are the reliable signals; raw token
in/out are confounded by subagent delegation and prompt caching. State whether
codegraph reduced effort and whether both arms reached a correct answer.

## Notes
- The index is rebuilt every run (`audit.sh` wipes `.codegraph`) — different
  versions extract differently, so an index must be served by the same binary
  that built it.
- `audit.sh` temporarily mutates the global `codegraph` install for the test,
  then restores your dev link via `local-install.sh`.
- Corpus repos are cloned to `/tmp/codegraph-corpus` (reused if already present).
- Add or edit repos in `corpus.json` (fields: `name`, `repo`, `size`, `files`,
  `question`).

© colbymchenry · MIT · colbymchenry/codegraph

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor