Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
eugot avatar

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 eval

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
Last updatedJuly 2, 2026
Repositoryeugot/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

SKILL.mdMarkdownGitHub ↗

/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 --check

The --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 trajectories

Each 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.json is 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

ModeEffect
--check (default)Structural + threshold validation; no model calls
--reportEmit 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 gate verify-pr.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.