raphaelchristi/harness-evolver/health

Claude Code and agent skill by raphaelchristi/harness-evolver

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when the user wants to check dataset quality, diagnose eval issues, or before running evolve. Checks size, difficulty distribution, dead examples, coverage, and splits. Auto-corrects issues found.

Install

npx vskill@latest install raphaelchristi/harness-evolver/health

SKILL.md

/harness:health

Check eval dataset quality and auto-correct issues. Can be run independently or is invoked by /harness:evolve before the iteration loop.

Prerequisites

.evolver.json must exist. If not, tell user to run /harness:setup.

Resolve Tool Path and Python

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. Run Health Diagnostic

bash
$EVOLVER_PY $TOOLS/dataset_health.py \
--config .evolver.json \
--production-seed production_seed.json \
--output health_report.json 2>/dev/null

Print summary:

bash
python3 -c "
import json, os
if os.path.exists('health_report.json'):
r = json.load(open('health_report.json'))
print(f'Dataset Health: {r[\"health_score\"]}/10 ({r[\"example_count\"]} examples)')
for issue in r.get('issues', []):
print(f' [{issue[\"severity\"]}] {issue[\"message\"]}')
if not r.get('issues'):
print(' No issues found.')
"

2. Auto-Correct Issues

If health_report.json has corrections, apply them automatically:

bash
CORRECTIONS=$(python3 -c "
import json, os
if os.path.exists('health_report.json'):
r = json.load(open('health_report.json'))
for c in r.get('corrections', []):
print(c['action'])
" 2>/dev/null)

For each correction:

If `create_splits`: Assign 70/30 train/held_out splits:

bash
$EVOLVER_PY -c "
from langsmith import Client
import json, random
client = Client()
config = json.load(open('.evolver.json'))
examples = list(client.list_examples(dataset_name=config['dataset']))
random.shuffle(examples)
sp = int(len(examples) * 0.7)
for ex in examples[:sp]:
client.update_example(ex.id, split='train')
for ex in examples[sp:]:
client.update_example(ex.id, split='held_out')
print(f'Assigned splits: {sp} train, {len(examples)-sp} held_out')
"

If `generate_hard`: Spawn testgen agent to generate hard examples:

Agent(
subagent_type: "harness-testgen",
description: "Generate hard examples to rebalance dataset",
prompt: "The dataset is skewed toward easy examples. Generate {count} HARD examples that the current agent is likely to fail on. Focus on edge cases, adversarial inputs, and complex multi-step queries. Read .evolver.json and production_seed.json for context."
)

If `fill_coverage`: Spawn testgen agent for missing categories:

Agent(
subagent_type: "harness-testgen",
description: "Generate examples for missing categories",
prompt: "The dataset is missing these production categories: {categories}. Generate 5 examples per missing category. Read .evolver.json and production_seed.json for context."
)

If `retire_dead`: Move dead examples to retired split:

bash
$EVOLVER_PY -c "
from langsmith import Client
import json
client = Client()
report = json.load(open('health_report.json'))
dead_ids = report.get('dead_examples', {}).get('ids', [])
config = json.load(open('.evolver.json'))
examples = {str(e.id): e for e in client.list_examples(dataset_name=config['dataset'])}
retired = 0
for eid in dead_ids:
if eid in examples:
client.update_example(examples[eid].id, split='retired')
retired += 1
print(f'Retired {retired} dead examples')
"

After corrections, log what was done.

3. Report

Print final health status. If critical issues remain that couldn't be auto-corrected, warn the user.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
53
Repository forks
6
7-day trend score
20

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/raphaelchristi/harness-evolver/health/badge)](https://verified-skill.com/skills/raphaelchristi/harness-evolver/health)

Something wrong with this skill or its page? Tell us.