Agent skill

Better Harness

by QoderAI in QoderAI/better-harness

A skill your agent uses when /better-harness reviews the outer coding-agent Harness for lifecycle controls, repeated work, project feedback, agent assets, session outcomes, repair planning, durable…

MITAuto-check passedAgent Workflows

Install Better Harness

skills CLI
$ npx skills add QoderAI/better-harness --skill better-harness -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install QoderAI/better-harness better-harness --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/QoderAI/better-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/better-harness .claude/skills/better-harness && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
better-harness
GitHub stars
2.4k
Token cost
~3k tokens
SKILL.md length
1,373 words
Files
13 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when /better-harness reviews the outer coding-agent Harness for lifecycle controls, repeated work, project feedback, agent assets, session outcomes, repair planning, durable…

  • Works in 4 steps: Resolve Scope and Collect the Evidence… → Run Three Independent Evidence Passes → Lead Reconciliation and Regrading → …
  • /better-harness reviews the outer coding-agent Harness for lifecycle controls
  • SKILL.md covers Step 1: Resolve Scope and…, Step 2: Run Three Independent…, Step 3: Lead Reconciliation… and Report Output — Step 4: Render…, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Better Harness is an agent skill from QoderAI/better-harness. Use when /better-harness reviews the outer coding-agent Harness for lifecycle controls, repeated work, project feedback, agent assets, session outcomes, repair planning, durable reports, finding-bound fixes, or manual direct fixes. Invoke only via slash command.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including reference files (for example `references/agent-customize.md`, `references/asset-demand-reconciliation.md` and `references/finding-bound-fix.md`).

It sits in Agent Workflows, covering Hooks and plugins. The repository describes itself as: An open-source Harness Engineering platform for coding agents—define harnesses as code, run controlled experiments, inspect evidence, and compare outcomes. Turn task evidence… The licence is MIT.

When your agent uses it

  • /better-harness reviews the outer coding-agent Harness for lifecycle controls
  • Project feedback
  • Session outcomes
  • Repair planning

Example prompts

  • “/better-harness”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Resolve Scope and Collect the Evidence Bundle
  2. Run Three Independent Evidence Passes
  3. Lead Reconciliation and Regrading
  4. Follow Up

What it can do on your machine

Read from SKILL.md and the folder at commit 34899f3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Better Harness loads about 3k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 69 tokens; SKILL.md has 1,373 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~69
When it runs · the whole SKILL.md, loaded when a task matches
~3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~16k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from QoderAI/better-harness at commit 34899f3, republished under its MIT licence (© QoderAI). 1,373 words, ~2,999 tokens.

Download SKILL.mdSave it as .claude/skills/better-harness/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
better-harness
description
Use when /better-harness reviews the outer coding-agent Harness for lifecycle controls, repeated work, project feedback, agent assets, session outcomes, repair planning, durable reports, finding-bound fixes, or manual direct fixes. Invoke only via slash command.

Better Harness

Review the coding-agent system: context, execution, control, feedback, and learning; keep Sessions, project, and Agent assets independent.

Step 1: Resolve Scope and Collect the Evidence Bundle

Route:

  • <better-harness-fix-output>: Finding-bound Fix.
  • No callback plus leading fix, repair, or \u4fee\u590d: Manual Direct Fix.
  • Review/evaluation/reporting or mixed review-and-fix: Step 1.

Resolve the Skill path, <better-harness-root> as ../.., a supported <node>, and <cli> as <node> <better-harness-root>/scripts/better-harness.mjs. Stop if any owner is missing; never select another cache or runtime by search order.

Resolve absolute target, decision, acceptance boundary, risks, locale (request language by default), output mode, provider, and depth. Quick uses three items and 7 days; normal uses five and 30 days. Default Qoder/Cursor to durable Canvas and other rendering hosts to HTML. Providers without REPORT_RENDERING proceed only inline or no-files and must not create HTML, Markdown, or Canvas output. Keep providers separate. Use the current one unless project-wide review explicitly authorizes multiple supported providers. Qoder project Memory title metadata is part of the selected workspace baseline. Memory bodies, Codex Memory, Qoder global Memory, user-home, raw Session, installed-plugin, marketplace, and historical-insight access require explicit scope.

Before delegation, collect one versioned evidence bundle per authorized provider:

text
<cli> harness evidence-bundle --platform <provider> --workspace <target> --cwd <effective-cwd> --language <locale> --depth <quick|normal> --since <window-start> --until <window-end> --format json [--include-memories] [--include-user-home] [--canvas-out <run-dir>/canvas.json]

Use --canvas-out only for Qoder/Cursor durable reports. For Qoder, keep the default project Memory-title scan; --include-user-home widens it to authorized global Memory/config and other user assets. For Codex, Memory metadata requires --include-memories; user/global or installed-Plugin metadata requires --include-user-home. Apply both when both scopes are authorized. Neither flag authorizes Memory bodies.

It freezes topology, provider, window, depth, limit, and authority. Before delegation, read bundle.context.topology.target; report kind, route, and packageRoute (memberRoute or null). Providers must agree. It returns sessionEvidence, projectHarness, agentCustomize, and the lead envelope. Agent Customize holds bounded lint, inventory, and integrity envelopes from one shared asset snapshot. Keep lane/stage status and providers distinct. Use the individual session-analysis facts, core-change-watch evidence-pack, coding-agent-practices asset-baseline, or harness analyze command only to diagnose a named unavailable or evidence-loss stage; do not substitute diagnostic output into the bundle or rerun all owners. Counts for Rules, Skills, MCP, Memory, Agents, Hooks, Commands, Workflows, and Plugins only route inspection. Zero or high counts never create findings or scores. A normal Qoder report with project Memories blocks when the integrity stage is unavailable; do not replace the missing review with an unobserved disposition.

If the provider discovers or the user supplies a historical insight source, the lead may inspect only a few authorized architecture/history notes. Never assume or search a conventional path; notes cannot prove current behavior, configured capability, or effectiveness.

Step 2: Run Three Independent Evidence Passes

Launch exactly three fresh, read-only agents in parallel. In Codex use spawn_agent with fork_turns: "none"; otherwise run the same briefs locally and independently. No evidence agent may delegate.

2.1 Session Evidence

The lead takes the provider-labelled facts envelopes from bundle.lanes.sessionEvidence.data, whose production collector is routed by Sessions Diagnostics, using only the production facts route. Do not pass the complete bundle, collection reference, debug output, or raw sessions to Agent 1.

Give Agent 1 only the provider-labelled facts envelopes, the compact Step 1 asset counts needed to notice zero Skills, and the resolved scope. Require it to read Session Evidence and conditionally read Repeated Workflow Discovery when repeated procedure demand is in scope. It must not inspect the project, configured assets, raw sessions, or another brief.

2.2 Project Harness Evidence

Give Agent 2 only the target, scoped history/current-change boundary, bundle.lanes.projectHarness.data, decision, risks, and owner limit. Require it to read Project Harness Evidence. It must not receive Session or Agent Customize conclusions.

2.3 Agent Customize Evidence

Give Agent 3 only bundle.lanes.agentCustomize.data with its provider-labelled lint, inventory, and integrity envelopes; asset authority; decision; risks; and owner limit. Require it to read Agent Customize Evidence. It consumes the deterministic envelopes and must not rerun their commands or receive Session/Project conclusions.

Each agent follows its reference-local free-form return contract: normally three to five candidates, up to three in quick mode, and fewer when evidence is sparse. Specialists never assign final severity or scores.

While they run, use only bundle.lead.data as the lead analyzer result. The bundle maps --include-user-home to the analyzer's global-capability boundary; this preserves authorized MCP, Plugin, Skill, Hook, and Memory counts without authorizing content reads or proving use.

Stop if the bundle is failed, the lead lane is unavailable, or its data omits evidence or summaryFacts. In quick mode a partial bundle lowers confidence and every unavailable specialist remains explicit; in normal mode any unavailable or partial specialist lane blocks the report. This evidence pass has a hard cap of three delegated agents.

Show full SKILL.md (622 more words)Show less

Step 3: Lead Reconciliation and Regrading

Read Harness Findings Input for field roles and Agent Work Loop for the five dimensions, checks, evidence states, scoring, and Learning Capture rules. Replace all example content. Never derive the contract from prior reports, Memory, recommend files, or validators.

Perform one reconciliation. Start by retaining every specialist candidate. Merge only candidates with the same target, observed consequence, owner, and repair route; preserve independent consequences even when they share a broader theme. Keep a working reason for every unsupported or deferred candidate. Never drop an eligible finding to reach five rows, shorten the report, simplify a score, or match the three priority moves. Then the lead alone:

  • validates the consequence, cause chain, smallest owner, evidence boundary, confidence, and verifier;
  • assigns final severity and one primary Agent Work Loop check;
  • derives conservative dimension scores independently from findings count;
  • retains disagreements and unavailable evidence at low confidence;
  • writes every distinct supported finding and freezes final severity and dimension scores before shaping priority moves, repair prompts, or reader copy.

Before drafting, read Findings Quality Gates and apply its eligibility, consistency, privacy, asset, candidate-promotion, and repair-prompt checks directly. For repeated procedure or knowledge demand, also read Asset Demand Reconciliation.

Do not author summary.suggestions in a new report. Promote a suggestion candidate to an ordinary Low finding only when it passes the same consequence, owner, evidence, output, verifier, and repair-prompt gates as every finding; otherwise keep it deferred in the working reconciliation.

After findings and dimension scores are frozen, select exactly one support track from the evidence and requested outcome. The parenthetical ranges are user-journey labels, never score thresholds:

  • Bootstrap (0 -> 1): initial guidance is explicitly requested, or retained findings establish a missing foundational navigation, validation, or risk route.
  • Operationalize (1 -> 60): relevant mechanisms exist, but retained findings show they are not wired into ordinary work or exercised through an outcome.
  • Optimize (60 -> 100): sufficiently complete Session evidence contains at least two distinct comparable Task Episodes for the repeated goal or friction.
  • Undetermined: the evidence required to select a track is unavailable.

Read only the selected track: Bootstrap Support, Operationalize Support, or Optimize Support. A track may shape at most three priority moves, repair prompts, and reader copy for already-supported findings. It must not add a finding, change severity, rescore a dimension, add a report field, or expand evidence and mutation authority.

For a durable report, draft findings.json only after the three evidence agents finish. Do not launch a fourth review agent. The lead applies the quality gates once, preserves all eligible findings, and fixes any machine-validation failure before rendering.

Report Output — Step 4: Render an Authorized Report

Inline analysis writes nothing. After lead checks pass, treat the draft as the one final findings.json, then render and validate it once:

text
Qoder/Cursor: <mode>=<provider>-canvas; <host-root>=<target>/.<provider>/better-harness
Other providers: <mode>=html; <host-root>=<target>/.<provider>/better-harness
<cli> harness render --findings <run-dir>/findings.json --mode <mode> --out <host-root> --run-dir <run-dir> --target <target> --validate --json

Qoder/Cursor analysis owns adjacent canvas.json; do not copy its summaryFacts into findings. HTML keeps analyzer summaryFacts verbatim. Succeed only on status: pass and return the exact paths reported by render. Never hand-write Canvas, Markdown, or HTML.

Finish with one compact sentence: <count> findings. [Open the report](<renderer-path>). Link the renderer-reported primary report; never return inline-code paths, a bare directory, or an output-file inventory.

Step 5: Follow Up

The durable route authorizes only renderer-owned artifacts in its host root. Other creation, activation, mutation, cleanup, scheduling, external writes, and high-risk access require task-local authority. If an owner or value is unresolved, stop with the condition to resume; do not invent a substitute artifact or inspect internal validators.

© QoderAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 12 other files (references) in skills/better-harness of QoderAI/better-harness.

  • SKILL.md
  • references/agent-customize.md
  • references/asset-demand-reconciliation.md
  • references/finding-bound-fix.md
  • references/findings-review.md
  • references/manual-direct-fix.md
  • references/project-harness.md
  • references/report-source-review.md
  • references/session-evidence.md
  • references/session-repeated-workflows.md
  • references/support-bootstrap.md
  • references/support-operationalize.md
  • references/support-optimize.md

Open the folder on GitHubat commit 34899f3

Compare with similar skills

Better Harness next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Better Harness compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Better Harness this skillQoderAI/better-harness2.4k—~3kAutomated safety check: PassMIT
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official37k11 repos~4.1kAutomated safety check: NotesApache-2.0
Claude Code Agent Developmentanthropics/claude-plugins-official37k8 repos~2.8kAutomated safety check: PassApache-2.0
Claude Code Skill Developer Guidediet103/claude-code-infrastructure-showcase10k10 repos~3.5kAutomated safety check: PassMIT
Plugin Settings Patternanthropics/claude-plugins-official37k7 repos~3kAutomated safety check: PassApache-2.0
MCP Integration for Pluginsanthropics/claude-plugins-official37k11 repos~3.1kAutomated safety check: PassApache-2.0

Similar skills

  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    37k GitHub starsUsed in 11 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    37k GitHub starsUsed in 8 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Skill Developer Guide

    diet103/claude-code-infrastructure-showcase

    A guide to creating and managing Claude Code skills with auto-activation: skill-rules.json triggers, hooks, enforcement levels, YAML frontmatter and progressive disclosure.

    10k GitHub starsUsed in 10 repos~3.5k tokens
    Agent WorkflowsAuto-check passed
  • Plugin Settings Pattern

    anthropics/claude-plugins-official

    Official

    Shows how Claude Code plugins keep per-project settings and state in .claude/plugin-name.local.md files with YAML frontmatter and a markdown body.

    37k GitHub starsUsed in 7 repos~3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    37k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Command Development

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code slash commands: Markdown files with YAML frontmatter, arguments, file references, bash context and interactive prompts.

    37k GitHub starsUsed in 10 repos~4.8k tokens
    Agent WorkflowsAuto-check passed

More from QoderAI/better-harness

All 11 skills in this repo
  • Intent Correlation Analysis

    QoderAI/better-harness

    Analyze a bounded IntentCorrelationPacketV1 and propose reviewable links among user inputs, execution slices, change units, commits, artifacts, and validation outcomes.

    2.4k GitHub stars~1.2k tokensUpdated 9 days ago
    Auto-check passed
  • Generate Harness Dsl

    QoderAI/better-harness

    Generate, revise, or review complete Harness as Code .harness files when a coding-agent workflow, agent role, skill, tool contract, MCP connection, runtime, or deployment must be compiler-valid and…

    2.4k GitHub stars~761 tokensUpdated 9 days ago
    Auto-check passed
  • Harness Skill Creator

    QoderAI/better-harness

    A skill your agent uses when bootstrapping or tightening the smallest harness-oriented skill from an existing repository, workflow, evaluation corpus, or harness-analysis chain.

    2.4k GitHub stars~844 tokensUpdated 9 days ago
    Auto-check passed
  • Skill Review

    QoderAI/better-harness

    A skill your agent uses when reviewing Codex, Qoder, or repo-local skills and their prompt chains for trigger quality, workflow clarity, progressive disclosure, duplicated instructions, template…

    2.4k GitHub stars~802 tokensUpdated 9 days ago
    Auto-check passed
  • Diagnose Backend Bug

    QoderAI/better-harness

    Diagnose a bounded backend or multi-service failure from GitHub Issues, Jira, Aone, user-provided exports, logs, traces, responses, stack traces, or job records.

    2.4k GitHub stars~1.2k tokensUpdated 9 days ago
    Auto-check passed
  • Reproduce Frontend Bug

    QoderAI/better-harness

    Build a bounded, replayable browser or UI bug reproduction from GitHub Issues, Jira, Aone, user-provided exports, screenshots, videos, comments, or attachments.

    2.4k GitHub stars~1.3k tokensUpdated 9 days ago
    Auto-check passed

Categories

Questions about Better Harness

What does Better Harness do?

A skill your agent uses when /better-harness reviews the outer coding-agent Harness for lifecycle controls, repeated work, project feedback, agent assets, session outcomes, repair planning, durable…. Better Harness is an agent skill from QoderAI/better-harness. Use when /better-harness reviews the outer coding-agent Harness for lifecycle controls, repeated work, project feedback, agent assets, session outcomes, repair planning, durable reports, finding-bound fixes, or manual direct fixes.

When should I use Better Harness?

Better Harness fits situations like: /better-harness reviews the outer coding-agent Harness for lifecycle controls; project feedback; session outcomes; repair planning.

How do I install Better Harness in Claude Code?

Run `npx skills add QoderAI/better-harness --skill better-harness -a claude-code`. Or copy the skill folder (skills/better-harness in QoderAI/better-harness) into .claude/skills/better-harness in your project. Claude Code loads it when a task matches its description.

How do I install Better Harness in Codex?

Run `npx skills add QoderAI/better-harness --skill better-harness -a codex`. Or copy the skill folder (skills/better-harness in QoderAI/better-harness) into .agents/skills/better-harness in your project. Codex loads it when a task matches its description.

Can I use Better Harness in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add QoderAI/better-harness --skill better-harness -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/better-harness, .gemini/skills/better-harness, .github/skills/better-harness and .opencode/skills/better-harness in your project.

What does Better Harness need to run?

SKILL.md names no scripts, command-line tools or credentials: Better Harness is instructions for the agent only.

Does Better Harness access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Better Harness safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Better Harness use?

Better Harness is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Better Harness use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 13k tokens, read only when the agent opens those files.

What are the alternatives to Better Harness?

Skills that share tags, products or a category with Better Harness: Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 37k stars), Claude Code Agent Development (anthropics/claude-plugins-official, 37k stars), Claude Code Skill Developer Guide (diet103/claude-code-infrastructure-showcase, 10k stars) and Plugin Settings Pattern (anthropics/claude-plugins-official, 37k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Better Harness?

QoderAI (a GitHub organization) maintains it in QoderAI/better-harness, which has 2,363 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on September 28, 2026.

Source: QoderAI/better-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.