harness-doctor

harness-doctor is a skill for Claude Code from ShipWithAI/shipwithai-plugins. It costs 45 tokens per session (715 once invoked), scanned A, original, MIT.

A diagnostic tool for a Claude Code harness—the project files, permissions, and automated hooks that guide Claude while it works. It checks CLAUDE.md, settings.json, hooks, and whether the setup matches the project stack.

In plain words
What is it for?
For checking a harness after setup, a project move, a repository clone, or a tool upgrade, then producing a scored report with fixes.
Why use it?
It helps explain why Claude may ignore instructions, fail to run hooks, or have unsafe or inconsistent settings.

Skill for Claude Code

Written for Claude Code: $ARGUMENTS substitution. Also seen: reads .claude/ paths; mentions CLAUDE.md; mentions Claude Code.

Part of the shipwithai-harness plugin — 2 skills shipped together

Good fit For checking a harness after setup, a project move, a repository clone, or a tool upgrade, then producing a scored report with fixes.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/shipwithai/shipwithai-plugins/harness-doctor
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add ShipWithAI/shipwithai-plugins --skill harness-doctor
Clone the repo
git clone --depth 1 https://github.com/ShipWithAI/shipwithai-plugins

Made for: Claude Code.

Or install shipwithai-harness, the plugin that ships this one along with the rest of its 2 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for harness-doctor

README.md
[![agentmods](https://agentmods.dev/badge/skills/shipwithai/shipwithai-plugins/harness-doctor/github.svg)](https://agentmods.dev/skills/shipwithai/shipwithai-plugins/harness-doctor)
Your own site
<a href="https://agentmods.dev/skills/shipwithai/shipwithai-plugins/harness-doctor"><img src="https://agentmods.dev/badge/skills/shipwithai/shipwithai-plugins/harness-doctor/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for harness-doctor

Your own site · 80×15
<a href="https://agentmods.dev/skills/shipwithai/shipwithai-plugins/harness-doctor"><img src="https://agentmods.dev/badge/skills/shipwithai/shipwithai-plugins/harness-doctor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 45 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 715 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00045 $0.00715
Opus 5 $0.00023 $0.00358
Sonnet 5 $0.00009 $0.00143
Haiku 4.5 $0.00005 $0.00072

Measured 10d ago against content hash 8805162f2dcc, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

harness-doctor scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

| **Permission** | .claude/settings.json exists, valid JSON, has deny block, curl/npx not hard-denied |
plugins/harness/skills/harness-doctor/SKILL.md · 89 lines

How it starts

The opening of the file, as written. The whole thing — 89 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Harness Doctor

Diagnostic tool for existing Claude Code harness setups. Detects missing files, misconfigured permissions, broken hook wiring, and stack mismatches. Produces a scored health report with actionable fixes.

When to Use

  • After running harness-setup — final validation
  • Harness seems to not be working (Claude ignoring CLAUDE.md or hooks)
  • After moving a project or cloning a repo — check hooks are executable
  • Periodic health check

Step 1: Detect Stack (SILENT)

Run same detection as harness-setup Step 0. Same token auto-fill logic.

Show scan summary before proceeding:

🔍 Harness Doctor — Scanning project...

Stack:    Next.js (Next.js 14.2.18)
Detected: CLAUDE.md ✓  settings.json ✓  hooks/ ✓

Step 2: Run Diagnostic Checks

Run all 4 categories unless $ARGUMENTS specifies one. Read references/doctor-checks.md for full check details per category.

Category Key checks
Memory CLAUDE.md exists, < 200 lines, no unfilled {{TOKEN}}, Last verified < 90 days old
Permission .claude/settings.json exists, valid JSON, has deny block, curl/npx not hard-denied
Hooks validate-command.py + protect-files.py exist, executable, wired in settings.json
Stack detected stack matches CLAUDE.md stack line, commands exist in project

Step 3: Health Report

╔══════════════════════════════════════════════════╗
║        🛡️ Harness Doctor — Health Report          ║
╠══════════════════════════════════════════════════╣
║ Stack:   Next.js                                 ║
║ Score:   11/12 checks passed                     ║
╚══════════════════════════════════════════════════╝

Category          Status    Issues
──────────────────────────────────
1. Memory           ✅       0
2. Permission       ⚠️        1 warning
3. Hooks            ❌       1 critical
4. Stack            ✅       0

──── CRITICAL ────────────────────

❌ .claude/hooks/validate-command.py not executable
   Fix: chmod +x .claude/hooks/validate-command.py

──── WARNINGS ────────────────────

⚠️  CLAUDE.md Last verified: 2026-01-15 (114 days ago)
   Recommendation: Review and update to reflect current project state

Read the full file on GitHub · 89 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 89 lines · 45 tokens per session scan A 8805162f2dcc

Subscribe to this mod's changes

harness-doctor is a skill published in the GitHub repository ShipWithAI/shipwithai-plugins (10 stars, last pushed 28d ago), licensed MIT. It adds 45 tokens to every session and 715 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

systemic-issue-triage

Trigger: new issue, bug report, triage, backlog, issue flood, community report, root cause, dead-end, blocked user. Attack issues by root class, never one-by-one; fixes must shrink the system, not grow it.

Gentleman-Programming/gentle-ai · 57 tokens

ring:searching-code

Forensic code search and analysis with optional Chain of Draft (CoD) ultra-concise mode. Five-phase methodology (clarification, planning, execution, analysis, synthesis) with severity assessment. Use for targeted investigation of specific patterns, bugs, or vulnerabilities. Skip for broad architecture mapping (use…

LerianStudio/ring · 74 tokens

ring:using-assert

Using lib-observability/assert, Lerian's runtime assertion package, in two modes. Sweep Mode detects panic()/log.Fatal zero-panic violations, DIY invariant checks, hand-rolled domain predicates, and missing InitAssertionMetrics. Reference Mode catalogs the asserter lifecycle, domain predicates, observability trident…

LerianStudio/ring · 99 tokens

ring:fixing-lint

Fixing lint to a clean state: runs the linter, groups reported issues into independent streams, and dispatches one parallel fixer agent per stream (ring:backend-go for Go, ring:general-purpose otherwise), iterating until clean. Use when a codebase has lint errors across multiple files. Skip for a single error (fix…

LerianStudio/ring · 96 tokens

mcp-check

Validate MCP configuration and suggest improvements. Use when MCP servers fail to load, after editing .mcp.json, or when the user runs /mcp-check.

claude-world/director-mode-lite · 36 tokens

cheese

Route an idea, path, pull request, issue, failure, question, or bare /cheese to the correct workflow skill. Use this skill for /cheese, routing requests, help requests, or opening messages without a named workflow skill.

paulnsorensen/easy-cheese · 53 tokens