Saltar al contenido
Curso Claude Code en equipo: una sola forma de trabajar
05/29 El plugin y el marketplace en local Cómo crear un plugin de Claude Code: plugin.json, la primera skill y validate
Tu lectura Quedan 12 min
Lección 5 de 29 · El plugin y el marketplace en local

Cómo crear un plugin de Claude Code: plugin.json, la primera skill y validate

12 min de lectura Claude Code 2.1

Hola, bienvenido. En esta lección vamos a crear el plugin team, que a partir de ahora va a ser el sitio de todo lo que define cómo trabaja el equipo con Claude Code. Le vamos a dar su primera pieza, la skill conventional-commits que ahora vive en el .claude/ de helpdesk, lo validaremos con claude plugin validate y lo probaremos en una sesión sin instalarlo.

Al mover la skill a un plugin, deja de ser un archivo que se copia y pasa a ser una pieza con nombre propio, versionada y que se cambia en un único sitio. Es la primera pieza que sale del repo, y el camino que vamos a seguir con ella es el mismo que seguirá cada pieza que pase al plugin: copiarla, validar el plugin, probarlo en una sesión y quitarla del repo. De momento el plugin va a existir solo en el disco de Marta. Cómo llega a los demás lo veremos con el marketplace.

La estructura mínima de un plugin

Un plugin de Claude Code es una carpeta con un manifiesto y sus piezas. Las piezas pueden ser skills, hooks, subagentes, servidores MCP y mods, que son código JavaScript o TypeScript que se ejecuta en el propio proceso de Claude Code. En este curso el plugin va a llevar los 3 primeros, y empezamos por una skill. El manifiesto es .claude-plugin/plugin.json, y cada skill va en skills/<nombre>/SKILL.md, en la raíz del plugin, al mismo nivel que .claude-plugin/. Si una skill acaba en .claude-plugin/, el plugin carga sin errores, pero sin la skill: en esa carpeta solo va el manifiesto.

Los plugins del equipo van a vivir en un repo propio, claude-plugins, en la carpeta team/, junto a helpdesk. Lo vamos a organizar como un monorepo, con cada plugin en su carpeta de plugins/. Podríamos tener un repo por plugin, pero la raíz de este mismo repo va a ser también el marketplace, el catálogo que lista los plugins, y acabará teniendo un segundo plugin. Con todo en un repo, el catálogo y los plugins se revisan y se publican juntos. Así va a quedar al terminar la lección:

Estructura
team/
├── claude-plugins/
│ ├── README.md
│ └── plugins/
│ └── team/
│ ├── .claude-plugin/
│ │ └── plugin.json
│ └── skills/
│ └── conventional-commits/
│ └── SKILL.md
└── helpdesk/

Es un repo nuevo, así que le vamos a abrir su pestaña. Como la carpeta claude-plugins todavía no existe, la abrimos en ~/code/team. Desde cualquier pestaña de la sesión:

Terminal
zellij action new-tab --name claude-plugins --cwd ~/code/team

En la pestaña nueva, reescribimos el layout con las 2 pestañas, la de claude-plugins ya con la carpeta del repo, que vamos a crear enseguida y en la que se va a quedar:

Terminal
cat > ~/.config/zellij/layouts/team.kdl <<'EOF'
layout {
default_tab_template {
pane size=1 borderless=true {
plugin location="zellij:tab-bar"
}
children
pane size=1 borderless=true {
plugin location="zellij:status-bar"
}
}
tab name="helpdesk" cwd="~/code/team/helpdesk" focus=true {
pane
}
tab name="claude-plugins" cwd="~/code/team/claude-plugins" {
pane
}
}
EOF
Representación de Zellij con el layout del curso: arriba las pestañas helpdesk y claude-plugins, con claude-plugins activa; en el centro el prompt en ~/code/team; y abajo la barra de atajos con Ctrl y Alt

Y en la misma pestaña, vamos a crear las carpetas:

Terminal
mkdir -p claude-plugins/plugins/team/.claude-plugin claude-plugins/plugins/team/skills/conventional-commits
Lo que queda de esta lección
  1. 02El manifiesto: plugin.json
  2. 03Mover la skill conventional-commits al plugin
  3. 04Validar el plugin con claude plugin validate
  4. 05Probar el plugin sin instalarlo con --plugin-dir
  5. 06El primer commit de claude-plugins
  6. 07Quitar la skill del repo
Sigue leyendo con tu suscripción El curso completo, con su proyecto final, el certificado y el foro, está incluido en la suscripción. Ver los planes