agentleFS
ProfSynapseProfSynapse/nexus/.claude/skills/nexus-eval-harness/SKILL.md

nexus-eval-harness

Skill158 starsChanged 10 days agoMITView on GitHub

Work on the Nexus LLM eval harness in tests/eval/ — author or fix a scenario fixture, write an eval config, change the executors, assertions or reports, or explain a run that produced nothing, everything-fails, or numbers that disagree. Use when an eval scenario is wrong, a run behaves oddly, or the harness itself needs to change. To grade a model rather than change the harness, use nexus-model-eval.

  • Reads credentials

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 5 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    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
  1. Distinctive:

    MUST NOT add one — the harness gains knobs faster than a document survives.

    line 29
  2. Distinctive:

    Before calling any scenario change done, run the checker from the repo root and fix everything it prints:

    line 38
  3. Distinctive:

    NEVER trust jest's exit code as the verdict on a run, and never report a pass rate you read from stdout.

    line 45
  4. Distinctive:

    Not a subagent prompt; nothing in this skill reads it.

    line 63
  5. Distinctive:

    When a fixture and production disagree, production wins, and that skill says what production does.

    line 74

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Nexus Eval Harness

Context: the harness under tests/eval/ drives the real production path — StreamingOrchestrator plus tool continuation — with a mock or live tool executor swapped in, and grades the tool calls a model emits. It is a fixture system, and almost every surprising result is the fixture talking, not the model. This skill owns the fixtures, the configs, the executors and the reports.

Workflow

  1. Pick the job and open its protocol. Work from the protocol; this router names procedures, it does not contain them.

    JobProtocol
    Add a scenario, or fix one that grades wronglyprotocols/add-a-scenario.md
    Write or change a config, choose targets, mode, retriesprotocols/configure-a-run.md
    A run produced nothing, all-fails, a hang, or odd numbersprotocols/debug-a-run.md
    Change the executors, assertions, loader or reportsprotocols/extend-the-harness.md
  2. Derive every list from the tree, never from this skill. It names no scenarios, no configs, no models and no env-var table on purpose, and you MUST NOT add one — the harness gains knobs faster than a document survives.

    ls tests/eval/scenarios/ tests/eval/configs/
    grep -rhoE "get(Number|List)?Env\('[A-Z_]+'\)|process\.env\.[A-Z_]+" tests/eval/ \
      | grep -oE "[A-Z][A-Z_]{3,}" | sort -u    # every knob, including the
                                                # ones ConfigLoader mediates
  3. Before calling any scenario change done, run the checker from the repo root and fix everything it prints:

    python3 .claude/skills/nexus-eval-harness/scripts/check_scenarios.py
  4. NEVER trust jest's exit code as the verdict on a run, and never report a pass rate you read from stdout. The saved reports under the configured artifacts dir are the only source of truth, and they are written even when the run times out — see references/run-behavior.md.
  5. At the end of a session that used this skill, run protocols/self-refine.md.

Map

  • protocols/ the procedures named in step 1, plus self-refine.md.
  • references/ read on demand: harness-map.md (what each file owns and how a run is assembled), scenario-contract.md (what a scenario fixture means and the traps in it), run-behavior.md (config resolution, concurrency, retries, artifacts, what the numbers count).
  • scripts/check_scenarios.py the mechanical check from step 3. Run it; do not reimplement it.
  • refinement-log.md what past sessions changed here and why.
  • agents/openai.yaml an interface manifest several nexus-* skills carry. Not a subagent prompt; nothing in this skill reads it.

Siblings — name them, do not duplicate them

  • nexus-model-eval — grading models. Which models to run, whether a slug resolves, how to read a leaderboard, and whether a failure indicts the model. That skill consumes the harness; this one changes it. If the question is "how good is model X", stop here and use it.
  • nexus-testing — the gate that keeps this suite from running (and billing) in CI, and how to watch a run in flight.
  • nexus-agents — the real getTools/useTools contract the fixtures imitate. When a fixture and production disagree, production wins, and that skill says what production does.
  • nexus-llm-adapters — provider adapters. A run that fails inside streaming for one provider only is an adapter problem, not a harness problem.
  • nexus-tool-schemas — the live tool catalog, for checking a fixture's tool slugs against the registry instead of guessing.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.