harness:deploy — скилл для Claude Code: публикация изменений
Скилл завершает эволюцию агента: показывает результаты, предлагает проверить diff, удалить временные файлы или отправить тег в Git.
npx skills add raphaelchristi/harness-evolver --skill deploy -a claude-codeЧто делает harness:deploy
После оптимизации скилл читает .evolver.json, показывает базовую и лучшую оценки, число итераций и лучший эксперимент. Затем выводит изменения Git с момента начала эволюции и спрашивает, что делать дальше.
Можно просмотреть diff, удалить временные файлы или создать тег с оценкой и отправить его вместе с main в origin. Ещё один вариант — перенести найденные выводы в CLAUDE.md: сначала скилл запускает promote_learnings.py в режиме --dry-run, а применяет изменения только после одобрения. Отправка тега затрагивает удалённый репозиторий, поэтому перед выбором проверьте изменения.
Какие задачи решает
- показать оценки и лучший эксперимент после эволюции
- просмотреть diff изменений, внесённых в ходе эволюции
- удалить временные файлы без отправки изменений
- создать тег с оценкой и отправить его в
origin - перенести проверенные выводы в
CLAUDE.mdпосле просмотра dry-run
Примеры запросов агенту
- Заверши эволюцию агента и покажи оценки и изменения Git.
- Покажи полный diff эволюции, пока ничего не отправляй.
- Очисти временные файлы, затем предложи перенести выводы в
CLAUDE.md.
Как установить harness:deploy
1Через Skills CLI (Vercel)
npx skills add raphaelchristi/harness-evolver --skill deploy -a claude-code2Вручную: положить файлы
~/.claude/skills/deploy/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/deploy/
1Через Skills CLI (Vercel)
npx skills add raphaelchristi/harness-evolver --skill deploy -a codex2Вручную: положить файлы
.agents/skills/deploy/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add raphaelchristi/harness-evolver --skill deploy -a cursor2Вручную: положить файлы
.cursor/skills/deploy/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install raphaelchristi/harness-evolver deploy2Вручную: положить файлы
.github/skills/deploy/SKILL.md1Через Skills CLI (Vercel)
npx skills add raphaelchristi/harness-evolver --skill deploy -a gemini-cli2Командой платформы
gemini skills install https://github.com/raphaelchristi/harness-evolver --path skills/deployВручную: положить файлы
.devin/skills/deploy/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add raphaelchristi/harness-evolver --skill deploy -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о harness:deploy
Как установить harness:deploy в Claude Code?
Выполните npx skills add raphaelchristi/harness-evolver --skill deploy -a claude-code. Файл скилла находится по пути ~/.claude/skills/deploy/SKILL.md.
Что делает harness:deploy?
Он показывает результат эволюции агента и предлагает просмотреть изменения, очистить временные файлы, отправить тег или перенести выводы в CLAUDE.md.
Отправляет ли harness:deploy изменения сразу?
Нет. Скилл сначала спрашивает, что делать. При выборе отправки он создаёт тег и выполняет git push origin main --tags; перенос выводов запускает в режиме --dry-run и применяет только после одобрения.
Исходный текст
SKILL.md · MIT
---
name: harness:deploy
description: "Use when the user is done evolving and wants to finalize, clean up, tag the result, or push the optimized agent."
allowed-tools: [Read, Write, Bash, Glob, AskUserQuestion]
---
# /harness:deploy
Finalize the evolution results. In v3, the best code is already in the main branch (auto-merged during evolve). Deploy is about cleanup, tagging, and pushing.
## What To Do
```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")}"
```
### 1. Show Results
```bash
python3 -c "
import json
c = json.load(open('.evolver.json'))
baseline = c['history'][0]['score'] if c['history'] else 0
best = c['best_score']
improvement = best - baseline
print(f'Baseline: {baseline:.3f}')
print(f'Best: {best:.3f} (+{improvement:.3f}, {improvement/max(baseline,0.001)*100:.0f}% improvement)')
print(f'Iterations: {c[\"iterations\"]}')
print(f'Experiment: {c[\"best_experiment\"]}')
"
```
Show git diff from before evolution started:
```bash
git log --oneline --since="$(python3 -c "import json; print(json.load(open('.evolver.json'))['created_at'][:10])")" | head -20
```
### 2. Ask What To Do (interactive)
```json
{
"questions": [{
"question": "Evolution complete. What would you like to do?",
"header": "Deploy",
"multiSelect": false,
"options": [
{"label": "Tag and push", "description": "Create a git tag with the score and push to remote"},
{"label": "Just review", "description": "Show the full diff of all changes made during evolution"},
{"label": "Clean up only", "description": "Remove temporary files (trace_insights.json, etc.) but don't push"},
{"label": "Promote learnings", "description": "Add proven evolution insights to CLAUDE.md (permanent knowledge)"}
]
}]
}
```
### 3. Execute
**If "Tag and push"**:
```bash
VERSION=$(python3 -c "import json; c=json.load(open('.evolver.json')); print(f'evolver-v{c[\"iterations\"]}')")
SCORE=$(python3 -c "import json; print(f'{json.load(open(\".evolver.json\"))[\"best_score\"]:.3f}')")
git tag -a "$VERSION" -m "Evolver: score $SCORE"
git push origin main --tags
```
**If "Just review"**:
```bash
git diff HEAD~{iterations} HEAD
```
**If "Clean up only"**:
```bash
rm -f trace_insights.json best_results.json comparison.json production_seed.md production_seed.json
```
**If "Promote learnings"**:
```bash
$EVOLVER_PY $TOOLS/promote_learnings.py --memory evolution_memory.md --target CLAUDE.md --threshold 5 --dry-run
```
Show the dry-run output. If the user approves, run without `--dry-run`.
### 4. Report
- What was done
- LangSmith experiment URL for the best result
- Suggest reviewing the changes before deploying to production
© raphaelchristi · MIT · raphaelchristi/harness-evolver