← ClaudeAtlas

eval-runlisted

Run the offline LLM eval harness and gate on regression. Detects the project's own eval framework (promptfoo / OpenAI-evals / deepeval / ragas / LangSmith / a custom pytest harness), loads the versioned dataset, runs each case through the CURRENT prompt+model+retrieval, scores with the configured scorers (assertion + LLM-as-judge), diffs against the stored baseline, and FAILS below threshold. Emits a per-metric table + the regressed cases with their cited case-id + score. The measurement half of every prompt/model/retrieval change — dispatched by @ai-feature-reviewer and /add-ai-feature's Evaluate phase.
adnanmokhtar/refract · ★ 1 · AI & Automation · score 80
Install: claude install-skill adnanmokhtar/refract
# Skill: eval-run ## Premise An LLM call is non-deterministic; "it worked when I tried it" is one uncontrolled sample, not a pass. This skill turns a prompt/model/retrieval change into a **measurement**: it runs the versioned eval set through the *current* code and reports the score against a baseline. **Every finding cites the eval case + its score.** A regression claim is `<case-id>` (or `<dataset:row>`) + `<metric> = <score>` + `<baseline score>` + the threshold it crossed. A green "the harness ran" without the per-case scores is not a pass — it is an unread result. A PASS verdict below the baseline is forbidden (see Halt conditions). This is the runner half of the eval loop; the *design* of the dataset + scorers lives in `ai/patterns/evals.md`. ## Adapt to the codebase Detect the project's eval framework and **mirror it** — run the harness the project already has, never impose a second one. Adapt the commands below to the detected tool: | Framework | Detect (grep / files) | Run | Dataset shape | |---|---|---|---| | **promptfoo** | `promptfooconfig.yaml`, `rg promptfoo` | `npx promptfoo eval -c promptfooconfig.yaml --no-cache` | `tests:` YAML with `vars` + `assert` | | **deepeval** | `rg deepeval`, `pip show deepeval` | `deepeval test run tests/` | `LLMTestCase` + `metrics=[...]` in pytest | | **ragas** (RAG) | `rg ragas` | `pytest tests/eval_ragas.py` | HF dataset: `question, contexts, answer, ground_truth` | | **OpenAI evals** | `evals/`, `rg openai.*evals` | `oaie