Skip to content
Back to skills

Overnight Sprint

ASecurity

Usar cuando se quiere ejecutar tareas de bajo riesgo de forma autónoma durante la noche.

  • 50 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsgoshellbashrefactoringgitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 4, 2026

npx -y skills add gonzalezpazmonica/savia --skill overnight-sprint --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Overnight Sprint?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Overnight Sprint
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gonzalezpazmonica-overnight-sprint/badge)](https://www.skillsdirectory.com/skills/gonzalezpazmonica-overnight-sprint)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
layer: peripheral
name: overnight-sprint
description: Usar cuando se quiere ejecutar tareas de bajo riesgo de forma autónoma durante la noche.
metadata:
  # --- metadata.savia.* (SE-333) ---
  savia.agent: dev-orchestrator
  savia.maturity: stable
  savia.category: sdd-framework
  savia.context: fork
  savia.loop_level: L2  # L0=draft | L1=report-only | L2=assisted | L3=unattended — ver docs/rules/domain/loop-phasing.md
  savia.priority: medium
  savia.summary: "Sprint autonomo nocturno: ejecuta tareas de bajo riesgo en bucle. Genera PRs Draft en ramas agent/overnight-*. Revision humana obligatoria al dia siguiente."
  savia.tags: "autonomous, overnight, batch, low-risk"
---
## Subagent Scope Guard

> Subagente delegado: ejecuta SOLO la tarea asignada, reporta
> DONE/DONE_WITH_CONCERNS/BLOCKED, y retorna. Previene activación runaway.
# Skill: Overnight Sprint

> **Regla de seguridad**: `@docs/rules/domain/autonomous-safety.md` — PR Draft; merge solo con grant expreso, CI y gates de riesgo. La operadora única puede revisar sus PRs.

## Cuándo usar esta skill

- Hay tareas de bajo riesgo acumuladas (fix de linter, mejora de tests, documentación, refactoring menor)
- El equipo quiere aprovechar horas no laborables para avanzar trabajo mecánico
- Se busca generar PRs listos para revisión humana al inicio del siguiente día

## Qué produce

1. **PRs en Draft** — uno por tarea; solicitar reviewer distinto si existe, o entregar a la operadora única
2. **results.tsv** — registro de cada intento: `output/overnight-results-{YYYYMMDD}.tsv`
3. **Informe resumen** — `output/overnight-summary-{YYYYMMDD}.md`
4. **Audit log** — `output/agent-runs/overnight-{YYYYMMDD}-audit.log`

## Prerequisitos (gate de arranque)

```
1. Operadora identificada o reviewer distinto elegible       → si no: ❌ ABORT
   Si `AUTONOMOUS_REVIEWER` es la operadora única, no pedir self-review a GitHub.
2. Doble opt-in (SPEC-186):                                  → si no: ❌ ABORT
   bash scripts/savia-double-optin-check.sh \
     --skill overnight-sprint --confirm-autonomous
   Requiere AMBOS: OVERNIGHT_SPRINT_ENABLED=true Y flag explicito.
3. Hay tareas etiquetadas como overnight-safe en el backlog  → si no: ⚠️ nada que hacer
4. Tests del proyecto pasan en estado actual (baseline)      → si no: ❌ ABORT
5. Auto Mode activado (claude --enable-auto-mode)            → si no: ⚠️ warning, continuar
```

## Auto Mode — red de seguridad

`claude --enable-auto-mode` bloquea acciones destructivas pre-tool-call.
Complementa `autonomous-safety.md` — no lo reemplaza.

## Flujo completo

```
Humano ejecuta /overnight-sprint
    ↓
Validar prerequisitos (ruta de revisión, enabled, tareas, baseline tests)
    ↓
Mostrar lista de tareas candidatas → PEDIR CONFIRMACIÓN HUMANA
    ↓
[Humano confirma] → Registrar baseline de métricas
    ↓
LOOP (hasta max_tasks o max_failures o fin de tareas):
  ↓
  Tomar siguiente tarea del backlog
    ↓
  Crear rama: agent/overnight-{YYYYMMDD}-{tarea_id}
    ↓
  Crear worktree aislado
    ↓
  Implementar tarea → tests → ¿pasan? → PR Draft / descartar
  ↓
  Coherence (SE-350): `bash scripts/coherence-court.sh premises overnight-{fecha} add decision "task {id} done: {desc}" --stage task-{id}`
  ↓ crash/timeout → contador fallos
  ↓ fallos >= MAX → ABORT
  ↓ Siguiente tarea → … → Informe → Notificar operadora/reviewer elegible
```

## Cuándo NO usar

- Tareas de alto riesgo (arquitectura, migraciones, API pública)
- Sin ruta de revisión humana / baseline roto
- Tareas que requieren decisiones de diseño

## Formato de results.tsv

```
timestamp  tarea_id  rama  status  tests_pass  pr_url
2026-03-12T01:15:00  AB-1234  agent/overnight-…  pr-created  true  https://…
```

## Restricciones estrictas

```
NUNCA → Hacer merge sin grant expreso, CI verde y gates de riesgo
NUNCA → Aprobar un PR
NUNCA → Hacer commit en rama de humano (main, develop, feature/*)
NUNCA → Crear tareas en el backlog
NUNCA → Modificar configuración del proyecto
NUNCA → Instalar dependencias nuevas sin que estén en la tarea
SIEMPRE → PR en Draft; reviewer distinto si es elegible, o revisión de la operadora única
SIEMPRE → Ramas agent/overnight-*
SIEMPRE → Registrar CADA intento en results.tsv
SIEMPRE → Generar audit log
```

> **Metricas**: PRs/sesion ≥5, aceptacion ≥70%, crashes ≤3. SE-206: `scripts/agent-wait-idle.sh`.

## Loop State

STATE.md canónico (schema `docs/rules/domain/loop-state-schema.md`). Init: `bash scripts/loop-state-init.sh --skill overnight-sprint`
## Modo CI Unblock (--mode ci-unblock)

Desbloquea PRs con CI roto por orden PR# ASC. Ver `CI-UNBLOCK.md`. Prerequisito: `CI_UNBLOCK_NEST_ENABLED=true` + doble opt-in SPEC-186.

```
/overnight-sprint --mode ci-unblock [--repo owner/repo] [--limit N]
```

## Token Exhaustion Recovery (SE-250)

Si una iteración falla, detectar causa antes de contar el fallo:

```bash
bash scripts/detect-token-exhaustion.sh --log "$ITER_LOG"
```

Escalación: `token_exhaustion` → subir tier (fast→mid, mid→heavy con `ALLOW_HEAVY_ESCALATION=true`).
`logic_error` o `unknown` → no escalar. Registrar `tier_escalated` en `results.tsv`.

## Feedback acotado de gates (lección SE-347 / PMA)

Un **gate** es una verificación (comando shell) que debe pasar antes de dar la
tarea por terminada. Si falla, NO repitas a ciegas:
1. Alimenta la siguiente iteración con **output acotado** del error (≤ el
   output del gate, truncado), no la traza completa.
2. Límites duros por tarea: continuations 3 · turns 12 · tokens 80k ·
   wall-clock 30min → al superarlos, ABORT y `requires-human`.
3. Mismo motivo 2 veces seguidas → detener y `GATE_STUCK`.
Ejemplo: `bash <gate>.sh && echo GATE_PASS`; si no pasa, recoge el error
acotado y reintenta UNA vez con causa distinta.

## Coherence Court (SE-350) — anti-saturación

El bucle registra cada tarea como premisa (determinista, sin LLM, JSONL local).
**NUNCA** la auditoría LLM (4 jueces) por tarea — satura. La auditoría completa

Files in this skill

  • CI-UNBLOCK.md1.8 KB
  • DOMAIN.md1.7 KB
  • SKILL.md6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…