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.
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.
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:
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:
| Type | Plugin repos | Traditional OSS (Zeng et al., 88,704) |
| feat | 39.6% | 17.2% |
| fix | 25.8% | 27.0% |
| chore | 21.0% | 26.0% |
| docs | 1.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.
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.
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.