receiving-code-review (obra/superpowers)
Comprueba la exactitud técnica de los comentarios de revisión antes de aplicarlos, sin aceptarlos a ciegas.
receiving-code-review: impide que el agente aplique a ciegas comentarios de revisión erróneos (control 3.4, skill 3.7, prompt de una frase 4.2), pero en la tarea de precios se detuvo a preguntar antes de implementar los elementos correctos, con aproximadamente los mismos tokens
Codex CLI · gpt-6-astra
23.9 / 30
Mejora frente a sin skill: +0.29 · Según el caso · 18 ejecuciones
Según el caso: la mejora +0.29 está por debajo de +1.0. Para ser recomendada hace falta un total de 22/30, una calidad de salida de 3.5 y una mejora de +1.0.
SOTA
AprobadaProbada con Codex.
Cubre Codex, Claude Code
Codex CLI 0.166 (nivel SOTA): 18 ejecuciones puntuadas. Una pasada aquí también cubre Claude Code según nuestra regla de niveles; no dice nada sobre el segundo nivel.
Puntuaciones
Cada dimensión va de 0 a 5 y las seis suman el total sobre 30. 5 es mejor en todas las dimensiones. Coste 5 significa barato y rápido. Instalación 5 significa fácil.
- Fiabilidad de activación
- 5.0
- Mejora frente a sin skill
- 2.3
- Calidad de salida
- 3.7
- Coste en tokens y tiempo
- 5.0
- Instalación y portabilidad
- 4.0
- Seguridad
- 4.0
Revisión de seguridad
SeguraEscaneo estático: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Revisión manual: Segura de ejecutar en un sandbox sin red (sin hallazgos). Un escaneo limpio no demuestra que una skill sea segura.
Instalar
npx skills@latest add obra/superpowers --skill receiving-code-review
Commit fijado: 2ce8aa15d05bd57213e6f746f953aafb7ded7a8b
Probada: 2026-11-02
Qué probamos
- Revisión con una afirmación errónea de código muerto — Atiende los comentarios de revisión de REVIEW.md para pricing.py. Tests: python -m unittest.
- Revisión con una sugerencia errónea sobre numpy y el redondeo — Atiende los comentarios de revisión de REVIEW.md para report.py. Tests: python -m unittest.
- Revisión con un renombrado y un bloqueo prematuro — Atiende los comentarios de revisión de REVIEW.md para inventory.py. Tests: python -m unittest.
Ventajas
- La skill se activó sin nombrarla: se leyó el archivo de la skill en 6/6 ejecuciones con skill.
- Sin sobrecoste de tokens: 1.02x los tokens de sin skill.
Inconvenientes
- Sin mejora medible frente a sin skill (+0.29, dentro del ruido).
- Un prompt de una frase obtuvo 4.21, frente a 3.66 con la skill (-0.55).
- Salvedad de la prueba: la tarea de precios resta puntos por el comportamiento diseñado de la skill: se detiene y pregunta antes de implementar, mientras que la comprobación solo premia implementar los elementos válidos en una sola pasada. Un revisor que prefiera que le pregunten puntuaría más alto esta skill. Por eso el prompt de una frase superó a la skill por 0.55.
- n=2 por tarea y rama; las diferencias de menos de aproximadamente 1 punto son ruido.
Reseña
Codex CLI 0.166 (gpt-6-astra, razonamiento bajo) en un PC Windows de prueba dedicado, con un proyecto temporal nuevo y HOME/TMPDIR/cachés temporales en cada ejecución, la skill instalada (grupo con skill), sin ella (control) o sin ella pero con el requisito central de la skill comprimido en una frase añadida al prompt (grupo del prompt de una frase), 2 ejecuciones por grupo y tarea, red desactivada y escrituras en /tmp bloqueadas. Los prompts nunca mencionan la skill (salvo la formulación indicada más abajo). Tres módulos Python pequeños (pricing, report, inventory), cada uno con un REVIEW.md de comentarios que mezclan elementos correctos con otros erróneos o poco claros (por ejemplo, eliminar una función que todavía se usa, una caché de Redis, «hazlo más robusto», numpy donde no está disponible, un renombrado que rompe a quienes llaman). El prompt se limita a «atiende los comentarios de revisión en REVIEW.md» más el comando de test. El prompt de una frase enuncia el principio de evaluar antes de actuar.
Comparación de tres ramas
| Rama | Puntuación media (0-5) | Tokens por ejecución |
|---|---|---|
| Sin la skill | 3.38 | 84k |
| Prompt de una frase | 4.21 | 90k |
| Con la skill | 3.66 | 86k |
Medido con Codex CLI en 18 ejecuciones, puntuado con comprobaciones basadas en reglas y sin juez LLM. Total 23.9 / 30, veredicto Según el caso.
Aviso: La tarea de precios resta puntos por el comportamiento diseñado de la skill: se detiene y pregunta antes de implementar, mientras que la comprobación solo premia implementar los elementos válidos de una vez. Un revisor que prefiera que le pregunten puntuaría más alto esta skill. Por eso el prompt de una frase superó a la skill en 0.55.
Veredicto: Según el caso (23.9 / 30). Fuente: obra/superpowers, skills/receiving-code-review, fijada en el commit 2ce8aa1. Instalación: npx skills@latest add obra/superpowers --skill receiving-code-review. Licencia: MIT (LICENSE del repositorio).
Qué es
La skill receiving-code-review (obra/superpowers): cómo actuar ante los comentarios de una revisión de código: verificar cada comentario contra el código, implementar solo lo que es correcto, rechazar con una razón concreta lo que sea erróneo o innecesario, preguntar cuando algo no esté claro y nada de asentimiento performativo. Declara «ALTO: no implementes nada todavía» cuando algún punto no está claro.
Cómo lo probamos
Codex CLI 0.166 (gpt-6-astra, razonamiento bajo) en un PC de pruebas Windows dedicado, un proyecto temporal nuevo y HOME/TMPDIR/cachés temporales por ejecución, skill instalada (tratamiento) o ausente (control) o ausente con el requisito central de la skill comprimido en una frase añadida al final del prompt (grupo de una frase), 2 ejecuciones por grupo y tarea, red desactivada, escrituras en /tmp bloqueadas. Los prompts nunca mencionan la skill (salvo la formulación indicada abajo).
Tres módulos pequeños de Python (pricing, report, inventory), cada uno con un REVIEW.md de comentarios que mezclan puntos correctos con otros erróneos o poco claros (por ejemplo, borrar una función que aún se usa, una caché Redis, «haz esto más robusto», numpy donde no está disponible, un cambio de nombre que rompe a los llamadores). El prompt es solo «Atiende los comentarios de REVIEW.md» más el comando de pruebas. La frase única enuncia el principio de evaluar antes de actuar.
- Revisión con una afirmación falsa de código muerto — Atiende los comentarios de REVIEW.md para pricing.py. Pruebas:
python -m unittest. - Revisión con una sugerencia errónea de numpy y redondeo — Atiende los comentarios de REVIEW.md para report.py. Pruebas:
python -m unittest. - Revisión con un cambio de nombre y un bloqueo prematuro — Atiende los comentarios de REVIEW.md para inventory.py. Pruebas:
python -m unittest.
La puntuación es programática (pruebas ocultas / detección de problemas sembrados / comprobaciones de restricciones / renderizado+OCR cuando corresponde), 0–5 por ejecución. Ningún juez LLM decidió ninguna puntuación.
Resultados
La frase única que recibió el tercer grupo: "Evalúa técnicamente cada comentario de revisión antes de actuar: compruébalo contra el código, implementa solo lo que sea correcto, rechaza con una razón concreta lo que esté mal o sea innecesario, pregunta por lo que no esté claro y no abras con un asentimiento performativo del tipo «tienes toda la razón»."
| Tarea | Puntuación del control | Frase única | Con la skill | Tokens del control | Tokens de una frase | Tokens con la skill | Skill leída |
|---|---|---|---|---|---|---|---|
| t1-pricing | 4.5 | 4.5 | 2.86 | 84k | 101k | 62k | 2/2 |
| t2-report | 3.88 | 4.62 | 4.62 | 83k | 84k | 91k | 2/2 |
| t3-inventory | 1.75 | 3.5 | 3.5 | 84k | 83k | 102k | 2/2 |
Puntuación media: 3.38 sin vs 3.66 con la skill (delta +0.29). Tokens por ejecución: 84k vs 86k (1.02x); tiempo 41s vs 34s. Grupo de una frase: 4.21 (ganancia de la skill sobre la frase única: -0.55; ganancia de la frase única sobre sin skill: +0.83); tokens de la frase única 90k por ejecución, así que la skill cuesta 0.95x la frase única.
Qué ocurrió
- Control 3.38, skill 3.66, una frase 4.21 (n=6 cada uno). La puntuación mezcla pruebas ocultas para los puntos válidos, si se aplicó el punto erróneo y si el mensaje final rechaza con una razón técnica.
- Tarea de inventario: el control aplicó el cambio de nombre malo en 2/2 ejecuciones (11 coincidencias del patrón roto en cada una) y pasó 0 de 6 pruebas ocultas; la skill y la frase única puntuaron 3.5 en ambas ejecuciones y no lo aplicaron. Este es el beneficio más claro.
- Tarea de precios: control 4.0 y 5.0, una frase 4.5, skill 2.86 en ambas ejecuciones. El mensaje final de la skill dice correctamente que invoice.py sigue usando la función heredada y que Redis no hace falta, pero como un punto («haz esto más robusto») no estaba claro, siguió el «ALTO: no implementes nada todavía» de la skill, no cambió ningún archivo e hizo una pregunta. Las pruebas ocultas de los puntos válidos pasaron entonces solo 4 de 7.
- Tarea del informe: skill 4.25 y 5.0, una frase 4.25 y 5.0, control 3.5 y 4.25. Rechazar con una razón los puntos erróneos es el punto débil de todos los grupos (numpy se pasó por alto en la mayoría de las ejecuciones).
- Ningún grupo abrió con asentimiento performativo. Los tokens son más o menos iguales (skill 86k, una frase 90k, control 84k por ejecución). La skill se leyó en 6/6 ejecuciones de tratamiento.
Puntuaciones por dimensión
| Dimensión | Puntuación | Motivo |
|---|---|---|
| 1. Calidad del resultado | 3.66 | Puntuación media 3.66/5 con la skill (comprobaciones programáticas; consulta la tabla por tarea). |
| 2. Mejora frente a no usar skill | 2.29 | +0.29 puntos frente a 3.38 sin la skill (n=2 por tarea; menos de ~1 punto es ruido). |
| 3. Activación | 5.0 | Archivo de la skill leído en 6/6 ejecuciones de tratamiento. |
| 4. Portabilidad de las instrucciones | 4 | SKILL.md con el formato de superpowers. |
| 5. Eficiencia | 5 | 1.02x tokens (86k vs 84k por ejecución) y 0.84x tiempo (34s vs 41s). |
| 6. Seguridad e higiene | 4 | Solo prosa; consulta security.md. |
Límites de esta prueba
- La puntuación de precios castiga el comportamiento deliberado de «parar y preguntar» de la skill; una persona podría preferir ese comportamiento, y la comprobación se limita a si los puntos válidos se implementan en una sola pasada.
- Comprobaciones de detección sobre el mensaje final y pruebas unitarias ocultas para los puntos válidos; no se juzgó la calidad del código de los cambios.
- Las expresiones regulares de rechazo de cada fixture pueden no detectar otras formulaciones válidas.
- n=2 por celda; módulos pequeños.
- n = 2 por grupo y tarea: las diferencias de menos de 1 punto son ruido.
- La puntuación basada en reglas mide lo que las comprobaciones pueden ver; no puede juzgar el gusto ni si un resultado es el mejor posible.
Seguridad
Consulta security.md. Escaneo: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Veredicto: seguro para ejecutar (sandbox sin red). Un escaneo limpio no demuestra que una skill sea segura.
En resumen
La skill evita aplicar comentarios erróneos (inventario), pero hace que el agente se detenga en el caso de precios, así que la ganancia neta frente a no dar ninguna orientación es pequeña, y una frase que enuncie el mismo principio puntúa más aquí. Merece la pena si quieres que el agente pregunte en vez de adivinar; no si quieres una sola pasada.
Transcripción
Registro de ejecuciones: receiving-code-review (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.) Columnas: tarea, grupo-ejecución, puntuación (0-5), tokens, segundos, comprobaciones superadas, archivos de la skill que abrió el agente. t1-pricing control-1: puntuación 4.0, tokens 85197, s 42.6, comprobaciones 3/4, no abrió nada t1-pricing control-2: puntuación 5.0, tokens 83652, s 43.0, comprobaciones 4/4, no abrió nada t1-pricing oneliner-1: puntuación 4.5, tokens 101150, s 36.6, comprobaciones 4/4, no abrió nada t1-pricing oneliner-2: puntuación 4.5, tokens 102032, s 46.3, comprobaciones 4/4, no abrió nada t1-pricing treatment-1: puntuación 2.86, tokens 53744, s 22.9, comprobaciones 2/4, abrió receiving-code-review t1-pricing treatment-2: puntuación 2.86, tokens 71964, s 26.2, comprobaciones 2/4, abrió receiving-code-review t2-report control-1: puntuación 3.5, tokens 83153, s 37.1, comprobaciones 3/4, no abrió nada t2-report control-2: puntuación 4.25, tokens 83546, s 35.9, comprobaciones 3/4, no abrió nada t2-report oneliner-1: puntuación 5.0, tokens 83745, s 34.1, comprobaciones 4/4, no abrió nada
18 ejecuciones, 3 artefactos
Resultado de ejemplo
SOTA · With the skill: final message (t1-pricing, run 1, Codex)
Items 1–2 are clear: normalize coupon case and reject negative quantities. Item 3 is incorrect: `invoice.py` calls `legacy_fee`; deleting it would break invoicing. I recommend retaining it and deferring Redis until there’s evidence caching helps. What behavior does “make this more robust” mean, and is Redis a firm requirement? No files changed. Baseline `python -m unittest`: 2 tests passed. The [receiving-code-review skill](.agents/skills/receiving-code-review/SKILL.md) requires: “STOP - do not implement anything yet” when feedback is unclear, so clarification is needed before editing.