
Spent the last few weeks building a linter for Claude AI skills - first public release
Been building this as a side project for the last couple of weeks and finally pushed it public: "doodle", a Python static linter for Claude SKILL.md files.
Repo: https://github.com/krishyaid-coder/doodle
Why: Anthropic shipped a new format called SKILL.md for extending Claude with custom skills. 5,000+ have been published across community marketplaces by mid-2026. And there's no quality bar..Anthropic's own issue tracker says 80% of trigger failures come from vague descriptions, but no tool existed for it. Felt like a small enough gap to actually ship something useful in.
What I built:
12 static rules grounded in Anthropic's official docs + real-world data
A custom rule engine so teams can add their own via `.doodle.toml` (no Python needed)
Auto-fix for the safest rules
SARIF output so it plugs into GitHub code scanning
A trigger-accuracy eval mode that wraps Promptfoo's `skill-used` assertion
A VS Code extension for real-time diagnostics as you edit
The hardest part was actually the ruleset design where every rule needed a citation to Anthropic docs or a real community issue. No "I think this is bad." I ended up sampling 62 popular published skills and grading them. 82% had at least one quality finding, including Anthropic's own first-party skills. Report is in the repo.
What surprised me: how much of the value ended up being in the "why" docs and the honest acceptance-criteria and not the code itself. If none of my three success signals hit in 6 months, I'll say so publicly. Wrote that into the README.
Would love feedback on the ruleset. MIT.