Crea un plugin desde tus skills, hooks y agentes
Toca empaquetar de verdad. Lo bueno: no partes de cero. Coges lo que ya fabricaste —la skill /review-pr, el subagente code-reviewer, la suite de hooks— y lo conviertes en un plugin. Sigue los pasos.
Paso 1 · Crea la estructura
mkdir -p dev-tools/.claude-plugin
dev-tools/.claude-plugin/plugin.json:
{
"name": "dev-tools",
"description": "Skills, hooks y revisor del equipo",
"version": "1.0.0"
}
Si empezaras de cero (no migrando, como aquí),
claude plugin init <nombre> --with skills hookste andamia el esqueleto —plugin.jsony carpetas— en un comando. Ojo: lo crea como plugin@skills-diren~/.claude/skills/, que carga en sitio sin marketplace; para el flujo de publicar de este curso, montar la carpeta a mano deja más claro qué vas a versionar.
Paso 2 · Copia lo que ya tienes
Tus componentes de .claude/ van a la raíz del plugin tal cual:
cp -r .claude/skills dev-tools/
cp -r .claude/agents dev-tools/
Los hooks son el único caso especial: en standalone viven en settings.json, pero en un plugin van en hooks/hooks.json. El formato del objeto hooks es el mismo, así que copias el bloque:
mkdir dev-tools/hooks
dev-tools/hooks/hooks.json (copiando tu bloque hooks de .claude/settings.json):
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }]
}
]
}
}
Paso 3 · Pruébalo sin instalarlo
Para desarrollar, carga el plugin directamente con --plugin-dir:
claude --plugin-dir ./dev-tools
Dentro de la sesión, comprueba cada pieza:
- La skill aparece con namespace:
/dev-tools:review-pr. - El subagente sale en
/agents. - El hook de formato corre al editar un fichero.
Mientras iteras, /reload-plugins recarga los cambios sin reiniciar.
Paso 4 · Limpia los duplicados
Una vez el plugin funciona, puedes borrar los originales de .claude/ para no tener la config dos veces (la versión del plugin tiene precedencia cuando está cargado).
Lo que acabas de hacer es la migración estándar: lo que estaba suelto en
.claude/ahora es un paquete con nombre, versión y namespace. Listo para compartir — que es la siguiente lección.
Qué llevas hasta aquí
- Conviertes tu
.claude/en plugin copiando skills y agents a la raíz; los hooks van ahooks/hooks.json(mismo formato). - Pruebas en desarrollo con
--plugin-diry recargas con/reload-plugins. - Verificas namespace de skills, subagentes en
/agentsy hooks corriendo.
En la siguiente lección, lo publicas: marketplaces para que el equipo lo instale.
Fuente oficial: Create plugins
¿Quieres llevar la cuenta de las lecciones que has terminado?
Entrar para guardar progreso