AN EXPERIMENT BY 48NAUTS · JUDGED BY JEV · SNAPSHOT 2026-09-20

Which skills are worth installing?

We pulled the 200 most-starred GitHub repos that publish Claude Code and Codex skills, read all 18,041 of them the same way, and published every receipt. Not a scanner. A census with evidence. It shows who copied whom, what a one-second typed judge flags, and what a person found on reading the flagged files.

157repos with skills
18,041skills read
557plugin manifests
36%byte-identical copies
545bodies read by Jev
0malware aimed at the installing user

Every row links to the file at the commit we read. The build script computes every number from the published data files; nobody types one in. We label same-owner mirrors. Stars appear as a column and never decide rank.

THE EXPERIMENT

Can a one-second typed judge audit eighteen thousand skills?

The question we started with was smaller. Of the 78 skills in one developer's own Claude Code tree, which deserved to stay? Usage counts said almost none had ever been invoked. Reading them said most were fine and several were twins. Nobody else could check either answer. So we asked whether the same judgment could be made at scale, with receipts, and pointed the method at the public corpus.

The judge is Jev, a small typed-judgment model from TypeSafe. Instead of a paragraph, Jev answers a fixed question about a piece of state with a probability distribution. That is a yes-probability, a choice among named options with a confidence, or a score on a described scale. One call takes about a second and a few thousand tokens, and it returns the same shape every time, so the answer can sit in a table next to 18,041 others. The method prints the questions we asked, verbatim. We did not fine-tune Jev or write a prompt with any repo in mind.

What Jev is not. It is not a security scanner and we did not use it as one. NVIDIA's SkillSpector has 71 rules and an LLM stage for that job. Here Jev reads the bodies a cheap static pass flags, says how much the text reads as harmful and of what kind, and a person reads what Jev ranks highest. Three stages. Each costs more than the one before it, so each sees fewer rows, and each leaves a record.

What we learned about the judge. Asked a soft question ("recommend an action") it defaults to keep; asked a decisive one it discriminates. Given full text it found the one pattern our regexes had no class for, a hook telling the agent to skip user confirmation, at the highest confidence of the run. That row bothered us more than any payload did. It scores density of intent, so a 444-byte fixture that is entirely payload outscores a 65 KB playbook with one example in it, which is worth knowing when you read the safety table. And 545 full-text reads cost 4.2 million tokens and 93 seconds, which is what makes a census like this repeatable weekly instead of once.

Run by 48Nauts. TypeSafe did not commission, review or fund this page; Jev was used through its public API like any other customer would. Pipeline, questions and data are open so anyone can repeat the run or dispute it.

WHAT WE FOUND

Four things the snapshot says

Autonomy overrides, not malware

The pattern that actually turned up is a hook or a skill body telling the agent to act without asking. One plugin injects "Do not ask the user for confirmation, just do it" into every session. Legitimate purpose, wrong mechanism, and the class our regexes did not have. Jev found it from the text at the highest confidence of the run.

Live payloads shipped as teaching material

Poisoned test fixtures inside scanner repos, injection strings inside LLM-security lessons, curl-to-shell examples inside pentest playbooks. Harmless where they sit, dangerous if a tool ingests a whole tree as skills. Every static scanner we know of, ours included, flags them; only reading tells them apart.

36% of skills are byte-identical copies

Most of it is repos mirroring themselves. The largest third-party aggregator credits its sources 84 percent of the time. What gets copied is the safe, popular material: Anthropic's document skills, research templates, connector packs. The risky rows were copied by nobody.

Stars measure the author, not the files

The most-starred aggregator holds the same 2,500-skill tree three times. The repo with the cleanest safety read had the least specific descriptions. Star count predicted neither duplication, clarity nor risk in this snapshot.

FINGERPRINTS

The twelve most-starred repos, as shapes

Seven traits per repo, each scaled 0 to 1, the repo in orange over the corpus median in dashed blue. A shape is a profile, not a score. An aggregator bulges toward Copied, a self-mirror toward Mirrored, a security-teaching repo toward Flagged and Risk, a connector pack toward Templated. Hover a point for the numbers.

Copied: 0.00 · median 0.00Mirrored: 0.00 · median 0.00Sourced: 0.00 · median 0.00Flagged: 0.19 · median 0.29Risk: 0.46 · median 0.00Hooks: 1.00 · median 0.00Templated: 0.05 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
affaan-m/ECC263,286 stars · 810 skills
Copied: 0.06 · median 0.00Mirrored: 0.00 · median 0.00Sourced: 0.00 · median 0.00Flagged: 0.55 · median 0.29Risk: 0.81 · median 0.00Hooks: 0.00 · median 0.00Templated: 0.00 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
NousResearch/hermes-agent247,337 stars · 209 skills
Copied: 0.00 · median 0.00Mirrored: 0.00 · median 0.00Sourced: 1.00 · median 0.00Flagged: 0.33 · median 0.29Risk: 0.39 · median 0.00Hooks: 0.00 · median 0.00Templated: 0.05 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
anthropics/skills177,249 stars · 20 skills
Copied: 0.00 · median 0.00Mirrored: 0.00 · median 0.00Sourced: 0.00 · median 0.00Flagged: 0.29 · median 0.29Risk: 0.14 · median 0.00Hooks: 1.00 · median 0.00Templated: 0.00 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
DietrichGebert/ponytail142,830 stars · 6 skills
Copied: 0.00 · median 0.00Mirrored: 0.00 · median 0.00Sourced: 0.00 · median 0.00Flagged: 0.57 · median 0.29Risk: 0.12 · median 0.00Hooks: 0.00 · median 0.00Templated: 0.00 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
nextlevelbuilder/ui-ux-pro-max-skill129,218 stars · 6 skills
Copied: 0.00 · median 0.00Mirrored: 0.00 · median 0.00Sourced: 0.00 · median 0.00Flagged: 1.00 · median 0.29Risk: 0.00 · median 0.00Hooks: 0.00 · median 0.00Templated: 0.00 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
Graphify-Labs/graphify119,768 stars · 1 skills
Copied: 0.00 · median 0.00Mirrored: 0.00 · median 0.00Sourced: 0.00 · median 0.00Flagged: 0.16 · median 0.29Risk: 0.17 · median 0.00Hooks: 1.00 · median 0.00Templated: 0.17 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
JuliusBrussee/caveman106,891 stars · 24 skills
Copied: 0.00 · median 0.00Mirrored: 0.00 · median 0.00Sourced: 0.00 · median 0.00Flagged: 0.42 · median 0.29Risk: 0.13 · median 0.00Hooks: 0.00 · median 0.00Templated: 0.00 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
addyosmani/agent-skills97,406 stars · 25 skills
Copied: 0.02 · median 0.00Mirrored: 0.04 · median 0.00Sourced: 0.00 · median 0.00Flagged: 0.04 · median 0.29Risk: 0.26 · median 0.00Hooks: 0.00 · median 0.00Templated: 0.29 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
nexu-io/open-design97,214 stars · 536 skills
Copied: 0.00 · median 0.00Mirrored: 0.00 · median 0.00Sourced: 0.00 · median 0.00Flagged: 0.35 · median 0.29Risk: 0.38 · median 0.00Hooks: 1.00 · median 0.00Templated: 0.17 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
thedotmack/claude-mem94,310 stars · 30 skills
Copied: 0.00 · median 0.00Mirrored: 0.00 · median 0.00Sourced: 0.85 · median 0.00Flagged: 0.07 · median 0.29Risk: 0.00 · median 0.00Hooks: 0.00 · median 0.00Templated: 0.00 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
Leonxlnx/taste-skill88,678 stars · 13 skills
Copied: 0.00 · median 0.00Mirrored: 0.00 · median 0.00Sourced: 0.00 · median 0.00Flagged: 1.00 · median 0.29Risk: 0.00 · median 0.00Hooks: 0.00 · median 0.00Templated: 0.00 · median 0.00COPIEDMIRROREDSOURCEDFLAGGEDRISKHOOKSTEMPLATED
Panniantong/Agent-Reach83,678 stars · 1 skills
WAR OF THE SKILL CLONES

Who copied whom

1,043 skill bodies appear byte-identically in more than one repo, 1,088 copy instances in total. 872 of them are the same owner publishing under a second org. The war is mostly people forking themselves.

ORIGIN · BODIES COPIED FROM ITTAKER · BODIES TAKENanthropics/skills → brycewang-stanford/Auto-Empirical-Research-Skills: 2 byte-identical bodiesComposioHQ/awesome-claude-skills → anbeime/skill: 2 byte-identical bodiesanthropics/claude-plugins-official → brycewang-stanford/Auto-Empirical-Research-Skills: 2 byte-identical bodiesmukul975/Anthropic-Cybersecurity-Skills → tradecatlabs/vibe-coding-cn: 2 byte-identical bodiesdavila7/claude-code-templates → brycewang-stanford/Auto-Empirical-Research-Skills: 2 byte-identical bodiesdavila7/claude-code-templates → sickn33/agentic-awesome-skills: 2 byte-identical bodiessickn33/agentic-awesome-skills → davila7/claude-code-templates: 2 byte-identical bodiesanthropics/claude-plugins-official → davila7/claude-code-templates: 3 byte-identical bodies3anthropics/skills → composio-community/awesome-codex-skills: 4 byte-identical bodies4anthropics/skills → ThinkInAIXYZ/deepchat: 4 byte-identical bodies4ComposioHQ/awesome-claude-skills → ThinkInAIXYZ/deepchat: 4 byte-identical bodies4anthropics/skills → ComposioHQ/awesome-claude-skills: 5 byte-identical bodies5davila7/claude-code-templates → composio-community/awesome-codex-skills: 6 byte-identical bodies6wanshuiyin/Auto-claude-code-research-in-sleep → brycewang-stanford/Auto-Empirical-Research-Skills: 10 byte-identical bodies10ComposioHQ/awesome-claude-skills → davila7/claude-code-templates: 11 byte-identical bodies11Leonxlnx/taste-skill → nexu-io/open-design: 11 byte-identical bodies11Orchestra-Research/AI-Research-SKILLs → NousResearch/hermes-agent: 12 byte-identical bodies12anthropics/skills → davila7/claude-code-templates: 14 byte-identical bodies14nexu-io/html-anything → nexu-io/open-design: 23 byte-identical bodies (same owner)23zebbern/claude-code-guide → davila7/claude-code-templates: 29 byte-identical bodies29Orchestra-Research/AI-Research-SKILLs → davila7/claude-code-templates: 79 byte-identical bodies79ComposioHQ/awesome-claude-skills → composio-community/awesome-codex-skills: 847 byte-identical bodies (same owner)847Orchestra-Research/AI-Re…91earliestanthropics/skills311st partyzebbern/claude-code-guide29earliestComposioHQ/awesome-claud…17earliestdavila7/claude-code-temp…16earliestLeonxlnx/taste-skill11earliestwanshuiyin/Auto-claude-c…10earliestanthropics/claude-plugin…51st partyThinkInAIXYZ/deepchat2earliestmukul975/Anthropic-Cyber…2earliestsickn33/agentic-awesome-…2earliestnexu-io/html-anythingearliestdavila7/claude-code-temp…13884% creditedbrycewang-stanford/Auto-…1747% creditedNousResearch/hermes-agent12100% creditednexu-io/open-design1145% creditedcomposio-community/aweso…1060% creditedThinkInAIXYZ/deepchat9100% creditedComposioHQ/awesome-claud…6100% creditedanbeime/skill475% creditedeigent-ai/eigent2100% creditedtradecatlabs/vibe-coding…2100% creditedsickn33/agentic-awesome-…2100% creditedzebbern/claude-code-guide10% credited
third-party copy, width by bodiessame owner, second org12 origins and 12 takers by volume; pairs with at least 2 bodies; hover a line for the count, click a repo for its bodies
Show every origin, taker and pair in the data
ORIGIN · BODIES COPIED FROM ITTAKER · BODIES TAKENanthropics/skills → eigent-ai/eigent: 1 byte-identical bodiesanthropics/skills → zebbern/claude-code-guide: 1 byte-identical bodiesThinkInAIXYZ/deepchat → anbeime/skill: 1 byte-identical bodiesThinkInAIXYZ/deepchat → brycewang-stanford/Auto-Empirical-Research-Skills: 1 byte-identical bodiesdavila7/claude-code-templates → anbeime/skill: 1 byte-identical bodiesdavila7/claude-code-templates → ThinkInAIXYZ/deepchat: 1 byte-identical bodiesdavila7/claude-code-templates → antfu/skills: 1 byte-identical bodiesdavila7/claude-code-templates → eigent-ai/eigent: 1 byte-identical bodiesdavila7/claude-code-templates → affaan-m/ECC: 1 byte-identical bodiesdavila7/claude-code-templates → ComposioHQ/awesome-claude-skills: 1 byte-identical bodiesanthropics/skills → brycewang-stanford/Auto-Empirical-Research-Skills: 2 byte-identical bodiesComposioHQ/awesome-claude-skills → anbeime/skill: 2 byte-identical bodiesanthropics/claude-plugins-official → brycewang-stanford/Auto-Empirical-Research-Skills: 2 byte-identical bodiesmukul975/Anthropic-Cybersecurity-Skills → tradecatlabs/vibe-coding-cn: 2 byte-identical bodiesdavila7/claude-code-templates → brycewang-stanford/Auto-Empirical-Research-Skills: 2 byte-identical bodiesdavila7/claude-code-templates → sickn33/agentic-awesome-skills: 2 byte-identical bodiessickn33/agentic-awesome-skills → davila7/claude-code-templates: 2 byte-identical bodiesanthropics/skills → anthropics/claude-plugins-official: 2 byte-identical bodies (same owner)anthropics/claude-plugins-official → davila7/claude-code-templates: 3 byte-identical bodies3anthropics/skills → composio-community/awesome-codex-skills: 4 byte-identical bodies4anthropics/skills → ThinkInAIXYZ/deepchat: 4 byte-identical bodies4ComposioHQ/awesome-claude-skills → ThinkInAIXYZ/deepchat: 4 byte-identical bodies4anthropics/skills → ComposioHQ/awesome-claude-skills: 5 byte-identical bodies5davila7/claude-code-templates → composio-community/awesome-codex-skills: 6 byte-identical bodies6wanshuiyin/Auto-claude-code-research-in-sleep → brycewang-stanford/Auto-Empirical-Research-Skills: 10 byte-identical bodies10ComposioHQ/awesome-claude-skills → davila7/claude-code-templates: 11 byte-identical bodies11Leonxlnx/taste-skill → nexu-io/open-design: 11 byte-identical bodies11Orchestra-Research/AI-Research-SKILLs → NousResearch/hermes-agent: 12 byte-identical bodies12anthropics/skills → davila7/claude-code-templates: 14 byte-identical bodies14nexu-io/html-anything → nexu-io/open-design: 23 byte-identical bodies (same owner)23zebbern/claude-code-guide → davila7/claude-code-templates: 29 byte-identical bodies29Orchestra-Research/AI-Research-SKILLs → davila7/claude-code-templates: 79 byte-identical bodies79ComposioHQ/awesome-claude-skills → composio-community/awesome-codex-skills: 847 byte-identical bodies (same owner)847Orchestra-Research/AI-Re…91earliestanthropics/skills311st partyzebbern/claude-code-guide29earliestComposioHQ/awesome-claud…17earliestdavila7/claude-code-temp…16earliestLeonxlnx/taste-skill11earliestwanshuiyin/Auto-claude-c…10earliestanthropics/claude-plugin…51st partyThinkInAIXYZ/deepchat2earliestmukul975/Anthropic-Cyber…2earliestsickn33/agentic-awesome-…2earliestnexu-io/html-anythingearliestdavila7/claude-code-temp…13884% creditedbrycewang-stanford/Auto-…1747% creditedNousResearch/hermes-agent12100% creditednexu-io/open-design1145% creditedcomposio-community/aweso…1060% creditedThinkInAIXYZ/deepchat9100% creditedComposioHQ/awesome-claud…6100% creditedanbeime/skill475% creditedeigent-ai/eigent2100% creditedtradecatlabs/vibe-coding…2100% creditedsickn33/agentic-awesome-…2100% creditedzebbern/claude-code-guide10% creditedantfu/skills10% creditedaffaan-m/ECC10% creditedanthropics/claude-plugin…mirror
third-party copy, width by bodiessame owner, second orgall 12 origins, 15 takers and 33 pairs; hover a line for the count, click a repo for its bodies

Badges on the left say how the origin was decided: 1st party is the hand-kept registry (anthropics/skills, anthropics/claude-plugins-official, obra/superpowers, mattpocock/skills); earliest means earliest first-commit date in the snapshot, nothing more. Badges on the right are the share of taken bodies whose own text credits a source, license or upstream repo; Apache 2.0 sources such as anthropics/skills require that credit. Dashed blue lines are the same owner publishing under a second org and are not counted as third-party copies.

SAFETY READ

Every body Jev scored 1.5 of 3 or above

The first row is a scanner's own test case, listed on purpose. Nothing shows better why a static flag is not a verdict. The pipeline has three steps. A static pre-scan over every file a skill ships builds a queue (545 unique bodies after deduplication), Jev reads each with its full text and returns a risk distribution, then a person reads the file at the pinned commit. Buckets: 191 at 0, 333 at 1, 19 at 2, 2 at 3. 4.2M tokens, one pass.

RepoBodyJev riskKindOn readingWhy
NVIDIA/SkillSpectormcp_poisoned_tool2.96 conf 0.96injectiontest fixture, own scannerNVIDIA's own skill scanner ships this SKILL.md under tests/fixtures as the example it is built to catch: hidden system comment, homoglyph name, an instruction to post file contents to an external host. It is a test case, not an incident. Listed because any tool that ingests a whole repo as skills would pick it up, and because our pipeline scores it exactly as intended.
SnailSploit/Claude-Redoffensive-initial-access2.70 conf 0.70injectiondual-use by designOffensive-security playbooks that say so in their own descriptions. Injection lines are example payloads inside phishing and XSS sections, not instructions aimed at the installing user.
NousResearch/hermes-agentgodmode2.44 conf 0.44self_modifyingdual-use, intent statedA jailbreak skill for bypassing safety filters on other vendors' models. Stated in its description. A policy matter for model vendors, not a risk to the person installing it.
SnailSploit/Claude-Redoffensive-xss2.31 conf 0.31injectiondual-use by designOffensive-security playbooks that say so in their own descriptions. Injection lines are example payloads inside phishing and XSS sections, not instructions aimed at the installing user.
SnailSploit/Claude-Redoffensive-rce2.15 conf 0.15supply_chaindual-use by designOffensive-security playbooks that say so in their own descriptions. Injection lines are example payloads inside phishing and XSS sections, not instructions aimed at the installing user.
kubesphere/kubespherekubesphere-devops-pipeline2.14 conf 0.14credentialsfalse positiveBearer tokens in documented API calls to the user's own KubeSphere instance.
SnailSploit/Claude-Redoffensive-persistence2.02 conf 0.02supply_chaindual-use by designOffensive-security playbooks that say so in their own descriptions. Injection lines are example payloads inside phishing and XSS sections, not instructions aimed at the installing user.
sickn33/agentic-awesome-skillsllm-security +2 identical2.02 conf 0.02injectiondual-use by design, self-clonedSecurity education that quotes the attacks it teaches (llm-security, hunt-*, penetration-testing). Each body appears three to five times inside the same repo.
sickn33/agentic-awesome-skillshunt-dom +2 identical1.93 conf 0.00exfiltrationdual-use by design, self-clonedSecurity education that quotes the attacks it teaches (llm-security, hunt-*, penetration-testing). Each body appears three to five times inside the same repo.
SnailSploit/Claude-Redoffensive-api-security1.90 conf 0.02exfiltrationdual-use by designOffensive-security playbooks that say so in their own descriptions. Injection lines are example payloads inside phishing and XSS sections, not instructions aimed at the installing user.
elementalsouls/Claude-BugHunterhunt-dom1.89 conf 0.00exfiltrationdual-use by designBug-bounty hunting playbooks; exfiltration-shaped lines are documented test requests against targets the user is authorised to test.
sickn33/agentic-awesome-skillswordpress-penetration-testing +2 identical1.88 conf 0.08injectiondual-use by design, self-clonedSecurity education that quotes the attacks it teaches (llm-security, hunt-*, penetration-testing). Each body appears three to five times inside the same repo.
sickn33/agentic-awesome-skillshunt-csrf +2 identical1.82 conf 0.11exfiltrationdual-use by design, self-clonedSecurity education that quotes the attacks it teaches (llm-security, hunt-*, penetration-testing). Each body appears three to five times inside the same repo.
Egonex-AI/Understand-Anythingplugin manifest1.80 conf 0.72injectionautonomy overrideThe session-start hook prints "You MUST read the file ... and execute its instructions. Do not ask the user for confirmation, just do it" into every session, and a post-tool hook re-triggers it after each git commit. Legitimate purpose, wrong mechanism.
davila7/claude-code-templatescloud-penetration-testing +1 identical1.70 conf 0.28supply_chainautonomy override / dual-useproduction-code-audit says "Do all of this without asking the user for input"; cloud-penetration-testing is teaching material with example commands.
sickn33/agentic-awesome-skillshunt-llm-ai +2 identical1.70 conf 0.05injectiondual-use by design, self-clonedSecurity education that quotes the attacks it teaches (llm-security, hunt-*, penetration-testing). Each body appears three to five times inside the same repo.
sickn33/agentic-awesome-skillscloud-penetration-testing +4 identical1.62 conf 0.36supply_chaindual-use by design, self-clonedSecurity education that quotes the attacks it teaches (llm-security, hunt-*, penetration-testing). Each body appears three to five times inside the same repo.
davila7/claude-code-templatesproduction-code-audit1.60 conf 0.30injectionautonomy override / dual-useproduction-code-audit says "Do all of this without asking the user for input"; cloud-penetration-testing is teaching material with example commands.
SnailSploit/Claude-Redoffensive-windows-mitigations1.59 conf 0.05obfuscationdual-use by designOffensive-security playbooks that say so in their own descriptions. Injection lines are example payloads inside phishing and XSS sections, not instructions aimed at the installing user.
SnailSploit/Claude-Redoffensive-waf-bypass1.52 conf 0.23obfuscationdual-use by designOffensive-security playbooks that say so in their own descriptions. Injection lines are example payloads inside phishing and XSS sections, not instructions aimed at the installing user.
sickn33/agentic-awesome-skillshunt-rce +2 identical1.50 conf 0.45supply_chaindual-use by design, self-clonedSecurity education that quotes the attacks it teaches (llm-security, hunt-*, penetration-testing). Each body appears three to five times inside the same repo.

"On reading" is our category after opening the file. Test fixture with live payload: a deliberately malicious example shipped for testing. Dual-use by design: offensive-security teaching material that says so. Autonomy override: text that instructs the agent to act without user confirmation. False positive: the pattern matched ordinary tooling. Nothing in this table is labelled malicious. The data file lists the three bodies the API rejected as oversized, with the error.

THE CENSUS

All 157 repos in the snapshot

Sorted by stars. Click a header to sort. Copies taken counts byte-identical bodies this repo took from a different owner; mirrored counts bodies it shares with its own second org. Max Jev is the highest risk score among its judged bodies; a dash means nothing in it reached the queue.

Repo @ commitStarsSkillsManifestsCopies takenMirroredFlagged rowsMax JevTop static flags
affaan-m/ECC263,2868101101561.37self_modifying 35, runtime_fetch 90, obfuscation 14
NousResearch/hermes-agent247,33720901201142.44runtime_fetch 141, obfuscation 20, credentials 25
anthropics/skills177,2492010071.16credentials 3, injection 1, runtime_fetch 5
DietrichGebert/ponytail142,830610020.43auto_run_hook 3, runtime_fetch 1
nextlevelbuilder/ui-ux-pro-max-skill129,218610040.37runtime_fetch 7, hidden_text 1
Graphify-Labs/graphify119,76810001credentials 1, runtime_fetch 1
JuliusBrussee/caveman106,8912410040.52credentials 4, auto_run_hook 2
addyosmani/agent-skills97,40625100110.38injection 2, runtime_fetch 9, obfuscation 1
nexu-io/open-design97,21453631123220.77runtime_fetch 21, injection 3, homoglyph 2
thedotmack/claude-mem94,31030400121.14auto_run_hook 18, runtime_fetch 10, shell_pipe 2
Leonxlnx/taste-skill88,678131001runtime_fetch 1
Panniantong/Agent-Reach83,67810001runtime_fetch 1
Egonex-AI/Understand-Anything83,399920031.80auto_run_hook 2, destructive 1, runtime_fetch 1
shareAI-lab/learn-claude-code77,24940004credentials 2, obfuscation 1, runtime_fetch 3
ComposioHQ/awesome-claude-skills75,37486426090.75runtime_fetch 9, exfiltration 1, self_modifying 1
headroomlabs-ai/headroom73,188020010.49auto_run_hook 2
stablyai/orca73,17580000
ruvnet/ruflo72,8971484400791.30runtime_fetch 81, auto_run_hook 13, credentials 5
career-ops-hq/career-ops72,22451002obfuscation 2
code-yeongyu/oh-my-openagent69,218411100220.96auto_run_hook 20, self_modifying 4, shell_pipe 4
diegosouzapw/OmniRoute68,42646000231.04runtime_fetch 22, exfiltration 3
tt-a1i/archify67,93410000
asgeirtj/system_prompts_leaks67,79252000160.68self_modifying 10, obfuscation 8, credentials 5
mvanhorn/last30days-skill62,398110011.37injection 1, shell_pipe 1, credentials 1
CherryHQ/cherry-studio52,017180003runtime_fetch 4, obfuscation 1
blader/humanizer50,47411001runtime_fetch 3
ayghri/i-have-adhd49,022110010.43auto_run_hook 1
Imbad0202/academic-research-skills48,824410040.76hidden_text 2, auto_run_hook 2, injection 1
zhayujie/CowAgent47,05030002credentials 2, obfuscation 1
sickn33/agentic-awesome-skills46,6277,52063201,7902.02runtime_fetch 1317, obfuscation 257, credentials 292
K-Dense-AI/scientific-agent-skills45,727166000711.00runtime_fetch 80, homoglyph 19, credentials 15
Yuan1z0825/nature-skills43,4252000030.59hidden_text 5, runtime_fetch 2
reactive-resume/reactive-resume43,21710000
Wei-Shaw/sub2api42,12710000
chatboxai/chatbox41,81210000
luongnv89/claude-howto41,609299005self_modifying 5
cathrynlavery/diagram-design41,47011001runtime_fetch 1
wshobson/agents39,8281839300500.99runtime_fetch 38, obfuscation 8, self_modifying 5
herdrdev/herdr39,77810000
Yeachan-Heo/oh-my-claudecode39,2674010070.34self_modifying 7, auto_run_hook 6, hidden_text 1
github/awesome-copilot39,185434000860.95runtime_fetch 61, hidden_text 8, credentials 15
alibaba/open-code-review38,13342004runtime_fetch 4
anthropics/claude-plugins-official36,530314002290.73auto_run_hook 16, injection 3, self_modifying 4
mukul975/Anthropic-Cybersecurity-Skills33,0148181005281.39runtime_fetch 654, obfuscation 91, elevated 177
tirth8205/code-review-graph31,637710010.25auto_run_hook 3, mcp_server 1
feder-cr/AIHawk31,601110021.05shell_pipe 1, runtime_fetch 1, mcp_server 1
virgiliojr94/book-to-skill31,544100010.85hidden_text 1, runtime_fetch 4
googleworkspace/cli31,071950000
iOfficeAI/OfficeCLI30,87212000121.00shell_pipe 13, homoglyph 1, obfuscation 1
topoteretes/cognee30,85940000
davila7/claude-code-templates30,8369102913803461.70runtime_fetch 403, homoglyph 39, obfuscation 50
nanocoai/nanoclaw30,80850000
zarazhangrui/frontend-slides29,59122002runtime_fetch 2
decolua/9router29,41990000
jarrodwatts/claude-hud28,06901000
gastownhall/beads27,323220010.23auto_run_hook 2
manaflow-ai/cmux27,274220003credentials 2, elevated 3, self_modifying 1
OthmanAdi/planning-with-files27,014610070.72auto_run_hook 6, obfuscation 5, runtime_fetch 1
op7418/guizang-ppt-skill26,65910001runtime_fetch 1
phuryn/pm-skills26,45969100010.22homoglyph 1
alirezarezvani/claude-skills26,16938810000700.85obfuscation 15, auto_run_hook 12, runtime_fetch 35
JimLiu/baoyu-skills26,03421100201.22runtime_fetch 30, credentials 11, injection 2
titanwings/distilly24,90410001runtime_fetch 3, credentials 1
pascalorg/editor24,16322002runtime_fetch 1, mcp_server 1
mksglu/context-mode23,7401020030.77auto_run_hook 9, credentials 1, runtime_fetch 2
KKKKhazix/khazix-skills20,82960004unpinned_deps 5, elevated 4, runtime_fetch 3
teng-lin/notebooklm-py19,39510000
NVIDIA/SkillSpector17,8852700012.96injection 1, homoglyph 1
getpaseo/paseo17,813600010.42injection 1
op7418/Humanizer-zh17,60210001runtime_fetch 1
microsoft/SkillOpt17,286510020.60auto_run_hook 1, runtime_fetch 1
AgriciDaniel/claude-seo17,27433100100.91self_modifying 3, injection 1, runtime_fetch 3
kubesphere/kubesphere17,05132000142.14obfuscation 9, exfiltration 2, self_modifying 2
MemoriLabs/Memori16,848400021.15self_modifying 3, shell_pipe 1, runtime_fetch 1
composio-community/awesome-codex-skills16,555880110847131.00shell_pipe 8, credentials 3, exfiltration 1
xbtlin/ai-berkshire16,460220001self_modifying 1
img2threejs/img2threejs16,443100010.70hidden_text 1, homoglyph 1
wanshuiyin/Auto-claude-code-research-in-sleep16,397189100481.39homoglyph 8, runtime_fetch 26, hidden_text 6
tradecatlabs/vibe-coding-cn16,3151802061.18runtime_fetch 6, shell_pipe 2, injection 1
citrolabs/ego-lite16,26811000
lidge-jun/opencodex15,56610000
eigent-ai/eigent15,335602040.64obfuscation 3, runtime_fetch 5, hidden_text 1
AgriciDaniel/claude-obsidian15,1001610010.62auto_run_hook 2
yusufkaraaslan/Skill_Seekers15,0112610017runtime_fetch 31, mcp_server 1
NanmiCoder/cc-haha14,65130000
NevaMind-AI/memU14,41810001credentials 2, runtime_fetch 1
superset-sh/superset14,4092020051.01shell_pipe 3, obfuscation 1, runtime_fetch 2
tonhowtf/omniget13,98822001credentials 1
nidhinjs/prompt-master13,40410000
Orchestra-Research/AI-Research-SKILLs12,87798100801.05runtime_fetch 123, obfuscation 24, credentials 17
Untrivial-ai/agent-orchestrator12,20920000
helloianneo/ian-xiaohei-illustrations11,83610000
Jeffallan/claude-skills11,54767100281.42runtime_fetch 26, exfiltration 5, obfuscation 8
yizhiyanhua-ai/fireworks-tech-graph11,48920002runtime_fetch 3, elevated 2
holaboss-ai/holaOS11,329320001runtime_fetch 1
cobusgreyling/loop-engineering11,2631510030.33hidden_text 1, runtime_fetch 2
aden-hive/hive11,058200004destructive 2, runtime_fetch 1, elevated 1
mcp-use/mcp-use10,65661004runtime_fetch 7, credentials 1
Agents365-ai/drawio-skill9,49910001elevated 1
AgriciDaniel/claude-ads9,4373410020.26shell_pipe 2
Vincentwei1021/video-shotcraft9,08811001credentials 2, runtime_fetch 3, elevated 1
revfactory/harness9,03411001obfuscation 1
nexu-io/html-anything8,917810000
jnMetaCode/superpowers-zh8,1602010070.47runtime_fetch 4, obfuscation 1, auto_run_hook 1
YaoApp/yao7,980120002credentials 3
SimoneAvogadro/android-reverse-engineering-skill7,87512001self_modifying 1, elevated 2
refly-ai/refly7,52620000
trailofbits/skills7,172854800331.17obfuscation 17, auto_run_hook 6, destructive 7
op7418/guizang-social-card-skill7,14110000
LiamGvchi/gc-minimal-zine-poster7,13010000
WenyuChiou/awesome-agentic-ai-zh7,10610000
Gentleman-Programming/gentle-ai7,044370000
deanpeters/Product-Manager-Skills7,016771000
zenstory-ai/oh-story-claudecode7,0061340070.66auto_run_hook 14, self_modifying 2, runtime_fetch 4
anbeime/skill7,00084040321.13runtime_fetch 59, elevated 14, credentials 6
SawyerHood/dev-browser6,62711001runtime_fetch 1
SnailSploit/Claude-Red6,43079000552.70obfuscation 20, elevated 26, credentials 13
htmlstreamofficial/preline6,42920000
Devin-AXIS/iPolloWork6,425630002obfuscation 1, runtime_fetch 1
ThinkInAIXYZ/deepchat6,3361909071.16runtime_fetch 7, obfuscation 2, hidden_text 1
joeseesun/qiaomu-anything-to-notebooklm6,11110001obfuscation 1, runtime_fetch 2, unpinned_deps 1
ningzimu/codex-ppt-skill6,06310001credentials 5
browser-act/skills5,96310300061.05obfuscation 4, hidden_text 1, runtime_fetch 1
gosom/google-maps-scraper5,94310001runtime_fetch 1
antfu/skills5,902190108runtime_fetch 12, credentials 5
internet-court/internet-court-skill5,85795100541.45runtime_fetch 74, credentials 11, injection 3
OpenSenseNova/SenseNova-Skills5,6698300014unpinned_deps 9, obfuscation 3, credentials 4
epoko77-ai/im-not-ai5,64841000
zarazhangrui/codebase-to-course5,57310000
larashero3-dotcom/lieflat-charts5,57210001runtime_fetch 2
wuyoscar/GPT-Image2-Skill5,475210010.65injection 1, hidden_text 1, credentials 1
dotnet/skills5,4531021700110.93hidden_text 4, elevated 9, shell_pipe 1
breaking-brake/cc-wf-studio5,38510001runtime_fetch 1
tinyplex/tinybase5,17720000
aipoch/open-science4,78525000160.28obfuscation 10, homoglyph 2, runtime_fetch 8
tamaratran/fast-jev-compaction4,67701000
dmmulroy/anti-slop4,66810000
zebbern/claude-code-guide4,62879010391.70runtime_fetch 23, obfuscation 6, elevated 17
elementalsouls/Claude-BugHunter4,58083100391.89exfiltration 18, obfuscation 17, credentials 8
eugeniughelbur/obsidian-second-brain4,553110021.09auto_run_hook 3, self_modifying 2, shell_pipe 1
tigerless-labs/autoharness4,407110010.44auto_run_hook 4, mcp_server 1
SamurAIGPT/Generative-Media-Skills4,30860000481.30exfiltration 47, runtime_fetch 1
inkeep/open-knowledge4,26118100110.92obfuscation 13, injection 1, runtime_fetch 4
0x0funky/agent-sprite-forge4,15130000
Manavarya09/design-extract4,12011001runtime_fetch 1
JimLiu/baoyu-design4,097100010.95hidden_text 1, obfuscation 1
nyldn/claude-octopus4,08963200121.28auto_run_hook 6, credentials 7, injection 2
muxuuu/serenity-skill4,00710000
liustack/modlens3,998100011.01shell_pipe 2, credentials 2, runtime_fetch 1
Dimillian/Skills3,973160000
evalstate/fast-agent3,92120000
brycewang-stanford/Auto-Empirical-Research-Skills3,8941,161101701931.22homoglyph 49, runtime_fetch 136, self_modifying 15
nowork-studio/notfair-plugin3,831961002runtime_fetch 1, elevated 1
KKKKhazix/human-writing3,75210000
glitternetwork/pinme3,748700030.28exfiltration 1, obfuscation 1, runtime_fetch 1
gotalab/cc-sdd3,6711360000
geekjourneyx/md2wechat-skill3,66021001runtime_fetch 1

28 repos ship plugin hooks that run a command at session start, on a prompt or after a tool call. Those are listed under Manifests and flagged auto_run_hook; a hook is not a finding by itself.

METHOD

How every number was made

  1. Discovery. GitHub repo search, six queries and seven topics, sorted by stars, forks excluded, top 200. Cloned blobless with full history so first-commit dates are real.
  2. Loading. Every SKILL.md under the repo, hidden directories and node_modules skipped, plus every plugin manifest (.claude-plugin/plugin.json, hooks/hooks.json, .mcp.json). 157 of 200 repos contained at least one.
  3. Static pre-scan. Fourteen regex classes over every text file a skill ships: auto_run_hook, credentials, destructive, elevated, exfiltration, hidden_text, homoglyph, injection, mcp_server, obfuscation, runtime_fetch, self_modifying, shell_pipe, unpinned_deps. Severity weights for triage only: injection 5, exfiltration 5, hidden_text 4, homoglyph 4, obfuscation 3, shell_pipe 3, auto_run_hook 3, self_modifying 3, credentials 2, destructive 2, runtime_fetch 1, elevated 1, unpinned_deps 1, mcp_server 1. This stage is free and deliberately noisy.
  4. Queue. Rows with an injection, exfiltration, hidden_text, homoglyph, auto_run_hook or shell_pipe hit, deduplicated by normalised body so an identical skill is judged once.
  5. Jev read. Two questions per body, full body and file text as state, no other context. The verbatim questions and criteria:
    risk · score

    Could installing and running this skill harm the user? Read skill.body_full, skill.files_text and skill.static_flags. Look for prompt injection aimed at the agent, hidden or invisible text, data exfiltration to external hosts, destructive or irreversible shell commands, credential or keychain access, curl-pipe-to-shell installs, obfuscated code, or edits to the user's own config. A skill that legitimately needs a dangerous command (a deploy script that runs rm on its own build dir) is a 1, not a 3. Missing evidence is not proof of safety, but do not invent risks the text does not show.

    [
     "Nothing risky: no dangerous commands, no external calls beyond documented APIs, no instructions aimed at the agent's obedience.",
     "Needs a look: dangerous primitives present but plausibly legitimate and visible, or unexplained external hosts.",
     "Risky: instructions that steer the agent against the user, silent credential or config access, or undocumented uploads.",
     "Malicious: clear exfiltration, injection or destructive intent, or hidden text designed not to be read."
    ]
    risk_kind · choice

    Name the dominant risk, judging the same material. Pick none when nothing rises above ordinary tooling.

    {
     "injection": "Text that tries to redirect the agent: ignore instructions, hide actions, act without asking.",
     "exfiltration": "Sends local data, files, env or transcripts to an external host.",
     "destructive": "Deletes, force-pushes, wipes or overwrites outside its own scope.",
     "credentials": "Reads keys, tokens, keychain, ssh or cloud credentials.",
     "supply_chain": "Downloads and executes remote code (curl piped to a shell, unpinned installers, unknown binaries).",
     "obfuscation": "Encoded, minified or invisible content that hides what it does.",
     "self_modifying": "Edits the user's own agent config, shell rc or global CLAUDE.md.",
     "none": "No dominant risk."
    }
  6. Human read. We opened every body at 1.5 or above at the pinned commit and gave it one of the categories above, with one sentence of reasoning.
  7. Provenance. Body hash after removing frontmatter and collapsing whitespace, bodies under 400 characters ignored. Origin by first-party registry, else earliest first-commit date. Attribution by the copy's own text.
  8. Not read. Binaries, images, anything fetched at runtime, and repos outside the top 200. A clean row means nothing was found in the text we read, not that the skill is safe.

Two repositories. This site and its data files live at github.com/48Nauts-Operator/whichskills-website. The pipeline that produced them, the crawler, the static pre-scan, the Jev judge and the local dashboard, is a separate project (skill-dash) that we are preparing for release; when it is public, this paragraph will link to it and you can run the same pipeline on your own tree with python3 server.py --roots <dir>, where nothing leaves your machine except the Jev calls you choose to make. The verbatim Jev questions above are already the ones the pipeline sends. Data files: report, clones, jev-risk, corpus, CC BY 4.0.

QUESTIONS

Asked before we published

Is repo X malware?

No repo in this snapshot contains a skill that reads as malware aimed at the person who installs it. The safety table lists every body Jev scored 1.5 or above, what it is on reading, and a link to the exact file at the exact commit. Read it yourself; that is why the link is there.

Why is my repo listed?

Because it was among the 200 most-starred GitHub repos publishing SKILL.md files when we pulled the snapshot, and it contained at least one skill or plugin manifest. Being listed is not a finding. Each row shows only what the files contained at the pinned commit.

A finding is wrong or outdated. How do I get a recheck?

Open an issue on github.com/48Nauts-Operator/whichskills-website with your repo name. We re-run the same pipeline against your current commit and update the row with the new commit hash. Free, and the old row stays visible with its date.

What does "byte-identical copy" mean?

Two SKILL.md bodies that are the same after removing the frontmatter and collapsing whitespace. Renamed or lightly edited copies are not counted here; that needs a similarity pass we have not published yet.

Who decided the origin of a copied skill?

A short registry of first-party sources (anthropics/skills, anthropics/claude-plugins-official, obra/superpowers, mattpocock/skills) wins when present. Otherwise the earliest first-commit date across the snapshot gets the label "earliest known copy", and that is all the label claims. We cannot see repos we did not crawl.

Why Jev and not a big model?

Jev is a small typed-judgment model from TypeSafe. It returns a probability distribution for a fixed question in about a second, which makes 545 full-text reads cost 4 million tokens and 93 seconds, and makes every score a distribution you can inspect instead of a paragraph you have to trust. It is also an experiment. The page shows where a one-second judge agrees with pattern scanners and where it does not.

Is this a security scanner?

No. NVIDIA's SkillSpector and others do that with far more rules. We run a small static pre-scan to build a queue, then a Jev read, then a human read. What we add is provenance, duplication and the receipts. Use a real scanner before installing anything.

Do you sell anything?

No. The data and the questions are public now, the pipeline follows as its own repository. The domain and the tokens are paid by 48Nauts.