eval-fix
Adversarial fix loop: read eval report → fix gaps → re-evaluate → repeat until convergence
Skill by zxdxjtu
Chalk Labs
Need help deploying eval-fix?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/zxdxjtu-eval-fix
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/eval-fix
What's inside
- Skill name
eval-fix- Description
- Adversarial fix loop: read eval report → fix gaps → re-evaluate → repeat until convergence
- License
- MIT
- Instructions
- 162 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Eval-Fix — Adversarial Fix-Evaluate Loop
This command implements an adversarial fix-evaluate loop: Generator (fix) → Evaluator (assess) → repeat until convergence or user intervention. The Generator and Evaluator are separate agents to prevent self-assessment bias.
**Parameter**: $ARGUMENTS — feature ID and product URLs
## Step 1: Load Evaluation Report
```bash
FEATURE_ID=$(echo "$ARGUMENTS" | grep -oP 'F\d+')
cat ".harness/evidence/${FEATURE_ID}/eval-report.md" 2>/dev/null
```
If no eval-report exists → tell user to run `/evaluate {FXXX}` first and STOP.
## Step 2: Extract Fix Tasks
Parse the eval-report's "Fix Tasks" section. For each feature scoring < 7:
1. Read the detailed findings (gap description + screenshot references)
2. Read the fix suggestions
3. Read the relevant screenshots to understand the visual gap
4. Create a fix task with:
- **What's wrong**: factual description from Evaluator
- **Reference screenshots**: paths to reference screenshots
- **Dev screenshots**: paths to current dev screenshots
- **Expected outcome**: what "fixed" looks like (described precisely)
## Step 3: Execute Fixes (Generator Role)
For each fix task, ordered by priority (P0 first):
### Single fix approach (no worktree):
1. Read the gap description and screenshots from the Evaluator
2. Read the relevant source code files
3. Implement the fix — focus on matching the reference product exactly
4. Run existing tests to verify no regression
5. Commit: `fix(eval): {brief description of what was fixed}`
### Multiple independent fixes:
Use `Agent(isolation: "worktree")` for parallel execution when fixes are independent.
**Generator Agent Prompt**:
```
You are a fix worker. The Evaluator found this gap:
GAP: {gap description from eval-report}
REFERENCE: {screenshot path} — shows how it SHOULD look/behave
CURRENT: {screenshot path} — shows how it CURRENTLY looks/behaves
FIX SUGGESTION: {evaluator's suggestion}
Steps:
1. Read the reference screenshot to understand the target
2. Read the current screenshot to understand the gap
3. Find and modify the relevant code
4. Test that the fix works
5. Commit with: fix(eval): {description}
RULES:
- Match the reference product EXACTLY
- Do NOT add features the reference doesn't have
- Do NOT "improve" beyond what the reference shows
- If unsure, match the reference screenshot pixel-for-pixel
```
## Step 4: Re-Evaluate
After all fixes are applied, trigger a fresh evaluation:
1. Merge any worktrees back to main branch
2. Ensure the dev product is running with latest code
3. Run the evaluation protocol (same as `/evaluate`):
- Playwright MCP tests each feature against reference
- Generate new eval-report with updated scores
- Track score trend across iterations
## Step 5: Convergence Check
Read the new eval-report and compare with previous iteration:
### Convergence achieved (overall score ≥ 7):
```
Report to user:
"Eval-fix loop converged after N iterations.
Score progression: {iter1} → {iter2} → ... → {current}
Remaining minor gaps: {list if any}
Next step: /verify {FXXX}"
```
STOP the loop.
### Progress detected (score improved):
Continue to next iteration — go back to Step 2 with the new eval-report.
### Stagnation detected (score did NOT improve for 2 consecutive iterations):
```
Report to user:
"Score stagnation detected after N iterations.
Score progression: {iter1} → ... → {current} (no improvement in last 2 rounds)
Remaining gaps that resist automated fixing:
{list of features still < 7 with descriptions}
Recommended actions:
1. Review the gaps manually — some may require architectural changes
2. Adjust the spec if the reference behavior is intentionally different
3. Run /evaluate again after manual fixes
Continue the loop? (The fix approach may need human guidance)"
```
STOP and wait for user decision.
### Regression detected (score decreased):
```
Report to user:
"WARNING: Score regression detected!
Previous: {prev_score} → Current: {current_score}
Regressed features:
{list of features that got worse}From zxdxjtu/harness, MIT.
More from zxdxjtu/harness
- 0.466score
tdd-align
zxdxjtu
Generate three-layer tests from spec — tests are the alignment contract
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
entropy-clean
zxdxjtu
Post-wave entropy cleanup — remove debug artifacts, enforce style, ensure git hygiene
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
evaluate
zxdxjtu
Adversarial evaluation: compare dev product against reference baseline using Playwright MCP
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
harness-init
zxdxjtu
Initialize Harness for your project — learn repo, team norms, generate customized framework
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
harness-status
zxdxjtu
Restore state, health check, determine current phase, suggest next step
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
proposal
zxdxjtu
Start a new feature proposal — guided spec + design generation
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
sdd-init
zxdxjtu
Initialize SDD harness for a project — scan codebase, generate config, full-spec, full-design
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
spec-review
zxdxjtu
Multi-person spec review with line-by-line comments and resolution tracking
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
steward
zxdxjtu
Module stewardship guardian — check code changes against AGENT.md boundaries and contracts
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
archive
zxdxjtu
Phase 3: merge spec/design deltas, code review, atomic commits, push, and trigger self-evolution
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
baseline
zxdxjtu
Capture baseline of a reference product using Playwright MCP for clone/replicate scenarios
SkillDFreshness: D★ 8Claude Code +9 - 0.463score
help
zxdxjtu
Explain Harness plugin and available commands
SkillDFreshness: D★ 8Claude Code +9
Signals
- Stars
- 8
- Forks
- 3
- Open issues
- 1
- Last commit (this folder)
- Apr 12, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/zxdxjtu/harness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from zxdxjtu
- 0.466score
evaluate
zxdxjtu
Adversarial evaluation: compare dev product against reference baseline using Playwright MCP
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
harness-init
zxdxjtu
Initialize Harness for your project — learn repo, team norms, generate customized framework
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
baseline
zxdxjtu
Capture baseline of a reference product using Playwright MCP for clone/replicate scenarios
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
entropy-clean
zxdxjtu
Post-wave entropy cleanup — remove debug artifacts, enforce style, ensure git hygiene
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
archive
zxdxjtu
Phase 3: merge spec/design deltas, code review, atomic commits, push, and trigger self-evolution
SkillDFreshness: D★ 8Claude Code +9 - 0.466score
harness-status
zxdxjtu
Restore state, health check, determine current phase, suggest next step
SkillDFreshness: D★ 8Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get eval-fix running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
eval-fix skill. Agent Mart. https://agentmart.dev/skills/zxdxjtu-eval-fix (last updated 2026-10-24)