Saltar al contenido principal
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.
Para un análisis profundo de la arquitectura y aplicaciones del mundo real de Agent Skills, lee nuestro blog de ingeniería: Equipping agents for the real world with 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.

Restringir el acceso a herramientas con allowed-tools

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:
claude --debug

Compartir Skills con tu equipo

Enfoque recomendado: Distribuye Skills a través de plugins. Para compartir Skills a través de plugin:
  1. Crea un plugin con Skills en el directorio skills/
  2. Agrega el plugin a un marketplace
  3. 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:
description: For files

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