Esta guía te muestra cómo crear, usar y gestionar Agent Skills en Claude Code. Los Skills son capacidades modulares que extienden la funcionalidad de Claude a través de carpetas organizadas que contienen instrucciones, scripts y recursos.
Requisitos previos
- Claude Code versión 1.0 o posterior
- Familiaridad básica con Claude Code
¿Qué son los Agent Skills?
Los Agent Skills empaquetan experiencia en capacidades detectables. Cada Skill consiste en un archivo SKILL.md con instrucciones que Claude lee cuando es relevante, más archivos de apoyo opcionales como scripts y plantillas.
Cómo se invocan los Skills: Los Skills son invocados por el modelo—Claude decide autónomamente cuándo usarlos según tu solicitud y la descripción del Skill. Esto es diferente de los comandos de barra diagonal, que son invocados por el usuario (escribes explícitamente /comando para activarlos).
Beneficios:
- Extiende las capacidades de Claude para tus flujos de trabajo específicos
- Comparte experiencia en tu equipo a través de git
- Reduce la solicitud repetitiva
- Compone múltiples Skills para tareas complejas
Obtén más información en la descripción general de Agent Skills.
Crear un Skill
Los Skills se almacenan como directorios que contienen un archivo SKILL.md.
Personal Skills
Los Personal Skills están disponibles en todos tus proyectos. Almacénalos en ~/.claude/skills/:
mkdir -p ~/.claude/skills/my-skill-name
Usa Personal Skills para:
- Tus flujos de trabajo individuales y preferencias
- Skills experimentales que estás desarrollando
- Herramientas de productividad personal
Project Skills
Los Project Skills se comparten con tu equipo. Almacénalos en .claude/skills/ dentro de tu proyecto:
mkdir -p .claude/skills/my-skill-name
Usa Project Skills para:
- Flujos de trabajo y convenciones del equipo
- Experiencia específica del proyecto
- Utilidades y scripts compartidos
Los Project Skills se registran en git y están automáticamente disponibles para los miembros del equipo.
Plugin Skills
Los Skills también pueden provenir de plugins de Claude Code. Los plugins pueden agrupar Skills que están automáticamente disponibles cuando se instala el plugin. Estos Skills funcionan de la misma manera que los Personal Skills y Project Skills.
Escribir SKILL.md
Crea un archivo SKILL.md con frontmatter YAML y contenido Markdown:
---
name: your-skill-name
description: Brief description of what this Skill does and when to use it
---
# Your Skill Name
## Instructions
Provide clear, step-by-step guidance for Claude.
## Examples
Show concrete examples of using this Skill.
Requisitos de campo:
name: Debe usar solo letras minúsculas, números y guiones (máximo 64 caracteres)
description: Breve descripción de qué hace el Skill y cuándo usarlo (máximo 1024 caracteres)
El campo description es crítico para que Claude descubra cuándo usar tu Skill. Debe incluir tanto qué hace el Skill como cuándo Claude debe usarlo.
Consulta la guía de mejores prácticas para obtener orientación completa sobre autoría, incluidas reglas de validación.
Agregar archivos de apoyo
Crea archivos adicionales junto a SKILL.md:
my-skill/
├── SKILL.md (required)
├── reference.md (optional documentation)
├── examples.md (optional examples)
├── scripts/
│ └── helper.py (optional utility)
└── templates/
└── template.txt (optional template)
Haz referencia a estos archivos desde SKILL.md:
For advanced usage, see [reference.md](reference.md).
Run the helper script:
```bash
python scripts/helper.py input.txt
```
Claude lee estos archivos solo cuando es necesario, utilizando divulgación progresiva para gestionar el contexto de manera eficiente.
Usa el campo frontmatter allowed-tools para limitar qué herramientas puede usar Claude cuando un Skill está activo:
---
name: safe-file-reader
description: Read files without making changes. Use when you need read-only file access.
allowed-tools: Read, Grep, Glob
---
# Safe File Reader
This Skill provides read-only file access.
## Instructions
1. Use Read to view file contents
2. Use Grep to search within files
3. Use Glob to find files by pattern
Cuando este Skill está activo, Claude solo puede usar las herramientas especificadas (Read, Grep, Glob) sin necesidad de pedir permiso. Esto es útil para:
- Skills de solo lectura que no deben modificar archivos
- Skills con alcance limitado (por ejemplo, solo análisis de datos, sin escritura de archivos)
- Flujos de trabajo sensibles a la seguridad donde deseas restringir capacidades
Si allowed-tools no se especifica, Claude pedirá permiso para usar herramientas como es normal, siguiendo el modelo de permiso estándar.
allowed-tools solo es compatible con Skills en Claude Code.
Ver Skills disponibles
Los Skills son descubiertos automáticamente por Claude desde tres fuentes:
- Personal Skills:
~/.claude/skills/
- Project Skills:
.claude/skills/
- Plugin Skills: agrupados con plugins instalados
Para ver todos los Skills disponibles, pregunta a Claude directamente:
What Skills are available?
o
List all available Skills
Esto mostrará todos los Skills de todas las fuentes, incluidos los Plugin Skills.
Para inspeccionar un Skill específico, también puedes verificar el sistema de archivos:
# List personal Skills
ls ~/.claude/skills/
# List project Skills (if in a project directory)
ls .claude/skills/
# View a specific Skill's content
cat ~/.claude/skills/my-skill/SKILL.md
Probar un Skill
Después de crear un Skill, pruébalo haciendo preguntas que coincidan con tu descripción.
Ejemplo: Si tu descripción menciona “archivos PDF”:
Can you help me extract text from this PDF?
Claude decide autónomamente usar tu Skill si coincide con la solicitud—no necesitas invocarlo explícitamente. El Skill se activa automáticamente según el contexto de tu pregunta.
Depurar un Skill
Si Claude no usa tu Skill, verifica estos problemas comunes:
Hacer la descripción específica
Demasiado vago:
description: Helps with documents
Específico:
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
Incluye tanto qué hace el Skill como cuándo usarlo en la descripción.
Verificar la ruta del archivo
Personal Skills: ~/.claude/skills/skill-name/SKILL.md
Project Skills: .claude/skills/skill-name/SKILL.md
Verifica que el archivo existe:
# Personal
ls ~/.claude/skills/my-skill/SKILL.md
# Project
ls .claude/skills/my-skill/SKILL.md
Verificar la sintaxis YAML
YAML inválido impide que el Skill se cargue. Verifica el frontmatter:
cat SKILL.md | head -n 10
Asegúrate de:
- Apertura
--- en la línea 1
- Cierre
--- antes del contenido Markdown
- Sintaxis YAML válida (sin tabulaciones, indentación correcta)
Ver errores
Ejecuta Claude Code con modo de depuración para ver errores de carga de Skill:
Compartir Skills con tu equipo
Enfoque recomendado: Distribuye Skills a través de plugins.
Para compartir Skills a través de plugin:
- Crea un plugin con Skills en el directorio
skills/
- Agrega el plugin a un marketplace
- Los miembros del equipo instalan el plugin
Para obtener instrucciones completas, consulta Agregar Skills a tu plugin.
También puedes compartir Skills directamente a través de repositorios de proyectos:
Paso 1: Agregar Skill a tu proyecto
Crea un Project Skill:
mkdir -p .claude/skills/team-skill
# Create SKILL.md
Paso 2: Confirmar en git
git add .claude/skills/
git commit -m "Add team Skill for PDF processing"
git push
Paso 3: Los miembros del equipo obtienen Skills automáticamente
Cuando los miembros del equipo extraen los últimos cambios, los Skills están inmediatamente disponibles:
git pull
claude # Skills are now available
Actualizar un Skill
Edita SKILL.md directamente:
# Personal Skill
code ~/.claude/skills/my-skill/SKILL.md
# Project Skill
code .claude/skills/my-skill/SKILL.md
Los cambios surten efecto la próxima vez que inicies Claude Code. Si Claude Code ya está ejecutándose, reinícialo para cargar las actualizaciones.
Eliminar un Skill
Elimina el directorio del Skill:
# Personal
rm -rf ~/.claude/skills/my-skill
# Project
rm -rf .claude/skills/my-skill
git commit -m "Remove unused Skill"
Mejores prácticas
Mantener Skills enfocados
Un Skill debe abordar una capacidad:
Enfocado:
- “PDF form filling”
- “Excel data analysis”
- “Git commit messages”
Demasiado amplio:
- “Document processing” (dividir en Skills separados)
- “Data tools” (dividir por tipo de datos u operación)
Escribir descripciones claras
Ayuda a Claude a descubrir cuándo usar Skills incluyendo disparadores específicos en tu descripción:
Claro:
description: Analyze Excel spreadsheets, create pivot tables, and generate charts. Use when working with Excel files, spreadsheets, or analyzing tabular data in .xlsx format.
Vago:
Probar con tu equipo
Haz que los compañeros de equipo usen Skills y proporcionen retroalimentación:
- ¿Se activa el Skill cuando se espera?
- ¿Son claras las instrucciones?
- ¿Hay ejemplos o casos extremos faltantes?
Documentar versiones de Skill
Puedes documentar versiones de Skill en tu contenido SKILL.md para rastrear cambios a lo largo del tiempo. Agrega una sección de historial de versiones:
# My Skill
## Version History
- v2.0.0 (2025-10-01): Breaking changes to API
- v1.1.0 (2025-09-15): Added new features
- v1.0.0 (2025-09-01): Initial release
Esto ayuda a los miembros del equipo a entender qué cambió entre versiones.
Solución de problemas
Claude no usa mi Skill
Síntoma: Haces una pregunta relevante pero Claude no usa tu Skill.
Verificar: ¿Es la descripción lo suficientemente específica?
Las descripciones vagas dificultan el descubrimiento. Incluye tanto qué hace el Skill como cuándo usarlo, con términos clave que los usuarios mencionarían.
Demasiado genérico:
description: Helps with data
Específico:
description: Analyze Excel spreadsheets, generate pivot tables, create charts. Use when working with Excel files, spreadsheets, or .xlsx files.
Verificar: ¿Es el YAML válido?
Ejecuta validación para verificar errores de sintaxis:
# View frontmatter
cat .claude/skills/my-skill/SKILL.md | head -n 15
# Check for common issues
# - Missing opening or closing ---
# - Tabs instead of spaces
# - Unquoted strings with special characters
Verificar: ¿Está el Skill en la ubicación correcta?
# Personal Skills
ls ~/.claude/skills/*/SKILL.md
# Project Skills
ls .claude/skills/*/SKILL.md
Skill tiene errores
Síntoma: El Skill se carga pero no funciona correctamente.
Verificar: ¿Están disponibles las dependencias?
Claude instalará automáticamente las dependencias requeridas (o pedirá permiso para instalarlas) cuando las necesite.
Verificar: ¿Tienen los scripts permisos de ejecución?
chmod +x .claude/skills/my-skill/scripts/*.py
Verificar: ¿Son correctas las rutas de archivo?
Usa barras diagonales (estilo Unix) en todas las rutas:
Correcto: scripts/helper.py
Incorrecto: scripts\helper.py (estilo Windows)
Múltiples Skills en conflicto
Síntoma: Claude usa el Skill incorrecto o parece confundido entre Skills similares.
Sé específico en descripciones: Ayuda a Claude a elegir el Skill correcto usando términos de disparo distintos en tus descripciones.
En lugar de:
# Skill 1
description: For data analysis
# Skill 2
description: For analyzing data
Usa:
# Skill 1
description: Analyze sales data in Excel files and CRM exports. Use for sales reports, pipeline analysis, and revenue tracking.
# Skill 2
description: Analyze log files and system metrics data. Use for performance monitoring, debugging, and system diagnostics.
Ejemplos
Skill simple (archivo único)
commit-helper/
└── SKILL.md
---
name: generating-commit-messages
description: Generates clear commit messages from git diffs. Use when writing commit messages or reviewing staged changes.
---
# Generating Commit Messages
## Instructions
1. Run `git diff --staged` to see changes
2. I'll suggest a commit message with:
- Summary under 50 characters
- Detailed description
- Affected components
## Best practices
- Use present tense
- Explain what and why, not how
Skill con permisos de herramientas
code-reviewer/
└── SKILL.md
---
name: code-reviewer
description: Review code for best practices and potential issues. Use when reviewing code, checking PRs, or analyzing code quality.
allowed-tools: Read, Grep, Glob
---
# Code Reviewer
## Review checklist
1. Code organization and structure
2. Error handling
3. Performance considerations
4. Security concerns
5. Test coverage
## Instructions
1. Read the target files using Read tool
2. Search for patterns using Grep
3. Find related files using Glob
4. Provide detailed feedback on code quality
Skill multi-archivo
pdf-processing/
├── SKILL.md
├── FORMS.md
├── REFERENCE.md
└── scripts/
├── fill_form.py
└── validate.py
SKILL.md:
---
name: pdf-processing
description: Extract text, fill forms, merge PDFs. Use when working with PDF files, forms, or document extraction. Requires pypdf and pdfplumber packages.
---
# PDF Processing
## Quick start
Extract text:
```python
import pdfplumber
with pdfplumber.open("doc.pdf") as pdf:
text = pdf.pages[0].extract_text()
```
For form filling, see [FORMS.md](FORMS.md).
For detailed API reference, see [REFERENCE.md](REFERENCE.md).
## Requirements
Packages must be installed in your environment:
```bash
pip install pypdf pdfplumber
```
Lista los paquetes requeridos en la descripción. Los paquetes deben estar instalados en tu entorno antes de que Claude pueda usarlos.
Claude carga archivos adicionales solo cuando es necesario.
Próximos pasos