Agentic QA · Skill de revisión
Dos jueces revisan el mismo cambio en paralelo, sin ver lo que encontró el otro. Lo que señalan los dos se arregla y se vuelve a juzgar; el veredicto final es APPROVED o ESCALATED, nunca "más o menos".
Cuándo usarla · 2 de 13
| Lo que querés | Con qué |
|---|---|
| Un veredicto ciego APPROVED / ESCALATED sobre un diff, una feature, un PR o una porción de arquitectura | /judgment-day |
| Feedback sobre el PR de un colega, con severidad calibrada y cada hallazgo citando doctrina | /pr-review-lead |
| Revisar tus propios cambios sin commitear antes de abrir el PR | el flujo de code review por defecto (/code-review si está instalado) |
| Un typo, un cambio de formato o un archivo autogenerado | nada: dos jueces, síntesis y re-juicio cuestan más de lo que vale el veredicto |
| Un diff de más de 30 archivos | partirlo en revisiones por área y sintetizar a mano: pasado ese tamaño la señal se degrada |
Objetivo poco claro
Si no está claro qué se juzga, la skill pregunta el alcance y no lanza a ningún juez. Archivos, feature, PR o porción de arquitectura: algo que se pueda nombrar.
Nunca automática
Se carga solo cuando la pedís: "judgment day", "dual review", "adversarial review", "juzgar", "que lo juzguen".
Origen · 3 de 13
Frontmatter del SKILL.md (extracto)
Tier T2: vendorizada
Copiada desde gentle-ai y commiteada en .agents/skills/judgment-day/. La licencia y la atribución viajan en el frontmatter; metadata.vendored_from apunta al upstream.
Sin dependencia del upstream
El instalador no corre gentle-ai: conecta Engram con engram setup. Esta skill tampoco necesita gentle-ai: ya está en el repo.
Dos etiquetas, dos preguntas
El tier dice de dónde viene (T2). El kind dice qué hace (workflow). Una no implica la otra.
Mapa · 4 de 13
Pasos 1 y 2 · 5 de 13
Qué se lee, en este orden
Un solo bloque de skills
Del registro sale un bloque Skills to load before work. Va idéntico al prompt de cada juez y al del agente de fix.
Se juzga la intención declarada
Los jueces comparan contra lo que el cambio dice querer hacer, no contra lo que ellos imaginan que debería hacer.
Sin registro
Avisa, sigue con criterios genéricos y lo deja escrito: Skill Resolution: none.
Paso 3 · Juzgar · 6 de 13
Lo que recibe cada juez
"Sos un revisor adversarial. Tu único trabajo es encontrar problemas." Mismo objetivo, mismo bloque de skills y estos criterios:
Más los criterios propios que hayas pedido.
Lo que devuelve
Solo hallazgos, sin elogios. Cada uno con severidad, archivo (y línea), qué está mal y por qué importa, y el fix en una línea. Si no hay nada: VERDICT: CLEAN.
El orquestador no revisa
La sesión que coordina nunca revisa el código ella misma. Lanza a los dos jueces a la vez, por delegación, y espera a ambos: un veredicto parcial no se acepta.
Ciegos de verdad
Un brief distinto por juez produce veredictos distintos que parecen desacuerdo real y son un artefacto del brief.
Paso 3 · Juzgar · 7 de 13
CRITICAL
Un problema que bloquea. Si los dos jueces lo encuentran, está confirmado y hay que resolverlo para aprobar.
WARNING (real)
El uso normal y previsto puede dispararlo. Confirmado, también bloquea la aprobación.
WARNING (theoretical)
Solo se dispara por un camino forzado, malicioso o imposible. Baja a INFO: se reporta, no bloquea.
SUGGESTION
Una mejora posible. Puede quedar pendiente sin impedir el veredicto.
Criterio de aprobación desde la ronda 1
Cero CRITICAL confirmados y cero WARNING (real) confirmados. Las advertencias teóricas y las sugerencias pueden quedar.
Paso 4 · Sintetizar · 8 de 13
| Situación | Qué hace la skill |
|---|---|
| Los dos encuentran el mismo CRITICAL o WARNING real | Confirmado. Se pregunta o se arregla según la ronda. |
| Lo encuentra un solo juez | Sospechoso. Se reporta y se clasifica; nunca se arregla solo. |
| Los jueces se contradicen | Escala a una decisión manual tuya. |
| Ronda 2 o más, solo advertencias teóricas o sugerencias | Se reportan como INFO; no se vuelve a juzgar. |
La tabla de veredicto (formato)
| Hallazgo | Juez A | Juez B | Severidad | Estado |
|---|---|---|---|---|
| Falta un null check en el handler | ✅ | ✅ | CRITICAL | Confirmado |
| Caso borde de un volumen raíz en Windows | ❌ | ✅ | WARNING (theoretical) | INFO |
| Un nombre que no sigue la convención | ✅ | ❌ | SUGGESTION | Sospechoso |
Pasos 5 y 6 · Arreglar · 9 de 13
Ronda 1
Te pregunta
antes de arreglar lo confirmado
Fix
Agente aparte
solo los hallazgos que aprobaste
En seguida
Re-juicio en paralelo
A y B, antes de commit, push o cierre
2 iteraciones
Te pregunta otra vez
si quedan problemas: seguimos?
Lo que tiene permitido el agente de fix
Por qué re-juzgar siempre
Un fix puede romper otra cosa. Solo un veredicto doble, nuevo, confirma que el cambio quedó limpio.
Cómo termina
Solo en JUDGMENT: APPROVED o JUDGMENT: ESCALATED, o cuando vos pedís parar.
Salida · 10 de 13
Forma del informe (esquema)
Qué te dice
En qué ronda terminó, qué encontró cada juez, cuánto quedó confirmado, sospechoso o en contradicción, qué se arregló y qué dijo el re-juicio.
En español
"Juicio iniciado" · "Los jueces trabajan en paralelo" · "Los jueces coinciden" · "Juicio terminado, aprobado" · "Escalado, necesita revisión humana".
Nada queda abierto
Antes de cualquier acción terminal, toda Judgment Day activa tiene que tener uno de los dos estados finales.
En el pipeline · 11 de 13
| Skill anfitriona | Cuándo | Obligatoria? |
|---|---|---|
| /test-automation | Fase 3 Review del stage Automation, antes del merge, sobre el diff y en contexto limpio | Un verificador separado es requerido: /pr-review-lead o /judgment-day, el que mejor encaje. Saltarlo es una falla del DoD. |
| /git-flow-master | Antes del PR, si el diff pasa las 400 líneas o toca scaffolding compartido (bases KATA, fixtures, schemas OpenAPI) | Opcional: la skill te lo ofrece y vos decidís |
| /shift-left-testing | El refinamiento va a una Story de alto riesgo | Opcional, nunca auto-invocada |
| Cambio de compact rule de una skill | Es un cambio de briefing para cada subagente | Gate opcional (skill-refinement-protocol.md) |
Con /pr-review-lead se complementan
Nada impide correr /judgment-day sobre el mismo PR después, por una segunda opinión con otra forma. /pr-review-lead aporta las citas de doctrina y la severidad calibrada; esta skill, el veredicto ciego y doble.
Por qué Automation lo exige
Es el único stage con un verificador separado obligatorio. Más cuerda a la entrada se paga con un control más duro a la salida.
Salvaguardas · 12 de 13
| Regla | Por qué |
|---|---|
| Mostrarle a un juez el veredicto del otro antes de la síntesis | la revisión ciega es todo el valor; contaminada, dos jueces valen por uno |
| Darles prompts, criterios o contexto distintos | un brief asimétrico fabrica un desacuerdo que no existe |
| Saltear el re-juicio después de un fix | un fix puede romper otra cosa; solo un veredicto doble nuevo lo descarta |
| Descartar el rechazo de un juez sin escribir por qué | el próximo revisor no puede saber si se analizó o se perdió |
| Juzgar más de 30 archivos en una pasada | la señal se degrada; se parte por área |
| Juzgar un typo, un formato o un diff autogenerado | la orquestación cuesta más que el veredicto |
| Arreglar algo sin preguntar en la ronda 1, o arreglar un sospechoso | solo lo confirmado y aprobado por vos pasa al agente de fix |
| Arrancar sola | se carga con disparo explícito o cuando la cita una skill anfitriona |
Cierre · 13 de 13
Cómo se invoca
Claude Code: /judgment-day más el objetivo.
OpenCode y Codex: cargá la skill judgment-day y nombrá el objetivo.
En los tres hosts la disparan "judgment day", "dual review", "adversarial review" o "juzgar". No tiene modos.
Qué lee
El objetivo que nombraste · AGENTS.md · .agents/skills/REGISTRY.md · la intención del cambio (spec, PR, ticket) · los veredictos de rondas anteriores.
Qué deja
El informe ## Judgment Day en el chat con su veredicto final · los fixes aprobados aplicados en tu árbol de trabajo, ya re-juzgados.
Canon
.agents/skills/judgment-day/SKILL.md (contrato, reglas, gates, anti-patrones) y references/prompts-and-formats.md (prompts de juez y de fix, regla de severidad, tabla de veredicto). Upstream: gentle-ai, Apache-2.0.
Relacionadas: /test-automation la exige como verificador (o /pr-review-lead, la otra opción) ·/git-flow-master la ofrece antes del PR · /shift-left-testing la sugiere para Stories de alto riesgo.