Skill Doctor
SkillAI & models"Use to audit Agent Skills catalogs or installed skill roots for metadata and doc-link issues; optionally apply conservative --fix-safe repairs."
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Skill Doctor skill
What this skill tells your AI
The instructions your AI receives, as published by paulrberg/agent-skills in skills/skill-doctor/SKILL.md and read by ahel’s review.
Use ai-skillet's canonical validator for the supported extended skill dialect to audit local catalogs and installed skill roots, then apply only narrow metadata repairs when requested.
Arguments
--root PATH: Scan this catalog or installed skill root. Repeatable. Default: current working directory.--format text|json: Select report format. Default:text.--fix-safe: Create missingagents/openai.yamlfiles or update mismatchedpolicy.allow_implicit_invocation.--dependencies-only: Report only malformed or unresolvedskill-dependenciesdeclarations. Do not combine with--fix-safe.
Workflow
-
Require
ai-skillet0.1.0 or newer onPATH, then run:ai-skillet doctorAppend each parsed invocation option and its value as separate arguments, preserving quoted values. For example,
--root '/path with spaces' --format jsonadds two options; use the argument-free form for the defaults. -
Use JSON when another command or agent will consume the result:
ai-skillet doctor --root . --format json -
Run safe fixes only after reading the findings:
ai-skillet doctor --root . --fix-safe -
Re-run without
--fix-safeafter any manual edits.
For a dependency-only catalog gate, run:
ai-skillet doctor --root . --dependencies-only
Findings
- Treat
errorfindings as catalog defects that should block publishing or syncing. - Treat
warningfindings as review-required catalog hygiene issues. - JSON output uses schema version 1 with structured roots, counts, findings, and safe-fix records. Each finding carries its code, severity, path, line when known, fixability, and message.
- Frontmatter validation accepts the portable Agent Skills fields, Claude Code extensions, and repository extensions as
one supported union. It reports unknown top-level fields; invalid field, item, and metadata-value types; invalid
enumerated values; and
agentorbackgroundused withoutcontext: fork. - Explicit
disable-model-invocation: falseanduser-invocable: trueproduce redundant-default warnings. Omit those fields to preserve the same effective defaults. - Prompt-hygiene warnings are advisory and never auto-fix: stale model pins, oversized unconditional Markdown references, conflicting requirement/prohibition language, and missing completion evidence.
- Coordination-exemption errors are report-only:
coordination: exemptmust be paired with the catalog's canonicalcoordination-exemptsentence in ordinary Markdown prose. Inline code, fenced or indented code, blockquotes, and headedExampleorExamplessections do not count as declarations. Neither side is repaired by--fix-safe. - Dependency errors reject non-array, empty, non-string, duplicate, malformed, incorrectly ordered, self-referential, or
unresolved local declarations. External
ORG/REPO#SKILLidentifiers are shape-checked without network access. - Metadata, OpenAI policy, coordination, resource, README, prompt-hygiene, and CLI-version checks remain available
outside
--dependencies-only. - Use
pathandlinefrom JSON output for precise follow-up edits.
Safe Fix Policy
--fix-safe may only:
- Create a missing
agents/openai.yamlwithpolicy.allow_implicit_invocationderived fromSKILL.md. - Update an existing
allow_implicit_invocationboolean when it disagrees withdisable-model-invocation.
Each permitted repair is staged and atomically renamed into place, preserving the target's permissions for updates. A failed safe fix exits 3 without partially rewriting its target.
--fix-safe does not rewrite frontmatter, descriptions, README rows, references/version.txt, or relative links.
Unknown fields, invalid types or values, cross-field errors, redundant defaults, and coordination declarations are
report-only. Make those edits manually and verify with a fresh audit.
Related Skills
skill-doctoronly audits the roots you pass; it does not search for them. To locate skill installs, duplicates, and cross-references across the machine, useai-skillet map.
Exit Codes
0: Clean, or all requested safe fixes succeeded and no findings remain.1: The audit completed and findings remain; report them as review work, not as an operational crash.2: Invalid arguments or unreadable environment.3: A requested safe fix failed.
User-Facing Output
Keep --format json byte-valid and undecorated. For human output, lead with ### 🩺 Skill Doctor — ✅ clean,
### 🩺 Skill Doctor — ⚠️ review required, or ### 🩺 Skill Doctor — ⛔ blocked for exit 2/3, then show roots and
error/warning/fix counts in a compact table. List safe fixes separately from remaining findings. For review-required or
blocked outcomes, end with the smallest manual next action; for a clean result, stop after the summary. Keep paths, line
numbers, codes, raw findings, commands, and diagnostics exact.
Signals
- GitHub stars
- 70
- Forks
- 3
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
skill-doctor-paulrberg- Source
- github.com/paulrberg/agent-skills