Skip to main content
skill CX Codex

harness:deploy — Claude Code skill: finalize and push

This skill wraps up an agent evolution run by showing its results and offering to review changes, clean temporary files, or push a Git tag.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add raphaelchristi/harness-evolver --skill deploy -a claude-code
Open on GitHub

What harness:deploy does

The skill reads .evolver.json to display the baseline and best scores, iteration count, and winning experiment. It also shows Git changes made since the evolution began, then asks which next step you want.

Choose a diff review, temporary-file cleanup, or a tagged push. The push creates a tag with the score and sends it with main to origin. You can also move proven findings into CLAUDE.md: the skill first runs promote_learnings.py with --dry-run and waits for approval before applying them. That push affects the remote repository, so review the changes before choosing it.

What it helps with

  • inspect scores and the winning experiment after an evolution run
  • review the Git diff from an evolution
  • remove temporary files without pushing
  • tag the result with its score and push it to origin
  • preview findings before adding them to CLAUDE.md

Example prompts for the agent

  • Finish the agent evolution and show its scores and Git changes.
  • Show the full evolution diff without pushing anything.
  • Clean up temporary files, then preview findings for CLAUDE.md.

How to install harness:deploy

1Skills CLI (Vercel)

npx skills add raphaelchristi/harness-evolver --skill deploy -a claude-code

2Manually: put the files in place

~/.claude/skills/deploy/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/deploy/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about harness:deploy

How do I install harness:deploy in Claude Code?

Run npx skills add raphaelchristi/harness-evolver --skill deploy -a claude-code. The skill file is at ~/.claude/skills/deploy/SKILL.md.

What does harness:deploy do?

It reports an agent evolution run and asks whether to inspect the diff, remove temporary files, push a tag, or add findings to CLAUDE.md.

Does harness:deploy push changes automatically?

No. It asks you to choose an action first. A tagged push runs git push origin main --tags; findings are previewed with --dry-run and applied only after approval.

Source text

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

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set10

dev:release Runs a project release from version selection and changelog drafting through a GitHub release and npm publish. Use it when preparing a patch, minor, or major version. CX Codex +1 ★ 57repo stars dev:dry-run Runs the evolve pipeline as a smoke test: checks tool syntax and skill cross-references, and with a LangSmith key exercises the full loop on a mock agent. CX Codex +1 ★ 57repo stars harness:status Displays evolution progress, scores, and iteration counts. Alerts when optimization stagnates or regresses. CX Codex +1 ★ 57repo stars harness:setup This skill inspects a project and configures Harness Evolver to evaluate an AI agent. Use it when introducing evolver to a project or choosing optimization goals. CX Codex +1 ★ 57repo stars harness:health Audits an eval dataset for size, difficulty spread, dead examples, category coverage and splits, then fixes what it finds on its own. CX Codex +1 ★ 57repo stars harness:evolve Runs an automated agent optimization loop with LangSmith evaluations and git worktree isolation. Helps tune agent accuracy across repeated iterations. CX Codex +1 ★ 57repo stars harness:certify Runs the evolved agent's evaluation three times and reports mean with standard deviation. Useful when you cannot tell whether a score holds up between runs. CX Codex +1 ★ 57repo stars harness-evolver This plugin evolves an AI agent’s code and evaluates candidate changes with LangSmith. Use it to test changes to prompts, routing, or tools against project data. ★ 57repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor