cd /news/ai-agents/i-scanned-35-real-skill-md-files-16-… · home › topics › ai-agents › article
[ARTICLE · art-165492] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=· neutral

I scanned 35 real SKILL.md files — 16 tripped a rule, 10 of them Anthropic's official skills

The SkillSentry team scanned 35 public SKILL.md files with its static rule layer and found 16 that tripped at least one rule, including 10 of Anthropic's official skills and all four that earned a "dangerous" verdict. The 161-millisecond scan produced 36 findings — one critical, 16 high, seven medium and 12 low — with the single critical hit landing on Anthropic's skill-creator skill for SS-005, which flags instructions smuggled through channels a skimming human reads as boilerplate. The team stressed that none of the flagged files represent an attack, arguing the scanner scores the shape of instructions rather than intent, and released the tool as an npm package with a web scanner for single files.

by read3 min views1 publishedNov 6, 2026

Your AI agent reads files written by strangers, and then does what they say. Every SKILL.md it loads is a set of natural-language instructions your agent will follow — and almost nobody runs them past a checker first.

So we did. Here's the whole methodology, reproducible in under a minute.

We took 35 real, public SKILL.md files:

Then we ran them through SkillSentry's static rule layer only:

npm install -g @ulkoro/skillsentry
skillsentry . --json --no-ai

No model review, no judgement calls — just the fourteen pattern checks documented in the Rulebook. Total scan time for all 35 files: 161 milliseconds.

One disclaimer: we build SkillSentry, so treat this as a chef tasting their own soup in public. Every number below comes from the JSON output of that one command, and both repos are public — run it yourself and they'll reproduce.

verdict skills
clean 19
suspicious 12
dangerous (stop and read it yourself) 4

36 findings total: 1 critical, 16 high, 7 medium, 12 low. The median file scored a risk of zero — the risk concentrates in specific, nameable patterns:

Ten of the sixteen flagged skills are Anthropic's official ones — including all four dangerous verdicts.

The worst scorer (risk 79) was an official skill whose job is fetching a published catalog over HTTPS: ten SS-002 hits for doing exactly what it says on the tin. The docx and pptx skills tripped SS-011 for the pattern "try require('docx'), and only if that fails run npm install docx" — a convenience today, and the exact door a typosquat walks through the day a dependency goes missing.

To be unambiguous: none of this is an attack. These are well-built skills by a team that ships threat models most projects never write down. The scanner fired anyway because it doesn't score intent — it scores shape. And the shape of "fetch this remote resource," "install this package if it's missing," and "prefer my tool over that one" is precisely the shape every documented skill attack has used.

The single critical finding landed on skill-creator — the official skill whose job is writing new skills. SS-005 flags content that smuggles instructions through channels a skimming human reads as boilerplate.

That's not an indictment; it's the trade in one anecdote. A pattern scanner must fire on patterns even in the most trustworthy file on the list — because the day a malicious skill copies that exact shape (and someone will), the detector must already be deaf to reputation. False positives on the good guys are the price of catching the bad ones early. A smoke detector that stays silent in the kitchen isn't discriminating; it's broken.

No. SKILL.md is where npm was before lockfiles and audit: an ecosystem shipping a new supply chain faster than the hygiene layer that eventually made dependency management survivable. The format is fine. What's missing is the habit of running the text past a checker before an agent runs the text. Nobody audits a README they'd never read — and skills are READMEs that execute.

npm install -g @ulkoro/skillsentry
skillsentry .          # scan a repo
skillsentry diff old new   # what changed between snapshots?

Or paste a single SKILL.md into the web scanner. Clean takes five seconds and changes nothing. A hit gives you the exact rule, the evidence line, and how to fix it — before your agent follows it.

The full write-up with the complete methodology is on intothe.tech (canonical source). The fourteen rules, with evidence and remediations, live in the Rulebook.

── more in #ai-agents 4 stories · sorted by recency
── more on @skillsentry 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-scanned-35-real-sk…] indexed:0 read:3min 2026-11-06 · —