# Skill-Uplift Eval Report > Fill this in with the ACTUAL numbers from `run_skill_eval.py`. The template is > written so an honest result is the easy result. Do not delete the caveats. ## Setup - Answerer model: `` - Grader model (blind, different vendor): `` - Skill generator: the shipped `skill_builder.build_skill_md` - Cases: N = `` (held-out tasks, each a DISTINCT problem in the same class as its source session; leaked skills excluded: ``) - Raw generations saved: `skill_eval_runs/` (anyone can re-score) ## Grader calibration (run BEFORE trusting the uplift) - Agreement with human labels: `` - If agreement is low, the uplift number is unreliable; say so explicitly. ## Result | condition | mean score | |---|---:| | no skill (baseline) | `` | | with skill | `` | | **uplift** | **``** | - Win / tie / loss across cases: `` / `` / `` - Per-case deltas: `` ## Honest reading (write the true one) Pick the sentence that matches the data; do not overstate: - Positive & consistent: "The generated skill produced measurable uplift (+``) on held-out tasks in the same class, winning ``/``." - Small/mixed: "The skill produced small, inconsistent uplift (+``); it helped on `` cases and was neutral/negative on the rest." - Near-zero: "On this set, the skill did not produce measurable uplift over the frontier baseline. The baseline was already strong (``), leaving little headroom; a harder task set would test this better." ## Caveats (keep all that apply) - Small N; indicative, not a benchmark (same posture as the 25-transcript groundedness eval). - Single grader model; blinding reduces but does not remove grader bias, hence the calibration check above. - Uplift depends on task difficulty: where the baseline already scores ~1.0 there is no room to show uplift. Baseline headroom is reported so this is visible. - Skills that leaked the task answer were excluded (``), not silently scored.