Agentic QA · Skill de workflow
Revisa el PR de automatización de otra persona como lo haría un QA Lead: cada observación apunta a una línea del diff o de la doctrina, la nota de 0 a 10 está calibrada al rigor que elegiste, y en GitHub no se publica nada hasta que digas que sí.
Decidir · 2 de 14
Usala para
Se activa también con "revisa este PR", "review this PR", "actúa de QA lead" o "evalúa este PR contra KATA".
No es para esto: va a
| Revisar tu propio diff sin commitear, antes de abrir el PR | el flujo de code review por defecto (/code-review si está instalado) |
| Un veredicto ciego APPROVED / ESCALATED de dos jueces | /judgment-day |
| Abrir el PR, mergearlo, resolver conflictos | /git-flow-master |
| Un PR que de verdad necesita proceso a nivel framework | /framework-development |
Con /judgment-day se complementan: podés correr las dos sobre el mismo PR. Lo propio de esta es el rastro de evidencia y el modelo de severidad calibrado.
Pipeline · 3 de 14
Stage Automation, dueño test-automation
test-automation
Plan → Code → Review
spec.md · automation-plan.md
código KATA con @atc
git-flow-master
Abre el PR
test-automation nunca
corre git
verificador · requerido
/pr-review-lead
o /judgment-day
sobre el diff, en un
contexto limpio
la persona firma
El merge
nada se mergea
solo
Por qué acá y solo acá
Automation es el único stage cuya autonomía llega a 3. Más cuerda a la entrada se paga con un control más duro a la salida: es el único stage con verificador separado obligatorio.
Saltearlo no es un atajo
No es opcional ni solo para cambios de alto riesgo. Saltear el verificador es una falla del Definition of Done de Review. Contexto limpio quiere decir una sesión o subagente sin memoria de cómo se escribió el código.
Mapa · 4 de 14
Antes de leer el diff
Paso 0
Rigor y alcance
Flexible · Standard · Strict
qué PR, qué repo
Paso 1
Cargar la doctrina
la del repo objetivo
si tiene una propia
Análisis: nada sale de la sesión
Paso 2
Reunir el PR
diffs reales, por archivo
si el PR es grande
Paso 3
Analizar con evidencia
tres buckets
cuatro severidades
Paso 4
Checkpoint
tabla · puntos fuertes
nota de 0 a 10
Paso 5
Triage con vos
vos decidís qué va
y con qué peso
Lo único visible afuera, y solo con tu OK
Paso 6
Borrador
elogio → constructivo
→ elogio
Paso 7
Confirmar y publicar
gh pr comment
tras un sí explícito
Paso 0 · 5 de 14
| Nivel | Qué reporta | Desvíos de patrón en la nota |
|---|---|---|
| Flexible | Solo lo evidentemente mal o lo que daña la confiabilidad: bugs reales, secretos hardcodeados, datos frágiles, cobertura sin justificar. Un patrón distinto al de libro que funciona no es hallazgo. | No se reportan, salvo que también sean un riesgo de confiabilidad. |
| Standard recomendado | La misma vara de defectos reales, más los desvíos de doctrina como observación liviana: "el patrón documentado hace X, este PR hace Y". | Cero: son informativos, nunca restan. |
| Strict | Pasada literal contra cada archivo de doctrina aplicable. Un desvío es hallazgo aunque funcione. Igual separa Real de Patrón. | Poco, y con tope: no pueden pesar como un defecto real. |
Lo que ya dijiste no se re-pregunta
Si la invocación ya trae el rigor ("revisalo estricto", "sé flexible"), no vuelve a preguntar. En la misma ronda confirma el alcance: qué PR (repo y número, el PR de la rama actual o un diff suelto) y si es este repo o uno externo.
El nivel es un lente, no una licencia
Strict baja el umbral de qué vale la pena reportar. No baja la vara de prueba: cada hallazgo necesita la misma evidencia en los tres niveles.
Paso 1 · 6 de 14
Leída fresca, cada vez
Nunca revisa contra convenciones que recuerda de otra sesión ni contra "buenas prácticas" que no verificó que estén documentadas. Leer primero, opinar después.
Se amplía según el PR
Si el PR trae un reporte de bug suma defect-management-doctrine.md; si toca una decisión de arquitectura de test difícil de revertir, adr-doctrine.md.
Fork que no trae una regla
Si al repo le falta un archivo esperable pero corre tests con forma KATA, lo dice: "califico contra la versión del boilerplate; avisá si preferís saltear ese chequeo".
Paso 2 · 7 de 14
De dónde saca el diff
| PR de este repo | gh pr view y gh pr diff sobre el repo de trabajo. |
| PR externo | gh pr view <N> --repo <owner>/<repo> para metadatos y commits; los patches por archivo con el endpoint paginado pulls/<N>/files. |
| PR muy grande | Si gh pr diff falla con too_large, pagina los patches archivo por archivo. Nunca se rinde y hojea la descripción. |
Separa trabajo de ruido
Mira primero los titulares de los commits. A veces casi todo el diff es un sync de template o un update de vendor sin relación: te lo avisa en vez de revisarlo línea por línea.
PR con muchos archivos
Reparte la lectura en subagentes en paralelo, un archivo o grupo por subagente, con el briefing de 7 componentes. Un PR chico se lee inline: no vale el costo del despacho.
Afirmación no es evidencia
"CI verde" o "30/30 en verde" en la descripción se anota como afirmación del autor, salvo que pueda señalar la corrida real.
Paso 3 · 8 de 14
Una línea de código
La ubicación en el diff que muestra el defecto, con la línea citada o parafraseada de cerca. De un PR sin checkout local, tal como aparece en el diff.
Una línea de doctrina
El archivo y la sección (AGENTS.md §N, doctrina.md §Sección) con la oración exacta. Nunca un vago "por nuestras convenciones".
O una opinión, dicha así
"Esto es una opinión general de buenas prácticas de QA, no está en la documentación de este repo." No hay cuarta opción.
Y cae en exactamente un bucket
| Real / Confiabilidad | Bugs, credenciales hardcodeadas, datos que se rompen en silencio, problemas de escala, huecos de cobertura sin justificar. Pesa en todos los niveles. |
| Patrón / Desvío de doctrina | Funciona, pero se aparta de una convención documentada. Es una comparación, no un veredicto. Su peso depende del Paso 0. |
| Positivo | Lo bien hecho, con la misma evidencia. Siempre tiene algo: una revisión sin positivos en un PR que los tiene está mal calibrada. |
Severidad dentro de Real y Patrón: Crítico, Mayor, Menor, Trivial (en el idioma del usuario).
Puntaje · 9 de 14
Arranca en 10 y resta
| Crítico real | -1.5 a -2.5 | según el radio de impacto |
| Mayor real | -0.5 a -1 | |
| Menor real | -0.1 a -0.3 | |
| Patrón | 0 | en Flexible y Standard |
| Patrón en Strict | -0.1 a -0.2 | con tope: solos no hunden la nota |
Los positivos no suman: no compensan un defecto. Se reportan aparte para que el feedback no sea solo una lista de problemas. Cada nota va con una línea de justificación atada a los buckets.
El ejemplo que fijó la regla
Una primera pasada marcó como Crítico un @atc llamado desde otro @atc, que la doctrina prohíbe (.agents/instructions/agent-code-quickref.md). El usuario frenó: funciona, no es un error. Recalibrado a Standard quedó como comparación de patrón: misma cita, peso cero.
Lo que no se aflojó
En el mismo PR, dos casos dependían de datos preexistentes de un staging compartido, sin sembrarlos ellos mismos. Riesgo real de rotura silenciosa: siguió siendo Mayor.
Pasos 4 y 5 · 10 de 14
El checkpoint, en el chat
Nada sale de la sesión todavía. Es un punto de control, no un entregable.
Cómo reacciona a tu pushback
| "Solo críticos y mayores" | Re-acota lo que va al borrador. No re-analiza. |
| "Eso no es error, es patrón" | Lo reclasifica, recalcula la nota y te pregunta si la nueva te cierra. |
| "No seamos tan duros con los patrones" | Es un cambio de rigor: re-recorre todos los hallazgos de Patrón y re-presenta la tabla antes de redactar. |
No defiende su primera clasificación. Tu contexto (las normas del equipo, lo que vale la pena levantar) manda sobre la severidad de la primera pasada.
Pasos 6 y 7 · 11 de 14
La forma por defecto
Una fortaleza real en cada punta, no un cumplido de relleno. El comentario va en inglés salvo que pidas otro idioma para ese artefacto.
Qué cuenta como OK
"Postealo", "dale", "sí, postea", dicho sobre este borrador. Un "se ve bien" en medio de la discusión de severidades no alcanza. El silencio tampoco. Ante la duda, muestra el borrador completo otra vez y pregunta.
Cómo publica
Guarda el borrador en un archivo de scratch y corre gh pr comment <N> --body-file, con --repo <owner>/<repo> si es externo. Te devuelve la URL del comentario como prueba de que existe.
Varios PRs a la vez
Un sí para un PR no vale para el de al lado. Si aprobás solo una parte del lote, publica exactamente esa parte y te dice qué quedó pendiente.
Salvaguardas · 12 de 14
| # | Regla |
|---|---|
| R1 | Publicar un comentario sin la confirmación explícita del Paso 7. Sin excepciones. |
| R2 | Presentar una "buena práctica" como regla del repo sin poder señalar el archivo y la sección. |
| R3 | Tratar un desvío de patrón como error, o dejar que mueva la nota, en Flexible o Standard. |
| R4 | Asumir que un repo externo copia las convenciones de este sin cargar antes su propia doctrina. |
| R5 | Entregar una revisión sin positivos sobre un PR que claramente los tiene. |
| R6 | Delegar a un subagente la redacción o la publicación: el tono y la acción visible quedan en la sesión principal. |
| R7 | Encadenar skills SDD. Revisar un PR no es evolucionar el framework: si hace falta, te señala /framework-development. |
Sin adivinar: cita, o dice que es opinión.
Sin dramatizar: el patrón se compara, no se condena.
Sin publicar solo: lo visible afuera espera tu sí.
Entradas y salidas · 13 de 14
Lee
Deja
Requiere agentic-qa-core. Cuando el PR es grande carga además briefing-template.md, dispatch-patterns.md y orchestration-doctrine.md para repartir la lectura.
Cierre · 14 de 14
Cómo se invoca
Claude Code: /pr-review-lead, idealmente con el PR y el rigor en el mismo mensaje: "revisá owner/repo#42, nivel Standard".
OpenCode y Codex: cargá la skill pr-review-lead y nombrá el PR.
No tiene modos. También se activa con "revisa este PR" o "review this PR".
Antes
/test-automation: escribe el código KATA y corre sus tres verificadores.
/git-flow-master: abre el PR que se revisa.
Al lado y después
/judgment-day: la otra opción de verificador, o una segunda opinión con otra forma.
El merge lo firma una persona.
/framework-development: si el PR pide proceso de framework.
Lo que te llevás
Una revisión de QA Lead con rastro de evidencia · una nota calibrada al rigor que elegiste · positivos reales, no de cortesía · un comentario publicado solo cuando dijiste que sí.
Canon: .agents/skills/pr-review-lead/SKILL.md y sus references/. Su lugar en el pipeline lo fija agentic-qa-core/references/stage-gates.md.