Buckets:
| Name | Size | Uploaded | Xet hash |
|---|---|---|---|
| data | 78 items | ||
| scripts | 1 items | ||
| .gitattributes | 2.5 kB xet | 738f1125 | |
| README.md | 10.9 kB xet | 14afe42c | |
| export.log | 11.7 kB xet | b6bd4618 | |
| upload.log | 3.36 MB xet | fde5e4ac |
GitSkills: A Dataset of Agent Skills on GitHub
Paper (arXiv:2608.10906) · Sample repository · Zenodo DOI: 10.5281/zenodo.21875637
An agent skill is a folder containing a SKILL.md file with instructions for
a language-model agent, optionally accompanied by scripts and reference
files. The agent loads the skill when it judges that a task matches the
skill description. Anthropic introduced the format in October 2025 as an
open specification. Nine months later, skill files in the millions sit in
public GitHub repositories — yet no dataset recorded this population before
GitSkills.
GitSkills contains 3,797,117 SKILL.md files collected from
282,200 public repositories (owned by 195,841 accounts) in July 2026.
Files are grouped by content hash into 1,877,981 distinct contents; one
representative per group is enriched with full text, parsed front matter,
folder contents, repository metadata, and — for a large subset — the commit
history of the file. Every occurrence is retained with its own repository
and path, so both unique contents and their copies can be studied.
Overview
from datasets import load_dataset
artifacts = load_dataset("mvaccargiu/gitskills", "artifacts", split="train")
siblings = load_dataset("mvaccargiu/gitskills", "artifact_siblings", split="train")
repos = load_dataset("mvaccargiu/gitskills", "repos", split="train")
runs = load_dataset("mvaccargiu/gitskills", "mining_runs", split="train")
print(artifacts[0])
Intended Uses
The dataset supports empirical research on a software artefact that, unlike most artefacts the SE research community mines, is written in natural language and selected probabilistically at run time rather than verified by a compiler:
- Adoption and linguistic evolution — how the format spreads across languages, project types, and monthly cohorts; how many skills are themselves agent-authored.
- Development of a shared format — vendor-neutral vs. tool-specific skill locations, and whether skill text targets one tool or the open spec.
- Reuse without a package manager — 50.5% of collected files are verbatim copies; the dataset supports studying concentration of reuse and clone-genealogy patterns.
- Software metrics for natural-language instructions — size, churn, age, clone coverage, and readability equivalents for skills, and whether description properties predict reuse and maintenance.
- Maintenance and trust — staleness relative to described tools, and whether modified copies introduce command execution or network access absent from the original (a supply-chain-attack analogue in a registry- free ecosystem).
Quick Look
| Config | Rows | Content |
|---|---|---|
artifacts |
3,797,117 | One row per discovered SKILL.md occurrence; full text, front matter, and commit history for representatives |
artifact_siblings |
7,264,865 | Scripts and reference files stored alongside a representative skill |
repos |
282,200 | Repository metadata: stars, language, fork status, license, dates |
mining_runs |
7 | Provenance log of each collection run |
Dataset Structure
artifacts
One row per discovered file: repository, path, exact basename, location
class, and content hash. For the representative of each distinct content:
full text, parsed front matter (name, description), body size, and — for
458,548 files in standard locations plus a size-stratified sample of the
rest — the first and last commit of the file, with anonymised author
accounts and commit count.
artifact_siblings
Files stored alongside a representative skill: path, entry type (file or
dir), size, and the text of files under a size cap. Whether a skill bundles
scripts or reference material is recorded per skill in artifacts
(has_scripts, has_references), not per individual sibling file.
repos
Repository metadata: owner, star count, primary language, fork status, license, creation date, and last-push date.
mining_runs
Query, start/end timestamps, and result count for each collection run.
Collection Methodology
Collection is read-only, against the GitHub REST, GraphQL, and code-search APIs and the raw-content CDN, in three stages:
- Discovery — search for files matching
SKILL.md, partitioning the search space by file size to work around the code-search API's 1,000-result cap (its reportedtotal_countproved unreliable — roughly 349,000 for the filename query, against over 3.8M files ultimately retrieved). Every filename match is retained, including files that only contain the term (e.g.coding-skill.md) and pre-format lowercase files. - Deduplication — files are grouped by content hash; one representative
per group is selected for enrichment (preferring a file in
.claude/skills/), while all copies remain in the dataset with their own repository, path, and location class. - Enrichment — for each representative: content, parsed front matter, folder contents, repository metadata, and — for standard locations plus a size-stratified sample of the rest — the commit history of the file.
The dataset covers public repositories only and should be read as a lower bound on the population: GitHub code search indexes only default branches, files under 384 KB, recently active repositories with fewer than 500,000 files, and forks only when they have more stars than the parent.
Anonymisation
Commit author accounts are replaced by keyed one-way codes, identical for
the same account throughout the dataset, so authorship can be traced without
identifying anyone; the key used to generate the codes is not distributed.
Bot accounts keep their login. Email addresses (including GitHub noreply
addresses) and personal names in commit messages are redacted with a fixed
marker; AI assistant names in Co-authored-by trailers are kept.
License
The dataset's collected metadata and aggregation are released under
CC-BY-4.0. The content fields reproduce file text from public GitHub
repositories and remain subject to the license of their origin repository;
consult repos.license (and the origin repository itself) before reusing
specific file contents.
Citation
This dataset accompanies a paper accepted at the MSR 2027 Mining Challenge, also available as a preprint at arXiv:2608.10906. If you use the GitSkills dataset, please cite:
@inproceedings{gitskills2027,
author = {Destefanis, Giuseppe and Graziotin, Daniel and Vaccargiu, Matteo and Ortu, Marco},
title = {GitSkills: A Dataset of Agent Skills on GitHub},
year = {2027},
isbn = {},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://arxiv.org/abs/2608.10906},
doi = {https://doi.org/10.48550/arXiv.2608.10906},
booktitle = {Proceedings of the 24th International Conference on Mining Software Repositories},
pages = {To Appear},
numpages = {3},
location = {Dublin, Ireland},
series = {MSR '27}
}
Contact
- Giuseppe Destefanis — University College London — g.destefanis@ucl.ac.uk
- Daniel Graziotin — University of Hohenheim — graziotin@uni-hohenheim.de
- Matteo Vaccargiu — University of Hohenheim — matteo.vaccargiu@uni-hohenheim.de
- Marco Ortu — University of Cagliari — marco.ortu@unica.it
- Total size
- 13.4 GB
- Files
- 83
- Last updated
- Aug 27
- Pre-warmed CDN
- US EU US EU