ProSkillsLibraryFreePassScan

Report

State of agent skills 2026: what 1,638 public skills look like when scanned

We ran 1,638 public SKILL.md skills from 83 popular GitHub repos through the ProSkills scanner. This is what came out: scores, the most common problems, token cost and security findings. Data as of October 19, 2026, refreshed when the scan data is rebuilt.

Summary

Key findings

88median score of 100

Mean 85.1. 46% grade A.

4%have a critical finding

61 of 1,638 skills.

1,666median tokens on trigger

One in ten loads 4,708 or more.

  • The median public skill scores 88/100. 46% grade A, 30% grade B and 7% grade F.
  • 4% of skills have at least one critical finding, and 19% have a security finding at warning level or above.
  • The most common finding is eff/description-trigger, in 34% of skills: the description never says when to use the skill, so the agent has to guess.
  • The median skill loads 1,666 tokens when it triggers. 9% load more than 5,000.
  • 12% of skills with a body over 40 lines have no numbered workflow.
  • 83% come from a repo with a license GitHub can detect.
  • 18% bundle at least one script, and 57% link to at least one external URL.
  • Only 9% have no findings at all.

Grades

Score distribution

75% of public skills score B or better, and 7% get an F. Grades follow the score (A is 90 or more, B 80, C 70, D 60), except that any critical finding makes the grade F whatever the total.

GradeScoreSkillsShare
A90-10074646%
B80-8948930%
C70-7918811%
D60-691056%
FUnder 60, or any critical finding1107%

The score is four pillars of 25 points each. Clarity holds up best, at 22.3 on average, and efficiency loses the most points, at 19.6.

PillarAverage of 25What it checks
Spec21.1Frontmatter, name and description rules from the open Agent Skills spec, and file references that resolve.
Efficiency19.6A description that says when to trigger, body size, and detail split into reference files.
Clarity22.3Headings, examples, a stated output, numbered steps, no vague or unfinished text.
Security22.1Patterns for instruction override, hidden text, remote code, secrets, persistence and risky commands.

Rules

The 10 most common findings

The top finding, eff/description-trigger, appears in 34% of public skills. Most of the top ten are cheap to fix: one line in the description, one Output heading, one example.

RuleWhat it meansSkillsShare
eff/description-triggerThe description never says when to use the skill, so the agent has to guess.56034%
spec/non-portable-keysFrontmatter keys outside the open spec, which claude.ai and the Skills API reject on upload.55834%
clarity/outputThe skill never says what the result should look like.44427%
spec/broken-refSKILL.md points to a file that is not in the skill folder.35422%
clarity/examplesNo example, code block or table anywhere in the body.30018%
eff/orphan-fileA bundled file that SKILL.md never mentions, so the agent will not know to read it.25516%
sec/plain-httpLinks over plain http instead of https.19912%
clarity/workflowA body over 40 lines with no numbered steps.17311%
eff/body-tokensThe body is over 5,000 tokens, all loaded each time the skill triggers.1459%
eff/body-lightUnder about 450 tokens of guidance in total.1197%

A skill counts once per rule, however many times the rule fires in it. clarity/workflow only checks bodies over 40 lines, so its share of those skills is 12%. The keys behind spec/non-portable-keys are most often tags, version and argument-hint.

Context

Token cost

The median public skill loads 1,666 tokens into context when it triggers, and the 90th percentile is 4,708.

MeasureTokensWhen it is paid
Name and description, median67Every session, for every installed skill
SKILL.md body, 25th percentile714Each time the skill triggers
SKILL.md body, median1,666Each time the skill triggers
SKILL.md body, 90th percentile4,708Each time the skill triggers
SKILL.md body, largest36,030Each time the skill triggers
Reference files, median of the 59% that have them4,591Only when the agent opens them

The always-loaded cost is small, so installing many skills is cheap until they trigger. The body is the real cost: 9% of skills (145) go past the 5,000 tokens the scanner treats as the budget. Moving long tables and examples into reference files keeps them out of context until needed. See reduce skill token usage and progressive disclosure.

Security

Security findings

3% of public skills (42) have a critical security finding, and 27% have a security finding of any level.

SeverityFindingsSkills with oneShare of skills
Critical58423%
Warning52129318%
Info19919912%
Security ruleWhat it matchesSkills
sec/plain-httpLinks over plain http instead of https.199
sec/persistenceMentions cron, launch agents, shell rc files or agent hooks: ways to keep running after the task.92
sec/hidden-commentAn HTML comment with instruction-like words, which does not show when rendered.60
sec/permissionssudo, chmod 777, wildcard allowed-tools or a permission bypass flag.58
sec/secret-readTouches credential files such as ~/.ssh, ~/.aws or .npmrc.47
sec/undocumented-scriptBundles scripts that SKILL.md never explains.37
sec/remote-execA command that downloads code and pipes it to a shell or interpreter.31
sec/exfiltrationA network call that includes secrets, env vars or credential files.27
sec/obfuscationDecodes or evaluates hidden code, or carries a long encoded blob.27
sec/destructiverm -rf on broad paths, disk formatting, force push, DROP TABLE and similar.14
sec/prompt-injectionPhrasing that tries to override the agent's instructions.13
sec/hidden-unicodeInvisible or bidirectional Unicode characters.9
sec/fake-prerequisiteTells the reader to download and run a binary from a URL.6
sec/suspicious-hostLinks to a paste, tunnel, webhook or URL shortener host.3
sec/remote-instructionsFetches instructions from a URL at runtime.1

These are findings, not verdicts. A rule matches a pattern in the text. A skill that documents sudo for an install step, or warns readers about curl | sh, trips the same rule as one that does it. The scanner already downgrades matches that read as a quoted example or a warning to warning level. Each public report shows the file and line so you can judge it in context.

The opposite error also exists. A static scan reads text. It does not run scripts, follow redirects or see what a URL serves later, and a determined author can word around any pattern list. A clean scan lowers risk. It does not prove a skill is safe. Read is this skill safe for what to check by hand, and browse every report on public skills, scanned.

Baseline

Compared with the ProSkills catalog

The 67 skills in the ProSkills catalog have a median score of 100, against 88 for public skills. That gap is by design, not luck: catalog skills are scanned by the same rules before they ship and fixed until they pass.

Public skillsProSkills catalog
Skills scanned1,63867
Median score88100
Grade A46%100%
Lowest score21100

See every catalog score on the quality leaderboard.

How

Methodology

The data covers 1,638 skills from 83 public GitHub repositories, scanned on October 19, 2026.

  • Selection: GitHub repository search for a seed list of well-known skill repos, the topics claude-skills, agent-skills and claude-code-skills, and repos with "claude skills" in the name or description and over 50 stars. Forks and archived repos are skipped, and the most-starred repos are kept.
  • A skill is any folder with a SKILL.md, up to 40 per repo. Folders named test, tests, fixtures or examples are skipped. Up to 25 text files under 200 KB are read per skill.
  • When the same SKILL.md appears in several repos, it is counted once, under the most-starred repo. A symlinked SKILL.md is skipped as a copy.
  • Each skill is pinned to the commit it was read at, so a report matches a specific version.
  • Scoring uses the same scanner as the free Skill Scanner: four pillars of 25 points, findings by named rule, and 42 distinct rules fired in this data. The full rule list is in the validator guide.
  • Tokens are estimated as characters divided by four, which lands within about 10% of real tokenizers for English and code.
  • License is the repository license as GitHub reports it, not a per-skill license file.

Limits. The sample leans toward popular repos, so it says more about skills people install than about every skill written. The scanner checks form, cost and known risky patterns. It does not judge whether a skill's advice is good. Rule changes rescore every skill at the same commits, so numbers here can move between refreshes without any skill changing.

Cite

How to cite this report

FAQ

Questions

What is the average quality score of a public agent skill?
The median is 88 out of 100 and the mean is 85.1, across 1,638 public SKILL.md skills scanned on October 19, 2026. 46% grade A (90 or more) and 7% grade F.
How many public agent skills have security issues?
4% (61 of 1,638) have at least one critical finding, and 19% have a security finding at warning level or above. A finding is a pattern match, not proof of intent. Many are commands shown as examples or warnings.
What is the most common problem in agent skills?
The description never says when to use the skill, so the agent has to guess. It shows up in 34% of skills (rule eff/description-trigger). The fix is one line in the description: say when to use the skill, for example "Use when the user asks for...".
How many tokens does a typical skill load?
The median skill loads about 1,666 tokens into context when it triggers, and about 67 tokens are always loaded for its name and description. One in ten loads 4,708 tokens or more, and 9% go past 5,000.
How many agent skills ship scripts or have a license?
18% of skills bundle at least one script file, and 83% come from a repo with a license GitHub can detect. 57% link to at least one external URL.
Can I use these numbers?
Yes. The data is published under CC BY 4.0. Cite it as: ProSkills, State of Agent Skills 2026, proskills.dev/state-of-agent-skills, data as of 2026-10-19.

Related

Keep reading

Free tool

Scan your own skill

Paste a SKILL.md or drop a folder. It is scored in your browser and nothing is uploaded.