Agent Skills
Conocimiento portable con ejemplos reales y scripts
Agent Skills
Conocimiento portable con ejemplos reales y scripts
MCPs del entorno
Conectar al agente con GitLab, DB, browser, Figma y más
Prompt library
Slash commands Angular y Laravel reutilizables
Patrones de fallo
Cuándo no usar el agente y cómo reaccionar
Subagentes — el agente lanza subagentes automáticamente cuando detecta que una subtarea se beneficia de contexto aislado. El patrón más potente es el coordinador/trabajador:
---name: Feature Builderdescription: Orquesta Planner, Coder y Reviewer de forma autónomatools: - agentagents: - Planner - Coder - Reviewer---Orquesta el ciclo completo delegando a cada agente especialista.A diferencia de los handoffs (el dev aprueba cada paso), aquí el coordinador lo gestiona solo. Está en estado experimental — verifica que funciona con tu versión.
Agentes compartidos a nivel de organización — los agentes en .github/agents/ están disponibles para todos los que tienen acceso al repo. Se pueden definir también a nivel de organización de GitHub para que aparezcan en el picker de todos los devs sin configuración adicional.
SKILL.md es distinto a las instrucciones: incluye scripts, ejemplos y recursos. Carga progresiva: Copilot carga solo lo que necesita para cada tarea. Funciona en Copilot VS Code, CLI y coding agent.
Estructura de un skill:
Ejemplo de .github/skills/testing/SKILL.md:
---name: testingdescription: Convenciones y patrones de testing del proyecto---# Skill: Testing del proyecto
## Angular (Karma + Jasmine)- Tests en `*.spec.ts` junto al fichero fuente- TestBed.configureTestingModule con standalone components- Mockear servicios con jasmine.createSpyObj- Cubrir: happy path, error handling, edge cases
## Laravel (PHPUnit)- Feature tests en tests/Feature/- Unit tests en tests/Unit/- Factories para datos de prueba, DatabaseTransactions en los tests
## Reglas del equipo- Min. 80% de cobertura en código nuevo- Cada MR incluye tests del código añadidoMCP (Model Context Protocol) es el estándar abierto para conectar el agente con herramientas externas. Se configuran en .vscode/mcp.json. El agente los usa como tools adicionales sin que el dev cambie nada del flujo.
{ "servers": { "nombre": { "type": "stdio", "command": "npx", "args": ["-y", "paquete-mcp"], "env": { "TOKEN": "${env:TOKEN}" } } }}Las credenciales van siempre en variables de entorno (${env:VARIABLE}), nunca hardcodeadas.
Conecta el agente con Figma. El dev selecciona un frame y el agente genera el componente Angular con Signals.
"figma": { "type": "stdio", "command": "npx", "args": ["-y", "@figma/mcp"], "env": { "FIGMA_TOKEN": "${env:FIGMA_TOKEN}" }}El agente controla el browser para ejecutar tests E2E, verificar flujos de usuario o generar suites de tests.
"playwright": { "type": "stdio", "command": "npx", "args": ["-y", "@playwright/mcp"]}Inspecciona DOM, consola, network y performance sin salir del chat.
"chrome-devtools": { "type": "stdio", "command": "npx", "args": ["-y", "chrome-devtools-mcp"], "env": { "CDP_URL": "ws://localhost:9222" }}El agente lee MRs, issues, pipelines e histórico de commits del GitLab del equipo.
"gitlab": { "type": "stdio", "command": "npx", "args": ["-y", "@gitlab-org/gitlab-mcp"], "env": { "GITLAB_URL": "https://gitlab.empresa.com", "GITLAB_TOKEN": "${env:GITLAB_TOKEN}" }}Convierte PDFs, Word, Excel, HTML y otros formatos a Markdown para que el agente los procese.
"markitdown": { "type": "stdio", "command": "uvx", "args": ["markitdown-mcp"]}Genera y renderiza diagramas en el chat: flujos, entidades, secuencias, arquitectura.
"mermaid": { "type": "stdio", "command": "npx", "args": ["-y", "mermaid-mcp-server"]}Meta-MCP que expone comandos del proyecto como herramientas del agente vía un fichero TOML — sin escribir código de servidor MCP.
"hyper": { "type": "stdio", "command": "hyper-mcp", "args": ["--config", ".github/hyper-mcp.toml"]}Ejemplo de .github/hyper-mcp.toml:
[[tools]]name = "run_tests"description = "Ejecuta el suite de tests completo"command = "pnpm test"
[[tools]]name = "check_style"description = "Verifica el estilo de código sin modificar"command = "vendor/bin/php-cs-fixer fix --dry-run"
[[tools]]name = "clear_cache"description = "Limpia el cache de Laravel"command = "php artisan cache:clear"Útil como alternativa ligera a construir un MCP completo para scripts simples del equipo.
El agente consulta directamente la base de datos de desarrollo para verificar datos, explorar el esquema o diagnosticar problemas.
"postgresql": { "type": "stdio", "command": "npx", "args": ["-y", "@modelcontextprotocol/server-postgres"], "env": { "DATABASE_URL": "${env:DATABASE_URL}" }}Casos de uso:
El agente inspecciona el estado del cache, ve las claves activas y diagnostica problemas de sesión o invalidación.
"redis": { "type": "stdio", "command": "npx", "args": ["-y", "redis-mcp-server"], "env": { "REDIS_URL": "${env:REDIS_URL}" }}Casos de uso:
remembrances-mcp — memoria persistente entre sesiones. El agente recuerda decisiones, convenciones y contexto de conversaciones anteriores sin que el dev lo repita cada vez. Configura qué tipo de información persistir y durante cuánto tiempo.
mesnada — MCP del equipo para acceder a infraestructura interna o procesos específicos del proyecto. Documentación en el repo de configuración del equipo.
mycommandmcp — expone comandos propios del proyecto como tools del agente. Patrón similar a hyper-mcp pero con lógica propia en Node.js o Python.
Los MCPs propios se configuran en .vscode/mcp.json exactamente igual que los públicos, apuntando al servidor local o al VPS del equipo.
/componente-signals:
---mode: agentagent: Coderdescription: Componente Angular standalone con Signals---Crea un componente Angular standalone.- Nombre: {{ nombre }} | Módulo: {{ modulo }}- input() para props, signal() para estado local, computed() para derivados- OnPush change detection- Tests Karma+Jasmine: happy path + 2 edge cases/controller-rest:
---mode: agentagent: Coderdescription: Controller REST Laravel con tests---Crea un controller REST para {{ recurso }}.- Form Request para validación, Policy para autorización, JsonResource- PHPUnit feature test cubriendo todos los endpoints y sus errores/migration-safe:
---mode: agentagent: Coderdescription: Migration Laravel con rollback funcional---Crea una migration para {{ descripcion }}.- down() funcional (rollback real)- Factory + seeder de datos de pruebaEl agente es un par de programación capaz, no el responsable de las decisiones.
No usar para:
Sí usar para: implementar una vez que la decisión está tomada.
Cuando falla: reformula en la misma conversación, no empieces de cero. “No, lo que quiero es…” sobre el mismo hilo funciona mejor que repetir el prompt completo.
Crear .vscode/mcp.json con al menos los MCPs más útiles para el proyecto: GitLab (MRs, issues, pipelines), PostgreSQL (base de datos de desarrollo) y 1 adicional a elección
Configurar las variables de entorno necesarias en .env local (nunca en el repo)
Probar cada MCP con peticiones reales del proyecto — anotar qué hace cada uno
Crear .github/skills/testing/SKILL.md con las convenciones de testing reales del equipo
Añadir al menos 1 ejemplo real en examples/: un spec Angular y/o un PHPUnit test
Verificar: pedir “genera tests para [función X]” — comprobar que sigue las convenciones del Skill sin repetirlas
Crear .github/prompts/componente-signals.prompt.md y /controller-rest.prompt.md
Anotar: ¿qué MCP aporta más valor inmediato al equipo? — traer la respuesta a la siguiente sesión