← Volver al listado de tecnologías
Capítulo 3: Skills y Sistema de Plugins
Capítulo 3: Skills y Sistema de Plugins
Los Skills y Plugins son las formas más poderosas de extender Claude Code con funcionalidades personalizadas.
Objetivos del Capítulo
- Crear y usar skills personalizados
- Instalar y gestionar plugins
- Configurar hot-reload de skills
- Usar marketplaces de plugins
Skills
Los skills son comandos personalizados que puedes crear para automatizar tareas específicas.
¿Qué son los Skills?
Un skill es un archivo Markdown con:
- Frontmatter: Configuración del skill
- Contenido: Instrucciones para Claude
Ubicación de Skills
# Skills globales (disponibles en todos los proyectos)
~/.claude/skills/
# Skills de proyecto
.claude/skills/
Crear un Skill Básico
<!-- ~/.claude/skills/code-review.md -->
---
name: code-review
description: Revisa código por mejores prácticas
---
Revisa el código seleccionado buscando:
1. Problemas de rendimiento
2. Vulnerabilidades de seguridad
3. Violaciones de código limpio
4. Oportunidades de refactoring
Proporciona sugerencias específicas con ejemplos.
Usar un Skill
# Listar skills disponibles
/skills
# Ejecutar skill
/code-review
# O invocarlo directamente
claude
> /code-review src/auth/login.ts
Frontmatter Avanzado
---
name: generate-tests
description: Genera tests unitarios completos
model: sonnet
context: fork
# Herramientas permitidas
tools:
- Read
- Write
- Bash(npm test*)
# Tipo de agente
agent: qa-engineer
# Hooks específicos
hooks:
PreToolUse:
- match: Write
action: ask
PostToolUse:
- match: Bash
action: log
---
Genera tests unitarios usando el framework de testing del proyecto.
Asegúrate de cubrir:
- Happy paths
- Edge cases
- Error handling
Context Fork
El context: fork permite ejecutar el skill en un contexto aislado:
---
name: experiment
description: Experimenta sin afectar la conversación principal
context: fork
---
Experimenta libremente con diferentes enfoques.
Los cambios no afectarán la conversación principal.
Hot-Reload de Skills
Desde la versión 2.1.0, los skills se recargan automáticamente:
# Crea o modifica un skill
vim ~/.claude/skills/mi-skill.md
# El skill está disponible inmediatamente
# No necesitas reiniciar Claude Code
/mi-skill
Skills con Herramientas Específicas
---
name: db-query
description: Consulta la base de datos
tools:
- mcp__postgres__query
allowed-tools:
- mcp__postgres__query
- Read
---
Ejecuta consultas SQL en la base de datos.
Solo lectura, no modificaciones.
Skills con Modelo Específico
---
name: architecture-review
description: Revisa arquitectura con análisis profundo
model: opus
---
Analiza la arquitectura del proyecto con pensamiento profundo.
Considera patrones, escalabilidad y mantenibilidad.
Sistema de Plugins
Los plugins extienden Claude Code con funcionalidades de terceros.
Comandos de Plugins
# Ver plugins instalados
/plugins
# Descubrir plugins
/plugins discover
# Instalar plugin
/plugins install <nombre>
# Habilitar/deshabilitar
/plugins enable <nombre>
/plugins disable <nombre>
# Actualizar plugins
/plugins update
Estructura de un Plugin
mi-plugin/
├── manifest.json # Configuración del plugin
├── skills/ # Skills del plugin
│ └── mi-skill.md
├── agents/ # Agentes del plugin
│ └── mi-agent.md
└── hooks/ # Hooks del plugin
└── pre-commit.js
manifest.json
{
"name": "mi-plugin",
"version": "1.0.0",
"description": "Plugin de ejemplo",
"author": "Tu Nombre",
"skills": ["skills/mi-skill.md"],
"agents": ["agents/mi-agent.md"],
"hooks": ["hooks/pre-commit.js"],
"dependencies": {
"mcp-servers": ["@anthropic/mcp-server-github"]
}
}
Marketplaces
// ~/.claude/settings.json
{
"extraKnownMarketplaces": [
"https://mi-empresa.com/claude-plugins"
]
}
Buscar Plugins
/plugins discover
# Filtrar por nombre o descripción
/plugins discover security
/plugins discover testing
Auto-update de Plugins
// manifest.json del plugin
{
"autoUpdate": true
}
// O deshabilitar globalmente
// settings.json
{
"pluginAutoUpdate": false
}
Skills de Proyecto
Estructura Recomendada
proyecto/
├── .claude/
│ ├── skills/
│ │ ├── deploy.md
│ │ ├── test-all.md
│ │ └── lint-fix.md
│ ├── agents/
│ │ └── project-expert.md
│ └── settings.json
└── ...
Skill de Deploy
<!-- .claude/skills/deploy.md -->
---
name: deploy
description: Despliega a producción
tools:
- Bash
- Read
allowed-tools:
- Bash(npm run build)
- Bash(npm run deploy)
- Bash(git *)
---
Proceso de deploy:
1. Ejecuta tests
2. Build de producción
3. Verifica que el build es exitoso
4. Despliega a producción
5. Verifica que el deploy fue exitoso
Skill de Testing
<!-- .claude/skills/test-all.md -->
---
name: test-all
description: Ejecuta todos los tests con cobertura
---
1. Ejecuta tests unitarios
2. Ejecuta tests de integración
3. Genera reporte de cobertura
4. Resume resultados y sugiere mejoras
YAML-Style Tools
Desde v2.1.0, puedes declarar tools en formato YAML:
---
name: security-scan
tools:
- Read
- Grep
- Bash(npm audit)
allowed-tools:
- Read
- Grep(password|secret|key)
- Bash(npm audit)
---
Variables en Skills
---
name: greet
description: Saluda al usuario
---
Saluda al usuario ${USER} que está trabajando en ${PWD}.
Variables Disponibles
| Variable | Descripción |
|---|---|
${USER} | Usuario actual |
${PWD} | Directorio actual |
${HOME} | Directorio home |
${CLAUDE_PLUGIN_ROOT} | Raíz del plugin |
Debugging de Skills
# Ver qué skills están cargados
/skills
# Verificar skill específico
claude --debug
/mi-skill
Resumen
En este capítulo aprendiste:
- Crear skills personalizados con frontmatter
- Usar context fork para ejecución aislada
- Instalar y gestionar plugins
- Hot-reload automático de skills
- Configurar herramientas y permisos específicos
Próximo Capítulo
En el siguiente capítulo exploraremos Hooks y Personalización:
- PreToolUse, PostToolUse, Stop hooks
- Automatización con hooks
- Permisos avanzados