On the Maintenance and Co-evolution of Agent Plugins: An Empirical Study of Claude Code Plugin Marketplaces
Organizations: Queen’s University, Software Analysis and Intelligence Lab (SAIL), Kingston, ON, Canada
Abstract
AI coding agents, software tools that automate development tasks through reasoning and tool use, are increasingly extended through plugin marketplaces, yet the structure, maintenance, and co-evolution dynamics of these emerging repositories remain empirically unexplored. Unlike traditional software packages that deliver functionality through source code, agent plugins deliver functionality through a combination of natural-language instruction files, scripts, and configuration files, raising the question of whether these plugins are maintained artifacts that co-evolve across components, or one-off artifacts that developers write once and do not need to revisit. To study the maintenance and co-evolution of agent plugins, we conduct an empirical study of 1,926 repositories hosting Claude Code plugin marketplaces, analyzing 8,351 plugins and 77,773 commits across 2,018 marketplaces. We find that the marketplace is expanding rapidly, plugin-touching commit activity growing 8.8x over six months after the October 2025 launch, and plugins targeting Software Engineering tasks accounting for 61.3% of all plugins. Plugin development is predominantly feature-driven, with feature commits occurring at more than twice the rate of conventional open-source software (OSS) (39.6% vs. 17.2%). Claude co-authors 34.9% of all commits, and four commit types (docs, perf, style, and refactor) carry substantially different meanings in plugin repositories than in traditional software. Most component types evolve independently, but within skills directories, natural-language instruction files and implementation scripts co-evolve at above-chance rates, with 78% of co-changes being functionally coupled, representing a new class of maintenance dependency not observed in traditional software engineering.
Figures & tables
| Directory / File | Purpose |
|---|---|
| commands/ | User-invoked prompts triggered via slash-commands (e.g., /plugin:review ) |
| agents/ | Custom agent definitions |
| skills/ | Agent skills ( SKILL.md files) |
| hooks/ | Shell commands triggered by events within Claude Code lifecycle (e.g. a PostToolUse hook was triggered to run a linter once Claude edits a file) |
| .mcp.json | Model Context Protocol (MCP) server configurations |
| .lsp.json | Language Server Protocol (LSP) server configurations |
| Su et al. ( Su et al., 2025 ) | Yan et al. ( Yan et al., 2024 ) | Ling et al. ( Ling et al., 2026 ) | Our study | |
|---|---|---|---|---|
| Target system | Conversational LLM | Conversational LLM | AI coding agent | AI coding agent |
| Scale | 722,349 GPTs | 1,038 plugins | 40,285 skills | 8,351 plugins |
| Artifact form | NL customization | API integration | NL skill file | Multi-component package |
| NL instruction files | ✓ | ✓ | ✓ | |
| Executable scripts | ✓ | |||
| Config files | ✓ | ✓ |
| Major Category | Sub-category | # Plugins | % of Total | % skills.sh ( Ling et al., 2026 ) | # Median Stars |
|---|---|---|---|---|---|
| Software Engineering | Code Generation | 2,164 | 25.9% | 14.3% | 40.0 |
| Infrastructure | 1,387 | 16.6% | 24.0% | 40.0 | |
| Debug & Analysis | 1,234 | 14.8% | 13.2% | 49.0 | |
| Version Control | 336 | 4.0% | 3.2% | 37.5 | |
| Information Retrieval | Academic Search | 196 | 2.3% | 2.7% | 46.5 |
| Web Search | 133 | 1.6% | 1.4% | 47.5 |
| CCS Type | Change Type | Description | N (%) |
| feat ( =137) | Plugin or component addition | New plugin.json , marketplace entry, or major component added | 66 (48.2%) |
| Component update | Existing instruction using natural language or config files extended | 54 (39.4%) | |
| Incidental touch | Plugin file changed as a side-effect of non-plugin work | 17 (12.4%) | |
| fix ( =83) | Instruction/content fix | Wrong behavioral text corrected in skill, command, or agent files | 41 (49.4%) |
| Hook/command script fix | Bugs in executable plugin scripts or hooks.json | 27 (32.5%) | |
| Plugin manifest fix | Wrong metadata in plugin.json or marketplace.json | 12 (14.5%) |
| Rule ( ) | Co-changing PRs | Conf | Lift | Repos significance |
|---|---|---|---|---|
| skills commands | 1,162 | 14.9% | 0.64 | 23.4% |
| commands skills | 1,162 | 46.5% | 0.64 | 23.4% |
| skills agents | 1,176 | 15.1% | 0.78 | 25.8% |
| agents skills | 1,176 | 56.6% | 0.78 | 25.8% |
| skills hooks | 678 | 8.7% | 0.59 | 27.9% |
| hooks skills | 678 | 43.2% | 0.59 | 27.9% |
| Rule ( ) | Co-changing PRs | Conf | Lift | Repos significance |
|---|---|---|---|---|
| .py README.md | 201 | 19.1% | 4.14 | 33.3% |
| README.md .py | 201 | 32.1% | 4.14 | 33.3% |
| .json README.md | 203 | 17.5% | 3.80 | 48.6% |
| README.md .json | 203 | 32.4% | 3.80 | 48.6% |
| .py Other .md | 670 | 63.6% | 1.58 | 16.0% |
| Other .md .py | 670 | 12.2% | 1.58 | 16.0% |
| Category | Description | Human | LLM |
|---|---|---|---|
| (n=64) | (n=259) | ||
| Interface change | A flag, command, argument, or method is added or removed in the script; SKILL.md updates the callable surface the agent invokes. | 17 (27%) | 87 (34%) |
| Internal logic change | The script’s behavior or output changes while it is invoked the same way; SKILL.md updates its description of what the skill does. | 17 (27%) | 68 (26%) |
| Variable/version sync | A version, default, or identifier the script embeds changes (model name, environment variable, version string); every Markdown file that quotes it follows. | 9 (14%) | 33 (13%) |
| Repo re-structuring | A file, path, or configuration-file format is moved, renamed, or reformatted; SKILL.md updates the affected paths, filenames, or format examples. | 7 (11%) | 24 (9%) |
| No coupling | The script and the Markdown both change, but the script change does not drive the Markdown file change. | 14 (22%) | 47 (18%) |
Software Engineering Agents
Software Engineering Agents are AI systems that use code, tools, and feedback to perform software development tasks.
See all 349 papers