MSR '27  ·  arXiv:2608.10906  ·  cs.SE  ·  11 Aug 2026

GitSkills

A dataset of 3.8 million agent-skill files, mined from 282,200 public GitHub repositories — the first large-scale record of a brand-new software artifact.

Destefanis · Graziotin · Vaccargiu · Ortu — UCL, Hohenheim, Cagliari
What is an agent skill? How the dataset was built What's inside it Five open research threads Access & citation
The Problem

A new artifact, with no dataset to study it

Anthropic opened the agent-skill format in October 2025. Nine months on, skill files sit in the millions across public repos — written in natural language, loaded probabilistically by a model, with no compiler or type checker to verify the selection. No existing dataset recorded this population.

GitSkills is the first attempt to map it
Adoption, reuse, structure, authorship, maintenance, and security — at population scale
By The Numbers

The population, mapped for the first time

Collected in July 2026 via a read-only pipeline against the GitHub code-search and REST APIs.

3.80M
SKILL.md file occurrences recorded
282,200
public repositories, owned by 195,841 accounts
1.88M
distinct contents after grouping by hash
50.5%
of files are verbatim copies of another skill
What Is A Skill?

Not your ordinary config file

Structure

A folder, one required file

A skill is a folder containing SKILL.md: YAML front matter (name + description) followed by a Markdown body of instructions. The folder can also bundle scripts and reference documents.

Claude Code is the reference implementation; .claude/skills/ is treated as the standard location.

Collection Method

Three stages, entirely read-only

GitHub code search caps results at 1,000 per query, and its own total_count estimate proved unreliable.

1
Discovery
Partition the search space by file size until every range returns completely
2
Deduplication
Group by content hash; pick one representative per group, all copies retained
3
Enrichment
Full text, front matter, folder contents, repo metadata, sampled commit history
GitHub reported roughly 349,000 matches for the filename query — the pipeline actually retrieved over 3.8 million files.
Inside The Dataset

Five linked tables, one SQLite file

01
artifacts — 3,797,117 rows

One row per discovered file: repository, path, exact basename, location class, content hash, representative flag.

02
repos — 282,200 rows

Owner, star count, primary language, fork status, creation date, and last-push date.

03
artifact_siblings — 7,264,865 rows

Files bundled alongside a representative skill, plus per-skill flags for whether it has scripts or reference material.

04
commit history — 458,548 rows

First/last commit dates and anonymised author codes, for standard-location skills plus a size-stratified sample.

05
mining_runs — 7 rows

Query, start/end timestamps, and result count for each collection run — full provenance.

Open Questions

Five research threads the dataset unlocks

01
Adoption & linguistic evolution

How fast does the format spread, what do developers codify, and is skill-writing converging into a formulaic genre?

02
A shared, vendor-neutral format

Do skills stay tied to one tool, or generalise to any agent that implements the open specification?

03
Reuse without a package manager

With no central registry, skills spread by copying folders — how concentrated is reuse, and do copies follow known clone-genealogy patterns?

04
Software metrics for prose

Which code metrics — churn, clone coverage, readability — have a meaningful equivalent for natural-language instructions?

05
Maintenance & trust

Skills can trigger command execution and network access — can a modified copy hide a supply-chain attack with no formal review?

Notable Findings

Three things worth remembering

01
GitHub's own count was off by 10×

Code search reported ~349,000 matches for the filename query. The pipeline actually retrieved over 3.8 million files — hence the size-partitioned discovery approach.

02
Half the files are copies

50.5% of collected files are verbatim duplicates. With no registry, reuse happens purely by copying folders between repositories.

03
Privacy by design

Commit authors become keyed, non-reversible codes; emails and personal names are redacted. Bot logins and AI co-author trailers are kept.

Access & Citation

Where to get GitSkills, and how to cite it

Public-repos only — treat it as a lower bound. GitHub code search skips files over 384KB, inactive repos, repos with 500,000+ files, and forks without more stars than their parent.

01
Full dataset (SQLite)
Archived on Zenodo — doi.org/10.5281/zenodo.21875637
02
Parquet mirror
Partitioned by table on Hugging Face — huggingface.co/datasets/mvaccargiu/gitskills
03
Sample & code
Destefanis, G., Graziotin, D., Vaccargiu, M., & Ortu, M. (2027). GitSkills: A Dataset of Agent Skills on GitHub. In Proceedings of the 24th International Conference on Mining Software Repositories (MSR '27). ACM, New York, NY, USA. arXiv:2608.10906.
1 / 1
← → to navigate