Not in the top 1,000 by GitHub stars
agent-clinic/claude-md-doctor
Give your CLAUDE.md / AGENTS.md a checkup — audit size vitals, dead references, drifted claims, and backtest every rule against your own session history to see which rules get followed, ignored, or never used. A doctor-style report that cites its evidence.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/claude-md-doctor/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 749206557f24
No earlier version was observed for comparison.
Verified commit 749206557f24531865cd9761f013ce7ea42291c9
git clone --filter=blob:none --no-checkout https://github.com/agent-clinic/claude-md-doctor.git .hotskills/agent-clinic-claude-md-doctor && git -C .hotskills/agent-clinic-claude-md-doctor checkout --detach 749206557f24531865cd9761f013ce7ea42291c9
# Copy each selected skill directory from .hotskills/agent-clinic-claude-md-doctor into .claude/skills/<skill-name>/Heat
0.3- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- claude-md-doctor
skills/claude-md-doctor
How it works
claude-md-doctor
When your agent uses it
Give this repo's CLAUDE.md / AGENTS.md a checkup — size vitals vs official guidance, dead references, dead commands, stale claims — then backtest every rule against the repo's own Claude Code session history to see which rules were actually followed, ignored, or never used, and produce a doctor-style HTML report with evidence-cited prescriptions. Use when asked to check, diagnose, audit, review, improve, optimize, lint, grade, fix, clean up, shorten, or "doctor" CLAUDE.md, AGENTS.md, or agent instruction/memory files, or to find out whether CLAUDE.md rules actually work. Also use when a repo has NO memory file and the user wants one — "write/generate/suggest a CLAUDE.md (or hooks) from my sessions" — the skill mines the repo's real session history and drafts a proposed file with receipts.
What it loads into context
Frontmatter
208 tokensAlways available to the agent
SKILL.md
6,176 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Stage 0 — preflight
- Stage 1 — intake
- Stage 2 — vitals
- Stage 3 — records check
- Stage 4 — history backtest
- Stage 5 — diagnosis (your judgment, written to a file)
- Stage 6 — report
- Mode B — the chart-less patient (no memory file? mine one)
- Conduct
Scripts executed separately
scripts/_common.pyscripts/backtest.pyscripts/card.pyscripts/compile.pyscripts/generate.pyscripts/intake.pyscripts/mine.pyscripts/refcheck.pyscripts/report.pyscripts/sessions.pyscripts/vitals.py
Files
../../.claude-plugin/marketplace.jsonasset655 bytes../../.claude-plugin/plugin.jsonasset834 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesSKILL.mdcore25,312 bytesscripts/_common.pyruns4,536 bytesscripts/backtest.pyruns18,355 bytesscripts/card.pyruns13,456 bytesscripts/compile.pyruns8,948 bytesscripts/generate.pyruns7,488 bytesscripts/intake.pyruns12,405 bytesscripts/mine.pyruns20,461 bytesscripts/refcheck.pyruns10,634 bytesscripts/report.pyruns38,185 bytesscripts/sessions.pyruns8,821 bytesscripts/vitals.pyruns6,716 bytestemplates/report.htmlasset10,203 bytes
Read SKILL.md
# CLAUDE.md Doctor — exam procedure
You are running a checkup on this repository's agent-instruction files. The
deterministic work lives in scripts; your job is the judgment between them.
Do not re-derive what a script already measured, and do not skip a stage — the
report verifies the work-state manifest and will disclose skipped stages.
Definitions used below:
- `SCRIPTS` = `${CLAUDE_SKILL_DIR}/scripts` — Claude Code substitutes
`${CLAUDE_SKILL_DIR}` with this skill's own directory at run time, so the
scripts resolve no matter the working directory or how the skill was
installed. Use it literally; do not try to locate the skill yourself.
- `REPO` = the repository to examine (the argument if one was given, else the
current working directory).View the complete source on GitHubSkills included
- claude-md-doctor
Repository facts
- License
- MIT
- Created
- Aug 25, 2026
- Last pushed
- Aug 30, 2026
- Forks
- 2
- Open issues
- 0
- Project activity
- Slowing
Before you install
Local scriptsAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 23 notes
skills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/claude-md-doctor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 39 network referencesin 4 files: claude-md-doctor/scripts/report.py:47 claude-md-doctor/scripts/card.py:133 .claude-plugin/plugin.json:6 and 1 more
- No hidden or obfuscated text
- No instruction overrides
- 11 executable scriptsin 11 files: claude-md-doctor/scripts/_common.py:1 claude-md-doctor/scripts/backtest.py:1 claude-md-doctor/scripts/card.py:1 and 8 more
- 1 reference to secretsin 1 file: claude-md-doctor/scripts/refcheck.py:27
- No requests to vote in Hot
Show all 51 signals by file
.claude-plugin/plugin.json
skills/claude-md-doctor/scripts/_common.py
- Executable scriptline 1
Executable file
skills/claude-md-doctor/scripts/backtest.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/claude-md-doctor/scripts/card.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 133
return """<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 418"> - Network accessline 160
label, value = "CLAUDE.md checkup", "grade %s" % grade lw, vw = 10 + len(label) * 7, 10 + len(value) * 7 return """<svg xmlns="http://www.w3.org/2000/svg" width="%d" height="20" role="img" aria-label="%s: %s"> - Network accessline 161
lw, vw = 10 + len(label) * 7, 10 + len(value) * 7 return """<svg xmlns="http://www.w3.org/2000/svg" width="%d" height="20" role="img" aria-label="%s: %s"> <clipPath id="r"><rect width="%d" height="20" rx="3"/></clipPath> - Network accessline 162
return """<svg xmlns="http://www.w3.org/2000/svg" width="%d" height="20" role="img" aria-label="%s: %s"> - Network accessline 275
print("badge: %s" % badge_path) print("badge snippet: []" "(https://github.com/agent-clinic/claude-md-doctor)" - Network accessline 276
print("badge snippet: []" "(https://github.com/agent-clinic/claude-md-doctor)" % os.path.basename(badge_path)) - Network accessline 277
"(https://github.com/agent-clinic/claude-md-doctor)"
skills/claude-md-doctor/scripts/compile.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/claude-md-doctor/scripts/generate.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/claude-md-doctor/scripts/intake.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/claude-md-doctor/scripts/mine.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/claude-md-doctor/scripts/refcheck.py
skills/claude-md-doctor/scripts/report.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 47
CITATIONS = { "official-200": ("Claude Code memory doc — “Size: target under 200 lines per CLAUDE.md file. Longer files consume more context and reduce adherence.”", "https://code.claude.com/docs/en/memory"), - Network accessline 48
"official-200": ("Claude Code memory doc — “Size: target under 200 lines per CLAUDE.md file. Longer files consume more context and reduce adherence.”", "https://code.claude.com/docs/en/memory"), - Network accessline 49
"official-best-practices": ("Claude Code best practices — deletion test; “Bloated CLAUDE.md files cause Claude to ignore your actual instructions!”; sparse emphasis.", "https://code.claude.com/docs/en/best-practices"), - Network accessline 50
"official-hooks": ("Claude Code memory doc — CLAUDE.md is “context, not enforced configuration”; use a PreToolUse hook to block an action regardless.", "https://code.claude.com/docs/en/memory"), - Network accessline 51
"official-4mib": ("Claude Code memory doc — a CLAUDE.md over 4 MiB is skipped entirely.", "https://code.claude.com/docs/en/memory"), - Network accessline 52
"official-40k": ("Claude Code troubleshooting — startup warning at 40,000 characters of memory content.", "https://code.claude.com/docs/en/troubleshooting"), - Network accessline 53
"eth": ("Gloaguen et al. (ETH Zurich), “Evaluating AGENTS.md” (v2): context files cost +20–23% inference with no significant success change; agents measurably comply with explicit directives; “describe only minimal requirements.”", "https:/ - Network accessline 54
"mcmillan": ("McMillan, factorial study of 1,650 Claude Code sessions: no detectable structural effect of file size/position/contradictions in tested range; within-session adherence decay ≈ 5.6%/function.", "https://arxiv.org/abs/2605.10039 - Network accessline 55
"ifscale": ("IFScale: adherence 98.4% at 100 instructions → 84.8% at 250 → 68.9% at 500; errors shift to silent omission.", "https://arxiv.org/abs/2507.11538"), - Network accessline 56
"agentif": ("AGENTIF (NeurIPS 2025): best model satisfies all constraints of an agentic instruction 27.2% of the time; ≈0 past 6,000 words.", "https://arxiv.org/abs/2505.16944"), - Network accessline 57
"sysbench": ("SysBench: system-message constraint adherence decays ≈12.8pp/turn over 5 turns (GPT-4o).", "https://arxiv.org/abs/2408.10943"), - Network accessline 58
"levy": ("Levy, Jacoby & Goldberg (ACL 2024): accuracy 0.92 → 0.68 with 3,000 tokens of padding; degradation starts ≈500 tokens.", "https://arxiv.org/abs/2402.14848"), - Network accessline 59
"chroma": ("Chroma “Context Rot”: 18 models degrade with input length even on trivial tasks; focused ~300-token prompts beat 113k-token contexts.", "https://www.trychroma.com/research/context-rot"), - Network accessline 60
"longllmlingua": ("LongLLMLingua (ACL 2024): +21.4% at ~4× prompt compression — cutting filler can raise performance.", "https://arxiv.org/abs/2310.06839"), - Network accessline 61
"caps": ("Dillitzer et al., “Attention is Case-Sensitive”: uppercase shifts +1.85pp accuracy; near-zero on reasoning models; saturation spends the effect.", "https://arxiv.org/abs/2608.03711"), - Network accessline 62
"sigil": ("SIGIL: prose agents perform 56% of the steps their own skill mandates while outputs still pass checks; script-compiled harnesses reach 86%.", "https://arxiv.org/abs/2607.27309"), - Network accessline 63
"trace": ("TRACE: with memory alone, 57.5% of applicable user-preference checks are still violated; compiling corrections into runtime checks cuts violations from 100% to 2–38%.", "https://arxiv.org/abs/2606.13174"), - Network accessline 64
"harness-if": ("Harness-IF: models comply 3.6–7.4pp worse on rules that oppose their unprompted defaults — high compliance on a with-prior rule may be coincidence, not obedience; skill/tool descriptions rank below project files in precedenc - Network accessline 65
"iheval": ("IHEval (NAACL 2025): when instructions conflict, all models drop sharply — the best open-source model resolves conflicts at only 48%. Contradictory rules measurably degrade compliance, and the winner is not reliably the rule you - Network accessline 66
"hierarchy": ("OpenAI Instruction Hierarchy: models are trained to prioritize privileged instructions — a project-file rule that fights trained-in behavior starts at a disadvantage; some rules need hooks because the prior will win.", "https - Network accessline 67
"specbench": ("SpecBench: agents saturate visible checks while holdout gaps grow ~28pp per 10× code size — a check the agent can see may be satisfied without honoring the rule.", "https://arxiv.org/abs/2605.21384"), - Network accessline 68
"agent-readmes": ("“Agent READMEs” (2,303 context files): tests 75.9% / implementation 70.8% / architecture 68.1%; security & performance nearly absent; files accrete without pruning.", "https://arxiv.org/abs/2511.12884"), - Network accessline 69
"cursor-rules": ("Jiang & Nam (MSR 2026), 401 repos: five-theme content taxonomy; ~28.7% duplicated lines across a repo's rules files.", "https://arxiv.org/abs/2512.18925"), - Network accessline 70
"awm": ("Agent Workflow Memory: induced, selectively-loaded workflows +51.1% relative on WebArena — recurring procedures belong in on-demand skills.", "https://arxiv.org/abs/2409.07429"), - Network accessline 71
"unblocked": ("Unblocked, “Audit a bloated CLAUDE.md in 7 steps” — the manual audit this tool automates.", "https://getunblocked.com/blog/audit-fix-bloated-claude-md/"), - Network accessline 72
"surface-bloat": ("“Too Many CLAUDE.md and Skill Files?” — aggregate memory surfaces fail silently (60 files ≈ 64k standing tokens); fixes: consolidate → thin router/index → one-screen invariants + on-demand procedures.", "https://xtrace.ai
skills/claude-md-doctor/scripts/sessions.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/claude-md-doctor/scripts/vitals.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/claude-md-doctor/templates/report.html
- Network accessline 5
<meta name="viewport" content="width=device-width, initial-scale=1"> <title>CLAUDE.md checkup — {{REPO_NAME}}</title> <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='4' y= - Network accessline 6
<title>CLAUDE.md checkup — {{REPO_NAME}}</title> <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='4' y='1' width='4' height='10' fill='%23c0492f'/%3E%3Crect x='1' y='4' wid - Network accessline 7
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='4' y='1' width='4' height='10' fill='%23c0492f'/%3E%3Crect x='1' y='4' width='10' height='4' fill='%23c0492f'/%3E%3C/svg%3E
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 5 facts
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionclaude-md-doctor/scripts/card.py:133High confidence
- Contacts arxiv.org, which SKILL.md, the README and the plugin manifest do not mentionclaude-md-doctor/scripts/report.py:53High confidence
- Contacts www.trychroma.com, which SKILL.md, the README and the plugin manifest do not mentionclaude-md-doctor/scripts/report.py:59High confidence
- Contacts getunblocked.com, which SKILL.md, the README and the plugin manifest do not mentionclaude-md-doctor/scripts/report.py:71High confidence
- Contacts xtrace.ai, which SKILL.md, the README and the plugin manifest do not mentionclaude-md-doctor/scripts/report.py:72High confidence
Signal confidence: 45 facts
- Executable script in prose of a file that runsclaude-md-doctor/scripts/_common.py:1Low confidence
- Executable script in code of a file that runsclaude-md-doctor/scripts/backtest.py:1High confidence
- Executable script in code of a file that runsclaude-md-doctor/scripts/card.py:1High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/card.py:133High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/card.py:160High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/card.py:161High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/card.py:162High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/card.py:275High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/card.py:276High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/card.py:277High confidence
- Executable script in code of a file that runsclaude-md-doctor/scripts/compile.py:1High confidence
- Executable script in code of a file that runsclaude-md-doctor/scripts/generate.py:1High confidence
- Executable script in code of a file that runsclaude-md-doctor/scripts/intake.py:1High confidence
- Executable script in code of a file that runsclaude-md-doctor/scripts/mine.py:1High confidence
- Executable script in code of a file that runsclaude-md-doctor/scripts/refcheck.py:1High confidence
- Access to secrets in code of a file that runsclaude-md-doctor/scripts/refcheck.py:27High confidence
- Executable script in code of a file that runsclaude-md-doctor/scripts/report.py:1High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:47High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:48High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:49High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:50High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:51High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:52High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:53High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:54High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:55High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:56High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:57High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:58High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:59High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:60High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:61High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:62High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:63High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:64High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:65High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:66High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:67High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:68High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:69High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:70High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:71High confidence
- Network access in code of a file that runsclaude-md-doctor/scripts/report.py:72High confidence
- Executable script in code of a file that runsclaude-md-doctor/scripts/sessions.py:1High confidence
- Executable script in code of a file that runsclaude-md-doctor/scripts/vitals.py:1High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/claude-md-doctor/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/claude-md-doctor/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/claude-md-doctor/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/claude-md-doctor/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/claude-md-doctor/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.