
Eval
- 1 installs
- Updated July 2, 2026
- eugot/nullclaw
Runs structural eval checks and threshold policy over an eval tree, validating fixture layout, threshold schema, and trajectory JSONL via scripts/eval.ts.
About
Orchestrates scripts/eval.ts to validate a structured eval tree under tests/evals against per-domain thresholds, running structural checks without calling a judge model. A developer uses it to check fixture compliance and validate trajectories.
- --check runs fixture layout, threshold-schema, and JSONL structural checks
- thresholds.json is the single source of truth for per-domain pass/fail ratios
Eval by the numbers
- 1 all-time installs (skills.sh)
- Ranked #1,750 of 2,153 Testing & QA skills by installs in the Skillselion catalog
- Data as of Jul 8, 2026 (Skillselion catalog sync)
npx skills add https://github.com/eugot/nullclaw --skill evalAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| Last updated | July 2, 2026 |
| Repository | eugot/nullclaw ↗ |
What it does
Runs structural eval checks and threshold policy over an eval tree, validating fixture layout, threshold schema, and trajectory JSONL via scripts/eval.ts.
Files
/eval — Eval Fixtures and Thresholds
This skill replaces the /eval command. It orchestrates scripts/eval.ts, which validates the structured eval tree under tests/evals/ against tests/evals/thresholds.json.
Default invocation
bun scripts/eval.ts --checkThe --check flag runs structural checks only: fixture layout, required files per domain, threshold-file schema, and trajectory JSONL well-formedness. It does not call any external judge model.
Eval tree layout
tests/evals/
├── thresholds.json # domain → pass/fail thresholds
├── judge-prompt.md # reserved for model-judge integration
├── domains/
│ ├── idioms/fixtures/ # Zig 0.16 idiom violations vs compliant
│ ├── allocator-discipline/fixtures/
│ ├── error-set-discipline/fixtures/
│ ├── io-injection/fixtures/ # std.Io boundary fixtures
│ ├── build-system/fixtures/ # build.zig.zon / graph fixtures
│ └── fuzz-target/fixtures/ # fuzz-target structure fixtures
└── trajectories/*.jsonl # golden prompt/build trajectoriesEach domain mirrors a quality axis enforced by the four-tier gate; evals live per-domain, not per-skill, so the nested skill layout does not force a flat eval mirror.
Threshold policy
thresholds.jsonis the single source of truth for pass/fail ratios per
domain.
- Bumping a threshold requires commit-message justification (WHY/IMPACT).
- Lowering a threshold requires a paired fixture addition proving the new
floor is not a regression window.
Modes
| Mode | Effect |
|---|---|
--check (default) | Structural + threshold validation; no model calls |
--report | Emit a JSON summary of fixture counts, domain coverage, last run |
Failure policy
- Missing domain dir, malformed threshold, or invalid JSONL trajectory →
non-zero exit.
- Model-judge integration is deferred; do not add judge-call logic here.
- Eval failures do not gate
verify-fast; they gateverify-pr.