Cap 15: Plugins
Qué son los Plugins
Los plugins son paquetes distribuibles que empaquetan múltiples componentes de Claude Code en una sola unidad instalable:
- Skills — instrucciones contextuales
- Sub-agents — agentes especializados
- Hooks — automatizaciones de ciclo de vida
- MCP Servers — conexiones a herramientas externas
- Commands — slash commands personalizados
Estructura de un plugin
mi-plugin/
├── skills/
│ └── mi-skill/
│ └── SKILL.md
├── agents/
│ └── mi-agent.md
├── commands/
│ └── mi-command.md
├── hooks/
│ └── hooks.json
└── plugin.json ← Manifiesto del plugin
Gestión de plugins
Instalar
# Via slash command
/plugin install <nombre-o-url>
# O buscando en marketplaces
/plugin
# Navega el menú de plugins disponibles
Listar y gestionar
/plugin list # Ver plugins instalados
/plugin enable <nombre> # Habilitar plugin
/plugin disable <nombre> # Deshabilitar plugin
/plugin remove <nombre> # Desinstalar plugin
Configuración en settings
enabledPlugins
Controla qué plugins están activos:
{
"enabledPlugins": [
"ralph-loop",
"mi-plugin-custom"
]
}
extraKnownMarketplaces
Agregar marketplaces adicionales para descubrir plugins:
{
"extraKnownMarketplaces": [
{
"name": "Mi Marketplace",
"url": "https://mi-marketplace.com/plugins"
}
]
}
strictKnownMarketplaces
Si true, solo permite instalar plugins de marketplaces conocidos:
{
"strictKnownMarketplaces": true
}
pluginConfigs
Configuración específica por plugin:
{
"pluginConfigs": {
"ralph-loop": {
"maxIterations": 50,
"autoCommit": true
}
}
}
Plugin desde directorio local
Para desarrollo o plugins privados:
# Cargar plugin desde directorio local (solo sesión actual)
claude --plugin-dir ./mi-plugin
# Múltiples directorios
claude --plugin-dir ./plugin-a --plugin-dir ./plugin-b
Prioridad de componentes
Cuando un plugin provee componentes que coinciden con los del proyecto o usuario:
| Prioridad | Fuente |
|---|---|
| 1 (más alta) | Proyecto (.claude/) |
| 2 | Usuario (~/.claude/) |
| 3 (más baja) | Plugin |
Los componentes del proyecto siempre tienen prioridad sobre los del plugin.
Hooks de plugins
Los plugins pueden incluir hooks en hooks/hooks.json:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "./hooks/auto-format.sh"
}
]
}
]
}
}
Estos hooks se activan solo cuando el plugin está habilitado.
Crear tu propio plugin
1. Estructura mínima
mi-plugin/
├── plugin.json
└── skills/
└── mi-skill/
└── SKILL.md
2. Manifiesto (plugin.json)
{
"name": "mi-plugin",
"version": "1.0.0",
"description": "Plugin personalizado para mi equipo"
}
3. Agregar componentes
Agrega skills, agents, commands y hooks según necesites, siguiendo la misma estructura que .claude/.
4. Distribuir
- Repositorio Git: el equipo lo instala desde la URL
- Marketplace: publica para descubrimiento público
- Directorio local: para uso interno
Plugins populares
| Plugin | Descripción |
|---|---|
ralph-loop | Loop autónomo para tareas de larga duración |
| Plugins de MCP | Empaquetan servidores MCP con configuración |
Siguiente: Checkpointing y Sesiones