dev-release
Use when the user wants to release a new version, publish to npm, create a GitHub release, bump version, or tag a release. Also use when the user says…
Use when the user wants to smoke-test the evolve pipeline, test tools, or verify the plugin works end-to-end. Also use when the user says 'dry run', 'smoke test', or 'test pipeline'.
$ npx -y skills add raphaelchristi/harness-evolver --skill dev-dry-run --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dev-dry-runContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user wants to smoke-test the evolve pipeline, test tools, or verify the plugin works end-to-end. Also use when the user says 'dry run', 'smoke test', or 'test pipeline'.
name: dev:dry-run description: "Use when the user wants to smoke-test the evolve pipeline, test tools, or verify the plugin works end-to-end. Also use when the user says 'dry run', 'smoke test', or 'test pipeline'." allowed-tools: [Read, Bash, Glob, Grep]
Smoke-test the evolve pipeline. Two modes depending on whether LANGSMITH_API_KEY is available.
TOOLS="${EVOLVER_TOOLS:-$([ -d "tools" ] && echo "tools" || echo "$HOME/.evolver/tools")}"
EVOLVER_PY="${EVOLVER_PY:-$([ -f "$HOME/.evolver/venv/bin/python" ] && echo "$HOME/.evolver/venv/bin/python" || echo "python3")}"if [ -n "$LANGSMITH_API_KEY" ]; then
echo "MODE: Online (LANGSMITH_API_KEY found)"
MODE="online"
else
echo "MODE: Offline (no LANGSMITH_API_KEY)"
MODE="offline"
fiValidate tool syntax and argparse consistency:
echo "=== Tool Syntax Check ==="
for f in $TOOLS/*.py; do
python3 -c "import ast; ast.parse(open('$f').read())" 2>&1
if [ $? -eq 0 ]; then echo "OK: $(basename $f)"; else echo "FAIL: $(basename $f)"; fi
done
echo ""
echo "=== Argparse Flags Check ==="
for f in $TOOLS/*.py; do
$EVOLVER_PY "$f" --help > /dev/null 2>&1
if [ $? -eq 0 ]; then echo "OK: $(basename $f) --help"; else echo "FAIL: $(basename $f) --help"; fi
done
echo ""
echo "=== Skill Cross-Reference Check ==="
# Check every tool referenced in evolve skill exists
for TOOL in $(grep -oh '\$TOOLS/[a-z_]*.py' skills/evolve/SKILL.md | sed 's/\$TOOLS\///' | sort -u); do
if [ -f "$TOOLS/$TOOL" ]; then
echo "OK: $TOOL referenced and exists"
else
echo "FAIL: $TOOL referenced in evolve skill but not found"
fi
doneRun the full pipeline with a mock agent:
TMPDIR=$(mktemp -d)
cat > "$TMPDIR/agent.py" << 'PYEOF'
import json, sys
input_path = sys.argv[1] if len(sys.argv) > 1 else None
if input_path:
with open(input_path) as f:
data = json.load(f)
question = data.get("input", data.get("question", ""))
print(json.dumps({"output": f"Mock answer to: {question}"}))
else:
print(json.dumps({"output": "No input provided"}))
PYEOF
cat > "$TMPDIR/test_inputs.json" << 'JSONEOF'
[
{"input": "What is 2+2?"},
{"input": "Name a color"},
{"input": "What is Python?"}
]
JSONEOF
echo "Mock agent created at $TMPDIR"$EVOLVER_PY $TOOLS/setup.py \
--project-name "dry-run-test" \
--entry-point "python3 $TMPDIR/agent.py {input}" \
--framework "unknown" \
--goals "accuracy" \
--dataset-from-file "$TMPDIR/test_inputs.json" \
--output "$TMPDIR/.evolver.json"$EVOLVER_PY $TOOLS/run_eval.py \
--config "$TMPDIR/.evolver.json" \
--worktree-path "$TMPDIR" \
--experiment-prefix "dry-run-v001a"$EVOLVER_PY $TOOLS/read_results.py \
--experiment "dry-run-v001a" \
--config "$TMPDIR/.evolver.json" \
--format markdown$EVOLVER_PY $TOOLS/trace_insights.py \
--from-experiment "dry-run-v001a" \
--output "$TMPDIR/trace_insights.json"rm -rf "$TMPDIR" echo "Dry run complete. Temp files cleaned up."
Dry Run Results ({MODE} mode):
Tool syntax: {N}/{N} passed
Argparse: {N}/{N} passed
Cross-refs: {N}/{N} passed
{If online: setup/eval/read/trace pipeline: PASS/FAIL}Point at any LLM agent codebase. Harness Evolver will autonomously improve it — prompts, routing, tools, architecture — using multi-agent evolution with LangSmith as the evaluation backend.
Use when the user wants to release a new version, publish to npm, create a GitHub release, bump version, or tag a release. Also use when the user says…
Use when the user wants to validate the plugin, check integrity, verify cross-references, or before a release. Also use when the user says 'validate', 'check…
Use when the user wants to verify that the evolved agent's score is stable and reliable. Runs evaluation multiple times and reports mean ± std.
Use when the user is done evolving and wants to finalize, clean up, tag the result, or push the optimized agent.
Use when the user wants to run the optimization loop, improve agent performance, evolve the agent, or iterate on quality. Requires .evolver.json to exist (run…
Use when the user wants to check dataset quality, diagnose eval issues, or before running evolve. Checks size, difficulty distribution, dead examples,…