El 'skill-creator' es un conjunto de herramientas diseñado para facilitar la creación, mejora y evaluación de habilidades para modelos de lenguaje. Se organiza en tres capas principales:
- Núcleo (SKILL.md): La directriz principal que detalla el proceso y las reglas para que la IA cree habilidades.
- Sistema de Evaluación: Conjunto de herramientas para probar y medir la calidad de las habilidades, incluyendo análisis de rendimiento y comparaciones.
- Scripts de Utilidad: Herramientas para automatizar tareas como validación, empaquetado, ejecución de evaluaciones e informes.
Creación de Habilidades con SKILL.md
El archivo central para definir una habilidad es SKILL.md. Este archivo, ubicado dentro de un directorio de habilidad, contiene metadatos y las instrucciones principales que guían a la IA.
Estructura de SKILL.md
Un archivo SKILL.md típico sigue este formato:
---
name: nombre-de-la-habilidad
description: Descripción detallada de cuándo y cómo usar la habilidad.
---
# Título de la Habilidad
## Resumen
Una explicación concisa de lo que hace la habilidad y por qué es necesaria.
## Flujo de Trabajo
Detalles paso a paso de cómo la habilidad debe ejecutarse.
### Paso 1: ...
### Paso 2: ...
## Formato de Salida
Definición de la estructura esperada de la salida, incluyendo plantillas o ejemplos.
## Consideraciones
Notas sobre casos límite, restricciones o advertencias.
Metadatos Esenciales (YAML Front Matter)
- name: Un identificador único en minúsculas y guiones (ej.
data-analysis). - description: El campo más crítico. Determina cuándo se activará la habilidad. Debe incluir qué hace la habilidad y los escenarios de uso específicos. Se recomienda una descripción proactiva para contrarrestar la tendencia de la IA a la "sub-activación". Por ejemplo, en lugar de "Analizar informes de datos", usar "Generación de informes y análisis de datos. Activar siempre que el usuario mencione 'análisis de datos', 'informes', 'tandencias' o 'métricas anómalas', incluso si no piden explícitamente 'generar enforme'."
Escribiendo el Cuerpo de la Habilidad
- Instrucciones Imperativas: Utilice un lenguaje directo y de comando (ej. "Genera un informe" en lugar de "Deberías generar un informe").
- Explicación del Razonamiento: En lugar de reglas estrictas, explique por qué se deben seguir ciertas instrucciones. Esto ayuda a la IA a comprender el contexto y a generalizar mejor.
- Ejemplos Claros: Incluya ejemplos concretos de entrada y salida esperada.
- Generalización: Evite que la habilidad sea demasiado específica para casos de uso limitados.
- Longitud: Mantenga el cuerpo principal de
SKILL.mdidealmente por debajo de 500 líneas. Para contenido más extenso, use archivos de referencia en subdirectorios comoreferences/.
Estructura del Directorio de Habilidades
nombre-de-la-habilidad/
├── SKILL.md # Archivo principal de la habilidad
├── scripts/ # Scripts ejecutables opcionales para tareas deterministas
├── references/ # Documentación cargada bajo demanda
└── assets/ # Archivos como plantillas o íconos utilizados en la salida
Proceso de Creación y Evaluación
1. Definir Requisitos
Antes de escribir, aclare:
- ¿Qué objetivo debe cumplir la habilidad?
- ¿Cuándo debe activarse? (¿Qué frases usará el usuario?)
- ¿Cuál es el formato de salida esperado?
- ¿Existen casos límite o requisitos especiales?
2. Escribir el Borrador de SKILL.md
Redacte el archivo SKILL.md basándose en los requisitos definidos. Revíselo y mejórelo.
3. Validación (Opcional)
Verifique la estructura de SKILL.md:
- YAML front matter correctamente delimitado por
---. - Campos
nameydescriptionpresentes y con contenido. - Estructura clara del cuerpo con encabezados.
4. Pruebas y Refinamiento
Cree 2-3 prompts de ejemplo realistas que un usuario podría proporcionar. Ejecute la habilidad con estos prompts y evalúe la salida. Itere modificando SKILL.md hasta que los resultados sean satisfactorios.
5. Empaquetado
Comprima el directorio de la habilidad en un arrchivo ZIP y cambie la extensión a .skill.
zip -r mi-habilidad.skill mi-habilidad/
Herramientas de Evaluación y Optimización
El conjunto de herramientas skill-creator incluye utilidades para una evaluación exhaustiva:
- Ejecución de Evaluaciones: Scripts como
run_eval.pyyrun_loop.pypara ejecutar pruebas y automatizar ciclos de mejora. - Sistema de Puntuación: Agentes (
agents/grader.md) para evaluar las salidas de las pruebas según criterios definidos (aserciones). - Comparación Ciega: Agentes (
agents/comparator.md) para comparar dos versiones de una habilidad sin saber cuál es cuál. - Análisis de Datos: Agentes (
agents/analyzer.md) para identificar patrones en los resultados de las pruebas, como aserciones sin poder de discriminación o varianza inestable. - Visualización:
eval-viewer/viewer.htmlyeval-viewer/generate_review.pypara mostrar resultados cualitativos y cuantitativos, permitiendo a los usuarios proporcionar retroalimentación. - Optimización de Descripción: Scripts (
scripts/run_loop.py) que utilizan un conjunto de consultas de activación/desactivación para optimizar automáticamente el campodescriptionde la habilidad. - Empaquetado:
scripts/package_skill.pypara crear el archivo.skillfinal.
El ciclo de trabajo principal implica la redacción de la habilidad, su prueba, la revisión de resultados (tanto cualitativos como cuantitativos), la recopilación de comentarios y la iteración hasta alcanzar la calidad deseada.