
Skills de Claude Code: la guía completa (2026)
Todo lo que necesitas saber sobre los skills de Claude Code: qué son, cómo funciona SKILL.md, cuándo usar skills vs MCP vs subagentes, cómo crear tu primer skill y cómo compartirlos en un equipo.
Guía
Escribiste el prompt perfecto.
Corre el resumen de tu standup semanal, arma tu PRD en exactamente el formato correcto o genera reportes de clientes con las métricas que de verdad le importan a tu equipo.
Luego alguien más en tu equipo lo necesita. O tú lo necesitas en otra herramienta. O quieres correrlo de forma programática.
Así que copias y pegas. Lo ajustas. Copias y pegas otra vez.
Seis meses después, hay nueve versiones del mismo workflow regadas en hilos de Slack, Google Docs y conversaciones a medias que apenas recuerdas.
Las skills resuelven esto.
Esta guía te llevará por el panorama completo: qué son las skills, dónde corren, en qué se diferencian entre las distintas superficies de Claude y cómo construir una biblioteca de skills compartida que tu equipo de verdad pueda mantener.
Cubriremos las skills prearmadas (el camino más rápido al valor), las skills personalizadas (empaquetar la experiencia de tu equipo) y los patrones que hacen que skills y MCP trabajen juntos sin desmoronarse.
Si no has leído nuestras guías anteriores, aquí va la versión corta: las tools le dan a Claude acceso a acciones (leer un archivo, llamar a una API), MCP estandariza cómo se conectan esas tools, y las skills empaquetan el método: las instrucciones, plantillas y verificaciones que convierten el acceso crudo a tools en workflows confiables. Para el desglose completo, mira Agent Skills 101: Tools vs MCP vs Skills.
Esta guía profundiza específicamente en las skills.
Todo equipo tiene conocimiento tribal. La forma en que estructuras un PRD. El formato que tus inversionistas esperan en los board decks. Las verificaciones específicas que corres antes de lanzar un deploy. La rúbrica que tu equipo usa para la investigación de clientes.
Este conocimiento vive en las cabezas de la gente, en docs dispersos y en prompts que se reconstruyen desde cero cada vez que alguien inicia una conversación nueva.
Las skills son la capa de empaquetado que convierte los prompts tribales en capacidad reutilizable.
Un workflow, diez implementaciones
Sin skills, esto es lo que pasa:
Cada versión se desvía. Nadie sabe cuál es la actual. Cuando cambia el formato del reporte, actualizas una versión y olvidas las demás.
Crear una vez, reutilizar en todas partes
Una skill es un directorio con un archivo SKILL.md. Eso es todo. La misma skill funciona en:
Una sola fuente de verdad. Múltiples superficies. Cuando actualizas la skill, todos reciben la actualización.
Run this in your own business.
Hire Duet — your always-on AI hire that runs every workflow.
Las skills no son idénticas en todas partes. Cada superficie tiene modelos de compartición distintos, restricciones distintas y pasos de configuración distintos.
Entender estas diferencias es como evitas construir algo que solo funciona en un lugar.
| Claude.ai | Claude Code | Claude API | Agent SDK | |
|---|---|---|---|---|
| Skills prearmadas | Sí (automático) | No | Sí (vía skill_id) | No |
| Skills personalizadas | Sí (subir zip) | Sí (sistema de archivos) | Sí (subir vía API) | Sí (sistema de archivos) |
| Alcance de compartición | Solo por usuario | Por proyecto o personal | Toda la organización | Por proyecto |
| Configuración requerida | Subir en Ajustes | Crear directorio + SKILL.md | Subida por API + beta headers | Directorio + config |
| Acceso a red | Varía según ajustes | Completo (tu máquina) | Ninguno (sandboxed) | Completo (tu máquina) |
| Mejor para | Uso individual, tareas rápidas | Workflows específicos del repo | Sistemas de producción, automatización | Apps de agentes personalizadas |
El punto de partida más simple. Claude.ai soporta tanto skills prearmadas como skills personalizadas que tú mismo subes.
Cómo agregar una skill personalizada:
El detalle: las skills personalizadas en Claude.ai son por usuario. Tu compañero no puede ver las skills que subiste. No hay panel de administración, no hay despliegue a toda la organización, no hay gestión central. Si tu equipo tiene cinco personas, cada persona sube la skill por separado.
Esto importa menos de lo que crees para las skills de productividad personal. Importa mucho si estás tratando de estandarizar workflows en un equipo. Para consistencia a nivel de equipo, usa la API o Claude Code con un repo compartido.
Requisitos: plan Pro, Max, Team o Enterprise con ejecución de código habilitada.
Claude Code es donde la mayoría de los builders empieza con skills personalizadas. Las skills viven en tu sistema de archivos como directorios: sin paso de subida, sin llamadas a la API, sin archivos zip. Si eres nuevo en Claude Code, empieza con La guía definitiva para principiantes.
.claude/skills/weekly-report/
├── SKILL.md # Main instructions (required)
├── template.md # Report template
└── examples/
└── sample.md # Example output
Claude descubre las skills automáticamente y las usa cuando son relevantes para tu solicitud. O invocas una directamente con /weekly-report.
Dónde viven las skills determina quién las ve:
| Ubicación | Ruta | Quién puede usarla |
|---|---|---|
| Personal | ~/.claude/skills/my-skill/SKILL.md | Tú, en todos tus proyectos |
| Proyecto | .claude/skills/my-skill/SKILL.md | Cualquiera que trabaje en este proyecto |
| Enterprise | Ajustes gestionados | Todos en tu organización |
Funciones clave de Claude Code:
disable-model-invocation: true a tu frontmatter si solo quieres que la skill corra cuando la llames explícitamente (como /deploy: no quieres que Claude decida hacer un deploy porque tu código se ve listo)allowed-tools en el frontmatter para limitar lo que Claude puede hacer cuando una skill está activa. allowed-tools: Read, Grep, Glob crea un modo de solo lecturacontext: fork para correr una skill en un subagente aislado, útil para tareas de investigación o cualquier cosa que no deba contaminar el contexto de tu conversación principal!command corre comandos de shell antes de que el contenido de la skill llegue a Claude. !gh pr diff inyecta el diff real del PR en el prompt de la skillPara una guía práctica de cómo configurar skills con CLAUDE.md y comandos, mira El Playbook de Claude Code.
La API es donde las skills se vuelven infraestructura. Subes skills personalizadas vía el endpoint /v1/skills, referencias skills prearmadas por su skill_id, y todo corre en un contenedor de ejecución de código sandboxed.
El diferenciador: las skills personalizadas subidas vía la API se comparten en toda la organización. Todos en tu workspace pueden usarlas. Esto es lo opuesto al modelo por usuario de Claude.ai, y es por eso que la API es la opción correcta para la estandarización a nivel de equipo.
Usar una skill prearmada (Python):
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-sonnet-4-6",
max_tokens=4096,
betas=["code-execution-2025-08-25", "skills-2025-10-02"],
container={
"skills": [
{"type": "anthropic", "skill_id": "pptx", "version": "latest"}
]
},
messages=[
{"role": "user", "content": "Create a quarterly review presentation"}
],
tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)
Subir una skill personalizada:
from anthropic.lib import files_from_dir
skill = client.beta.skills.create(
display_title="Weekly Report Generator",
files=files_from_dir("/path/to/weekly-report-skill"),
betas=["skills-2025-10-02"],
)
print(f"Skill ID: {skill.id}")
Restricciones importantes:
code-execution-2025-08-25, skills-2025-10-02, files-api-2025-04-14El SDK soporta skills personalizadas a través del mismo enfoque basado en sistema de archivos que Claude Code. Guarda las skills en .claude/skills/ e incluye "Skill" en tu configuración de allowedTools.
const agent = new Agent({
model: 'claude-sonnet-4-6',
allowedTools: ['Read', 'Write', 'Bash', 'Skill'],
})
Algo que notar: las restricciones de tools funcionan distinto en el SDK. El campo de frontmatter allowed-tools es una función de la CLI de Claude Code. En el SDK, usas allowedTools en la configuración de tu agente en su lugar.
Antes de construir algo personalizado, revisa si una skill prearmada ya hace lo que necesitas. Anthropic mantiene skills para los tipos de documento sobre los que corre el trabajo real.
| Skill ID | Qué hace |
|---|---|
pptx | Crea y edita presentaciones de PowerPoint |
xlsx | Crea hojas de cálculo, analiza datos, genera gráficas |
docx | Crea y edita documentos de Word |
pdf | Genera documentos y reportes PDF con formato |
Estas existen porque el trabajo real produce artefactos reales (decks, hojas de cálculo, docs), no solo texto de chat. Si tu workflow termina con "ahora copia esto en Google Slides", una skill prearmada puede saltarse ese paso por completo.
Piensa en los entregables que tu equipo produce repetidamente:
pptx toma datos estructurados y produce una presentación con formatoxlsx crea una hoja de cálculo con gráficas y formato condicionaldocx produce un documento con formato listo para compartirpdf produce PDFs pulidosEl patrón es el mismo: entran entradas estructuradas, salen archivos con formato. La Files API maneja las subidas y descargas.
Descargar un archivo generado:
for file_id in extract_file_ids(response):
file_metadata = client.beta.files.retrieve_metadata(
file_id=file_id, betas=["files-api-2025-04-14"]
)
file_content = client.beta.files.download(
file_id=file_id, betas=["files-api-2025-04-14"]
)
file_content.write_to_file(file_metadata.filename)
Usa skills prearmadas cuando:
Construye una personalizada cuando:
También puedes combinar ambas: usa una skill personalizada para la lógica de análisis y una skill prearmada para la salida final:
response = client.beta.messages.create(
model="claude-sonnet-4-6",
max_tokens=4096,
betas=["code-execution-2025-08-25", "skills-2025-10-02"],
container={
"skills": [
{"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
{"type": "custom", "skill_id": dcf_skill.id, "version": "latest"},
]
},
messages=[
{"role": "user", "content": "Run the DCF analysis and output to Excel"}
],
tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
)
Las skills prearmadas manejan los formatos estándar. Las skills personalizadas manejan todo lo demás: los workflows, las convenciones y el conocimiento institucional que hacen distinto el trabajo de tu equipo.
Una skill es un directorio. El único archivo requerido es SKILL.md. Todo lo demás es opcional.
incident-report/
├── SKILL.md # Main instructions (required)
├── template.md # Your incident report template
├── severity-rubric.md # How to classify severity
├── examples/
│ └── sample-report.md # A good example report
└── scripts/
└── validate.py # Script to check completeness
SKILL.md usa frontmatter YAML para la metadata y markdown para las instrucciones:
---
name: incident-report
description: Generates incident postmortem reports following our team format.
Use when writing incident reports, postmortems, or analyzing outages.
---
# Incident Report Generator
## Process
1. Gather timeline from provided logs or description
2. Classify severity using severity-rubric.md
3. Fill in template.md with structured findings
4. Run validation: python scripts/validate.py report.md
5. If validation fails, fix issues and re-validate
## Key rules
- Every finding must cite a specific log entry or timestamp
- Action items must have an owner and a due date
- Never classify severity below the actual impact
Codifican el "cómo lo hacemos aquí":
Sin skills, este conocimiento vive en "pregúntale a Sarah, ella sabe el formato" o "revisa la página del wiki de 2024 que tal vez siga vigente".
El campo description es lo más importante que escribes. No es documentación para humanos: es metadata que Claude usa para decidir cuándo cargar una skill sin cargar todo en el contexto.
Buena descripción:
description: Generates incident postmortem reports following our team format.
Use when writing incident reports, postmortems, or analyzing outages.
Mala descripción:
description: Helps with documents
Incluye: qué hace + cuándo usarla + frases de activación que un usuario podría decir naturalmente. Escribe en tercera persona ("Genera reportes", no "Puedo ayudarte a generar reportes").
Probar tu descripción: después de crear una skill, pruébala pidiéndole a Claude cosas que la skill debería manejar. Pídeselo con distintas formulaciones, las obvias y las parafraseadas. También prueba que no se active en solicitudes no relacionadas. Una skill que se activa demasiado seguido es casi tan mala como una que nunca se activa.
Las skills usan un sistema de carga de tres niveles que mantiene limpia tu ventana de contexto:
| Nivel | Cuándo se carga | Costo en tokens | Qué incluye |
|---|---|---|---|
| Metadata | Siempre (al arrancar) | ~100 tokens por skill | name y description del frontmatter |
| Instrucciones | Cuando se activa la skill | Menos de 5K tokens | Cuerpo del SKILL.md |
| Recursos | Cuando se necesita | Prácticamente ilimitado | Archivos adicionales, scripts, plantillas |
Esto significa que puedes instalar docenas de skills sin penalización. Claude ve la metadata de todas al arrancar (ligero), lee el SKILL.md completo solo cuando es relevante (moderado) y accede a los archivos de soporte solo cuando se necesita (por demanda).
Implicación práctica: no trates de meter todo en el SKILL.md. Mantenlo en menos de 500 líneas. Mueve el material de referencia detallado, los ejemplos y los datos a archivos separados y referénciálos:
## Additional resources
- For API details, see reference.md
- For usage examples, see examples.md
Claude lee esos archivos solo cuando la tarea los requiere.
Las skills le dan a Claude instrucciones y código ejecutable. Una skill maliciosa puede dirigir a Claude a hacer cosas que no coinciden con su propósito declarado.
Prácticas no negociables
Restricciones del frontmatter YAML (impuestas por el sistema):
name: máximo 64 caracteres, solo letras minúsculas/números/guiones, sin etiquetas XMLdescription: máximo 1024 caracteres, sin etiquetas XMLEl riesgo de la cadena de suministro es real. La investigación ToxicSkills de Snyk encontró que el 36% de las skills de agentes de AI en directorios públicos contienen fallas de seguridad. Quédate con skills de fuentes conocidas con mantenedores visibles. Esto no es teórico: ha habido payloads maliciosos activos disfrazados de skills legítimas en directorios públicos de skills.
Run this in your own business.
Hire Duet — your always-on AI hire that runs every workflow.
Si leíste nuestra guía Agent Skills 101, conoces la distinción central: MCP te da acceso, las skills te dan método. Juntos son más confiables que prompts gigantes cosidos con integraciones improvisadas.
MCP = acceso estandarizado a tools y datos. Es la plomería: conectar Claude a Jira, Slack, BigQuery, GitHub, tu base de datos, lo que sea.
Skills = workflows reutilizables. El método, las plantillas y las verificaciones que convierten el acceso crudo a tools en algo consistente y confiable.
Juntos: menos frágiles que las integraciones improvisadas. Cuando cambias tu sistema de tickets de Jira a Linear, intercambias el servidor MCP. La skill que genera tu resumen ejecutivo semanal sigue igual porque define el proceso, no la plomería.
Para un recorrido práctico de cómo conectar tools MCP a tu workflow, mira Conectar herramientas externas con MCP.
Las skills más útiles siguen el mismo patrón de tres pasos:
Workflow ejecutivo semanal
Traer: Jira MCP — obtén los tickets del sprint + cambios de estado. Slack MCP — obtén los resúmenes de hilos clave.
Transformar: skill de reporte semanal — normaliza los datos, aplica la plantilla, resalta los bloqueos.
Producir: skill docx — documento de Word con formato listo para los stakeholders.
Workflow de board deck
Traer: BigQuery MCP — obtén métricas de ingresos, churn, NPS. Stripe MCP — obtén datos de pagos y tendencias.
Transformar: skill de board deck — agrega métricas, crea narrativas, marca anomalías.
Producir: skill pptx — PowerPoint con formato y gráficas.
Workflow de reporte de incidentes
Traer: Datadog MCP — obtén logs y timeline relevantes. PagerDuty MCP — obtén el timeline del incidente y los responders.
Transformar: skill de reporte de incidentes — estructura el timeline, clasifica la severidad, valida los hallazgos.
Producir: skills docx + pdf — reporte con formato para revisión interna y stakeholders externos.
Cuando tu skill usa tools MCP, usa siempre nombres completamente calificados para evitar errores de "tool not found":
Use the Jira:get_sprint_issues tool to retrieve current sprint tickets.
Use the Slack:get_channel_messages tool to pull key thread updates.
El formato es ServerName:tool_name. Sin el prefijo del servidor, Claude puede fallar al localizar la tool, sobre todo cuando hay varios servidores MCP disponibles.
A medida que tu equipo conecta más servidores MCP, surge un problema de escalamiento. Esta sección cubre el patrón que Anthropic recomienda para mantener las cosas rápidas y rentables.
Cuando un agente tiene acceso a cientos de tools MCP, dos costos explotan:
La guía de eficiencia de Anthropic: usa ejecución de código para que el agente pueda procesar resultados intermedios grandes dentro del entorno de ejecución y devolver solo el resultado final pequeño al modelo.
En lugar de esto (costoso):
Claude → MCP tool → [large result enters context] → Claude reasons →
MCP tool → [another large result enters context] → Claude generates final answer
Haz esto (eficiente):
Claude → code execution [
→ load only needed tool definitions via filesystem
→ call MCP tool
→ process large result locally
→ extract relevant data
] → small final result enters context → Claude generates answer
Este patrón es especialmente relevante al combinar skills con MCP. El código de tu skill puede orquestar las llamadas MCP de forma eficiente dentro del entorno de ejecución, procesando los datos localmente y exponiendo solo lo que importa.
Construir una skill es la parte fácil. Mantener sana una biblioteca de skills con el tiempo: ahí es donde la mayoría de los equipos falla. Esta sección cubre las prácticas operativas que separan el "probamos las skills una vez" del "las skills son cómo trabajamos".
Para la disciplina a nivel de fundador que hace que las skills se queden (curaduría de memoria, briefs basados en resultados, ciclos de revisión), mira Duet AI para fundadores: el modo fundador como sistema operativo.
Cada skill necesita:
Guarda esto en tu frontmatter o en un archivo de metadata acompañante:
---
name: weekly-report
description: Generates weekly team report with metrics and highlights.
Use when creating weekly reports or team updates.
---
Para las skills gestionadas por API, las versiones son marcas de tiempo autogeneradas. Fija versiones específicas en producción y usa "latest" solo en desarrollo:
# Production: pin version
{"type": "custom", "skill_id": "skill_01Abc...", "version": "1759178010641129"}
# Development: use latest
{"type": "custom", "skill_id": "skill_01Abc...", "version": "latest"}
Trata las skills como código:
Antes de compartir cualquier skill, verifica:
Descubrimiento y activación:
Corrección funcional:
Integración:
Posempaquetado:
Las bibliotecas de skills más fuertes comparten un patrón común: la skill ES la documentación. Cuando tu skill incluye instrucciones, plantillas y ejemplos claros, no necesitas una página de wiki aparte que explique "cómo generar un reporte semanal". La skill misma es el doc vivo.
Para acelerar esto:
generating-reports, reviewing-code, analyzing-dataanalyzing-metrics"Modos de falla comunes y sus soluciones:
| Problema | Causa probable | Solución |
|---|---|---|
| La skill nunca se activa | Descripción demasiado vaga | Agrega frases de activación y keywords específicas |
| La skill se activa con todo | Descripción demasiado amplia | Acota la descripción, agrega restricciones |
| El formato de salida se desvía | Instrucciones demasiado sueltas | Agrega una plantilla estricta con estructura explícita |
| La skill funciona en Claude Code pero falla vía API | Dependencia de red o de paquete | Quita las llamadas a APIs externas; verifica que los paquetes estén preinstalados |
| La ventana de contexto se llena | SKILL.md demasiado largo o demasiadas skills cargadas | Divide en archivos separados; mantén el SKILL.md en menos de 500 líneas |
Las skills ya no son solo una función de Claude. Se están convirtiendo en un estándar multiplataforma, y esto tiene implicaciones en cómo inviertes en tu biblioteca de skills.
Las skills de Claude Code siguen el estándar abierto Agent Skills (agentskills.io), que funciona en múltiples herramientas de AI. Esto significa que una skill que escribes para Claude Code potencialmente puede funcionar en otras herramientas que soporten el estándar: Cursor, Codex, OpenCode y otras.
En enero de 2026, Vercel lanzó skills.sh, un directorio abierto donde los desarrolladores publican e instalan skills para agentes de AI. Crece a un ritmo de unas 147 skills nuevas por día y soporta Claude Code, Codex, Cursor y otras herramientas. Piensa en él como el npm de las skills de agentes.
El ecosistema es joven y los riesgos de la cadena de suministro son reales. La investigación de Snyk encontró payloads maliciosos activos en directorios públicos de skills: skills disfrazadas de herramientas de trading de cripto que en realidad roban credenciales.
Reglas prácticas para las skills públicas
Si estás empezando desde cero, aquí va una secuencia práctica:
.claude/skills/your-skill/ a tu repo. Ahora todos en el proyecto la tienen./v1/skills para que esté disponible en toda la organización y accesible desde las automatizaciones.No trates de construir una biblioteca de skills completa el primer día. Construye la única skill que ahorra más tiempo esta semana. Luego construye otra la próxima semana. La biblioteca crece a partir del uso real, no de sesiones de planeación.
Usa esta plantilla para cada skill nueva. Te obliga a definir el alcance, las entradas, los guardrails y los criterios de éxito antes de escribir las instrucciones.
# Skill Spec: [Skill Name]
## Scope
- **What this skill does:** [one sentence]
- **What this skill does NOT do:** [boundaries]
- **Target surfaces:** [Claude.ai / Claude Code / API / SDK]
## Inputs
- **Required:** [what the user must provide]
- **Optional:** [what enhances the output]
- **MCP dependencies:** [which MCP servers/tools, if any]
## Guardrails
- **Must always:** [non-negotiable rules]
- **Must never:** [hard constraints]
- **Validation:** [how to verify the output is correct]
## Success criteria
- Output matches expected format
- Triggers on relevant requests
- Does NOT trigger on unrelated requests
- Tested with Haiku / Sonnet / Opus
- Reviewed by [owner name]
## Owner
- **Created by:** [name]
- **Version:** [x.y]
- **Last updated:** [date]
Para los equipos que gestionan más de un puñado de skills:
Inventario:
Calidad:
Mantenimiento:
Distribución:
Las skills son la diferencia entre "Claude es útil cuando le doy el prompt correcto" y "Claude sabe cómo trabaja nuestro equipo".
La inversión es pequeña. Un archivo SKILL.md con las convenciones de tu equipo. Unas cuantas plantillas. Tal vez un script de validación. El retorno se compone cada vez que alguien en tu equipo evita reconstruir un workflow desde cero.
Empieza con una. Ese único workflow que estás más cansado de volver a explicar.
Esta es la Parte 3 de la serie de Guías de Duet. La Parte 1 cubre Agent Skills 101: Tools vs MCP vs Skills, y la Parte 2 cubre La guía definitiva para principiantes de Claude Code. Para la configuración práctica de CLAUDE.md, comandos y skills en Claude Code, mira El Playbook de Claude Code.
Contrata a Duet. Tu compañero de AI siempre activo que ejecuta cada flujo de trabajo.

Todo lo que necesitas saber sobre los skills de Claude Code: qué son, cómo funciona SKILL.md, cuándo usar skills vs MCP vs subagentes, cómo crear tu primer skill y cómo compartirlos en un equipo.

Reduce el reingreso de datos en los carrier portals con AI que extrae datos de formularios ACORD e impulsa envíos automatizados a las aseguradoras entre portales.

Arma workflows con Claude Code que parten de skills y sí se sostienen. CLAUDE.md, comandos, skills y el ciclo Explorar-Planear-Ejecutar-Verificar. Sin programar.

Las skills enseñan a los agentes de AI cómo trabajar. MCP los conecta a datos externos. Aquí ves cuándo usar Tools, MCP o Skills en tus workflows de agentes.

Acelera los correos a clientes y los seguimientos de renovación con un sistema de redacción con AI que mantiene la comunicación consistente.

Reemplaza tu stack de automatización de $5k/mes. Aprende cómo los fundadores no técnicos usan Claude Code para automatizar marketing, producto y operaciones.