Sign inGet started
All insights

How Skill Deduplication Works Across GitHub Forks

By SkillzBench · October 17, 2026

Learn how skill deduplication tames 1.9M duplicate GitHub forks, cuts security risk, and pins verified AI agent skills to commit SHAs. Skills, proven.


Key Facts

  • One scraped directory lists ~1.9 million public GitHub skills with no curation or security review, a catalog experts call mostly noise.
  • 26.1% of community-contributed agent skills carry at least one vulnerability, according to published research.
  • Snyk's ToxicSkills audit detected prompt injection in 36% of skills tested, per the ecosystem report.
  • Of 47,150 public skills analyzed, the average quality score was just 6.2 out of 12, research found.
  • Curated, verified skills raised agent pass rates by +16.2 percentage points, with healthcare tasks gaining over 50 points, benchmark testing shows.
  • An audit of 22,511 skills surfaced 140,963 issues — roughly 6.3 per skill — per ecosystem analysis.
  • Best-practice guidance says skills should be treated like application code with version control and tagged releases, according to published recommendations.

The Fork Explosion: Why One Skill Becomes a Thousand

Somewhere on GitHub right now, a single well-written skill is quietly becoming a thousand near-identical copies — and almost nobody can tell which one actually works. That's not a bug in the agent-skills ecosystem. It's a direct consequence of how skills are built.

A skill is, at its core, just markdown in folders — a SKILL.md file plus optional scripts and references. According to the Agentman ecosystem report, that simplicity makes skills "trivial to write and trivial to ship without review," a dynamic that defines both the market's explosive growth and its risk. The same portability that lets one skill run across roughly 40 compatible products also means one GitHub fork begets another, and another.

The numbers show what that produces. One scraped directory alone lists ~1.9 million public skills pulled from GitHub with no curation or security review — a catalog the same report bluntly calls "mostly noise." Meanwhile, more than 2,500 Claude Code plugin marketplaces are registered, ranging from polished collections to abandoned repos. The volume is real; the signal is buried.

Why does duplication at this scale matter?

  • Quality collapses. Of 47,150 public skills analyzed, the average quality score was just 6.2 out of 12 — most forks inherit and propagate weak instructions.
  • Security risk multiplies. Research found 26.1% of community-contributed skills carry at least one vulnerability, so every unvetted fork is effectively an unaudited dependency with code-execution rights.
  • Trust evaporates. When dozens of forks share a name, even a careful buyer can't tell which version is the maintained original and which is a stale — or tampered — copy.

The root problem is lineage. Because skills behave like code but are often distributed like blog posts, provenance gets lost the moment a repo is forked. Best-practice guidance argues skills should be treated like application code, with version control and tagged releases, per published recommendations — but the scraped-catalog world rarely does any of that.

This is the core problem readers face: not a shortage of skills, but an inability to find the real, working, safe version of one. It's also why SkillzBench is building a directory that continuously crawls GitHub, deduplicates skills across forks, and pins every version to a commit SHA — so "which copy is real?" stops being a guessing game. Skills, proven: join the SkillzBench waitlist to get notified at launch.

Why Duplicates Are Dangerous: Security and Quality Costs of Noise

Every fork of an agent skill looks harmless — just a markdown file in a folder. But multiply those forks across GitHub and you multiply every vulnerability, every stale instruction, and every silent failure mode hidden inside.

The numbers behind that risk are stark. Published research finds that 26.1% of community-contributed skills carry at least one vulnerability, while Snyk's ToxicSkills audit detected prompt injection in 36% of the skills it tested. A single unvetted fork doesn't just copy a skill — it copies its flaws and gives them a fresh install path.

Quality degrades just as fast. When 47,150 public skills were analyzed, the average scored just 6.2 out of 12 on quality — barely halfway to reliable. Forks spread that mediocrity faster than any review process can catch it.

Here's what duplication actually costs you at runtime:

  • Each unvetted fork is an unaudited dependency with code-execution rights inside your agent's workflow
  • Duplicated skills consume standing context budget — roughly 100 tokens each at load time — without adding new capability
  • Stale forks keep shipping outdated instructions long after the original was patched or deprecated
  • Near-identical skills confuse selection logic, so your agent loads the wrong variant of the same procedure

Scale makes this worse, not better. One scraped directory lists nearly 1.9 million public skills pulled straight from GitHub with no review, and an ecosystem analysis concludes bluntly that a scraped catalog of two million skills is "mostly noise." Volume without curation doesn't give you options — it gives you a haystack.

The upside is measurable. Curated, verified skills raised agent pass rates by +16.2 percentage points in benchmark testing, with healthcare tasks gaining over 50 points. Two or three targeted skills outperformed monolithic bundles, which actually dragged performance down by 2.9 points.

That gap — 6.2/12 average quality versus +16.2 points of Lift — is the whole argument. Curation, not catalog size, is what separates a skill that helps from one that hurts. Deduplication is the first step: collapse the forks, pin the real version, and throw away the noise before it ever reaches your agent.

Versioning Like Code: The Foundation for Taming Forks

Imagine a million copies of the same document, each slightly different, none labeled as the original. That is roughly the state of the agent-skills ecosystem today: a recent ecosystem report found roughly 1.9 million public skills scraped from GitHub with no curation, and concluded bluntly that "a scraped catalog of two million skills is mostly noise."

Skills duplicate so easily because of what they are. A skill is "just markdown in folders" — a SKILL.md file plus optional scripts and references — which makes it trivial to write and trivial to ship without review. The same portability that lets one skill run across ~40 compatible products also makes forking effortless, and every fork is another unvetted dependency with code-execution rights.

The closest documented answer to taming this is unglamorous but proven: treat skills like application code. Best-practice guidance argues skills require version control, tagged releases, and named approvers so teams can roll back and stay accountable. That discipline is what makes deduplication possible at all.

  • Commit-SHA pinning — fixing a skill to one exact commit means you always know which version you tested and scanned, not "whatever was on main this morning."
  • Upstream tracking — watching the original repository tells you when the source skill changes, so a fork can be flagged as stale rather than silently drifting.
  • Lineage tracking — knowing which fork descends from which original lets you identify the authoritative copy and retire the duplicates.

Without these foundations, duplicates are not just clutter — they are risk. Research on community-contributed skills found 26.1% carry at least one vulnerability, and an audit of 22,511 skills surfaced 140,963 issues, roughly 6.3 per skill. Every unaudited fork multiplies that attack surface while offering no way to tell whether anyone ever verified it.

This is the approach SkillzBench is building on: pinning every skill version to a commit SHA, tracking upstream changes, and re-scanning and re-benchmarking when the original moves. The payoff is real — the same ecosystem research found curated skills raised agent pass rates by 16.2 percentage points on average, while the average public skill scores just 6.2 out of 12 on quality. Version control does not make a skill good, but it is the only way to know which copy deserves a closer look.

SkillzBench's Approach: Crawl, Dedupe, Pin, Verify

When a skill is just markdown in folders, anyone can copy it, tweak a line, and republish it — which is exactly what's happening across GitHub at enormous scale. One directory lists roughly 1.9 million skills scraped from public GitHub with no security review, and the industry verdict on such catalogs is blunt: a scraped collection of two million skills is mostly noise.

SkillzBench is being built to cut through that noise, and it starts with how skills enter the system. Rather than accepting uploads or aggregating scraped listings, SkillzBench continuously crawls GitHub for agent skills and deduplicates what it finds. Because skills are trivially forkable, the same instruction package can exist in dozens of near-identical repositories — and every unvetted fork is effectively an unaudited dependency with code-execution rights. Deduplication collapses that sprawl into a single canonical entry per skill.

From there, every skill gets pinned to a specific commit SHA. This matters because best-practice guidance treats skills like application code: version control, tagged releases, and rollback capability are prerequisites for accountability. Pinning to an exact commit means the version you evaluate is the version you can trace, even as the upstream repo evolves. When upstream changes arrive, SkillzBench re-scans and re-benchmarks and notifies you — a skill's trust profile is never frozen in time.

Each pinned version then runs through a verification gauntlet:

  • Security scanning, because 26.1% of community-contributed skills contain vulnerabilities
  • License checking, so you know what you're legally allowed to run
  • Quality judging, since the average public skill scores just 6.2 out of 12 on quality
  • Sandbox benchmarking, testing each skill with the same model, with and without the skill, to publish its Lift in percentage points

That last step is where SkillzBench deliberately separates signal from judgment. The Lift — how much a skill actually improves agent performance — is always published separately from the trust score, which combines security, quality, license, maintenance, and community signals on a 0–100 scale. Money never touches either number. The platform is free end to end, supported by advertising around blog content, so a skill's ranking can't be bought.

The benchmarking infrastructure and MCP connector are still being built — SkillzBench is pre-launch, with a live waitlist for early access. But the philosophy is already fixed: discovery is no longer the bottleneck in the skills ecosystem; judgment is. Crawl, dedupe, pin, verify, benchmark — in that order, every time.

Skills, proven. Join the SkillzBench waitlist to get verified, benchmarked agent skills the moment the directory opens.

Practical Playbook: Choosing Skills Without the Noise

You are not just installing a tool; you are granting code-execution rights to an unaudited dependency. In an ecosystem where skills are "just markdown in folders," duplication is trivial, and the noise is deafening.

The current landscape is flooded with scraped content. One major directory lists nearly 1.9 million public skills, yet industry analysis concludes that this volume is "mostly noise." The average public skill scores a mere 6.2 out of 12 on quality metrics. This lack of curation creates a significant security blind spot.

Research indicates that 26.1% of community-contributed skills contain vulnerabilities. When you load a fork without verifying its lineage, you multiply your attack surface. Every unvetted duplicate is a potential vector for prompt injection or data exfiltration.

To navigate this safely, treat skill selection as a supply-chain management task. Security frameworks recommend treating installers as strict boundaries rather than ordinary setup glue. You must verify provenance before execution.

Adopt this practical playbook to filter out the noise:

  • Prefer the upstream original. Always identify the canonical repository. Forks often introduce subtle, undocumented changes that break compatibility or inject risk.
  • Check maintenance signals. Look for recent commits and active issue tracking. Abandoned forks are dead ends that lack security patches for newly discovered exploits.
  • Scan before you install. Never assume a skill is safe because it is popular. Run static analysis to check for hidden scripts or malicious instructions within the markdown.
  • Load only vetted skills. Limit your agent’s context window to a small number of high-quality, verified tools. Overloading an agent with low-quality skills degrades performance and increases latency.

Versioning is the foundation of this strategy. Skills should be treated like application code, pinned to specific commit SHAs to ensure rollback capability and accountability. This prevents silent updates from altering your agent’s behavior unexpectedly.

SkillzBench is building a free directory and MCP connector designed to solve this exact problem. By continuously crawling and deduping skills, the platform pins every version to a specific commit and runs security scans before you equip your agent. This ensures you only load skills that have passed rigorous verification and benchmarking.

The goal is simple: reduce the noise so your agent can focus on judgment, not guesswork. By prioritizing provenance and security, you transform skill installation from a gamble into a controlled, auditable process.

Skills, proven.

Frequently Asked Questions

Why are there so many duplicate agent skills on GitHub?
Skills are 'just markdown in folders' — a SKILL.md file plus optional scripts — which makes them trivial to write and trivial to ship without review. The same portability that lets one skill run across roughly 40 compatible products also makes forking effortless, so one well-written skill quietly becomes thousands of near-identical copies with no way to tell which is the original.
How big is the duplication problem, really?
One scraped directory alone lists about 1.9 million public skills pulled from GitHub with no curation or security review — a catalog the industry has bluntly called 'mostly noise.' Of 47,150 public skills analyzed, the average quality score was just 6.2 out of 12, meaning most forks inherit and propagate weak instructions.
Is installing a forked skill actually risky, or is that just hype?
The risk is measurable: research found 26.1% of community-contributed skills carry at least one vulnerability, and Snyk's ToxicSkills audit detected prompt injection in 36% of skills tested. Every unvetted fork is effectively an unaudited dependency with code-execution rights inside your agent's workflow — a fork doesn't just copy a skill, it copies its flaws.
How can I tell which fork is the real, maintained version of a skill?
Treat skill selection like supply-chain management: prefer the upstream original, check for recent commits and active issue tracking, and scan before you install — never assume a skill is safe because it's popular. Best-practice guidance says skills should be treated like application code with version control, tagged releases, and pinning to a specific commit SHA so you always know exactly which version you tested.
Do duplicate skills hurt my agent's performance even if they're not malicious?
Yes. Each installed skill consumes roughly 100 tokens of standing context at load time, and near-identical duplicates can confuse selection logic so your agent loads the wrong variant of the same procedure. The good news: curated, verified skills raised agent pass rates by 16.2 percentage points in benchmark testing, and 2–3 targeted skills outperformed monolithic bundles, which actually dragged performance down by 2.9 points.
How is SkillzBench dealing with all these duplicate forks?
SkillzBench (currently pre-launch, with a live waitlist) is building a directory that continuously crawls GitHub, deduplicates skills across forks into a single canonical entry, and pins every version to a commit SHA. Each pinned version is then security-scanned, license-checked, quality-judged, and benchmarked in a sandbox — with upstream changes tracked so stale forks get flagged rather than silently drifting, consistent with OWASP's guidance to treat skill installation as a supply-chain boundary.

One Real Skill Beats a Thousand Forks

The fork explosion isn't a sign of a broken ecosystem — it's a sign of an ecosystem that grew faster than its guardrails. With roughly 1.9 million skills scraped from GitHub and an average quality score of just 6.2 out of 12, the bottleneck today isn't discovery; it's knowing which copy is real, maintained, and safe. The fix is unglamorous but proven: treat skills like application code — pin versions to commit SHAs, track upstream, scan before you install, and load only what you've verified. Curated skills raised agent pass rates by 16.2 percentage points, while unvetted forks quietly multiplied vulnerabilities and context bloat. Before you add your next skill, ask three questions: Is this the upstream original? When was it last maintained? Has anyone actually scanned it? SkillzBench is building a free directory that answers all three — continuously crawling, deduplicating, pinning, and benchmarking every skill so you never have to guess. Skills, proven: join the SkillzBench waitlist to get notified at launch.

How Skill Deduplication Works Across GitHub Forks · SkillzBench