ahel is live on Product Hunt today. Upvote

harness:deploy

SkillCloud & infra

Use when the user is done evolving and wants to finalize, clean up, tag the result, or push the optimized agent.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the harness:deploy skill

What this skill tells your AI

The instructions your AI receives, as published by raphaelchristi/harness-evolver in skills/deploy/SKILL.md and read by ahel’s review.

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

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

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:

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)

{
  "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":

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":

git diff HEAD~{iterations} HEAD

If "Clean up only":

rm -f trace_insights.json best_results.json comparison.json production_seed.md production_seed.json

If "Promote learnings":

$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

Signals

GitHub stars
50
Forks
6
Last commit
Apr 2026
Advanced
Catalog kind
skill
Gateway key
harness-deploy
Source
github.com/raphaelchristi/harness-evolver