Fernando Ramos← Todos los skills07 de 09
← Todos los skills

/proof

Probar · Verificación ligada a revisión y compuerta Stop

Ejecuta las verificaciones declaradas contra el estado exacto del código (HEAD + digest de modificados y no rastreados) y escribe .ramos/runs/<run-id>/result.json. Una ejecución de /proof que pasó activa la compuerta Stop para esa sesión.

npx skills@latest add luci-efe/skills -s proof

  • ProbarEtapa
  • 03 Evidencia de terminado · 01 ObservableMétodo
  • .ramos/runs/<run-id>/result.jsonArtefacto / salida producida

Usar cuando

Cuando estás por decir "terminado" — al validar un cambio, medir una afirmación de rendimiento o verificar una interfaz web o de escritorio.

Soporte y adaptadores

  • Instrucciones usables en cualquier arnés
  • Hooks probados: Claude Code
01 · ESTADO DE ENTRADARequisito + ÁrbolHEAD SHA + archivos modificadossha256(tracked + untracked)02 · PRUEBAS EJECUTADASEjecución realaserciones · perf · visualargv + cwd + exit === 003 · COMPUERTA STOP (DONE LOCAL)result.jsonRecomputa input_digestBloquea si falta o expiróstatus: passed | failed | blocked | cancelled04 · CI + REVISIÓNVerificadoRe-ejecución en CI+ revisión par
  1. 01 · ESTADO DE ENTRADARequisito + Árbol

    HEAD SHA + archivos modificados · sha256(tracked + untracked)

  2. 02 · PRUEBAS EJECUTADASEjecución real

    aserciones · perf · visual · argv + cwd + exit === 0

  3. 03 · COMPUERTA STOP (DONE LOCAL)result.json

    Recomputa input_digest · Bloquea si falta o expiró · status: passed | failed | blocked | cancelled

  4. 04 · CI + REVISIÓNVerificado

    Re-ejecución en CI + revisión par

Fig. 3. Una ejecución de /proof que pasó activa la compuerta Stop para esa sesión (no lee la conversación; se permiten ejecuciones blocked, failed o cancelled con un motivo). La compuerta local evita declaraciones accidentales de finalización, aunque un resultado escrito a mano aún puede pasar localmente; la re-ejecución en CI más revisión independiente otorgan el estado verificado.

Árbol de decisión

  1. 01

    Elegir rama y verificar requisitos

    assertion (pruebas de código), perf (línea base vs umbral), visual-web (playwright, odiff opcional) o visual-desktop (cua-driver)

    → Requisitos de la rama verificados
  2. 02

    Ejecutar scripts/run.mjs checks.json

    Correr argv literales con límite de tiempo, calcular input_digest sobre HEAD + modificados + no rastreados y activar la compuerta Stop para esta sesión de Claude Code solo si todas las verificaciones pasan

    → .ramos/runs/<run-id>/result.json
  3. 03

    Validar con scripts/check.mjs <run-id>

    Recalcular input_digest actual antes de cerrar la sesión; las ejecuciones blocked/failed/cancelled con un motivo pueden cerrar

    → Terminado local (CI + revisión = verificado)

Requisitos y comandos de instalación

  • noderequerido · assertion, perf, visual-web, visual-desktopnode
    brew install node
  • playwrightopcional · requerido para la rama visual-webnode_modules/.bin/playwright
    npm i -D @playwright/test && npx playwright install chromiumdependencia local por repositorio
  • odiffopcional · diff de píxeles en visual-webnode_modules/.bin/odiff
    npm i -D odiff-binopcional · por repositorio (o usar toHaveScreenshot de Playwright)
  • cua-driveropcional · requerido para la rama visual-desktopcua-driver
    desde cua.ai (macOS); instalación no verificada por esta suite/doctor solo verifica que cua-driver esté en PATH

Criterios de completitud

  • Escribe .ramos/runs/<run-id>/result.json vinculado a HEAD y al digest SHA-256 de archivos modificados y no rastreados.
  • Una ejecución de /proof que pasó en una sesión de Claude Code activa la compuerta Stop para esa sesión (no lee la conversación; se permiten ejecuciones blocked, failed o cancelled con un motivo).
  • La compuerta local evita declaraciones accidentales de finalización, aunque un resultado escrito a mano con hashes coincidentes aún puede pasar localmente; la re-ejecución en CI más revisión independiente otorgan el estado verificado.

Ver código del skill en GitHub

← Todos los skills