SkillDoctor
Linter and security scanner for agent skill files
Lints Claude Code SKILL.md, AGENTS.md, and subagent files: 25 rules, an A–F grade, prompt-injection and secret-leak detection, --fix, SARIF, and a GitHub Action. The CLI command is skilldoctor (the npm package is scoped). 91 tests, MIT, TypeScript.
What it solves
Agents now install skill and instruction files the way software installs packages, and nothing checks them. A skill file is plain text that an agent will treat as instructions, which means an injected line inside one is not a code smell, it is an executed command. There was no eslint for this.
How it works
It reads the skill, agent and subagent files in a directory and reports findings with line and column, the way a linter does, then grades each file. The rules cover two sides: the formal ones, such as an invalid name, and the security ones, such as text shaped like an instruction override or an outbound network call sitting next to secrets and environment values. It runs straight from npx with no install.
When to use it
Run it over any skill directory you did not write yourself, and put it in CI for the ones you did. A skill that arrives from outside deserves the same scrutiny as a dependency, and this is the cheapest way to give it that.
When not to use it
It reads text, so it recognises shapes rather than intent. A carefully worded instruction that looks like ordinary documentation will pass, and a legitimate skill that happens to describe an attack pattern may be flagged. Read the findings, do not gate blindly on the grade.
Stars
★ 1
installs
↓ 567
Clones (14d)
⊟ 50
Language
TypeScript
Updated
2026-08-21
Install
npx -y @studiomeyer-io/skilldoctor