Communitygithub.com

uzysjung/uzys-agent-harness

Selecciona habilidades y plugins de IA verificados según tu stack tecnológico — instala solo lo que necesitas, compatible con Claude Code, Codex, OpenCode y Antigravity.

¿Qué es uzys-agent-harness?

Esta habilidad implementa un marco formal de evaluación para sesiones de Claude Code, basado en los principios del desarrollo impulsado por evaluaciones (Eval-Driven Development, EDD). Permite definir criterios de éxito/fracaso antes de implementar, medir la fiabilidad del agente con métricas como pass@k, y detectar regresiones tras cada cambio. Soporta tres tipos de evaluaciones: de capacidad (para verificar nuevas funcionalidades), de regresión (para asegurar que nada se rompe) y humanas (para revisión manual). Además, ofrece tres tipos de calificadores: basados en código (deterministas), basados en modelo (usando Claude para evaluar resultados abiertos) y humanos. La habilidad está diseñada para integrarse en flujos de trabajo pre-implementación, durante la implementación y post-implementación, almacenando las evaluaciones en el proyecto dentro de .claude/evals/. Al combinar evaluaciones rápidas, versionadas con el código y centradas en la fiabilidad, esta herramienta eleva las evaluaciones al estatus de "pruebas unitarias del desarrollo con IA", ideales para desarrolladores que buscan consistencia y calidad en sus asistentes de IA.

Compatible con✓Claude Code✓Codex CLI~Cursor✓Antigravity✓OpenCode
npx skills add uzysjung/uzys-agent-harness

Preguntar en tu IA favorita

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

Documentación

Habilidad de Marco de Evaluación

Un marco formal de evaluación para sesiones de Claude Code, que implementa principios de desarrollo impulsado por evaluaciones (EDD).

Cuándo Activar

  • Configurar desarrollo impulsado por evaluaciones (EDD) para flujos de trabajo asistidos por IA
  • Definir criterios de aprobado/fallo para la finalización de tareas de Claude Code
  • Medir la fiabilidad del agente con métricas pass@k
  • Crear suites de pruebas de regresión para cambios en prompts o agentes
  • Comparar el rendimiento del agente entre versiones de modelo

Filosofía

El desarrollo impulsado por evaluaciones trata las evaluaciones como las "pruebas unitarias del desarrollo con IA":

  • Define el comportamiento esperado ANTES de la implementación
  • Ejecuta evaluaciones continuamente durante el desarrollo
  • Rastrea regresiones con cada cambio
  • Usa métricas pass@k para medir la fiabilidad

Tipos de Evaluación

Evaluaciones de Capacidad

Prueba si Claude puede hacer algo que antes no podía:

[EVALUACIÓN DE CAPACIDAD: nombre-funcionalidad]
Tarea: Descripción de lo que Claude debe lograr
Criterios de Éxito:
  - [ ] Criterio 1
  - [ ] Criterio 2
  - [ ] Criterio 3
Resultado Esperado: Descripción del resultado esperado

Evaluaciones de Regresión

Asegura que los cambios no rompan funcionalidades existentes:

[EVALUACIÓN DE REGRESIÓN: nombre-funcionalidad]
Línea Base: SHA o nombre del punto de control
Pruebas:
  - prueba-existente-1: APROBADO/FALLIDO
  - prueba-existente-2: APROBADO/FALLIDO
  - prueba-existente-3: APROBADO/FALLIDO
Resultado: X/Y aprobadas (anteriormente Y/Y)

Tipos de Calificador

1. Calificador Basado en Código

Verificaciones deterministas usando código:

# Verifica si el archivo contiene el patrón esperado
grep -q "export function handleAuth" src/auth.ts && echo "APROBADO" || echo "FALLIDO"

# Verifica si las pruebas pasan
npm test -- --testPathPattern="auth" && echo "APROBADO" || echo "FALLIDO"

# Verifica si la compilación tiene éxito
npm run build && echo "APROBADO" || echo "FALLIDO"

2. Calificador Basado en Modelo

Usa Claude para evaluar resultados abiertos:

[PROMPT DEL CALIFICADOR DE MODELO]
Evalúa el siguiente cambio de código:
1. ¿Resuelve el problema planteado?
2. ¿Está bien estructurado?
3. ¿Se manejan los casos límite?
4. ¿El manejo de errores es adecuado?

Puntuación: 1-5 (1=deficiente, 5=excelente)
Razonamiento: [explicación]

3. Calificador Humano

Indica revisión manual:

[REVISIÓN HUMANA REQUERIDA]
Cambio: Descripción de lo que cambió
Razón: Por qué se necesita revisión humana
Nivel de Riesgo: BAJO/MEDIO/ALTO

Métricas

pass@k

"Al menos un éxito en k intentos"

  • pass@1: Tasa de éxito en el primer intento
  • pass@3: Éxito dentro de 3 intentos
  • Objetivo típico: pass@3 > 90%

pass^k

"Todos los k intentos tienen éxito"

  • Mayor estándar de fiabilidad
  • pass^3: 3 éxitos consecutivos
  • Usar para rutas críticas

Flujo de Trabajo de Evaluación

1. Definir (Antes de Codificar)

## DEFINICIÓN DE EVALUACIÓN: funcionalidad-xyz

### Evaluaciones de Capacidad
1. Puede crear una nueva cuenta de usuario
2. Puede validar el formato del correo electrónico
3. Puede hashear la contraseña de forma segura

### Evaluaciones de Regresión
1. El inicio de sesión existente sigue funcionando
2. La gestión de sesiones no cambia
3. El flujo de cierre de sesión intacto

### Métricas de Éxito
- pass@3 > 90% para evaluaciones de capacidad
- pass^3 = 100% para evaluaciones de regresión

2. Implementar

Escribir código para superar las evaluaciones definidas.

3. Evaluar

# Ejecutar evaluaciones de capacidad
[Ejecutar cada evaluación de capacidad, registrar APROBADO/FALLIDO]

# Ejecutar evaluaciones de regresión
npm test -- --testPathPattern="existente"

# Generar informe

4. Reportar

INFORME DE EVALUACIÓN: funcionalidad-xyz
=========================================

Evaluaciones de Capacidad:
  crear-usuario:     APROBADO (pass@1)
  validar-email:     APROBADO (pass@2)
  hash-contraseña:   APROBADO (pass@1)
  Total:             3/3 aprobadas

Evaluaciones de Regresión:
  flujo-inicio-sesión:    APROBADO
  gestión-sesión:         APROBADO
  flujo-cierre-sesión:    APROBADO
  Total:                  3/3 aprobadas

Métricas:
  pass@1: 67% (2/3)
  pass@3: 100% (3/3)

Estado: LISTO PARA REVISIÓN

Patrones de Integración

Pre-Implementación

/eval define nombre-funcionalidad

Crea archivo de definición de evaluación en .claude/evals/nombre-funcionalidad.md

Durante la Implementación

/eval check nombre-funcionalidad

Ejecuta las evaluaciones actuales y reporta el estado

Post-Implementación

/eval report nombre-funcionalidad

Genera un informe completo de evaluación

Almacenamiento de Evaluaciones

Almacena evaluaciones en el proyecto:

.claude/
  evals/
    funcionalidad-xyz.md      # Definición de evaluación
    funcionalidad-xyz.log     # Historial de ejecuciones
    baseline.json             # Líneas base de regresión

Mejores Prácticas

  1. Define evaluaciones ANTES de codificar - Obliga a pensar claramente en los criterios de éxito
  2. Ejecuta evaluaciones con frecuencia - Detecta regresiones temprano
  3. Rastrea pass@k con el tiempo - Monitorea tendencias de fiabilidad
  4. Usa calificadores de código cuando sea posible - Determinista > Probabilístico
  5. Revisión humana para seguridad - Nunca automatices completamente las comprobaciones de seguridad
  6. Mantén las evaluaciones rápidas - Las evaluaciones lentas no se ejecutan
  7. Versiona las evaluaciones con el código - Las evaluaciones son artefactos de primera clase

Ejemplo: Añadir Autenticación

## EVALUACIÓN: añadir-autenticación

### Fase 1: Definir (10 min)
Evaluaciones de Capacidad:
- [ ] El usuario puede registrarse con correo/contraseña
- [ ] El usuario puede iniciar sesión con credenciales válidas
- [ ] Credenciales inválidas rechazadas con error adecuado
- [ ] Las sesiones persisten al recargar la página
- [ ] El cierre de sesión limpia la sesión

Evaluaciones de Regresión:
- [ ] Las rutas públicas siguen accesibles
- [ ] Las respuestas de la API no cambian
- [ ] El esquema de la base de datos es compatible

### Fase 2: Implementar (variable)
[Escribir código]

### Fase 3: Evaluar
Ejecutar: /eval check añadir-autenticación

### Fase 4: Reportar
INFORME DE EVALUACIÓN: añadir-autenticación
=============================================
Capacidad: 5/5 aprobadas (pass@3: 100%)
Regresión: 3/3 aprobadas (pass^3: 100%)
Estado: LISTO PARA ENVÍO

Skills relacionados