13.4 GB
83 files
Updated 2 months ago
Name
Size
data
scripts
.gitattributes2.5 kB
xet
README.md10.9 kB
xet
export.log11.7 kB
xet
upload.log3.36 MB
xet
README.md

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:

  1. 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 reported total_count proved 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.
  2. 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.
  3. 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

Total size
13.4 GB
Files
83
Last updated
Aug 27
Pre-warmed CDN
US EU US EU

Contributors