CommunityProgramación y desarrollogithub.com

kabirnarang39/skillci

CI para Skills de Claude: lint, evalúa y prueba regresiones de archivos SKILL.md en una matriz de modelos, con un ciclo de evaluación auto-creciente que convierte regresiones no cubiertas en casos de prueba permanentes.

¿Qué es skillci?

Este skill (kabirnarang39/skillci) proporciona un sistema de integración continua (CI) diseñado específicamente para Skills de Claude. Su función principal es analizar (lint), evaluar (eval) y realizar pruebas de regresión en los archivos SKILL.md a través de una matriz configurable de modelos de lenguaje. Es útil para desarrolladores que mantienen múltiples skills de Claude, ya que automatiza la detección de cambios no deseados en el comportamiento o la calidad de las instrucciones del skill. Una característica clave es su ciclo de evaluación auto-creciente: cuando se detecta una regresión que no estaba cubierta por los casos de prueba existentes, el sistema la agrega automáticamente como un nuevo caso de prueba permanente, expandiendo la cobertura del conjunto de pruebas con el tiempo. Está pensado para ser utilizado en entornos de desarrollo como repositorios de GitHub, donde se puede ejecutar como parte de un flujo de trabajo de CI (por ejemplo, con GitHub Actions).

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add kabirnarang39/skillci

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace skillci?

CI para Skills de Claude: lint, evalúa y prueba regresiones de archivos SKILL.md en una matriz de modelos, con un ciclo de evaluación auto-creciente que convierte regresiones no cubiertas en casos de prueba permanentes.

Descripción

Este repositorio implementa un sistema de integración continua (CI) especializado para Skills de Claude. Permite a los desarrolladores:

  • Lint: Verificar la sintaxis y estructura de los archivos SKILL.md.
  • Eval: Ejecutar evaluaciones automatizadas sobre los skills usando una matriz de modelos de lenguaje (por ejemplo, Claude 3 Haiku, Claude 3 Sonnet, etc.).
  • Regression-test: Detectar cambios no deseados en el comportamiento de un skill comparando resultados contra una suite de pruebas.

El sistema incluye un ciclo de evaluación auto-creciente: si durante una ejecución se encuentra una regresión que no tiene un caso de prueba correspondiente, se genera automáticamente un nuevo caso de prueba y se añade a la suite permanente. Esto significa que la cobertura de pruebas mejora con el tiempo, reduciendo la probabilidad de regresiones futuras.

Plataformas compatibles

  • GitHub Actions: Ideal para integrar como flujo de trabajo de CI en repositorios de GitHub.
  • Local: Puede ejecutarse también en entornos locales para pruebas rápidas.

Cómo funciona

  1. Se configura una matriz de modelos en el archivo de configuración del CI (por ejemplo, en .github/workflows/ci.yml).
  2. Para cada modelo, se ejecuta el lint y las evaluaciones definidas en los archivos SKILL.md.
  3. Se comparan los resultados con las expectativas almacenadas (casos de prueba).
  4. Si se detecta una regresión no cubierta, se crea un nuevo caso de prueba automáticamente.

Uso básico

Para integrar este CI en tu repositorio de skills de Claude, añade el siguiente flujo de trabajo de GitHub Actions:

name: CI para Skills de Claude
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        model: [claude-3-haiku-20240307, claude-3-sonnet-20240229]
    steps:
      - uses: actions/checkout@v3
      - name: Ejecutar CI de Skill
        uses: kabirnarang39/skillci@v1
        with:
          model: ${{ matrix.model }}

Variables de entorno

VariableDescripción
ANTHROPIC_API_KEYClave de API de Anthropic (obligatoria).
SKILLCI_MODELModelo predeterminado (opcional, se puede pasar como input).

Ejemplo de archivo SKILL.md

Cada skill debe tener un archivo SKILL.md en su directorio raíz. Por ejemplo:

# Mi Skill

Descripción breve del skill.

## Evaluación

- **Prompt de prueba**: "Responde con 'Hola mundo'."
- **Comportamiento esperado**: La respuesta debe contener exactamente "Hola mundo".

Licencia

Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.

Contribuciones

Las contribuciones son bienvenidas. Por favor, abre un issue o un pull request para sugerir mejoras o reportar errores.

Contacto

Creado por kabirnarang39.

Skills relacionados