eklavya / eval
CLAUDE.md29 starsChanged 22 days agoMITView on GitHub
Harnesses here call the model, often hundreds of times, on the maintainer's own subscription. Read README.md before adding or running one. - Track tokens in every eval, always. Count tokens as well as calls: each claude -p call carries ~34k tokens of Claude Code context, so call counts understate the cost several times over. Run single-shot calls with --output-format json and pass stdout through usage.unwrap() from usage.mjs (GEPA's Python runner does this in Budget.add_usage); read session logs with usage.fromStream(). A…
In this repository21 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- cli/CLAUDE.mdCLAUDE.md
- hooks/CLAUDE.mdCLAUDE.md
- mcp/CLAUDE.mdCLAUDE.md
- skills/CLAUDE.mdCLAUDE.md
- web/CLAUDE.mdCLAUDE.md
- eklavya-dashboardSkill
- eklavya-designSkill
- verify-docsSkill
- gateSkill
- learnSkill
- levelSkill
- memorySkill
- modeSkill
- packSkill
- progressSkill
- quizSkill
- setupSkill
- skipSkill
- toolpruneSkill
- tutorSkill
The file
We split this CLAUDE.md into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 23
Use the real planner and shipped prompts rather than restating them, and report unfavourable results too.
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Working on eval/
Harnesses here call the model, often hundreds of times, on the maintainer's own
subscription. Read README.md before adding or running one.
- Track tokens in every eval, always. Count tokens as well as calls: each
claude -pcall carries ~34k tokens of Claude Code context, so call counts understate the cost several times over. Run single-shot calls with--output-format jsonand pass stdout throughusage.unwrap()fromusage.mjs(GEPA's Python runner does this inBudget.add_usage); read session logs withusage.fromStream(). A new harness that callsclaudewithout recording usage is incomplete. - Publish the numbers. A dated result file states input tokens (and how many were cached), output tokens and list-price cost, or says explicitly that they were not recorded.
- Make long runs watchable. A run over ~20 calls writes a progress file that
dashboard.mjsreads (seeBudget.trackingepa/pilot.py). - Everything is manual. Nothing here runs in CI or from a hook. Say how many
calls and tokens a run costs near its command, and give it a hard cap
(
--limit,--max-model-calls) so a first run is small. - Results under
eval/results/are historical evidence: correct them with a dated note, do not rewrite them. - Use the real planner and shipped prompts rather than restating them, and report unfavourable results too.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

