Claude Code plugin commits grew 8.8× in six months; 80% of docs labels were behavior changes

On the Maintenance and Co-evolution of Agent Plugins: An Empirical Study of Claude Code Plugin Marketplaces

Ahmed Hereiz, Yingzhe Lyu, Hao Li, Bram Adams, Ahmed E. Hassan

cs.SE, cs.AI

2026-08-29

Queen's mined 8,351 Claude Code plugins: commits grew 8.8× in six months, feat is 39.6% vs 17.2% OSS, Claude co-authors 34.9%, 78% of skill script-Markdown co-changes couple.

What problem this solves

Claude Code shipped plugin marketplaces in October 2025. A plugin packages skills, slash commands, agents, hooks, and MCP configs so a team can install a workflow instead of re-prompting the agent per repo. The payload is mostly Markdown the model reads at runtime, plus scripts and JSON. It is not a compiled package.

Empirical SE has mapped npm, GitHub Actions, the GPT Store, and the skills.sh catalog. Nobody had asked whether these plugins are maintained software or one-shot prompt dumps, or whether a change in one component silently desyncs another. SAIL at Queen's University crawled every public GitHub repo that hosts a .claude-plugin/marketplace.json and produced the first baseline.

Method

On 2 April 2026 they queried GitHub Code Search, got 11,254 raw hits, and 10,646 unique repos. 81.7% had under 10 stars (46.3% had zero), so they kept repos with at least 10 stars: 1,926 repositories, 2,018 marketplaces, 8,351 locally resolvable plugins, and 77,773 plugin-touching commits from 3,948 authors (median 13 commits per repo). Re-running at 5 and 25 stars left the qualitative ranking intact. Skills still dominate, feat still dominates.

Three questions, three pipelines:

Results

Activity is still climbing. Plugin-touching commits rose from 2,923 in October 2025 to 25,618 in March 2026, 8.8× in six months, Sen's slope about 4,550 extra commits per month. 84.5% of repos were created after launch. January through March 2026 added 1,102 repos, 2.1× the 525 from October through December. Skill instances grew 22× (1,776 to 39,287) and now outnumber every other component combined (20,280). Software Engineering is 61.3% of plugins (code generation 25.9%, infrastructure 16.6%, debug 14.8%, version control 4.0%), matching skills.sh. 34.4% of plugins mix two or more component types. 72.1% of marketplaces list a single plugin. Three aggregator repos hold 12.1% of plugin entries.

Commit mix after reclassification:

TypePlugin reposTraditional OSS (Zeng et al., 88,704)
feat39.6%17.2%
fix25.8%27.0%
chore21.0%26.0%
docs1.7%8.1%

feat, fix, and chore together are 86.5%. Raw docs was 10.3%; after reclassification it is 1.7%. Of 8,007 docs-labeled commits, 16% stay human README-class work; the rest move to fix (3,353), feat (3,047), or chore (279). In the 700-commit sample, 74% of docs commits edit instructions the model reads at runtime. build is 1.1% and test is 0.5%.

Claude co-authored 27,159 commits (34.9%). Any coding agent: 35.5%. Every other tool together is under 0.5%. Claude's share peaks on perf (40.1%) and bottoms on revert (16.2%). That 34.9% is a lower bound: developers who paste agent output without a trailer leave no trace.

Across components, only the agents-commands pair has Lift 1.40, above chance. Skills co-change with other types at 43% to 57% confidence, but Lift sits at 0.59 to 0.78 because skills appear in most PRs anyway. The new dependency is inside skills/: script-Markdown Lift is 1.37 to 1.58. Of 64 sampled co-change PRs, 78% are functionally coupled. Interface changes and internal-logic changes each account for 34% of the coupled cases. One model-id rename touched 24 SKILL.md files in a single PR.

Why it matters

Treat AI-facing Markdown as source. A stale SKILL.md will make Claude call a flag that no longer exists, and nothing compiles that error away. If you edit a script under skills/, update the instruction file in the same PR.

Do not drop a CCS classifier trained on ordinary OSS onto this corpus. docs, perf, style, and refactor mean different things here: docs usually changes runtime behavior, and perf is about model tier and prompt length, not algorithmic complexity.

The 34.9% Claude trailer rate is usable observational data on human-agent division of labor, with the caveat that unsigned agent work is invisible. Raw plugin counts inflate supply: 38.7% of normalized names appear more than once, mostly via aggregator registries. The 61.3% SE share may just be the early-adopter population.

Limitations

Public GitHub only. The 10-star cut drops a lot of noise; qualitative findings hold at 5 and 25 stars, small-repo behavior does not. Median repo age at collection was 80 days, so the 8.8× curve can still bend. Results are Claude Code specific. LLM labels are a single run. Human κ is 0.671 on commits and 0.74 on PRs. Agent detection is a lower bound. Plugin-touching commits include incidental edits (48% of the test stratum), so the 77,773 figure overstates dedicated plugin maintenance.

Terms

Source

What people are saying

Related papers

All paper explainers