harness:certify — скилл для Claude Code: проверка стабильности оценки агента
Прогоняет оценку эволюционировавшего агента три раза и считает среднее со стандартным отклонением. Нужен, когда непонятно, держится ли результат от запуска к запуску.
npx skills add raphaelchristi/harness-evolver --skill certify -a claude-codeЧто делает harness:certify
Скилл читает .evolver.json, берёт лучший эксперимент и датасет и запускает оценку три раза на текущем коде. Работа идёт в корне проекта, а не в отдельном worktree: лучший код уже слит. Каждый прогон помечается префиксом certify-run-$i, потом read_results.py собирает три combined_scores в сводку, из которой считаются среднее и стандартное отклонение.
На выходе — отчёт с числом прогонов, средним, отклонением и диапазоном. Вердикт зависит от отклонения: ниже 0.05 — оценка надёжна, от 0.05 до 0.10 — разброс умеренный, от 0.10 и выше — балл ничего не значит, потому что LLM-судья трактует критерии по-разному от запуска к запуску.
Для работы нужен Python: скрипты лежат в .evolver/tools или $HOME/.evolver/tools, интерпретатор берётся из $HOME/.evolver/venv/bin/python, иначе python3. Пути задаются переменными EVOLVER_TOOLS и EVOLVER_PY. Если окружение не настроено, скрипты просто не найдутся.
При умеренном разбросе скилл советует добавить рубрики в примеры датасета, при высоком — ещё и прогнать /harness:evolve в режиме heavy. При стабильном балле следующий шаг — /harness:deploy.
Какие задачи решает
- убедиться, что балл агента не скачет от запуска к запуску
- посчитать среднее и стандартное отклонение по трём прогонам оценки
- понять, виноват ли LLM-судья в разбросе результатов
- решить, можно ли деплоить текущую версию агента
- собрать сводку по нескольким экспериментам оценки в одном отчёте
Примеры запросов агенту
- Проверь, стабильна ли оценка текущего агента, через /harness:certify
- Прогони сертификацию и скажи, какой вердикт — STABLE или UNSTABLE
- Средний балл прыгает между запусками, посчитай отклонение по трём прогонам
Как установить harness:certify
1Через Skills CLI (Vercel)
npx skills add raphaelchristi/harness-evolver --skill certify -a claude-code2Вручную: положить файлы
~/.claude/skills/certify/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/certify/
1Через Skills CLI (Vercel)
npx skills add raphaelchristi/harness-evolver --skill certify -a codex2Вручную: положить файлы
.agents/skills/certify/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add raphaelchristi/harness-evolver --skill certify -a cursor2Вручную: положить файлы
.cursor/skills/certify/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install raphaelchristi/harness-evolver certify2Вручную: положить файлы
.github/skills/certify/SKILL.md1Через Skills CLI (Vercel)
npx skills add raphaelchristi/harness-evolver --skill certify -a gemini-cli2Командой платформы
gemini skills install https://github.com/raphaelchristi/harness-evolver --path skills/certifyВручную: положить файлы
.devin/skills/certify/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add raphaelchristi/harness-evolver --skill certify -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о harness:certify
Как установить harness:certify в Claude Code?
Выполните npx skills add raphaelchristi/harness-evolver --skill certify -a claude-code. Скилл встанет в ~/.claude/skills/certify/SKILL.md.
Что делает harness:certify?
Трижды запускает оценку агента на текущем коде и считает среднее со стандартным отклонением. По отклонению выносит вердикт о надёжности балла.
Что нужно, чтобы скилл заработал?
Python и скрипты эволюционного пайплайна: run_eval.py и read_results.py в .evolver/tools или $HOME/.evolver/tools. Интерпретатор берётся из $HOME/.evolver/venv/bin/python, иначе используется python3.
Исходный текст
SKILL.md · MIT
---
name: harness:certify
description: "Use when the user wants to verify that the evolved agent's score is stable and reliable. Runs evaluation multiple times and reports mean ± std."
allowed-tools: [Read, Bash, Glob]
---
# /harness:certify
Verify score stability by running evaluation multiple times and reporting statistical confidence.
## Resolve Tool Path
```bash
TOOLS="${EVOLVER_TOOLS:-$([ -d ".evolver/tools" ] && echo ".evolver/tools" || echo "$HOME/.evolver/tools")}"
EVOLVER_PY="${EVOLVER_PY:-$([ -f "$HOME/.evolver/venv/bin/python" ] && echo "$HOME/.evolver/venv/bin/python" || echo "python3")}"
```
## What To Do
Read `.evolver.json` to get the best experiment and dataset.
Run evaluation 3 times on the current code (not a worktree — the best code is already merged):
```bash
for i in 1 2 3; do
$EVOLVER_PY $TOOLS/run_eval.py \
--config .evolver.json \
--worktree-path "." \
--experiment-prefix "certify-run-$i"
done
```
After all 3 runs complete, read results and compute statistics:
```bash
$EVOLVER_PY $TOOLS/read_results.py --experiments "certify-run-1-{suffix},certify-run-2-{suffix},certify-run-3-{suffix}" --config .evolver.json --format summary
```
Calculate mean and standard deviation from the 3 combined_scores.
## Report
```
CERTIFICATION REPORT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Runs: 3
Mean: {mean:.3f}
Std: {std:.3f}
Range: {min:.3f} — {max:.3f}
Verdict: {STABLE|UNSTABLE}
```
**STABLE** (std < 0.05): Score is reliable. The agent performs consistently.
**MARGINAL** (0.05 <= std < 0.10): Score varies moderately. Consider adding rubrics to reduce judge variance.
**UNSTABLE** (std >= 0.10): Score is unreliable. The LLM judge interprets criteria differently across runs. Add few-shot examples or tighter rubrics.
## After Certification
If STABLE: suggest `/harness:deploy` to finalize.
If UNSTABLE: suggest adding rubrics to dataset examples, or running `/harness:evolve` with `heavy` mode for more thorough evaluation.
© raphaelchristi · MIT · raphaelchristi/harness-evolver