Plugin system
Location:src/plugins/, src/services/plugins/
Plugins are installable packages that extend Claude Code with new tools, commands, and prompts. They can be installed from a marketplace or loaded from disk.
Structure
Plugin loader
src/services/plugins/Discovers, downloads, and initializes plugins at startup or on-demand.Built-in plugins
src/plugins/builtinPlugins.tsPlugins that ship with Claude Code and are always available.Bundled plugins
src/plugins/bundled/Plugin code bundled directly into the Claude Code binary.Plugin types
src/types/plugin.tsTypeScript types defining the plugin API surface.Plugin lifecycle
Discovery
The plugin loader scans configured plugin directories and the marketplace for available plugins.
Commands
| Command | Purpose |
|---|---|
/plugin | Install, remove, or manage plugins |
/reload-plugins | Reload all currently installed plugins |
Skill system
Location:src/skills/
Skills are reusable, named workflows that bundle prompts and tool configurations for specific tasks. They are invoked by name and execute a predefined sequence of prompts and tool calls.
Structure
Bundled skills
src/skills/bundled/The 16 skills that ship with Claude Code.Skill loader
src/skills/loadSkillsDir.tsLoads skills from disk, supporting both bundled and user-created custom skills.MCP skill builders
src/skills/mcpSkillBuilders.tsCreates skills dynamically from MCP resources, bridging the MCP and skill systems.Skill registry
src/skills/bundledSkills.tsCentral registration of all bundled skills. Custom skills are merged at load time.Bundled skills
Claude Code ships with 16 bundled skills:Development workflows
Development workflows
| Skill | Purpose |
|---|---|
batch | Batch operations across multiple files |
debug | Debugging workflows |
loop | Iterative refinement loops |
simplify | Simplify complex code |
verify / verifyContent | Verify code correctness |
Configuration & memory
Configuration & memory
| Skill | Purpose |
|---|---|
remember | Persist information to memory |
updateConfig | Modify configuration programmatically |
keybindings | Keybinding configuration |
Agent & automation
Agent & automation
| Skill | Purpose |
|---|---|
scheduleRemoteAgents | Schedule agents for remote execution |
claudeApi | Direct Anthropic API interaction |
claudeInChrome | Chrome extension integration |
Utilities
Utilities
| Skill | Purpose |
|---|---|
stuck | Get unstuck when blocked |
skillify | Create new skills from existing workflows |
loremIpsum | Generate placeholder text |
Invoking skills
Skills can be invoked in two ways:- Via SkillTool
- Via /skills command
The
SkillTool allows Claude to invoke skills as part of a tool-call loop. The LLM can select and run a skill by name.Creating custom skills
Users can create custom skills by adding skill files to the skills directory. The skill loader (loadSkillsDir.ts) merges custom skills with the bundled registry at startup.
Related
/plugincommand — Install and manage plugins/skillscommand — List and invoke skills- MCP integration — MCP skill builders connect the skill and MCP systems