Agent Skills y skills.sh: El "npm" para agentes de IA
¿Qué son los Agent Skills?
Los Agent Skills son módulos reutilizables de instrucciones que le dicen a un agente de IA cómo realizar tareas específicas de alta calidad. En lugar de que el agente improvise cada vez que necesita ejecutar una tarea compleja, un skill le proporciona las mejores prácticas ya destiladas — producto de prueba y error previo.
La analogía más directa: si los agentes de IA son desarrolladores, los skills son sus libros de recetas. No reinventan el proceso cada vez; siguen pasos probados.
Anatomía de un Skill
Todo skill vive en un directorio con esta estructura:
skill-name/
├── SKILL.md ← requerido
├── scripts/ ← código ejecutable reutilizable
├── references/ ← documentación de referencia
└── assets/ ← plantillas, fuentes, iconos
El archivo central es el SKILL.md, que contiene dos partes:
1. Frontmatter YAML
name: nombre-del-skill
description: Cuándo activarlo y qué hace exactament
El campo description es el mecanismo de activación principal. El agente lo lee para decidir si debe consultar el skill o no. Por eso las buenas descriptions son explícitas, detalladas y hasta un poco "empujonas" — los agentes tienden a sub-activar skills si la descripción es vaga.
2. Cuerpo en Markdown
Las instrucciones paso a paso: qué herramientas usar, el flujo de trabajo, errores comunes a evitar, y ejemplos de código.
Sistema de carga progresiva
Los skills usan tres niveles de carga para ser eficientes con el contexto:
| Nivel | Qué se carga | Cuándo |
|---|---|---|
| 1 | name + description (~100 palabras) |
Siempre en contexto |
| 2 | Cuerpo completo del SKILL.md (<500 líneas ideal) |
Cuando el skill se activa |
| 3 | Scripts, referencias y assets | Solo cuando se necesitan |
Esto significa que el agente siempre "sabe que existe" el skill (nivel 1), pero solo carga las instrucciones completas cuando la tarea es relevante (nivel 2), y solo ejecuta scripts pesados si la tarea lo requiere (nivel 3).
Principios de diseño clave
Principle of Least Surprise — el skill debe comportarse de manera predecible. Si el output cambia según contextos invisibles para el usuario, el skill está mal diseñado.
Límite de 500 líneas — si el SKILL.md crece más allá de esto, se debe agregar jerarquía con archivos de referencia secundarios. Ejemplo para un skill multi-dominio:
cloud-deploy/
├── SKILL.md ← workflow general + criterio de selección
└── references/
├── aws.md
├── gcp.md
└── azure.md
El agente solo carga el archivo relevante según el contexto, no todos a la vez.
Ciclo de vida de un skill
- Capturar intención — ¿qué debe hacer? ¿en qué contextos activarse?
- Escribir el draft del SKILL.md
- Crear test cases y correr el skill en ellos
- Evaluar resultados con el usuario (cualitativo + cuantitativo)
- Iterar hasta estar satisfecho
- Optimizar la description para mejorar el triggering
- Empaquetar como archivo
.skillpara distribución
Skills.sh: el registro público de skills
Skills.sh es el ecosistema abierto lanzado por Vercel en enero de 2026. Es básicamente el npm para agentes de IA: un directorio central donde la comunidad publica, descubre e instala skills.
Seis horas después del anuncio, el skill más popular ya tenía más de 20,000 instalaciones. Stripe publicó sus propios skills en cuestión de horas. La adopción fue inmediata.
Instalación
# Instalar un skill desde GitHub
npx skills add vercel-labs/agent-skills
# Instalar skills específicos
npx skills add vercel-labs/agent-skills --skill frontend-design --skill skill-creator
# Instalar globalmente (disponible en todos los proyectos)
npx skills add vercel-labs/agent-skills -g
# Buscar skills por keyword
npx skills find typescript
# Listar skills instalados
npx skills list
# Verificar actualizaciones
npx skills check
Scope de instalación
| Scope | Flag | Ubicación | Uso |
|---|---|---|---|
| Project | (default) | ./<agent>/skills/ |
Commiteable, compartido con el equipo |
| Global | -g |
~/<agent>/skills/ |
Disponible en todos los proyectos |
Compatibilidad entre agentes
Skills.sh soporta más de 40 agentes: Claude Code, Cursor, Codex, Windsurf, OpenCode, Gemini CLI, GitHub Copilot, Replit, y muchos más.
Todos siguen el Agent Skills Specification (agentskills.io), pero hay features avanzadas que solo algunos implementan:
| Feature | Soporte |
|---|---|
| Basic skills (SKILL.md estándar) | ✅ Todos los agentes |
allowed-tools |
✅ Mayoría — ❌ Kiro CLI, Zencoder |
context: fork |
✅ Solo Claude Code |
| Hooks | ✅ Solo Claude Code y Cline |
¿Qué significa cada feature avanzada?
allowed-tools — el skill declara explícitamente qué herramientas puede usar (bash, editor de archivos, etc.), restringiendo el scope de acción del agente.
context: fork — exclusivo de Claude Code. Permite que el skill corra en un contexto aislado, sin contaminar el contexto principal de la conversación.
Hooks — permite ejecutar acciones en eventos del ciclo de vida del agente: antes de una tarea, después de un commit, al detectar un error, etc.
Skills.sh vs MCP
Una pregunta natural es cómo se relaciona esto con el Model Context Protocol (MCP) de Anthropic.
La distinción más clara que ha surgido en la comunidad:
"MCP resolvió cómo los agentes hablan con herramientas. Skills resuelve cómo los devs comparten y descubren capacidades."
MCP es un protocolo de comunicación estructurada entre agentes y servicios externos. Skills es una capa de conocimiento procedimental reutilizable. Son complementarios, no competidores.
Conclusión
Los Agent Skills representan una evolución importante en cómo trabajamos con agentes de IA: pasamos de darle instrucciones ad-hoc a cada sesión, a tener conocimiento empaquetado, versionado y compartible. Skills.sh lleva esto un paso más lejos al crear un ecosistema abierto donde cualquier desarrollador puede contribuir y beneficiarse del trabajo colectivo.
Para quienes trabajamos con Claude Code como herramienta principal de desarrollo, tenemos acceso al set completo de features: skills básicos, allowed-tools, context: fork y hooks. Es el agente con mayor soporte del ecosistema actual.