This skill should be used when the user asks to "/harness-simplify", "simplify the harness", "remove harness component", "stress test the harness", "do we need the evaluator", "is the planner necessary", "optimize harness cost", or wants to test whether a harness component is still needed. Implements progressive simplification — removing one component at a time and comparing quality.
Scanned 5/27/2026
Install via CLI
openskills install uppifyagency/claude-harness---
name: harness-simplify
description: This skill should be used when the user asks to "/harness-simplify", "simplify the harness", "remove harness component", "stress test the harness", "do we need the evaluator", "is the planner necessary", "optimize harness cost", or wants to test whether a harness component is still needed. Implements progressive simplification — removing one component at a time and comparing quality.
argument-hint: [component to test: planner | evaluator | rounds]
allowed-tools: [Read, Write, Edit, Bash, Glob, Grep, Agent, AskUserQuestion]
---
# Harness Simplify — Component Stress Testing
## Overview
Every harness component encodes an assumption about what the model can't do on its own. This skill tests those assumptions by removing one component, re-running a task, and comparing quality.
> "Find the simplest solution possible, and only increase complexity when needed."
## Execution
### Step 1: Identify Target Component
If the user specified a component, use it. Otherwise, ask which to test:
| Component | Assumption it encodes | Cost saved if removed |
|-----------|----------------------|----------------------|
| `evaluator` | Model can't judge its own work | ~$3-10 per eval round + time |
| `planner` | Model can't expand briefs well inline | ~$0.50 + 5 min |
| `rounds` | Model needs external feedback loops | Proportional to rounds saved |
Recommended test order: `rounds` → `evaluator` → `planner` (least to most impactful).
### Step 2: Establish Baseline
Check for existing harness results in `.harness/`:
- If a completed run exists, use its eval scores as baseline
- If not, inform the user a baseline run is needed first
Record baseline scores:
```
Baseline (all components):
Design Quality: X/5
Originality: X/5
Craft: X/5
Functionality: X/5
Cost: $X
Time: Xm
```
### Step 3: Run Without Component
Temporarily disable the component in `.harness/config.json` and dispatch a new harness run on the same brief.
- **Remove evaluator**: Generator builds, no QA pass. User or simplified heuristic checks quality.
- **Remove planner**: Generator works directly from user brief (no spec expansion).
- **Reduce rounds**: Set `maxRounds: 1` (single build + single eval).
### Step 4: Compare Results
If evaluator is enabled for comparison, dispatch it on both outputs. Present side-by-side:
```
With Component Without Component
Design Quality: 4/5 3/5
Originality: 3/5 3/5
Craft: 4/5 4/5
Functionality: 4/5 2/5
Cost: $125 $72
Time: 3h50m 2h07m
```
### Step 5: Decision
- **Quality drop > 1 point** on any dimension → Component is load-bearing. Keep it.
- **Quality holds** (within 1 point across all dimensions) → Component encodes a stale assumption. Recommend disabling.
### Step 6: Record and Apply
Write results to `.harness/simplification-log.md` (append, don't overwrite).
If the user agrees to disable the component, update `.harness/config.json`:
```json
{
"evaluator": false
}
```
This persists across future harness runs in this project.
## Additional Resources
### Reference Files
- **`references/evolution-history.md`** — How the original Anthropic harness evolved from V1 to V2
No comments yet. Be the first to comment!