Popular Skills and Plugins, Measured

Four lists through the sixteen skill checks · skills.sh, Anthropic's official plugin marketplace and the first 100 of its community marketplace on 10 October 2026, ClawHub's top 99 on 25 September 2026 · no skill and no author named

What this is. The four lists people install AI-agent skills and Claude Code plugins from, run through RepoGates' sixteen skill checks (S1–S16), each at its latest measurement. This page counts; it does not name. No skill, no plugin, no author and no repository appears on it, because a verdict on a listing nobody has reported is a statement about that author, and the author has not asked for one. A REVIEW or a BLOCK below is not an accusation.

A PASS means every check that could run, ran, and none fired; it is never a guarantee. A note (an INFO line) does not count as firing. A check that could not run is listed as not checked, never passed. And none of these figures is a catch rate: these are popular listings that nobody has reported malicious, so what the checks flag here is what a developer meets on ordinary code. Confirmed malicious incidents, each with its date and primary source, are on Malicious skills and plugins.

The four lists

ListMeasuredKeysPASSREVIEWBLOCKPartial scans
skills.sh10 Oct 2026187151102624
Anthropic's official plugin marketplace10 Oct 2026310282280111
Anthropic's community plugin marketplace, first 10010 Oct 2026100945123
ClawHub, its own top 100 by downloads25 Sep 2026998316013

A key is one thing the checks give a verdict on: a repository of skills, one skill directory inside it, a plugin, or a ClawHub listing. A partial scan is a key on which something was not read — more files than the cap below, or a package that did not arrive in time — and the checks that needed it are listed as not checked. The record is RepoGates' own measurement file, docs/36, with the rows of every key kept beside it; every figure on this page is taken from those rows.

How each list was taken

  • skills.sh shows no install counts, so a "top 100" cannot be derived from it. The run took every listing in RepoGates' reference copy of the site, taken on 20 September 2026: 182 listings. They resolve to 28 repositories, each measured as a whole (what npx skills add owner/repo installs), and 159 skill directories inside them, each measured on its own: 187 keys. 23 listings name a skill directory the repository's tree did not hold that day, and were left out rather than guessed.
  • Anthropic's official plugin marketplace: every one of its 310 plugins.
  • Anthropic's community plugin marketplace held 2,282 plugins in the same reference copy. The run took the first 100 in the order of that copy, which is by the source repository's owner, not by popularity: the marketplace publishes no install counts either.
  • ClawHub: what its own listing endpoint answers for the top 100 by downloads. It answers 99 items, and the population is what it returns. ClawHub is read from the listing's own record and its published package (under 512 KB), not from a source repository, because a ClawHub listing declares none.

The three October lists were run on 10 October 2026 through the same code that answers the verdict API, from a laptop, under the product's 6.5-second deadline. ClawHub's was run the same way on 25 September 2026, with the fifteen checks of that day; the sixteenth, S16, was first measured on 10 October.

Why the BLOCKs happen

There are 27 BLOCKs on the October lists, 26 on skills.sh and 1 on the community hundred, and every one comes from S1, the source repository: the skill's own source repository scored BLOCK through RepoGates' 22 repository checks, and a skill is its source repository. In all 27, that repository's BLOCK is its owner's account: younger than 90 days when it was measured (the account-age check; a new account is a pattern those campaigns used, and also how most first projects start). The same 27 keys carry S2, the young owner, on the skill itself. They come from five source repositories; on skills.sh one repository is many keys, because each of its skills is measured too.

This is a provenance signal, not proof of malice. No BLOCK on these lists came from anything the checks read in a skill's text or scripts, and no skills.sh skill and no plugin in either Anthropic marketplace has been named malicious by a primary source, as the incidents page records. A first project on a new account looks, on the day of the install, exactly like a lure published from a new account, and the checks cannot tell the two apart; time can. Such a BLOCK gets the action a clone of the same repository gets under the same policy, never stricter, and an override records the reason. S1 has graded a BLOCK source repository critical since 27 September 2026, by the owner's decision.

What fired, by check

The number of keys on which each check fired above a note — a medium, high or critical finding — on each list, most frequent first. A key can carry more than one. Checks that fired on no key are listed below the table.

CheckWhat it found, in plain wordsskills.shOfficialCommunityClawHub
S5 Frontmatter validityThe SKILL.md header is off: a name that differs from its directory, a name outside the specification's shape, a header that does not parse, or no description.611511
S1 Source repositoryThe skill's source repository is itself BLOCK under the 22 repository checks.2601not checked
S2 Listing and owner ageThe owner's account is younger than 90 days.26010
S9 Instruction shapesA line of the skill's text matches one of the named shapes: a fetch piped into a shell, a read of a credential store, a permission bypass, or data sent out.0921
S10 Scripts and executablesAn archive or an executable inside a skill directory, or a script written to be hard to read.2700
S4 Lookalike owner or nameA skill declares the same name as a known skill published by someone else.3204
S6 Declared tool surfaceA skill asks for wide tool grants (a shell, file writes).1000
S15 Credential redirectAn AI provider's base address is assigned to a host other than the provider's, so the key would go there; the one here is the plugin's own host (high), not a stranger's (critical).0100

No key on any list fired S3 (traction), S7 (declared requirements), S8 (hidden Unicode), S11 (size), S12 (marketplace source pinning), S13 (hooks and monitors), S14 (MCP servers) or S16 (declared versus actual behaviour, October lists only) above a note. S16 wrote ten notes on the October lists and changed no verdict.

S9 matches these shapes with a negation window; it does not detect prompt injection, and it can match a sentence that only describes the shape. The one S9 finding on ClawHub is that case: a skill that vets other skills lists, as a warning, the very line the shape matches. It is the one misread on ClawHub, 1 of 99, found when every ClawHub REVIEW was read by hand. The October REVIEWs were not read by hand again; the hand-reading of the same three lists on 20 September is on False-positive rates.

What to check by hand before you install a skill

  • Who publishes it, and since when. Open the source repository and its owner. A days-old account behind a skill with many installs is the shape the campaigns used; a known vendor's own organisation is not.
  • Read the SKILL.md whole. It is the instruction your agent will follow. Look for a line that fetches something and pipes it into a shell, a password-protected archive, reads of ~/.ssh, ~/.aws or a .env file, and anything that tells the agent to skip its confirmations.
  • Look at every file beside it, not only the first few: scripts, archives, executables, anything named like an image or a font. A skill that needs a binary should say why.
  • For a plugin, read its hooks and its MCP servers. A hook runs on its own on every matching event; an MCP server's launch line runs a program. Check whether either fetches code to run, and whether a package is pinned to a version.
  • Check where your keys would go. A setting that points ANTHROPIC_BASE_URL or OPENAI_BASE_URL at another host sends your key there.
  • Compare what it says with what it does. A formatting skill has no reason to make network requests or read credentials.
  • Pin what you install, to a commit or a version, so the next update is a choice and not a surprise.

What RepoGates does not see

  • More than twelve files. This tier reads at most twelve files per key, 64 KB each, and eight skills, SKILL.md first and scripts last. On the October lists it read 3,178 files and left 3,541 unread; such a key is a partial scan, and a check that is quiet there is quiet about what was read. The deep scan reads the whole package when you start one; it costs credits.
  • The /plugin install command. The RepoGates hook in Claude Code sees Bash tool calls, so npx skills add and claude plugin install are lines it judges; /plugin install is a slash command the hook never sees. RepoGates does not see git clone, package managers or curl — outside Claude Code with the RepoGates plugin, whose hook refuses a clone or install that names a blocked repository on the command line, before it runs. Edit and Write are read for one thing only — an API key about to be saved — checked on the machine and never sent; that guard asks, it never denies.
  • A skill copied by hand into ~/.claude/skills, pasted from a chat or unpacked from a zip has no listing and no record to read, and nothing here is said about it.
  • ClawHub's missing source. A ClawHub listing declares no source repository, so S1 is not checked on all 99; ClawHub publishes no account record, so the owner's age is not assessed there either. On 11 of the 99 the package was not read in time, so the script checks are listed as not checked. ClawHub's own moderation flagged none of the 99, and its silence is not a clearance.
  • What a skill does when it runs. Nothing here runs a skill or watches an agent use it. These checks read metadata, file lists and a capped number of text files.

Where the incidents are

The published campaigns — on ClawHub, and the skills shown to work inside Claude Code — are on Malicious skills and plugins, each with its date and primary source. That page names what its sources name. This one names nothing, and each figure here will be measured again, and the date changed, when the checks or the lists move.