TL;DR
Las Habilidades de Código de Claude son capacidades personalizadas que extienden la funcionalidad de Claude para flujos de trabajo específicos. El sistema Creador de Habilidades automatiza la creación de habilidades a través de un proceso estructurado: define el propósito de tu habilidad, redacta el archivo SKILL.md, crea casos de prueba, ejecuta evaluaciones con puntos de referencia cuantitativos y mejora iterativamente basándote en la retroalimentación.
Introducción
Usas Claude Code a diario. Te das cuenta de que repites las mismas secuencias: configurar estructuras de proyectos, ejecutar comandos de prueba específicos, formatear salidas de cierta manera. Cada vez, explicas el flujo de trabajo desde cero. ¿Y si Claude lo recordara? ¿Y si pudieras capturar ese flujo de trabajo una vez y tenerlo disponible para siempre? Eso es lo que hacen las Habilidades de Código de Claude. Son capacidades personalizadas que creas para extender la funcionalidad de Claude para tus flujos de trabajo específicos. Y con Skill Creator, el proceso es automatizado y sistemático.
Esta guía te acompaña a través de todo el proceso. Aprenderás la anatomía de una habilidad, el flujo de trabajo de creación, el sistema de evaluación y cómo optimizar para un disparo fiable. Verás ejemplos prácticos del repositorio oficial de habilidades de Anthropic.
¿Qué son las Habilidades de Código de Claude?
Las Habilidades de Código de Claude son conjuntos de instrucciones especializadas que extienden las capacidades de Claude para dominios o flujos de trabajo específicos. Piensa en ellas como plugins personalizados que residen en archivos markdown.
La Arquitectura del Sistema de Habilidades
Las habilidades utilizan un sistema de carga de tres niveles:
- Metadatos (~100 palabras) - Nombre y descripción, siempre en contexto
- Cuerpo de SKILL.md (<500 líneas) - Instrucciones principales, se carga cuando la habilidad se activa
- Recursos empaquetados (ilimitado) - Scripts, referencias, activos cargados bajo demanda
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter (name, description)
│ └── Markdown instructions
└── Bundled Resources (optional)
├── scripts/ - Executable code for repetitive tasks
├── references/ - Documentation loaded as needed
└── assets/ - Templates, icons, fonts
Cuándo se Activan las Habilidades
Las habilidades aparecen en la lista `available_skills` de Claude con su nombre y descripción. Claude decide si consultar una habilidad basándose en esa descripción.
Importante: Las habilidades solo se activan para tareas que Claude no puede manejar directamente. Consultas simples como "lee este archivo" no activarán una habilidad, incluso con una descripción coincidente. Los flujos de trabajo complejos y de varios pasos se activan de forma fiable cuando la descripción coincide.
Ejemplos del Mundo Real del Repositorio de Anthropic
| Habilidad | Propósito | Características Clave |
|---|---|---|
| skill-creator | Crear nuevas habilidades | Generación de casos de prueba, evaluación comparativa, optimización de descripciones |
| mcp-builder | Construir servidores MCP | Plantillas Python/Node, marco de evaluación, mejores prácticas |
| docx | Generar documentos Word | Scripts python-docx, sistema de plantillas, guía de estilo |
| Extraer y manipular PDF | Manejo de formularios, extracción de texto, documentos de referencia | |
| frontend-design | Construir interfaces web | Biblioteca de componentes, patrones Tailwind, comprobaciones de accesibilidad |
El Flujo de Trabajo de Creación de Habilidades
El proceso de creación de habilidades sigue un ciclo sistemático:
- Capturar la intención - ¿Qué debe hacer la habilidad?
- Escribir un borrador - Crear el archivo SKILL.md
- Crear casos de prueba - Definir indicaciones realistas
- Ejecutar evaluaciones - Ejecutar con y sin la habilidad
- Revisar resultados - Retroalimentación cualitativa + métricas cuantitativas
- Iterar - Mejorar basándose en los hallazgos
- Optimizar la descripción - Maximizar la precisión de activación
- Empaquetar - Distribuir como un archivo .skill
Recorramos cada paso.
Paso 1: Capturar la Intención
Comienza por comprender lo que quieres que la habilidad logre. Si estás capturando un flujo de trabajo que ya has estado realizando, extrae el patrón de tu historial de conversaciones.
Haz estas cuatro preguntas:
- ¿Qué debería permitir esta habilidad que Claude haga? Sé específico sobre el resultado.
- ¿Cuándo debería activarse esta habilidad? ¿Qué frases o contextos de usuario?
- ¿Cuál es el formato de salida esperado? ¿Archivos, código, informes?
- ¿Debemos configurar casos de prueba? Las habilidades con salidas verificables (generación de código, extracción de datos, transformaciones de archivos) se benefician de los casos de prueba. Las habilidades con salidas subjetivas (estilo de escritura, diseño) a menudo no los necesitan.
Ejemplo: Habilidad de Prueba de API
Intent: Help developers test REST APIs systematically
Trigger: When user mentions API testing, endpoints, REST, GraphQL, or wants to validate responses
Output: Test reports with pass/fail status, curl commands, response comparisons
Test cases: Yes - outputs are objectively verifiable
Paso 2: Escribir el Archivo SKILL.md
Cada habilidad comienza con un archivo SKILL.md que contiene metadatos YAML e instrucciones en Markdown.
Anatomía de una Habilidad
---
name: api-tester
description: How to test REST APIs systematically. Use when users mention API testing, endpoints, REST, GraphQL, or want to validate API responses. Make sure to suggest this skill whenever testing is involved.
compatibility: Requires curl or HTTP client tools
---
# API Tester Skill
## Core Workflow
When testing an API, follow these steps:
1. **Understand the endpoint** - Read the spec or ask for the schema
2. **Design test cases** - Happy path, edge cases, error conditions
3. **Execute tests** - Use curl or Apidog for requests
4. **Validate responses** - Check status codes, headers, body structure
5. **Report results** - Summarize pass/fail with evidence
## Test Case Template
For each endpoint, test:
- Valid authentication with correct payload
- Valid authentication with missing required fields
- Invalid authentication (401 expected)
- Rate limiting behavior
- Response time under load
## Output Format
Always structure reports like this:
# API Test Report
## Summary
- Tests run: X
- Passed: Y
- Failed: Z
## Failed Tests
### Test Name
**Expected:** 200 OK
**Actual:** 400 Bad Request
**Response:** {...}
## Recommendations
...
Mejores Prácticas de Escritura
Usa la revelación progresiva: Mantén SKILL.md por debajo de las 500 líneas. Mueve las referencias detalladas a archivos separados.
api-tester/
├── SKILL.md (workflow overview)
└── references/
├── authentication.md
├── rate-limiting.md
└── response-codes.md
Explica el porqué: No solo enumeres reglas. Explica por qué son importantes.
## Por qué probamos primero los casos de error
Probar las condiciones de error antes de los caminos felices detecta el 80% de los problemas más rápidamente.
Cuando la autenticación falla silenciosamente, las pruebas de camino feliz carecen de sentido.
Comienza con la comprobación 401.
Usa la forma imperativa: "Siempre valida el código de estado primero" y no "Deberías validar...".
Incluye ejemplos: Muestra la entrada y la salida esperada.
## Formato de mensaje de commit
**Ejemplo:**
Input: Added user authentication with JWT tokens
Output: feat(auth): implement JWT-based authentication
Paso 3: Crear Casos de Prueba
Después de redactar la habilidad, crea 2-3 indicaciones de prueba realistas. Son el tipo de solicitudes que un usuario real haría.
Formato de Caso de Prueba
Guarda los casos de prueba en evals/evals.json:
{
"skill_name": "api-tester",
"evals": [
{
"id": 1,
"prompt": "Test the /users endpoint on api.example.com - it needs a Bearer token and returns a list of users with id, name, email fields",
"expected_output": "Test report with at least 5 test cases including auth failure, success, and pagination tests",
"files": []
},
{
"id": 2,
"prompt": "I need to verify our new POST /orders endpoint handles invalid quantities correctly",
"expected_output": "Test cases that send negative, zero, and non-numeric quantities with appropriate error responses",
"files": ["openapi.yaml"]
}
]
}
Qué Hace una Buena Indicación de Prueba
Malo: "Prueba esta API"
Bueno: "ok, mi equipo acaba de implementar este nuevo endpoint de pagos en https://api.stripe.com/v1/charges y necesito verificar que maneje correctamente los casos límite, específicamente qué sucede cuando envías una cantidad negativa o un código de moneda que no existe. La documentación dice que debería devolver 400 pero quiero ver los mensajes de error reales"
La buena indicación de prueba incluye:
- URL específica
- Escenario concreto
- Comportamiento esperado
- Contexto del mundo real
Comparte tus casos de prueba con el usuario antes de ejecutar: "Aquí hay algunos escenarios de prueba que me gustaría intentar. ¿Te parecen correctos, o quieres añadir más?"
Paso 4: Ejecutar Evaluaciones
Aquí es donde Skill Creator brilla. Ejecutarás cada caso de prueba dos veces: una con la habilidad, otra sin ella (o con la versión antigua si mejoras una habilidad existente).
Estructura del Espacio de Trabajo
Los resultados van en <skill-name>-workspace/ como un elemento hermano del directorio de la habilidad:
api-tester-workspace/
├── iteration-1/
│ ├── eval-0-auth-failure/
│ │ ├── with_skill/
│ │ │ ├── outputs/
│ │ │ └── timing.json
│ │ ├── without_skill/
│ │ │ ├── outputs/
│ │ │ └── timing.json
│ │ └── eval_metadata.json
│ ├── eval-1-pagination/
│ │ └── ...
│ ├── benchmark.json
│ └── benchmark.md
├── iteration-2/
└── feedback.json
Lanzar Ejecuciones Paralelas
Para cada caso de prueba, genera dos subagentes en la misma ronda:
Ejecución con habilidad:
Execute this task:
- Skill path: /path/to/api-tester
- Task: Test the /users endpoint on api.example.com
- Input files: none
- Save outputs to: api-tester-workspace/iteration-1/eval-0/with_skill/outputs/
Ejecución de referencia:
Execute this task:
- Skill path: (none)
- Task: Test the /users endpoint on api.example.com
- Input files: none
- Save outputs to: api-tester-workspace/iteration-1/eval-0/without_skill/outputs/
Capturar Datos de Tiempo
Cuando cada subagente completa, recibes total_tokens y duration_ms. Guarda inmediatamente en timing.json:
{
"total_tokens": 84852,
"duration_ms": 23332,
"total_duration_seconds": 23.3
}
Estos datos solo llegan a través de la notificación de tarea. Procesa cada uno a medida que llega.
Paso 5: Redactar Afirmaciones Mientras las Ejecuciones se Completan
No esperes a que las ejecuciones terminen. Usa ese tiempo productivamente redactando afirmaciones cuantitativas.
Qué Hace una Buena Afirmación
Las buenas afirmaciones son:
- Verificables objetivamente - Aprobado/fallido es inequívoco
- Nombradas descriptivamente - Claro lo que se está verificando
- Reutilizables - Funciona en todas las iteraciones
Ejemplos de afirmaciones para la habilidad de prueba de API:
{
"assertions": [
{
"name": "includes_auth_failure_test",
"description": "Test report includes at least one authentication failure test case",
"type": "contains",
"value": "401"
},
{
"name": "includes_success_test",
"description": "Test report includes at least one successful request test",
"type": "contains",
"value": "200"
},
{
"name": "includes_curl_commands",
"description": "Each test case includes executable curl commands",
"type": "regex",
"value": "curl -"
},
{
"name": "includes_response_validation",
"description": "Report validates response structure against schema",
"type": "contains",
"value": "schema"
}
]
}
Actualiza eval_metadata.json y evals/evals.json con las afirmaciones una vez redactadas.
Paso 6: Calificar y Agregar
Una vez que todas las ejecuciones se completan:
Calificar Cada Ejecución
Genera un subagente calificador que lea agents/grader.md y evalúe cada afirmación contra las salidas. Guarda los resultados en grading.json en cada directorio de ejecución:
{
"eval_id": 0,
"grading": [
{
"text": "includes_auth_failure_test",
"passed": true,
"evidence": "Found 401 status code in test case 3"
},
{
"text": "includes_curl_commands",
"passed": true,
"evidence": "Found 'curl -X POST' in test case 1"
}
]
}
Importante: El array de expectativas de grading.json debe usar los nombres de campo text, passed y evidence. El visor depende de estos nombres exactos.
Agregar en un Punto de Referencia
Ejecuta el script de agregación desde el directorio skill-creator:
python -m scripts.aggregate_benchmark api-tester-workspace/iteration-1 --skill-name api-tester
Esto produce benchmark.json y benchmark.md con la tasa de aprobación, tiempo y tokens para cada configuración, incluyendo la media ± desviación estándar y el delta.
Realizar un Pase de Análisis
Lee los datos del benchmark y detecta patrones:
- Afirmaciones no discriminatorias - Siempre pasan independientemente de la habilidad (no útiles)
- Evaluaciones de alta varianza - Posiblemente inestables, necesitan investigación
- Compensaciones de tiempo/token - ¿Mejora la habilidad la calidad a un costo razonable?
Consulta agents/analyzer.md para obtener orientación detallada.
Paso 7: Lanzar el Visor de Evaluación
El visor de evaluación muestra tanto las salidas cualitativas como las métricas cuantitativas en una interfaz de navegador.
Generar el Visor
nohup python /path/to/skill-creator/eval-viewer/generate_review.py \
api-tester-workspace/iteration-1 \
--skill-name "api-tester" \
--benchmark api-tester-workspace/iteration-1/benchmark.json \
> /dev/null 2>&1 &
VIEWER_PID=$!
Para la iteración 2+, también pasa --previous-workspace:
--previous-workspace api-tester-workspace/iteration-1
Lo que Ve el Usuario
La pestaña Salidas muestra un caso de prueba a la vez:
- Indicación (Prompt) - La tarea dada
- Salida - Archivos producidos, renderizados en línea
- Salida Anterior (iteración 2+) - Sección colapsada con la salida de la última iteración
- Calificaciones Formales - Aprobación/falla de afirmación colapsada
- Retroalimentación - Cuadro de texto que se guarda automáticamente a medida que se escribe
- Retroalimentación Anterior (iteración 2+) - Comentarios de la última iteración
La pestaña Benchmark muestra:
- Tasas de aprobación para cada configuración
- Comparaciones de tiempo
- Uso de tokens
- Desgloses por evaluación
- Observaciones del analista
Dile al usuario: "He abierto los resultados en tu navegador. Hay dos pestañas: 'Outputs' te permite hacer clic en cada caso de prueba y dejar comentarios, 'Benchmark' muestra la comparación cuantitativa. Cuando termines, vuelve aquí y házmelo saber."
Entornos de Trabajo Colaborativo / Sin Cabecera
Si webbrowser.open() no está disponible, usa --static para escribir un archivo HTML independiente:
--static /path/to/output/review.html
La retroalimentación se descarga como feedback.json cuando el usuario hace clic en "Enviar Todas las Revisiones".
Paso 8: Leer la Retroalimentación e Iterar
Cuando el usuario termina, lee feedback.json:
{
"reviews": [
{
"run_id": "eval-0-with_skill",
"feedback": "the chart is missing axis labels",
"timestamp": "2026-03-23T10:30:00Z"
},
{
"run_id": "eval-1-with_skill",
"feedback": "",
"timestamp": "2026-03-23T10:31:00Z"
},
{
"run_id": "eval-2-with_skill",
"feedback": "perfect, love this",
"timestamp": "2026-03-23T10:32:00Z"
}
],
"status": "complete"
}
La retroalimentación vacía significa que el usuario lo consideró aceptable. Enfoca las mejoras en los casos de prueba con quejas específicas.
Cómo Pensar en las Mejoras
Generalizar a partir de la retroalimentación: Estás creando habilidades utilizadas miles de veces en muchas indicaciones. No te ajustes demasiado a casos de prueba específicos. Si hay un problema persistente, prueba diferentes metáforas o patrones en lugar de declaraciones restrictivas de "DEBE".
Mantén la indicación concisa: Elimina lo que no aporta valor. Lee las transcripciones, no solo las salidas finales. Si la habilidad hace que el modelo pierda tiempo en pasos improductivos, elimina esas partes.
Explica el porqué: Los LLM tienen una buena teoría de la mente. Cuando se les da un buen arnés, van más allá de las instrucciones de memoria. Explica por qué cada requisito es importante. Si te encuentras escribiendo SIEMPRE o NUNCA en mayúsculas, reformula y explica el razonamiento en su lugar.
Busca trabajo repetido: ¿Todas las pruebas escribieron scripts auxiliares similares de forma independiente? Esa es una señal de que la habilidad debería empaquetar ese script. Escríbelo una vez, ponlo en scripts/ y dile a la habilidad que lo use.
El Bucle de Iteración
- Aplica mejoras a la habilidad
- Vuelve a ejecutar todos los casos de prueba en
iteration-<N+1>/con ejecuciones de referencia - Lanza el visor con
--previous-workspaceapuntando a la iteración anterior - Espera la revisión del usuario
- Lee la nueva retroalimentación, mejora de nuevo, repite
Continúa hasta que:
- El usuario diga que está satisfecho
- Toda la retroalimentación esté vacía (todo parece bien)
- No estés logrando un progreso significativo
Mata el visor cuando termines:
kill $VIEWER_PID 2>/dev/null
Paso 9: Optimizar la Descripción de la Habilidad
El campo de descripción en el frontmatter de SKILL.md es el mecanismo principal de activación. Después de crear o mejorar una habilidad, optimízala para una mayor precisión de activación.
Generar Consultas de Evaluación de Activación
Crea 20 consultas de evaluación: una mezcla de las que deberían activarse y las que no:
[
{
"query": "ok so my boss just sent me this xlsx file (its in my downloads, called something like 'Q4 sales final FINAL v2.xlsx') and she wants me to add a column that shows the profit margin as a percentage. The revenue is in column C and costs are in column D i think",
"should_trigger": true
},
{
"query": "I need to create a pivot table from this CSV and email it to the team",
"should_trigger": false
}
]
Para consultas que deberían activarse (8-10):
- Diferentes formulaciones de la misma intención
- Lenguaje formal e informal
- Casos en los que los usuarios no nombran explícitamente la habilidad pero claramente la necesitan
- Casos límite y casos de uso poco comunes
Para consultas que NO deberían activarse (8-10):
- Coincidencias cercanas que comparten palabras clave pero necesitan algo diferente
- Dominios adyacentes donde otra herramienta es más apropiada
- Frases ambiguas donde una coincidencia de palabras clave ingenua activaría incorrectamente
Malas pruebas negativas: "Escribe una función de Fibonacci" como prueba negativa para una habilidad de PDF es demasiado fácil. Los casos negativos deberían ser realmente difíciles.
Revisar con el Usuario
Presenta el conjunto de evaluación utilizando la plantilla HTML:
- Lee
assets/eval_review.html - Reemplaza los marcadores de posición con los datos de evaluación, el nombre de la habilidad y la descripción
- Escribe en un archivo temporal y abre:
open /tmp/eval_review_api-tester.html - El usuario puede editar consultas, alternar si debe activarse, añadir/eliminar entradas
- El usuario hace clic en "Exportar Conjunto de Evaluación"
- El archivo se descarga en
~/Downloads/eval_set.json
Este paso es importante. Las malas consultas de evaluación conducen a malas descripciones.
Ejecutar el Bucle de Optimización
python -m scripts.run_loop \
--eval-set /path/to/trigger-eval.json \
--skill-path /path/to/api-tester \
--model claude-sonnet-4-6 \
--max-iterations 5 \
--verbose
Usa el ID del modelo que impulsa tu sesión actual para que las pruebas de activación coincidan con lo que experimentan los usuarios.
El script:
- Divide el conjunto de evaluación en un 60% para entrenamiento, 40% para pruebas retenidas
- Evalúa la descripción actual (3 ejecuciones cada una para fiabilidad)
- Llama a Claude para proponer mejoras basadas en los fallos
- Vuelve a evaluar en el conjunto de entrenamiento y prueba
- Itera hasta 5 veces
- Devuelve la
best_descriptionseleccionada por la puntuación de prueba (no la puntuación de entrenamiento para evitar el sobreajuste)
Aplicar el Resultado
Toma la `best_description` de la salida JSON y actualiza el frontmatter de SKILL.md de la habilidad. Muestra al usuario el antes/después con las puntuaciones.
Antes:
description: How to test REST APIs systematically
Después:
description: How to test REST APIs systematically. Use when users mention API testing, endpoints, REST, GraphQL, or want to validate API responses. Make sure to suggest this skill whenever testing is involved, even if they don't explicitly mention 'testing'.
Paso 10: Empaquetar y Distribuir
Una vez que la habilidad esté completa, empaquétala para su distribución:
python -m scripts.package_skill /path/to/api-tester
Esto crea un archivo .skill que los usuarios pueden instalar. Dirige a los usuarios a la ruta del archivo resultante.
Instalación
Los usuarios instalan habilidades colocando el archivo .skill en su directorio de habilidades o usando el comando de instalación de habilidades de Claude Code.
Errores Comunes en la Creación de Habilidades
Error 1: Descripción Vaga
Malo:
description: A skill for working with APIs
Bueno:
description: How to test REST APIs systematically. Use when users mention API testing, endpoints, REST, GraphQL, or want to validate API responses. Make sure to suggest this skill whenever testing is involved, even if they don't explicitly mention 'testing'.
Error 2: Instrucciones Demasiado Restrictivas
Malo:
ALWAYS use this exact format. NEVER deviate. MUST include these sections.
Bueno:
Use this format because it ensures stakeholders can quickly find the information they need. If your audience has different needs, adapt the structure accordingly.
Error 3: Omitir Casos de Prueba
Los casos de prueba detectan problemas antes de que los usuarios los encuentren. Incluso para habilidades subjetivas, ejecuta 2-3 ejemplos para verificar la calidad de la salida.
Error 4: Ignorar los Datos de Tiempo
Las habilidades que tardan 10 veces más no son sostenibles. Captura los datos de tiempo y optimiza la eficiencia junto con la calidad.
Error 5: No Agrupar Scripts Repetidos
Si cada ejecución de prueba escribe independientemente un generate_report.py, agrúpalo en la habilidad. Ahorra tiempo y garantiza la coherencia.
Ejemplos de Habilidades del Mundo Real
Habilidad de Construcción de MCP
Creada por Anthropic para construir servidores MCP (Model Context Protocol).
Características clave:
- Plantillas Python y Node.js
- Marco de evaluación para servidores MCP
- Documentos de referencia de mejores prácticas
Estructura:
mcp-builder/
├── SKILL.md
├── reference/
│ ├── mcp_best_practices.md
│ ├── python_mcp_server.md
│ └── node_mcp_server.md
└── evaluation/
└── evaluation.md
Habilidad Docx
Genera documentos de Word programáticamente.
Características clave:
- Scripts python-docx empaquetados
- Sistema de plantillas para documentos comunes
- Guía de estilo para un formato consistente
Flujo de trabajo:
- Comprender los requisitos del documento
- Seleccionar o crear plantilla
- Generar a través de un script python-docx
- Validar la estructura de salida
Habilidad de Diseño Frontend
Construye interfaces web con patrones modernos.
Características clave:
- Biblioteca de componentes
- Patrones Tailwind CSS
- Comprobaciones de accesibilidad
Divulgación progresiva: Flujo de trabajo principal en SKILL.md, documentación de componentes en references/.
Probando Tu Habilidad con Apidog
Si estás construyendo habilidades relacionadas con API, Apidog se integra de forma natural en el flujo de trabajo.

Ejemplo: Integración de Habilidades de Prueba de API
## Ejecución de Pruebas de API
Usa Apidog para pruebas sistemáticas:
1. Importa la especificación OpenAPI en Apidog
2. Genera casos de prueba a partir de la especificación
3. Ejecuta pruebas y exporta los resultados como JSON
4. Valida las respuestas contra los esquemas esperados
Para afirmaciones personalizadas, utiliza la función de scripting de Apidog.
Agrupar Scripts de Apidog
api-tester/
├── SKILL.md
└── scripts/
├── run-apidog-tests.py
└── generate-report.py
Esto evita que cada futura invocación tenga que reinventar la rueda.
Conclusión
Las Habilidades de Código de Claude extienden las capacidades de Claude para tus flujos de trabajo específicos. El sistema Creador de Habilidades proporciona un proceso sistemático:
- Capturar la intención - Define lo que la habilidad debe hacer
- Redactar SKILL.md - Escribe instrucciones claras con ejemplos
- Crear casos de prueba - Indicaciones realistas que los usuarios realmente harían
- Ejecutar evaluaciones - Ejecución paralela con y sin la habilidad
- Revisar resultados - Retroalimentación cualitativa + puntos de referencia cuantitativos
- Iterar - Mejorar basándose en los hallazgos
- Optimizar la descripción - Maximizar la precisión de activación
- Empaquetar - Distribuir como archivo .skill
Preguntas Frecuentes
¿Cuánto tiempo lleva crear una habilidad?
Las habilidades simples toman de 15 a 30 minutos. Las habilidades complejas con múltiples archivos de referencia y scripts empaquetados pueden tomar de 2 a 3 horas, incluyendo las iteraciones de evaluación.
¿Necesito escribir casos de prueba para cada habilidad?
No. Las habilidades con salidas objetivamente verificables (generación de código, transformaciones de archivos, extracción de datos) se benefician de los casos de prueba. Las habilidades con salidas subjetivas (estilo de escritura, calidad de diseño) se evalúan mejor de forma cualitativa.
¿Qué pasa si mi habilidad no se activa de forma fiable?
Optimiza el campo de descripción. Incluye frases y contextos específicos para el disparo. Hazlo un poco "insistente" (pushy): indica explícitamente cuándo usar la habilidad. Ejecuta el bucle de optimización de la descripción con 20 consultas de evaluación.
¿Cómo comparto habilidades con mi equipo?
Empaqueta la habilidad con python -m scripts.package_skill <path>, luego distribuye el archivo .skill. Los miembros del equipo lo colocan en su directorio de habilidades.
¿Pueden las habilidades llamar a APIs externas?
Sí. Agrupa scripts que realizan llamadas a API. Las instrucciones de la habilidad le dicen a Claude cuándo y cómo usarlos. Almacena las claves API en variables de entorno, no en la propia habilidad.
¿Cuál es el límite de tamaño de archivo para las habilidades?
No hay un límite estricto, pero mantén SKILL.md por debajo de las 500 líneas. Mueve las referencias detalladas a archivos separados. Los scripts y activos no cuentan para el límite de líneas ya que se cargan bajo demanda.
¿Cómo actualizo una habilidad existente?
Copia la habilidad instalada a una ubicación con permisos de escritura, edítala allí y vuelve a empaquetar. Conserva el nombre original; no añadas sufijos de versión a menos que estés creando una variante distinta.
