Review requirements for implementation gaps
Find missing states, unclear acceptance criteria, and contradictory requirements in a supplied brief.
5,512,936 AI resources indexedWorking toward the world’s largest AI resource index.
Review and resolve entries in `doc/app/decisions_queue.md` — the deferred decisions queue introduced in v5.29.0. Lists pending entries from one or many projects, lets the user confirm / adjust / revert each, and moves resolved ones to the historical section. Use when the user says "queue review",...
---
name: queue-review-2b6fc9074e58
description: >
Review and resolve entries in `doc/app/decisions_queue.md` — the deferred
decisions queue introduced in v5.29.0. Lists pending entries from one or
many projects, lets the user confirm / adjust / revert each, and moves
resolved ones to the historical section. Use when the user says
"queue review", "review queue", "revisar cola", "resolver pendientes",
or wants to batch-process decisions accumulated by the autopilot in
`equilibrado` / `agresivo` modes when `autopilot.queue_enabled=true`.
context: direct
allowed-tools: Read, Write, Edit, Bash(pwd), Bash(ls:*)
---
# /queue review — Resolver decisiones diferidas
Procesa la cola en `doc/app/decisions_queue.md`. La cola solo se llena cuando el proyecto tiene `specbox.autopilot.queue_enabled = true` (off por default en v5.29.0). Cuando está apagada, las decisiones diferibles se preguntan síncronamente como en v5.28.
## Uso
```
/queue review # Lista pendientes en este proyecto
/queue review --recent N # Solo las N más recientes pendientes
/queue review --feature signup-flow # Filtrar por feature
/queue review --resolve dq-XXX # Resolver una entrada específica
/queue review --all-projects # Reservado para multi-proyecto (PR-15+)
```
---
## MCP remoto: enviar la cola
El servidor alojado (`mcp.specbox.build`) no lee ni escribe tu repositorio (UC-8604). Con él,
cada llamada a estas tools lleva **`files_content`**: los ficheros que lee, como `{ruta relativa:
contenido}` (léelos con `Read`; los que no existan, no los mandes). Después aplica la respuesta en
el repositorio:
- `files_changed` → escribe cada fichero con ese contenido completo (`Write`).
- `files_deleted` → bórralos.
- `files_appended` → añade ese texto al final del fichero, sin sobrescribir lo que tiene.
- `files_requested` → ficheros que la tool buscó y no mandaste: si existen, repite la llamada
añadiéndolos.
Si la respuesta es `APP_DOCS_CONTENT_REQUIRED` o `CLIENT_CONTENT_REQUIRED`, faltó el contenido. Con
el MCP local (`stdio`) basta `project_path` y nada de esto hace falta.
Aquí el fichero es uno: `doc/app/decisions_queue.md`. Cada `resolve_queue_entry` devuelve la cola
nueva en `files_changed`: escríbela y manda **esa** versión en la llamada siguiente (en un batch,
encadena las resoluciones sobre el contenido actualizado).
---
## Paso 1 — Listar la cola
Llama:
```
list_decisions_queue(project_path=".")
# MCP remoto: list_decisions_queue(files_content={"doc/app/decisions_queue.md": <contenido>})
```
Si retorna `exists=false`, informa "La cola no se ha creado aún. Las decisiones diferibles solo se acumulan cuando `autopilot.queue_enabled=true`." y termina.
Si retorna `pending_count=0`, informa "Sin decisiones pendientes." y termina.
Si hay pendientes, formatea la salida así:
```
🔄 Decisiones pendientes (N):
[1] dq-XXXX-abcd-veg
feature: signup-flow
decision_key: veg_preview
Generado: hace 2 horas
Default aplicado: Per-ICP arquetipo Startup (score=0.82)
Bloquea: marcar UC-003 como ACCEPTED
Evidencia: doc/veg/signup-flow/preview.md
Acción: [c]onfirmar [a]djust [r]everter [s]kip
[2] ...
```
Pide al usuario que elija qué quiere hacer (uno por uno o batch).
---
## Paso 2 — Resolver entradas
Cuando el usuario decide:
| Acción | Lógica |
|--------|--------|
| **Confirmar** | El default tentativo era correcto. Llama `resolve_queue_entry(engine_id, resolution="confirmed: <texto opcional>")`. |
| **Ajustar** | Pregunta el nuevo valor, aplica el cambio en el artefacto referenciado por `evidence`, y resuelve con `resolution="adjusted: <descripción>"`. |
| **Revertir** | El default fue incorrecto. Pregunta qué hacer (rehacer paso síncrono, abortar feature, etc.) y resuelve con `resolution="reverted: <razón>"`. |
| **Skip** | No hacer nada — la entrada queda pendiente. |
Si el usuario quiere batch-resolver con un patrón ("aprobar todos los veg_preview con score >0.85"):
1. Filtra `pendientes` por `decision_key` y/o por contenido en `default_applied`.
2. Aplica el `resolve_queue_entry` para cada match.
3. Reporta cuántas resolvió en batch.
---
## Paso 3 — Output final
```
✅ Resueltas en esta sesión: N
doc/app/decisions_queue.md actualizado (M pendientes restantes)
UCs desbloqueados (si los hay): UC-003, UC-007
```
Los UCs se desbloquean automáticamente cuando todas sus entradas pendientes se resuelven (esto lo gestiona el sync layer de PR-12+).
---
## Inviolables
La cola **nunca** acepta:
- `destructive_action`
- `image_cost_over_budget`
- `branch_to_main_push`
- `definition_quality_gate`
- `feature_problem_definition`
- `feedback_field_classification`
Estos siempre se preguntan síncronamente. Si el usuario invoca `/queue review` y ve uno de estos en la cola, es un bug — reportar para revisar el flujo del skill que lo encoló indebidamente.
---
## Auto-resolve
Si una entrada tiene más de `autopilot.queue_auto_resolve_days` días (default 7), se auto-resuelve manteniendo el default tentativo. Esto evita que la cola se acumule indefinidamente. La auto-resolución queda registrada con `auto_resolved=true` para auditabilidad.
`/queue review` puede mostrar warnings sobre entradas que están a punto de auto-resolverse.
---
## Reglas
- Nunca borrar entradas resueltas — son histórico de decisiones del proyecto.
- Editar `decisions_queue.md` a mano está OK (es una zona `manual` del usuario), pero el formato lo gestiona el parser; un fichero con marcadores rotos hace que `list_decisions_queue` retorne errores.
- Después de resolver, mostrar al usuario el comando equivalente para que pueda automatizar:
```
resolve_queue_entry(engine_id="dq-XXX", resolution="confirmed: looks good")
```
---
name: queue-review-2b6fc9074e58
description: >
Review and resolve entries in `doc/app/decisions_queue.md` — the deferred
decisions queue introduced in v5.29.0. Lists pending entries from one or
many projects, lets the user confirm / adjust / revert each, and moves
resolved ones to the historical section. Use when the user says
"queue review", "review queue", "revisar cola", "resolver pendientes",
or wants to batch-process decisions accumulated by the autopilot in
`equilibrado` / `agresivo` modes when `autopilot.queue_enabled=true`.
context: direct
allowed-tools: Read, Write, Edit, Bash(pwd), Bash(ls:*)
---
# /queue review — Resolver decisiones diferidas
Procesa la cola en `doc/app/decisions_queue.md`. La cola solo se llena cuando el proyecto tiene `specbox.autopilot.queue_enabled = true` (off por default en v5.29.0). Cuando está apagada, las decisiones diferibles se preguntan síncronamente como en v5.28.
## Uso
```
/queue review # Lista pendientes en este proyecto
/queue review --recent N # Solo las N más recientes pendientes
/queue review --feature signup-flow # Filtrar por feature
/queue review --resolve dq-XXX # Resolver una entrada específica
/queue review --all-projects # Reservado para multi-proyecto (PR-15+)
```
---
## MCP remoto: enviar la cola
El servidor alojado (`mcp.specbox.build`) no lee ni escribe tu repositorio (UC-8604). Con él,
cada llamada a estas tools lleva **`files_content`**: los ficheros que lee, como `{ruta relativa:
contenido}` (léelos con `Read`; los que no existan, no los mandes). Después aplica la respuesta en
el repositorio:
- `files_changed` → escribe cada fichero con ese contenido completo (`Write`).
- `files_deleted` → bórralos.
- `files_appended` → añade ese texto al final del fichero, sin sobrescribir lo que tiene.
- `files_requested` → ficheros que la tool buscó y no mandaste: si existen, repite la llamada
añadiéndolos.
Si la respuesta es `APP_DOCS_CONTENT_REQUIRED` o `CLIENT_CONTENT_REQUIRED`, faltó el contenido. Con
el MCP local (`stdio`) basta `project_path` y nada de esto hace falta.
Aquí el fichero es uno: `doc/app/decisions_queue.md`. Cada `resolve_queue_entry` devuelve la cola
nueva en `files_changed`: escríbela y manda **esa** versión en la llamada siguiente (en un batch,
encadena las resoluciones sobre el contenido actualizado).
---
## Paso 1 — Listar la cola
Llama:
```
list_decisions_queue(project_path=".")
# MCP remoto: list_decisions_queue(files_content={"doc/app/decisions_queue.md": <contenido>})
```
Si retorna `exists=false`, informa "La cola no se ha creado aún. Las decisiones diferibles solo se acumulan cuando `autopilot.queue_enabled=true`." y termina.
Si retorna `pending_count=0`, informa "Sin decisiones pendientes." y termina.
Si hay pendientes, formatea la salida así:
```
🔄 Decisiones pendientes (N):
[1] dq-XXXX-abcd-veg
feature: signup-flow
decision_key: veg_preview
Generado: hace 2 horas
Default aplicado: Per-ICP arquetipo Startup (score=0.82)
Bloquea: marcar UC-003 como ACCEPTED
Evidencia: doc/veg/signup-flow/preview.md
Acción: [c]onfirmar [a]djust [r]everter [s]kip
[2] ...
```
Pide al usuario que elija qué quiere hacer (uno por uno o batch).
---
## Paso 2 — Resolver entradas
Cuando el usuario decide:
| Acción | Lógica |
|--------|--------|
| **Confirmar** | El default tentativo era correcto. Llama `resolve_queue_entry(engine_id, resolution="confirmed: <texto opcional>")`. |
| **Ajustar** | Pregunta el nuevo valor, aplica el cambio en el artefacto referenciado por `evidence`, y resuelve con `resolution="adjusted: <descripción>"`. |
| **Revertir** | El default fue incorrecto. Pregunta qué hacer (rehacer paso síncrono, abortar feature, etc.) y resuelve con `resolution="reverted: <razón>"`. |
| **Skip** | No hacer nada — la entrada queda pendiente. |
Si el usuario quiere batch-resolver con un patrón ("aprobar todos los veg_preview con score >0.85"):
1. Filtra `pendientes` por `decision_key` y/o por contenido en `default_applied`.
2. Aplica el `resolve_queue_entry` para cada match.
3. Reporta cuántas resolvió en batch.
---
## Paso 3 — Output final
```
✅ Resueltas en esta sesión: N
doc/app/decisions_queue.md actualizado (M pendientes restantes)
UCs desbloqueados (si los hay): UC-003, UC-007
```
Los UCs se desbloquean automáticamente cuando todas sus entradas pendientes se resuelven (esto lo gestiona el sync layer de PR-12+).
---
## Inviolables
La cola **nunca** acepta:
- `destructive_action`
- `image_cost_over_budget`
- `branch_to_main_push`
- `definition_quality_gate`
- `feature_problem_definition`
- `feedback_field_classification`
Estos siempre se preguntan síncronamente. Si el usuario invoca `/queue review` y ve uno de estos en la cola, es un bug — reportar para revisar el flujo del skill que lo encoló indebidamente.
---
## Auto-resolve
Si una entrada tiene más de `autopilot.queue_auto_resolve_days` días (default 7), se auto-resuelve manteniendo el default tentativo. Esto evita que la cola se acumule indefinidamente. La auto-resolución queda registrada con `auto_resolved=true` para auditabilidad.
`/queue review` puede mostrar warnings sobre entradas que están a punto de auto-resolverse.
---
## Reglas
- Nunca borrar entradas resueltas — son histórico de decisiones del proyecto.
- Editar `decisions_queue.md` a mano está OK (es una zona `manual` del usuario), pero el formato lo gestiona el parser; un fichero con marcadores rotos hace que `list_decisions_queue` retorne errores.
- Después de resolver, mostrar al usuario el comando equivalente para que pueda automatizar:
```
resolve_queue_entry(engine_id="dq-XXX", resolution="confirmed: looks good")
```
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.