harness:health
About
The harness:health skill performs automated quality checks on evaluation datasets, analyzing size, difficulty distribution, coverage, and splits. It automatically corrects identified issues and is designed for use before running evolutions or when diagnosing evaluation problems. This tool helps developers maintain dataset integrity through its diagnostic and auto-correction capabilities.
Quick Install
Claude Code
Recommendednpx skills add raphaelchristi/harness-evolver -a claude-code/plugin add https://github.com/raphaelchristi/harness-evolvergit clone https://github.com/raphaelchristi/harness-evolver.git ~/.claude/skills/harness:healthCopy and paste this command in Claude Code to install this skill
Documentation
/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
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
$EVOLVER_PY $TOOLS/dataset_health.py \
--config .evolver.json \
--production-seed production_seed.json \
--output health_report.json 2>/dev/null
Print summary:
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:
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:
$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:
$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.
GitHub Repository
Related Skills
llamaguard
OtherLlamaGuard is Meta's 7-8B parameter model for moderating LLM inputs and outputs across six safety categories like violence and hate speech. It offers 94-95% accuracy and can be deployed using vLLM, Hugging Face, or Amazon SageMaker. Use this skill to easily integrate content filtering and safety guardrails into your AI applications.
cost-optimization
OtherThis Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.
quantizing-models-bitsandbytes
OtherThis skill quantizes LLMs to 8-bit or 4-bit precision using bitsandbytes, achieving 50-75% memory reduction with minimal accuracy loss. It's ideal for running larger models on limited GPU memory or accelerating inference, supporting formats like INT8, NF4, and FP4. The skill integrates with HuggingFace Transformers and enables QLoRA training and 8-bit optimizers.
dispatching-parallel-agents
OtherThis Claude Skill dispatches multiple agents to investigate and fix 3+ independent problems concurrently. It is designed for scenarios involving unrelated failures that can be resolved without shared state or dependencies. The core capability is parallel problem-solving, assigning one agent per independent problem domain to maximize efficiency.
