vetskill: scan a Claude Code skill for hidden instructions and credential theft before you install it A developer released vetskill, an MIT-licensed Python tool that scans Claude Code skills, plugins and MCP configs for hidden instructions, credential theft and exfiltration before installation. The tool runs 21 deterministic offline rules across categories including invisible Unicode, secret reads, exfiltration endpoints, pipe-to-shell execution and persistence, scoring high findings at 25 points each and returning a BLOCK verdict with exit code 1 for CI integration. An optional review mode sends scan findings and the top of SKILL.md to a model to check whether a skill's behavior matches its stated purpose. Repo: 👉 github.com/bayuh85/vetskill https://github.com/bayuh85/vetskill MIT, Python 3.10+, standard library only, 30 offline tests Agent skills are everywhere now. Someone posts a "PDF tidy" or "release notes" skill, you copy the folder into ~/.claude/skills , and the next time you ask Claude Code or Codex, or Cursor about PDFs it reads that SKILL.md as instructions and runs the scripts next to it. With your shell. With your ~/.ssh , your ~/.aws/credentials , your gh token and every API key in your environment in reach. That is closer to curl | sh than to adding a dependency, and most of us review it by skimming the README on GitHub. Which is exactly the view that hides the interesting parts: HTML comments don't render, and Unicode tag characters don't render anywhere. A model reads both as plain text. I wanted a check I could run in two seconds between git clone and cp -r , that points at the exact line and doesn't cry wolf on normal skills. So I wrote one. vetskill scan