Si trabajas con asistentes de IA, especialmente con claude code, probablemente ya conoces su potencial para acelerar tu flujo de trabajo. Pero, ¿sabías que puedes multiplicar ese potencial creando tus propios plugins? En este artículo te explico cómo hacerlo y por qué deberías considerarlo.
¿Qué es un Plugin para un Asistente de IA?
Imagina que tienes un asistente muy capaz, pero que no conoce las particularidades de tu empresa, tu stack tecnológico o tus flujos de trabajo específicos. Un plugin es como un manual de instrucciones personalizado que le entregas a ese asistente para que sepa exactamente cómo ayudarte en contextos específicos.
En términos técnicos, un plugin es un conjunto de:
- Skills (habilidades): Comandos especializados que el asistente puede ejecutar
- Agentes: Procesos especializados con herramientas y contexto específico (Personalidad)
- Configuraciones: Reglas y comportamientos predefinidos
¿Por Qué Crear Plugins Propios?
Para Desarrolladores
- Automatización de tareas repetitivas: Convierte flujos de trabajo de 15 pasos en un solo comando
- Consistencia del equipo: Todos usan las mismas prácticas y estándares
- Conocimiento codificado: Las mejores prácticas quedan documentadas y ejecutables
- Integración con herramientas internas: Conecta con Jira, Confluence, APIs propias, etc.
Para la Organización
- Calidad consistente: Los code reviews, commits y PRs siguen estándares definidos
- Conocimiento preservado: El “cómo hacemos las cosas aquí” queda capturado
Estructura Básica de un Plugin
Un plugin típico sigue esta estructura de directorios:
mi-plugin/
├── plugin.json # Configuración principal
├── AGENTS.md # Instrucciones globales para el asistente
├── skills/ # Habilidades/comandos disponibles
│ ├── mi-skill.md
│ └── otro-skill.md
├── agents/ # Agentes especializados
│ └── mi-agente.md
└── commands/ # Comandos adicionales
└── mi-comando.md
Paso 1: Crear el Archivo de Configuración
El archivo plugin.json define la identidad y componentes de tu plugin:
{
"name": "mi-plugin",
"version": "1.0.0",
"description": "Plugin personalizado para mi equipo",
"skills": [
"skills/deploy.md",
"skills/code-review.md"
],
"agents": [
"agents/frontend-expert.md"
]
}
Este archivo actúa como el índice de todo lo que tu plugin ofrece.
Paso 2: Definir Skills (Habilidades)
Un skill es un comando invocable que el asistente reconoce. Se define en un archivo markdown con un frontmatter YAML:
---
name: deploy
description: "Despliega la aplicación al ambiente especificado"
invocation: user
arguments:
- name: ambiente
description: "Ambiente destino (dev, staging, prod)"
required: true
---
Seguido del contenido con las instrucciones:
# Instrucciones de Despliegue
Cuando el usuario invoque este skill:
1. Verifica que el branch actual esté limpio (sin cambios pendientes)
2. Ejecuta los tests antes de proceder
3. Según el ambiente especificado:
- **dev**: Despliega directamente
- **staging**: Requiere que los tests pasen al 100%
- **prod**: Requiere aprobación explícita del usuario
El asistente ahora entiende qué hacer cuando escribes /deploy staging.
Paso 3: Crear Agentes Especializados
Los agentes son como expertos virtuales con conocimiento específico. El frontmatter define sus capacidades:
---
name: frontend-expert
description: "Experto en React y el Design System de la empresa" # Mientras mas especifico seas, mejor.
model: sonnet
tools:
- Read
- Edit
- Write
- Glob
- Grep
- Bash
---
Y el contenido define su personalidad y conocimiento:
# Frontend Expert Agent
Eres un desarrollador frontend senior especializado en:
- React 18+ con TypeScript
- Nuestro Design System interno
- Patrones de accesibilidad (WCAG 2.1)
- Internacionalización con react-intl
## Convenciones del Proyecto
- Usa functional components con hooks
- Los estilos van en archivos `.module.scss`
- Cada componente debe tener tests unitarios
## Cuando Revises Código
Verifica siempre:
1. Uso correcto de los tokens del Design System
2. Strings internacionalizados (nunca hardcoded)
3. Manejo apropiado de estados de loading y error
4. Accesibilidad (aria-labels, roles, etc.)
Paso 4: Documentar el Contexto Global
El archivo AGENTS.md en la raíz proporciona contexto que todos los agentes y skills heredan:
# Contexto del Proyecto
## Stack Tecnológico
- Frontend: React 18, TypeScript 5, SCSS Modules
- Backend: Node.js, Express, PostgreSQL
- CI/CD: GitHub Actions
- Cloud: AWS (ECS, RDS, S3)
## Estructura del Repositorio
- `/src/components` - Componentes React
- `/src/services` - Lógica de negocio
- `/src/api` - Endpoints del backend
- `/tests` - Tests unitarios e integración
## Estándares del Equipo
- Commits en inglés, siguiendo Conventional Commits
- PRs requieren al menos 1 aprobación
- Coverage mínimo: 80%
Paso 5: Integración con Herramientas Externas
La verdadera potencia aparece al integrar con tus herramientas. Por ejemplo, un skill que conecta con Jira:
# Flujo de Implementación de Tarea Jira
1. **Obtener contexto**: Lee los detalles del ticket desde Jira
2. **Analizar requisitos**: Identifica qué archivos modificar
3. **Implementar**: Realiza los cambios necesarios
4. **Verificar**: Ejecuta tests y linting
5. **Documentar**: Crea el PR con descripción detallada
6. **Actualizar Jira**: Mueve el ticket a "Code Review"
Este skill utiliza la API de Jira para leer descripción, acceptance criteria, actualizar el estado del ticket y agregar el link del PR como comentario.
Ejemplo Práctico: Plugin de Code Review
Veamos un ejemplo completo de un skill útil para cualquier equipo:
---
name: code-review
description: "Realiza un code review exhaustivo"
invocation: user
---
# Code Review Automatizado
## Proceso de Revisión
### 1. Análisis de Seguridad
- Buscar vulnerabilidades OWASP Top 10
- Verificar manejo seguro de datos sensibles
- Revisar validación de inputs
### 2. Calidad de Código
- Complejidad ciclomática
- Duplicación de código
- Naming conventions
### 3. Arquitectura
- Separación de responsabilidades
- Patrones apropiados
- Manejo de errores
### 4. Testing
- Cobertura de casos edge
- Mocks apropiados
- Tests legibles
## Formato de Salida
Presenta los hallazgos organizados por severidad:
- 🔴 **Crítico**: Debe corregirse antes de merge
- 🟡 **Importante**: Recomendado corregir
- 🟢 **Sugerencia**: Mejora opcional
Potencial y Casos de Uso Avanzados
Orquestación de Múltiples Agentes
Puedes crear skills que coordinen varios agentes trabajando en paralelo:
Usuario: /implementar-feature login-social
El sistema automáticamente:
1. Agente Backend → Crea endpoints de OAuth
2. Agente Frontend → Construye UI de login
3. Agente QA → Escribe tests e2e
4. Agente Docs → Actualiza documentación
Todo en paralelo, reduciendo tiempo de desarrollo.
Flujos de Trabajo Completos
Un solo comando puede encadenar todo un flujo:
/feature-completa "Agregar filtro de búsqueda"
1. Crea branch desde main
2. Implementa la funcionalidad
3. Escribe tests
4. Ejecuta linting y formateo
5. Crea commit con mensaje apropiado
6. Abre PR con descripción detallada
7. Solicita reviewers automáticamente
Consideraciones Importantes
Seguridad
- Nunca incluyas credenciales en los archivos del plugin
- Usa variables de entorno para tokens y secrets
- Revisa los permisos de los agentes (qué herramientas pueden usar)
Mantenimiento
- Versiona tu plugin junto con tu código
- Documenta cambios en un CHANGELOG
- Prueba los skills antes de compartirlos con el equipo
Limitaciones
- Los plugins heredan las limitaciones del asistente base
- Tareas muy largas pueden requerir intervención humana
- La IA puede cometer errores; siempre revisa el output crítico
- Cuidado con el consumo de tokens, recomiendo mucho la optimización por modelos
Recomendaciones
- Puedes darle un vistazo a este plugin de código abierto y que te sirva como guía: oh-my-claudecode.
Conclusión
Crear plugins para asistentes de IA en terminal es una inversión que se paga rápidamente. Conviertes conocimiento tribal en automatización ejecutable, reduces errores humanos y aceleras significativamente los flujos de trabajo del equipo.
Empieza simple: identifica una tarea repetitiva que hagas frecuentemente y créale un skill. Después, itera y expande según las necesidades que tengas.