Claude Code · Plugins · Extensiones

Claude Code Plugins: qué son, cómo crearlos e instalarlos

Los Claude Code Plugins permiten empaquetar Skills, Subagents, Hooks, servidores MCP y otras extensiones dentro de una unidad reutilizable. Puedes utilizarlos en tus propios proyectos, compartirlos con un equipo, distribuirlos mediante marketplaces y mantener versiones independientes de tus automatizaciones para Claude Code.

Skills Agents Hooks MCP
Respuesta rápida

¿Qué es un Plugin de Claude Code?

Un Plugin de Claude Code es un paquete reutilizable que puede incluir Skills, agentes, Hooks, servidores MCP y otras extensiones. Normalmente utiliza un manifest .claude-plugin/plugin.json para definir su nombre, descripción y versión. Sus componentes se colocan en la raíz del plugin, por ejemplo skills/, agents/, hooks/ y .mcp.json. Los Plugins pueden probarse localmente con claude --plugin-dir o distribuirse mediante marketplaces de Claude Code.

Un paquete completo

Qué puede incluir un Plugin de Claude Code

Los Plugins permiten agrupar diferentes mecanismos de extensión bajo una misma identidad.

SKILL

Skills

Procedimientos, instrucciones y conocimiento reutilizable.

AGENT

Subagents

Agentes especializados con contexto, modelos y herramientas propias.

HOOK

Hooks

Automatizaciones que reaccionan a eventos de Claude Code.

MCP

MCP

Integraciones con servicios, herramientas y APIs externas.

LSP

LSP

Inteligencia de código mediante servidores Language Server Protocol.

MON

Monitors

Procesos que observan logs o estados y notifican eventos a Claude.

Publicidad
Arquitectura

Plugin → componentes → capacidades

Claude Code descubre los componentes del Plugin y los integra dentro de la sesión.

01 · INSTALL

Instalas el Plugin

Claude Code obtiene el paquete desde un marketplace o directorio local.

02 · DISCOVER

Descubre componentes

Skills, agentes, Hooks y MCP quedan disponibles.

03 · USE

Claude los utiliza

Las capacidades aparecen cuando una tarea las necesita.

Publicidad
Plugins vs .claude

Cuándo utilizar un Plugin

No necesitas crear un Plugin para cada personalización de Claude Code.

Necesidad .claude/ Plugin
Experimentación rápida Ideal Posible
Configuración de un proyecto Ideal Posible
Compartir entre proyectos Manual Ideal
Distribuir a otros Manual Ideal
Versiones No específico
Marketplace No
Namespace de Skills /review /plugin:review
Empieza simple

Para experimentar, suele ser más rápido crear primero Skills, agentes o Hooks dentro de .claude/. Cuando la configuración esté estable y quieras reutilizarla, conviértela en Plugin.

Publicidad
Estructura

Cómo se organiza un Plugin de Claude Code

Los componentes deben encontrarse en la raíz del directorio del Plugin.

ciborg-dev-tools/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   ├── security-review/
│   │   └── SKILL.md
│   └── wordpress-review/
│       └── SKILL.md
├── agents/
│   └── security-reviewer.md
├── hooks/
│   └── hooks.json
├── scripts/
│   └── format-code.sh
├── .mcp.json
├── .lsp.json
├── settings.json
└── README.md
Importante

No coloques skills/, agents/, hooks/ ni .mcp.json dentro de .claude-plugin/.

Dentro de .claude-plugin va principalmente plugin.json

El resto de los componentes viven en la raíz del Plugin.

Manifest

¿plugin.json es obligatorio?

Actualmente, no siempre.

Opcional

Claude puede descubrir componentes automáticamente

Si utilizas las ubicaciones estándar, Claude Code puede descubrir automáticamente Skills, Agents, Hooks y otros componentes.

Pero sigue siendo recomendable

Utiliza plugin.json cuando quieras definir identidad, versión, autor, descripción, licencia, repositorio o rutas personalizadas.

Crear Plugin

Crear un Plugin desde cero

1

Crea el directorio

Crea una carpeta independiente para el Plugin.

2

Crea .claude-plugin

Dentro irá el manifest plugin.json.

3

Añade componentes

Skills, Agents, Hooks, MCP u otras extensiones.

4

Prueba localmente

Utiliza --plugin-dir antes de distribuirlo.

Paso 1

Crear la estructura inicial

mkdir ciborg-dev-tools
mkdir ciborg-dev-tools/.claude-plugin
plugin.json

Crear el manifest del Plugin

{
  "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
  "name": "ciborg-dev-tools",
  "displayName": "Ciborg Dev Tools",
  "version": "1.0.0",
  "description": "Herramientas reutilizables para desarrollo, revisión y seguridad",
  "author": {
    "name": "Ciborg"
  },
  "license": "MIT",
  "keywords": [
    "development",
    "security",
    "wordpress",
    "code-review"
  ]
}
Metadata

Campos importantes de plugin.json

Campo Función
name Identificador y namespace del Plugin
displayName Nombre legible mostrado al usuario
version Versión del Plugin
description Descripción del Plugin
author Información del autor
homepage Documentación o página principal
repository Repositorio de código
license Licencia
keywords Etiquetas de descubrimiento
defaultEnabled Define si comienza activado
Activación

Instalar un Plugin desactivado por defecto

Esto puede ser útil si el Plugin conecta servicios externos o genera costes.

{
  "name": "external-tools",
  "version": "1.0.0",
  "description": "Integraciones externas",
  "defaultEnabled": false
}
Después el usuario puede activarlo
claude plugin enable external-tools
Skills

Añadir Skills a un Plugin

Cada Skill utiliza la estructura que ya vimos en la guía de SKILL.md.

ciborg-dev-tools/
└── skills/
    └── security-review/
        ├── SKILL.md
        ├── checklist.md
        └── examples.md
SKILL.md
---
description: Revisa código buscando vulnerabilidades, errores de autorización, validación insuficiente y exposición de secretos.
---

Realiza una revisión de seguridad.

Analiza:

- autenticación
- autorización
- inputs
- outputs
- SQL
- XSS
- CSRF
- secretos
- archivos
- APIs

Devuelve primero
los problemas críticos.
Namespace

Los Skills de Plugins utilizan namespace

Esto evita conflictos entre Plugins que tengan Skills con el mismo nombre.

Ejemplo

Si el Plugin se llama:

ciborg-dev-tools

y el Skill se llama:

security-review

lo ejecutas como:

/ciborg-dev-tools:security-review
Subagents

Incluir agentes especializados

ciborg-dev-tools/
└── agents/
    └── security-reviewer.md
---
name: security-reviewer
description: Especialista en seguridad de aplicaciones. Úsalo para revisar autenticación, autorización, APIs, bases de datos y manejo de datos sensibles.
tools: Read, Grep, Glob
model: sonnet
---

Revisa el código
desde una perspectiva de seguridad.

No modifiques archivos.

Devuelve:

- severidad
- archivo
- problema
- impacto
- recomendación
El agente también queda namespaced

Los agentes de Plugins aparecen bajo su identidad asociada al Plugin, lo que evita colisiones con agentes de otros paquetes.

Publicidad
Hooks

Incluir automatizaciones dentro del Plugin

Los Hooks pueden reaccionar automáticamente a eventos de Claude Code.

ciborg-dev-tools/
├── hooks/
│   └── hooks.json
└── scripts/
    └── format-code.sh
hooks.json
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/format-code.sh"
          }
        ]
      }
    ]
  }
}
${CLAUDE_PLUGIN_ROOT}

Utiliza esta variable para hacer referencia a archivos incluidos dentro del Plugin sin depender de la ruta donde Claude Code lo haya instalado.

MCP

Empaquetar servidores MCP dentro de un Plugin

Los servidores configurados por el Plugin pueden iniciar automáticamente cuando este se encuentra habilitado.

{
  "mcpServers": {
    "ciborg-tools": {
      "command": "node",
      "args": [
        "${CLAUDE_PLUGIN_ROOT}/servers/server.js"
      ]
    }
  }
}
Ubicación

Guarda esta configuración como .mcp.json en la raíz del Plugin.

Rutas

Variables especiales para Plugins

Variable Uso
${CLAUDE_PLUGIN_ROOT} Directorio donde está instalada la versión actual del Plugin
${CLAUDE_PLUGIN_DATA} Datos persistentes que sobreviven actualizaciones
${CLAUDE_PROJECT_DIR} Raíz del proyecto abierto por Claude Code
No guardes datos persistentes en CLAUDE_PLUGIN_ROOT

Esa ruta puede cambiar cuando se actualiza el Plugin. Para cachés, dependencias generadas o información que debe sobrevivir, utiliza ${CLAUDE_PLUGIN_DATA}.

Code intelligence

Plugins con servidores LSP

Los Plugins también pueden proporcionar inteligencia estructural de código.

{
  "go": {
    "command": "gopls",
    "args": ["serve"],
    "extensionToLanguage": {
      ".go": "go"
    }
  }
}
El binario debe existir en el equipo

Si el servidor de lenguaje no está instalado, aparecerá un error como Executable not found in $PATH.

Monitors

Observar logs y eventos en segundo plano

Un Plugin también puede iniciar monitores cuando se activa.

[
  {
    "name": "error-log",
    "command": "tail -F ./logs/error.log",
    "description": "Application error log"
  }
]
Ubicación

La configuración puede guardarse en: monitors/monitors.json.

Función avanzada

Monitors forma parte de las capacidades más nuevas del sistema de Plugins y su configuración puede seguir evolucionando.

settings.json

Un Plugin puede cambiar el agente principal

Los Plugins pueden proporcionar configuración predeterminada al activarse.

{
  "agent": "security-reviewer"
}
Soporte actual limitado

Actualmente, el archivo settings.json del Plugin admite un conjunto reducido de configuraciones, entre ellas agent y subagentStatusLine.

Publicidad
Desarrollo

Cómo probar un Plugin localmente

claude --plugin-dir ./ciborg-dev-tools
No necesitas instalarlo

--plugin-dir carga el Plugin únicamente durante esa sesión, lo que lo hace ideal para desarrollo y debugging.

ZIP

También puedes probar un Plugin empaquetado:

claude --plugin-dir ./ciborg-dev-tools.zip
Desarrollo rápido

Recargar un Plugin sin reiniciar Claude Code

/reload-plugins
Recarga varios componentes

Claude Code puede volver a cargar Skills, Agents, Hooks, servidores MCP y LSP sin tener que cerrar la sesión.

Algunos cambios pueden necesitar reinicio

Por ejemplo, determinados monitores requieren una nueva sesión para utilizar una versión actualizada.

Validación

Validar un Plugin antes de publicarlo

claude plugin validate ./ciborg-dev-tools
CI

Tratar warnings como errores

claude plugin validate ./ciborg-dev-tools --strict
Hazlo antes de distribuir

El validador puede detectar errores de JSON, frontmatter, Hooks y estructura antes de que lleguen a otros usuarios.

Scaffold

Crear rápidamente un Plugin con plugin init

Claude Code incluye actualmente un generador de Plugins.

claude plugin init my-helper
Skills-directory Plugin

Este comando crea actualmente el Plugin bajo ~/.claude/skills/my-helper/ y Claude Code lo carga como my-helper@skills-dir en próximas sesiones.

Scaffold completo
claude plugin init my-helper --with skills agents hooks mcp
Instalación

Cómo instalar Plugins de Claude Code

Claude Code dispone de un administrador interactivo y comandos CLI.

Manager

Abrir el navegador de Plugins

/plugin
Instalar
/plugin install plugin-name@marketplace-name
Marketplace oficial

Instalar Plugins oficiales de Anthropic

Claude Code registra normalmente el marketplace oficial durante el primer inicio interactivo.

GitHub

Ejemplo de instalación

/plugin install github@claude-plugins-official
Si el marketplace oficial no aparece
/plugin marketplace add anthropics/claude-plugins-official
Scopes

Instalar Plugins para usuario, proyecto o localmente

Scope Disponible en Compartido
user Todos tus proyectos No
project Repositorio actual
local Solo tú en ese repositorio No
Proyecto
claude plugin install formatter@my-marketplace --scope project
Local
claude plugin install formatter@my-marketplace --scope local
Marketplaces

Qué es un marketplace de Claude Code Plugins

Un marketplace es un catálogo de Plugins disponibles.

1

Añades el marketplace

Esto registra el catálogo. Todavía no instala ningún Plugin.

2

Exploras los Plugins

Puedes utilizar el panel /plugin.

3

Instalas solo lo necesario

Seleccionas los Plugins que realmente quieres utilizar.

Catálogos

Añadir un marketplace desde GitHub

/plugin marketplace add anthropics/claude-code
Este es el marketplace de demostración

Anthropic mantiene ejemplos de Plugins que permiten estudiar cómo funciona el sistema de extensiones.

Equipos

Crear un marketplace privado

No necesitas publicar tus Plugins para todo Internet.

Empresa

Repositorio privado

Una organización puede mantener su propio catálogo en un repositorio privado y distribuir internamente herramientas de desarrollo, seguridad, despliegue o procesos corporativos.

/plugin marketplace add git@gitlab.com:empresa/claude-plugins.git
Administración

Comandos para administrar Plugins

Acción Comando
Ver Plugins /plugin
Instalar claude plugin install nombre@marketplace
Actualizar claude plugin update nombre@marketplace
Activar claude plugin enable nombre@marketplace
Desactivar claude plugin disable nombre@marketplace
Desinstalar claude plugin uninstall nombre@marketplace
Validar claude plugin validate ./plugin
Detalles claude plugin details nombre
Contexto

Ver cuánto añade un Plugin a la sesión

claude plugin details ciborg-dev-tools
Útil para optimización

El comando puede mostrar el inventario de componentes y una estimación de cuánto contexto añade el Plugin a cada sesión.

Versionado

Cómo versionar un Plugin

Para Plugins publicados con ciclos de release, utiliza versionado semántico.

Cambio Versión
Bug fix 1.0.0 → 1.0.1
Nueva función compatible 1.0.0 → 1.1.0
Breaking change 1.0.0 → 2.0.0
Si defines version explícitamente

Claude Code utiliza ese valor para decidir si existe una nueva actualización. Si publicas cambios pero no incrementas la versión, los usuarios pueden no recibirlos.

Añade CHANGELOG.md

Especialmente cuando el Plugin empieza a utilizarse en varios proyectos o equipos.

Publicidad
Ejemplo práctico

Plugin de Claude Code para desarrollo WordPress

Puedes crear un paquete reutilizable específicamente para proyectos WordPress.

wordpress-toolkit/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   ├── security-review/
│   │   └── SKILL.md
│   ├── woocommerce-review/
│   │   └── SKILL.md
│   └── plugin-scaffold/
│       └── SKILL.md
├── agents/
│   ├── wordpress-security.md
│   └── database-reviewer.md
├── hooks/
│   └── hooks.json
├── scripts/
│   ├── php-lint.sh
│   └── check-security.sh
└── README.md
Resultado

Podrías instalar el mismo toolkit en cada proyecto WordPress sin tener que recrear manualmente Skills, agentes y automatizaciones.

Migración

Convertir una configuración .claude en Plugin

Si ya tienes un ecosistema funcionando dentro de un proyecto, puedes migrarlo.

mkdir -p my-plugin/.claude-plugin

cp -r .claude/skills my-plugin/
cp -r .claude/agents my-plugin/
cp -r .claude/commands my-plugin/
Los Hooks se migran por separado

Si actualmente están definidos dentro de .claude/settings.json, crea hooks/hooks.json en el nuevo Plugin.

Seguridad

Un Plugin puede ejecutar código en tu equipo

Por eso no deberías tratar cualquier Plugin como si fuera únicamente un archivo de prompts.

01

Revisa hooks/ antes de instalar.

02

Revisa .mcp.json y servicios externos.

03

Comprueba qué ejecutables incluye el Plugin.

04

Revisa los permisos de sus agentes.

05

Comprueba qué comandos ejecutan los Hooks.

06

Utiliza Plugins únicamente de fuentes confiables.

07

Valida Plugins internos antes de distribuirlos.

Troubleshooting

Claude Code no carga mi Plugin

01

Ejecuta claude plugin validate.

02

Comprueba la sintaxis JSON de plugin.json.

03

Asegúrate de que Skills y Agents no estén dentro de .claude-plugin/.

04

Utiliza ${CLAUDE_PLUGIN_ROOT} para rutas internas.

05

Comprueba permisos de ejecución de scripts.

06

Ejecuta /reload-plugins después de cambios.

07

Revisa la pestaña Errors del administrador /plugin.

08

Ejecuta claude --debug para diagnóstico avanzado.

Error frecuente

No coloques todo dentro de .claude-plugin

Incorrecto
my-plugin/
└── .claude-plugin/
    ├── plugin.json
    ├── skills/
    └── agents/
Correcto
my-plugin/
├── .claude-plugin/
│   └── plugin.json
├── skills/
└── agents/
Buenas prácticas

Cómo diseñar buenos Claude Code Plugins

01

Define un propósito claro para el Plugin.

02

Mantén Skills pequeños y especializados.

03

Limita herramientas de los agentes.

04

Utiliza ${CLAUDE_PLUGIN_ROOT} para rutas internas.

05

Guarda datos persistentes en ${CLAUDE_PLUGIN_DATA}.

06

Prueba localmente con --plugin-dir.

07

Valida con --strict antes de publicar.

08

Versiona releases públicas correctamente.

Decisión

Qué mecanismo deberías utilizar

Reglas Contexto permanente del proyecto
CLAUDE.md
Procedimiento Workflow reutilizable
Skill
Delegación Contexto y herramientas independientes
Subagent
Integración Servicio o herramienta externa
MCP
Evento Automatización antes o después de acciones
Hook
Distribución Agrupar todo lo anterior
Plugin
Fuentes oficiales

Documentación oficial de Claude Code Plugins

El sistema de Plugins continúa ampliándose, por lo que conviene consultar la documentación para nuevos componentes y opciones.

Anthropic

Plugins Reference

Manifest, componentes, rutas, variables, versionado y CLI.

Ver referencia →
Publicidad
Publicidad
Preguntas frecuentes

FAQ sobre Claude Code Plugins

Respuestas sobre estructura, instalación, Skills, agentes, marketplaces, scopes y distribución.

Es un paquete reutilizable que puede incluir Skills, agentes, Hooks, MCP y otras extensiones para Claude Code.

No siempre. Claude Code puede descubrir componentes ubicados en directorios estándar. Sin embargo, plugin.json es recomendable para definir identidad, metadata, versión y configuración.

Deben colocarse en la raíz del Plugin dentro de skills/ y agents/. No deben colocarse dentro de .claude-plugin/.

Utiliza claude --plugin-dir ./mi-plugin. El Plugin se cargará únicamente para esa sesión.

Puedes utilizar el navegador /plugin o ejecutar /plugin install plugin@marketplace. Desde la terminal también existe claude plugin install.

Es un catálogo que Claude Code puede registrar para descubrir e instalar Plugins. Añadir un marketplace no instala automáticamente todos sus Plugins.

Sí. Un Skill llamado review dentro del Plugin my-plugin se invoca normalmente como /my-plugin:review.

Sí. Un Plugin puede incluir configuración MCP mediante .mcp.json. Sus servidores pueden quedar disponibles cuando el Plugin está habilitado.

Ejecuta claude plugin validate ./mi-plugin. Puedes añadir --strict para tratar las advertencias como errores.

No. Un Plugin puede incluir Hooks, scripts, MCP y otras capacidades capaces de ejecutar acciones en tu equipo. Debes revisar su origen y configuración antes de instalarlo.

Publicidad
Siguiente guía

Automatiza Claude Code con Hooks

Ya sabes cómo empaquetar Skills, Subagents, MCP y otras capacidades dentro de Plugins. El siguiente paso es aprender a reaccionar automáticamente cuando Claude ejecuta herramientas, modifica código o completa tareas.

Claude Code Hooks →
Carrito de compra
Scroll al inicio