Módulo 02 · Fundamentos · Nivel 2 del Ecosistema

🧠 Skills — Paquetes reutilizables de expertise

Del prompt repetido al sistema de conocimiento: anatomía, distribución, estándar abierto y 32 herramientas compatibles
← Volver al Dashboard

¿Qué problema resuelven los skills?

Sin skills, cada conversación empieza desde cero — reescribes las mismas instrucciones, repites el mismo contexto, reformateas el mismo output. Con skills, ese trabajo se escribe una vez y se activa automáticamente cuando el contexto lo requiere. El equivalente de contratar un empleado brillante vs. reentrenarlo todos los días.

El Playbook del quarterback

Analogía central

Un equipo de fútbol americano tiene un playbook con 200+ jugadas organizadas por situación. El quarterback no ejecuta las 200 en cada partido — identifica la situación y carga la jugada relevante. Los skills son el playbook de Claude: todo el conocimiento existe, pero solo se carga lo necesario cuando es necesario.

PLAYBOOK
  • 📚 200+ jugadas disponibles
  • 🎯 Activadas por situación
  • ⚡ No se ejecutan todas
  • 🏆 Escritas por el coach, usadas por el QB
SKILLS DE CLAUDE
  • 📚 N skills disponibles en el proyecto
  • 🎯 Activados por invocación o contexto
  • ⚡ Solo se carga el relevante
  • 🏆 Escritos por humanos, usados por el agente
Segunda analogía — npm para JavaScript

Los skills son para Claude lo que los paquetes npm son para Node.js. En lugar de escribir código de validación de emails en cada proyecto, instalas un paquete. En lugar de instruir a Claude sobre cómo generar reportes financieros en cada sesión, instalas un skill. Conocimiento reutilizable, empaquetado, instalable, versionable.

📦
Se instala
skills.sh install o /plugin
♻️
Se reutiliza
Activo en cualquier proyecto
🔄
Se versiona
Git, changelog, releases

El ecosistema de skills en números (2026)

60.4K Estrellas en awesome-agent-skills (mayo 2026) A
1,000+ Skills en el repositorio oficial de la comunidad A
32 Herramientas que leen el mismo SKILL.md (marzo 2026) A
20K Instalaciones de Skills.sh en 6 horas del lanzamiento A

Skills vs. otras formas de dar instrucciones

MecanismoPersisteSe activaCosto tokensRecomendado para
Prompt No (se pierde) Manual Por conversación Tareas únicas
CLAUDE.md Sí (archivo) En toda sesión Constante siempre Contexto del proyecto
Skill ← Sí (archivo) Por demanda/contexto Solo al activarse Expertise especializado
Agente No (por sesión) Por tarea Alto (loop completo) Autonomía compleja

Anatomía de un Skill

Un skill es un directorio con un archivo SKILL.md obligatorio. Todo lo demás es opcional. La clave está en entender el frontmatter YAML — es el contrato entre el skill y el modelo.

Estructura del directorio

Estructura mínima (funcional)

mi-skill/
└── SKILL.md    ← único requerido

Estructura completa

mi-skill/
├── SKILL.md          ← obligatorio
├── template.md       ← Claude llena esto
├── examples/
│   └── sample.md    ← output esperado
├── scripts/
│   └── validate.sh  ← Claude ejecuta
└── resources/
    └── checklist.md ← referencia
Regla de diseño

Solo SKILL.md es obligatorio. Empezar simple, escalar cuando la tarea lo exige. El material de referencia detallado va en resources/ — no en SKILL.md. Así funciona Progressive Disclosure.

Anatomía de SKILL.md

Dos partes: frontmatter YAML (metadatos que Claude lee siempre) + cuerpo markdown (instrucciones que se cargan al activar).

--- ← inicio del frontmatter (Claude lee esto en el startup)
description: Resume cambios no commiteados y marca riesgos.
Usar cuando el usuario pregunta qué cambió o quiere un commit message.
NO usar para diffs de más de 500 líneas.
name: git-summary
allowed-tools: Bash ← Claude puede usar Bash sin pedir permiso
effort: low ← nivel de esfuerzo
--- ← fin del frontmatter

## Cambios actuales
!`git diff HEAD` ← inyección dinámica: ejecuta git antes de enviar a Claude

## Instrucciones
1. Resume los cambios en 2-3 bullets
2. Lista riesgos: errores faltantes, valores hardcodeados, tests pendientes
3. Sugiere un commit message siguiendo Conventional Commits
⚠️ LA DESCRIPTION ES EL CONTRATO

La description es lo que Claude lee para decidir si activar el skill. Una descripción pobre = skill que nunca se activa (problema #1) o que se activa en momentos incorrectos (problema #2). Incluye: qué hace + cuándo usarlo + cuándo NO. A

Todos los campos del frontmatter

CampoRequeridoDescripción
descriptionRecomendadoQué hace y cuándo usarlo. Máx 1,536 chars. El más importante.
nameNoNombre display. Solo minúsculas, números, guiones. Máx 64 chars.
when_to_useNoContexto adicional de cuándo Claude debe invocarlo.
allowed-toolsNoTools que Claude usa sin pedir permiso con este skill activo.
disable-model-invocationNotrue = solo el usuario puede invocarlo (no Claude).
user-invocableNofalse = oculto del menú /. Se activa solo automáticamente.
modelNoModelo específico cuando el skill está activo.
effortNoNivel de esfuerzo: low, medium, high, xhigh, max.
contextNofork = ejecuta en subagente aislado con su propio contexto.
pathsNoGlob patterns que limitan cuándo se activa (ej: solo en archivos .py).
hooksNoHooks con scope al ciclo de vida de este skill.
shellNoShell para inyección dinámica: bash (default) o powershell.

Variables de sustitución

# Argumentos del usuario
$ARGUMENTS           ← todos los args pasados al invocar
$ARGUMENTS[0]        ← primer argumento por índice
$nombre              ← argumento nombrado declarado en `arguments:`

# Variables del entorno de sesión
${CLAUDE_SESSION_ID} ← ID de sesión actual
${CLAUDE_EFFORT}     ← nivel de esfuerzo actual
${CLAUDE_SKILL_DIR}  ← directorio del skill (para leer resources/)

Inyección dinámica de contexto

La sintaxis !`comando` ejecuta comandos shell ANTES de enviar el contenido a Claude. Esto convierte el skill de texto estático a instrucciones que incorporan el estado actual del sistema. A

## Estado actual del repo
!`git status --short`

## Tests que fallaron
!`cat .ci/last-run.log | grep FAIL`

## Dependencies del proyecto
!`npm list --depth=0 2>/dev/null | head -20`

Para comandos multilínea, usar bloque de código con ```!:

```!
find . -name "*.test.ts" -newer src/api.ts
```

Progressive Disclosure — Por qué los skills escalan

Esta es la decisión de diseño más importante del sistema. Entenderla explica por qué puedes tener 50 skills sin penalizar el rendimiento del primer prompt. A — Anthropic Engineering + SwirlAI

Un proyecto con 8 skills
70,000
tokens si Claude leyera todo al inicio
vs
500
tokens con Progressive Disclosure
140x menos costo de inicio de sesión
A — SwirlAI / Anthropic Engineering Blog

Las 3 capas de carga

1

Startup de sesión — solo frontmatter

Claude lee el nombre + description de cada skill. Nada más. Si tienes 8 skills con descriptions de ~60 palabras cada una, el costo es ~500 tokens total.

~500 tokens · siempre
2

Activación — SKILL.md completo

Cuando el usuario invoca /skill-name o Claude detecta relevancia, se carga el SKILL.md completo del skill específico. Solo ese skill, no todos.

~1,000-5,000 tokens · solo al activar
3

Ejecución — archivos de soporte por demanda

Claude carga archivos de resources/, templates/, examples/ solo si los necesita durante la ejecución. Carga progresiva real.

Variable · solo los archivos accedidos

Anti-patrón vs. Patrón correcto

❌ ANTI-PATRÓN — skill pesado
---
description: Genera reportes financieros
---

## Instrucciones
[500 líneas de instrucciones]

## Todas las fórmulas de cálculo
[200 líneas de fórmulas]

## Ejemplos completos
[1000 líneas de ejemplos]

← TODO entra al contexto al activar
← 1700 líneas = ~25,000 tokens
← Puede llegar al límite de compactación
✅ PATRÓN CORRECTO — skill liviano
---
description: Genera reportes financieros según
  template estándar. Usar para informe mensual,
  trimestral o anual.
---

## Proceso
1. Lee datos: !`cat $ARGUMENTS`
2. Sigue template en
   ${CLAUDE_SKILL_DIR}/templates/reporte.md
3. Valida con
   ${CLAUDE_SKILL_DIR}/resources/checklist.md

## Output esperado
Ver ${CLAUDE_SKILL_DIR}/examples/ejemplo.md

← SKILL.md: ~30 líneas (~400 tokens)
← resources/ se carga SOLO si Claude llega ahí
← Escala sin límite

Regla de compactación de contexto

Cuando el contexto se acerca al límite, Claude Code compacta. Los skills que fueron invocados se re-adjuntan con un presupuesto combinado: A

25,000
tokens máximos para TODOS los skills combinados
5,000
tokens máximos por skill individual

→ Implicación: mantener SKILL.md < 500 líneas / < 5,000 palabras

El Estándar Abierto — Agent Skills

El 18 de diciembre de 2025, Anthropic publicó Agent Skills como estándar abierto. En 48 horas, Microsoft y OpenAI lo integraron. En marzo 2026, 32 herramientas de empresas competidoras leen el mismo SKILL.md. A

Línea de tiempo del estándar

18 Dic 2025
Anthropic publica Agent Skills en agentskills.io
Estándar abierto para packaging de conocimiento procedural. Partners de lanzamiento: Atlassian, Cloudflare, Figma, Sentry, Stripe, Vercel, Zapier.
20 Dic 2025 — 48 horas después
Microsoft integra en VS Code · OpenAI lo añade a ChatGPT y Codex CLI
Adopción inmediata por competidores directos. El SKILL.md se vuelve estándar de facto en 2 días.
20 Ene 2026
Vercel lanza Skills.sh — 20,000 instalaciones en 6 horas
El marketplace de facto del ecosistema. Sistema de leaderboard, dependencias, versiones semánticas. "El npm de los skills".
Mar 2026
32 herramientas de empresas competidoras leen el mismo SKILL.md
Google Gemini CLI, JetBrains Junie, AWS Kiro, Block Goose, Cline, Windsurf — todos leen el mismo directorio, el mismo formato, sin modificación.

Las 32 herramientas del ecosistema (selección)

HerramientaEmpresaCategoríaRuta de skills
Claude CodeAnthropicTerminal AI~/.claude/skills/
Codex CLIOpenAITerminal AI~/.codex/skills/
Gemini CLIGoogleTerminal AI~/.gemini/skills/
CursorAnysphereIDE AI.cursor/skills/
GitHub Copilot (Agent)MicrosoftIDE ExtensionVia VS Code
JunieJetBrainsIDE AIVaría
KiroAWSIDE AIVaría
GooseBlock (Square)Terminal AgentVaría
WindsurfCodeiumIDE AIVaría
Cline / Roo CodeComunidadVS Code ExtensionVaría

Portabilidad real vs. features propias de Claude Code

✅ Portable — estándar base
  • → Frontmatter YAML (name, description)
  • → Cuerpo markdown con instrucciones
  • → Templates y examples en subdirectorios
  • → Argumentos básicos ($ARGUMENTS)
⚠️ Solo Claude Code — extensiones
  • context: fork (subagente aislado)
  • !`comando` (inyección dinámica)
  • disable-model-invocation
  • allowed-tools
Comportamiento en herramientas no-Claude

Los campos de extensión son ignorados (no causan error). El skill funciona en otras herramientas, pero sin las capacidades avanzadas. Para máxima portabilidad: diseñar con el estándar base. B

Skills oficiales de empresas reales

Sentry — sentry-code-review
Analiza PRs en GitHub usando datos de error monitoring
Partner Day 1

Qué hace: Analiza y corrige automáticamente bugs detectados en GitHub Pull Requests usando los datos de error monitoring histórico de Sentry. Correlaciona el código nuevo con errores en producción — detecta bugs antes del merge.

Disponible en: Skills.sh y awesome-agent-skills.

Por qué importa: Es un skill que combina datos de una herramienta externa (Sentry) con revisión de código — sin MCP adicional, porque el skill mismo carga el contexto de Sentry via inyección dinámica.

A — Anthropic announcement Dec 2025

Block (Square) — 100+ skills internos para Goose
POS crash, feature flags, oncall, API style enforcement
3x más rápido

3 principios que publicaron:

  1. Skills por dominio de negocio, no por tecnología — POS crash investigation, feature flag management, oncall runbooks, API style enforcement. No un skill genérico de "debugging".
  2. Cada skill tiene una persona responsable — si nadie es dueño del skill, se degrada.
  3. Skills como documentación viva — tan útil para el agente como para un empleado nuevo.

Resultado medido: Sus agentes resuelven incidentes de POS 3x más rápido que sin skills.

A — Block Engineering Blog

Vercel — Skills.sh marketplace
El npm de los skills — 20K instalaciones en 6 horas
20K / 6h

Qué hicieron: Vercel creó el marketplace de facto del ecosistema de skills. Lanzado el 20 de enero 2026, alcanzó 20,000 instalaciones en las primeras 6 horas.

Por qué "el npm": Sistema de leaderboard de skills más usados, dependencias declaradas, versiones semánticas, instalación con un comando. Lo que npm hizo por Node.js, Skills.sh lo hace por los agentes.

Skills más populares (según leaderboard): daily-standup, git-summary, code-review, frontend-design (277K+ instalaciones).

A — Vercel announcement Jan 2026

7 Canales de Distribución

Los skills no se obtienen ni distribuyen por un solo canal. Existen 7 formas — cada una con sus trade-offs de velocidad, control y escala. A

Dónde viven los skills — 4 niveles de ubicación

NivelRutaAplica aPrioridad
Enterprise (managed)Admin settingsTodos los usuarios de la orgMáxima
Personal global~/.claude/skills/nombre/SKILL.mdTodos tus proyectosAlta
Proyecto.claude/skills/nombre/SKILL.mdSolo este proyectoMedia
Plugin<plugin>/skills/nombre/SKILL.mdDonde el plugin esté habilitadoNamespace separado

Regla de precedencia: Enterprise > Personal > Proyecto. Detección en vivo — agregar/editar un skill surte efecto sin reiniciar. Soporte monorepo nativo. A

Los 7 canales de distribución

Canal 1 — Local del proyecto

📁 Carpeta .claude/skills/

Crear el directorio directamente en tu proyecto. Control total, versionado con git. Solo disponible en ese proyecto.

→ Cuándo: skills del equipo (convenciones, deploy, PR templates)

Canal 2 — Personal global

🏠 ~/.claude/skills/

Disponible en TODOS tus proyectos. Reutilización sin duplicar. No se comparte automáticamente con el equipo.

→ Cuándo: productividad personal (standup, commits, notas)

Canal 3 — Marketplace oficial Anthropic

🏪 claude-plugins-official

9,000+ plugins disponibles (feb 2026). /plugin install nombre@claude-plugins-official. Actualizaciones automáticas.

→ Cuándo: funcionalidad estándar sin construirla

Canal 4 — Skills.sh (Vercel)

⭐ El npm de los skills

Marketplace de facto. 20K instalaciones en 6 horas del lanzamiento. Skills oficiales de Stripe, Sentry, Cloudflare, Figma, Atlassian, Hugging Face, Zapier.

→ Cuándo: skills de empresas conocidas, comunidad

Canal 5 — Marketplace de terceros (empresa)

🏢 Git repository privado

/plugin marketplace add mi-org/claude-plugins
/plugin marketplace add https://gitlab.com/empresa/plugins.git
/plugin marketplace add mi-org/plugins#v2.0.0

→ Cuándo: catálogo interno que no debe ser público

Canal 6 — ZIP manual

📦 Descarga directa

Descomprimir en la ruta correcta. Sin actualización automática. Funciona offline.

→ Cuándo: offline, compartido por email, descargado de sitios

Canal 7 — Projects/Cowork GUI

🖥️ Interfaz gráfica

Instalación sin terminal. Para usuarios no-developer en Claude Desktop (Cowork).

→ Cuándo: equipo no técnico que no usa terminal

Tabla comparativa de canales

CanalTerminal requeridaAuto-updateCompartir equipoOffline
Local proyectoNoNoSí (git)
Personal globalNoNoNo
Marketplace AnthropicN/ANo
Skills.sh (Vercel) ★Vía URLNo
Marketplace tercerosConfigurableNo
ZIP manualNoNoManual
Cowork GUINoVía pluginsNo

Las 7 Categorías de Skills

Cada categoría tiene formatos típicos, herramientas compatibles, y casos reales documentados de empresas que los usan en producción.

💻
1. Desarrollo / DevOps
Skills: code-review, git-summary, deploy, testing

Qué hacen: Revisiones de código, linting, deploy, testing, refactoring.

Formato: SKILL.md + scripts/ + resources/. Compatible con Claude Code, Cursor, Gemini CLI, Codex.

Caso real — Sentry

sentry-code-review analiza PRs en GitHub usando datos de error monitoring de Sentry. Detecta bugs correlacionando código nuevo con errores históricos en producción. 277K+ instalaciones en frontend-design (Anthropic oficial). A

Invocación: /review "Revisa este componente React siguiendo el checklist"

Cuándo NO: Tarea de una sola vez que no se repetirá.

2. Productividad personal
Skills: daily-standup, git-summary, commit-messages

Qué hacen: Organizar tareas, resumir días, planificar sprints personales, generar standup updates.

Formato: Solo SKILL.md.

Caso real — ingenieros de Vercel

El skill más popular en Skills.sh es daily-standup — Claude lee commits del día y tickets cerrados, genera el resumen para el standup de las 9am. Ahorro promedio documentado: 12 minutos/día por desarrollador. A

Cuándo NO: Cuando la tarea requiere acceso a herramientas externas en tiempo real — complementar con MCP.

📄
3. Generación de documentos
Skills: word, pdf, pptx, informes, memorandos

Qué hacen: Generar Word, PDF, PPTX, informes con formato consistente. Compatible con Claude Code, Cursor.

Formato: SKILL.md + templates/ + examples/.

Caso real — firmas legales

Equipos legales usan skills para generar borradores de contratos (NDA, MSA, SOW) con cláusulas estándar pre-llenadas. Claude llena los campos específicos del cliente. Reducción reportada: 60% del tiempo en borradores iniciales. B

Skill real: document-skills (Anthropic oficial)

Cuándo NO: Documento único que no sigue plantilla reutilizable.

📊
4. Negocios / estrategia
Skills: análisis de mercado, pitch decks, post-mortems

Qué hacen: Análisis de mercado, propuestas comerciales, pitch decks, reportes ejecutivos, post-mortems.

Caso real — Cloudflare

Skills internos para análisis de incidentes de seguridad. El skill carga los logs relevantes, ejecuta patrones de búsqueda y genera un reporte siguiendo el formato de post-mortem de Cloudflare. A

Cuándo NO: Cuando se necesita data en tiempo real — complementar con MCP/API.

🔒
5. Seguridad / investigación
Skills: threat modeling, CVE analysis, security audit

Qué hacen: Threat modeling, análisis de CVEs, security review, análisis de código con perspectiva de seguridad.

Caso real — Trail of Bits

La firma de ciberseguridad publicó skills para threat modeling y análisis de CVEs con estructura consistente. Sus investigadores los usan para analizar nuevos CVEs y mantener consistencia en reportes de seguridad. Disponible en awesome-agent-skills. A

🏭
6. DevOps especializado
Skills: POS crash, feature flags, oncall, API enforcement

Qué hacen: Feature flag management, oncall runbooks, crash investigation, API style enforcement.

Caso real — Block (Square)

100+ skills internos para Goose. El skill de "POS crash investigation" carga automáticamente los logs del sistema de punto de venta, identifica el patrón de fallo y genera diagnóstico estructurado siguiendo runbooks internos. Resultado: 3x más rápido en resolución de incidentes. A

🤖
7. Chatbots / conversación
Skills: flujos conversacionales, personalidades, intents

Qué hacen: Flujos conversacionales, personalidades de bot, manejo de intents, soporte técnico.

Formato: SKILL.md + .py / .ts. Compatible con Claude Code, API directa.

Cuándo NO: Cuando el chatbot necesita estado persistente complejo → usar agente full con memoria.

Patrones Avanzados y Control de Acceso

Subagentes aislados, pre-aprobación de herramientas, control granular de visibilidad, árbol de decisión, troubleshooting.

Ciclo de vida completo en contexto

1 Descubrimiento ~500 tokens (todos los skills)
2 Activación SKILL.md completo del skill
3 Ejecución resources/ por demanda
4 Compactación Re-adjunta con 25K / 5K tokens
5 Fin sesión Se descarga

Patrones avanzados

🔀
Ejecutar skill en subagente aislado
context: fork

context: fork crea una ejecución aislada. El contenido del skill se convierte en el prompt del subagente. Útil para tareas que no deben interferir con el contexto de la sesión principal — como un security audit largo. A

---
description: Security audit completo del codebase. Usar solo cuando el usuario
  pide un security audit explícito — es costoso (fork = subagente separado).
context: fork
agent: claude-opus-4
effort: max
allowed-tools: Bash, Read
---

## Instrucciones
Analiza el codebase buscando: inyección SQL, XSS, credenciales hardcodeadas...
🛠️
Pre-aprobar herramientas (allowed-tools)
Sin prompts de permiso durante el skill

allowed-tools otorga permiso para herramientas específicas mientras el skill está activo. El usuario no recibe prompts de confirmación para esas herramientas durante la ejecución del skill. A

---
description: Genera y ejecuta tests de integración para el servicio actual.
allowed-tools: Bash, Read, Write
effort: high
---

## Proceso
1. Lee los endpoints: !`cat src/routes/*.ts | grep "router\."`
2. Genera tests en tests/integration/
3. Ejecuta con: !`npm run test:integration`
4. Reporta failures
🔐
Control granular de visibilidad
Quién puede invocar, quién puede ver
ConfiguraciónUsuario invocaClaude invocaDescription en contexto
DefaultSiempre
disable-model-invocation: trueNoSolo al invocar
user-invocable: falseNoSiempre

Override desde settings.json (sin tocar el frontmatter):

"skillOverrides": {
  "mi-skill": "name-only",    ← solo nombre visible, ahorra tokens
  "otro-skill": "off",         ← completamente oculto
  "tercer-skill": "user-invocable-only"  ← oculto a Claude, en menú /
}

Árbol de decisión — ¿Necesito un skill?

¿Repites las mismas instrucciones en múltiples sesiones? ├── NO¿La sección de CLAUDE.md creció a más de 1 procedimiento? │ ├── NOPrompt directo (Nivel 0) │ └── Extraer a Skill │ └── ¿Necesitas archivos de soporte (templates, scripts)? ├── NOSkill simple (solo SKILL.md) └── Skill con directorio completo └── ¿Lo comparte tu equipo? ├── NOPersonal (~/.claude/skills/) └── ¿Es para tu organización? ├── Público → Skills.sh (Vercel marketplace) └── Privado → Marketplace privado o managed settings

Troubleshooting

ProblemaCausa probableSolución
Skill no se activa solodescription sin keywords relevantesAgregar keywords claros del dominio
Skill se activa demasiadodescription demasiado ampliaHacer más específica o disable-model-invocation: true
Description cortadaBudget de listing excedidoReducir description o usar "name-only"
Skill no aparece en /user-invocable: falseRevisar frontmatter o settings.json
Plugin no reconocidoVersión antigua de Claude CodeActualizar (requiere v1.0.33+)
Cache corruptoPlugin cache corruptorm -rf ~/.claude/plugins/cache, reiniciar
Skill funciona en Claude pero no en CursorUsa features de extensión (context: fork)Remover features no estándar para compatibilidad
Leyenda epistémica
A Verificado en docs oficiales, anuncios directos o fuentes primarias
B Sólido y ampliamente reportado, sin verificación directa en esta sesión
C Heurística de comunidad — verificar antes de decisiones críticas