Skills & Plugins Architecture
Overview
Skills and Plugins extend Claude Code's capabilities. Skills are user-defined prompts and workflows. Plugins are code extensions that add tools and commands.
Shared from "Claude-Code" on Inkdown
Skills and Plugins extend Claude Code's capabilities. Skills are user-defined prompts and workflows. Plugins are code extensions that add tools and commands.
A skill is a reusable prompt template with optional parameter extraction.
Input: "Please review PR #123"
โ Extracts: { pr_number: 123 }
| File | Purpose |
|---|---|
skills/loadSkillsDir.ts | Load and parse skills |
skills/bundledSkills.ts | Built-in skills registry |
skills/bundled/ | Bundled skill implementations |
skills/mcpSkillBuilders.ts | Convert MCP to skills |
commands/skills/index.ts | /skills command |
A plugin is a code package that extends Claude Code with:
| File | Purpose |
|---|---|
utils/plugins/pluginLoader.ts | Load plugins from disk |
utils/plugins/installedPluginsManager.ts | Manage installed plugins |
utils/plugins/builtinPlugins.ts | Built-in plugin registry |
services/plugins/ | Plugin marketplace integration |
plugins/bundled/ | Bundled plugin implementations |
Bundled with the binary, always available.
Stored in ~/.claude/plugins/.
Special file that defines project context:
Loaded automatically as context.
Check this code.
Markdown + frontmatter. Easy to write, version control, share.
JavaScript/TypeScript code. Powerful, but more complex.
Protocol-based. Language-agnostic, sandboxed, future-proof.
Skills found in standard locations. No registration needed.
Plugins declare permissions. Users review before install.