skill-doctor
Skill7 starsChanged 7 days agoMITView on GitHub
Health-check other skills and review agent-workflow architecture (manual trigger only, v2.0). Use when asked to review a skill, run a deletion test, slim a skill down, or check whether an old skill is holding back a newer model; also 体检这个 skill / 帮我 review 一下 xxx skill. Five gates: runtime reality, trigger, structure, Deletion/Delegation/Scaffold, transaction & recovery. Diagnose-only - never edits without a second explicit go-ahead.
27 other projects use a version of this.
Adopted by
Most recently taken up by
- compozy/compozytheir own version, first seen Nov 7, 2026
- qiangjiyi/jiyi-skillstheir own version, first seen Nov 4, 2026
- arthjean/skillstheir own version, first seen Nov 1, 2026
- jongio/skillstheir own version, first seen Nov 1, 2026
- warpdotdev/common-skillstheir own version, first seen Oct 20, 2026
- forgeron-AI/claude-skill-doctortheir own version, first seen Oct 20, 2026
Used with
Projects with it also use herdr, diagnosing-bugs and 4 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ninehillsSkillherdr
Control herdr from inside it. Manage workspaces and tabs, split panes, run commands, read output, and wait for state changes — all via CLI commands that talk to the running herdr instance over a local unix socket. Use when running inside herdr (HERDR_ENV=1).
Also in 3 projects that use this
GoogleSkilldiagnosing-bugs
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.
Also in 3 projects that use this
NVIDIASkillresearch
Before designing a feature, research how comparable libraries solve the problem, check best practices, known pitfalls, and upstream changes. Use when starting a new feature, investigating an unfamiliar area, or the user asks to research something.
Also in 4 projects that use this
SentrySkillsecurity-review
Finds exploitable application security vulnerabilities in code changes. Use for Warden security scans, appsec review, OWASP-style checks, authentication or authorization bugs, injection, XSS, SSRF, path traversal, secrets, unsafe crypto, webhook verification, open redirects, or sensitive data exposure.
Also in 3 projects that use this
GoogleSkillgrill-me
A relentless interview to sharpen a plan or design.
Also in 4 projects that use this
MicrosoftSkillhandoff
Compact the current conversation into a handoff document for another agent to pick up.
Also in 3 projects that use this
Other versions27 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 27
- nyldn/claude-octopus★ 4.4ksame name
- compozy/compozy★ 2.9ksame name
- dotCMS/core★ 971same name
- warpdotdev/common-skills★ 630same name
- mintuz/skills★ 33same name
- jongio/skills★ 18same name
- evilstar2016/skill-doctor★ 15same name
- Yassimba/loom★ 9same name
- IbrahimSobh/AISkills★ 7same name
- arthjean/skills★ 3same name
17 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repositoryOne other file it gives its agents.
- skill-doctorSkill
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 4 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 24 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Gate 2 · Refactor: after the report, wait for the user to say "refactor / optimize / go ahead" before touching anything.
- Distinctive: line 23
When the user is new, or asks "which skills need a checkup?":
- Very specific: line 25
Run the triage scan: bash ~/.claude/skills/skill-doctor/scripts/scan-skills.sh [skills_dir ...] (defaults to ~/.claude/skills.
- Very specific: line 31
Read the target SKILL.md fully first (read long files in segments.
- Very specific: line 52
Run every passage through three questions (verdict wording in references/checklist.md):
- Distinctive: line 53
Deletion Test (does it matter?): delete it - does behavior change?
- Very specific: line 56
Reverse protection: keep leading phrases that anchor a whole way of working (e.g.
- Distinctive: line 61
Idempotency: if delivery succeeds but archiving fails, does a persisted receipt stop the rerun from sending twice?
- Very specific: line 66
Use the format in references/report-template.md.
“Common” is measured: kept by at least 6 in 10 of the 24 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill Doctor 2.0 - Agent-workflow architecture & skill checkup
How the method evolved:
- v1.0 (Matt Pocock, Building Great Agent Skills: The Missing Manual): prompt slimming - who triggers it → steps vs. reference material → Deletion Test.
- v2.0 (practical extension): from "prompt editor" to "agent-workflow architecture reviewer". Adds four defenses: runtime-reality alignment, model/script/runtime ownership, scaffold re-check after model upgrades, and multi-exit transaction recovery.
Language: write the report in the user's language (English in, English out; Chinese in, Chinese out). The table structure stays the same.
🔒 Two consent gates (highest rule - never cross)
- Gate 1 · Checkup: once the target skill is confirmed, only read, only verify runtime state, only write the report. Never modify a file.
- Gate 2 · Refactor: after the report, wait for the user to say "refactor / optimize / go ahead" before touching anything. No go-ahead, no edits.
A report is not authorization. Even when the problem is obvious, give the recommendation and wait. A refactor only touches the target skill's directory and its own scripts - never the user's other content or data.
Onboarding (when the user doesn't know which skill to check)
When the user is new, or asks "which skills need a checkup?":
- Run the triage scan:
bash ~/.claude/skills/skill-doctor/scripts/scan-skills.sh [skills_dir ...](defaults to~/.claude/skills; project-level skills live in<project>/.claude/skills- pass that too). It prints a table ranked by risk × complexity: lines / split out? / side-effect risk score / days since edit. - Pick the 🔴🟠 items - especially short skills with scheduled / outbound / state-writing side effects (hidden high-risk), and skills whose underlying model just changed - then ask the user which ones they actually use most (the filesystem can't show real usage frequency) before recommending.
- Once they choose, run the checkup below. Always stop at Gate 1; refactoring waits for Gate 2.
Checkup flow (adapts to the skill's type)
Read the target SKILL.md fully first (read long files in segments; include scripts/ and references/ when relevant), then run the gates:
- Pure writing / read-only research skills: focus on gates 1, 2, 3 (re-check taste-type prose and model scaffolding).
- Scheduled / outbound / state-writing / cross-system skills: run all of gates 0-4.
Gate 0: Runtime Reality Check
Principle: a skill's doc states intent; the run ledger is production fact.
- Who really triggers it? Check hooks config, scheduled jobs (cron / launchd / cloud routines / CI), and routing in
CLAUDE.mdor other entry files. - Is there two-sources-of-truth drift? Model names, thresholds (e.g. "minimum N sources"), and delivery targets in the skill vs. in the job payload / validation script.
- What do recent runs show? After a recent failure or model upgrade, look at logs / session history for the real sticking point instead of guessing.
Gate 1: Who triggers it (entry design)
- Decide auto-trigger (frequent, low-risk, clear boundary) vs. manual / controlled (rare, high-impact, needs judgment about timing).
- Is the
descriptiontrigger phrase clear and consistent with the real trigger phrase elsewhere (CLAUDE.md, etc.)? Entry truth converges in one place; strip unrelated instructions leaked in from other systems. - Remember: every auto-trigger skill's description sits in context permanently - a real token cost.
Gate 2: Structure (steps vs. reference vs. mechanical scripts)
- The main file keeps core decision steps and pointers to branches. Target: readable in ten minutes.
- Templates, long lists, command dictionaries used in only one branch → move to
references/, leave one pointer. - Mechanical operations with fixed input/output (format validation, word counts, fixed-parameter delivery, state updates) → move to
scripts/; don't teach the model to hand-type long shell strings.
Gate 3: Three-way test (Deletion / Delegation / Scaffold)
Run every passage through three questions (verdict wording in references/checklist.md):
- Deletion Test (does it matter?): delete it - does behavior change? If not, it's a no-op / duplicate / sediment: delete or merge.
- Delegation Test (who owns it?): does this step need open-ended judgment or taste (keep with the model), deterministic execution (give to a script), or lifecycle / fallback reporting (give to the runtime / scheduler)? Never make the model hand-simulate a complex API client (e.g. hand-assembling a JSON argument with thousands of characters of body text).
- Scaffold Test (generation fit): does this rule bound the final outcome (keep forever: evidence gates, red lines), or is it process scaffolding built for a weaker earlier model (rigid word-count fiddling, step-by-step parameter teaching)? After a model upgrade, keep the outcome gates and remove the process straitjacket.
- Reverse protection: keep leading phrases that anchor a whole way of working (e.g.
fail-closed,polished report is not evidence, or Pocock'svertical slice,read first,deletion test).
Gate 4: Transaction & Recovery Test
Only for skills with external side effects (sending messages, writing notes/databases, changing state/git):
- Commit order: strictly
generate → validate → deliver → confirm receipt → archive → commit state? Which step is the final commit marker? - Idempotency: if delivery succeeds but archiving fails, does a persisted receipt stop the rerun from sending twice?
- Honest failure: is "delivery failed but state was updated" ("zombie success") ruled out?
Output: the checkup report
Use the format in references/report-template.md.
Refactor & acceptance (only after Gate 2)
Once the user explicitly agrees:
- Back up:
cp SKILL.md SKILL.md.bak-<date>first (plus any script you'll change). - Order of work: pull mechanical steps into deterministic scripts > align with runtime truth > split reference material > remove old-model scaffolding > merge duplicates and delete no-ops.
- Acceptance matrix (not just line count):
- compare main-file line count, and
grepto confirm key leading phrases and red lines survived; - new or changed scripts get
bash -nand a--dry-runrouting/gate check; - record which responsibilities moved from model to script/runtime, and name what to watch on the next real run.
- compare main-file line count, and
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

