Cap 15: Plugins

Por: Artiko
claude-codepluginsmarketplacesextensiones

Qué son los Plugins

Los plugins son paquetes distribuibles que empaquetan múltiples componentes de Claude Code en una sola unidad instalable:

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:

PrioridadFuente
1 (más alta)Proyecto (.claude/)
2Usuario (~/.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

Plugins populares

PluginDescripción
ralph-loopLoop autónomo para tareas de larga duración
Plugins de MCPEmpaquetan servidores MCP con configuración

Siguiente: Checkpointing y Sesiones