Ejecución larga|INEMA.CLUB-PRO

Clase 5 · 17 min

Handoff que verifica si se guardó

Un handoff escrito por el propio agente se autocertifica: puede decir que probó lo que no probó, y el archivo puede ni haberse grabado. Desde el 17/10/2026 la prueba salió del texto: un script graba sello, commit y huella digital de los archivos, y el hook verifica en la transcripción si el handoff realmente se guardó.

Comenzar la clase
Un bastón de relevo metálico sobre un cuaderno técnico abierto, en una mesa oscura.

En esta clase vas a

  1. 1Qué va en el handoff y qué no
  2. 2Bloque de estado: commit y sha256 grabados por el script
  3. 3--conferir: igual (0), divergente (2), sin bloque (3)
  4. 4Preguntas de prueba y la nota N/5 al retomar

Objetivo: grabar un handoff con el script, verificar su frescura con --conferir y saber cuándo el hook cobra, graba solo o avisa que no se guardó.

01Del pedido a la retomada verificada

Skills session-handoff y prime del kit agente-claude-codex 1.8.3, con el hook-longrun 1.9.6.

Haz clic en cada bloque del diagrama para ver qué hace.

Regla de decisión: si sigue siendo verdad después de la tarea → memoria persistente (CLAUDE.md, AGENTS.md). Estado de esta tarea → handoff. Registro de lo que pasó → historial (git, progress, failures, decisions).

02Cuatro reglas de un handoff que sirve

Del análisis del 17/10/2026 del kit.

1. Puntero, no texto corrido

El mapa de retomada, las fuentes de las preguntas de prueba y las evidencias son rutas y commits. Eso sobrevive a la compactación, a la sesión nueva y al cambio de modelo.

Un historial largo entierra lo que el próximo agente necesita hacer.

03Instalar las skills y ensayar el --conferir

Las skills vienen del kit agente-claude-codex (1.8.3). El ensayo corre en un repositorio descartable en /tmp.

Terminal · instalar session-handoff y prime (Claude y Codex)
git clone https://github.com/inematds/agente-claude-codex ~/projetos/agente-claude-codex
cd ~/projetos/agente-claude-codex
cp -r skills/session-handoff/dist/claude/session-handoff skills/prime/dist/claude/prime ~/.claude/skills/
mkdir -p ~/.agents/skills
cp -r skills/session-handoff/dist/codex/session-handoff skills/prime/dist/codex/prime ~/.agents/skills/
mkdir -p ~/projetos/<seu-projeto>/handoffs/history   # el hook solo pide handoff donde esta carpeta existe
Terminal · ensayo del --conferir
rm -rf /tmp/ensaio-handoff && mkdir -p /tmp/ensaio-handoff/handoffs/history && cd /tmp/ensaio-handoff
git init -q && git config user.name ensaio && git config user.email ensaio@local
echo "def f(): return 1" > app.py && git add -A && git commit -qm base
H=~/.claude/skills/session-handoff/scripts/handoff-grava.py
cat > /tmp/corpo-handoff.md <<'EOF'
# Handoff — ensaio-conferir

## Estado aceito
- [confirmed] `app.py` devuelve 1 (commit: base; teste: python3 -c "import app; print(app.f())" → 1)

## Não fazer
- No cambiar la firma de f().

## Próxima ação
Cambiar el retorno de f() a 2 y correr la misma prueba, que debe imprimir 2.

## Perguntas-teste
1. ¿Cuál es la tarea y el criterio de terminado? (fuente: app.py)
2. ¿Cuál fue la última decisión y por qué? (fuente: git log)
3. ¿Qué no puede cambiar? (fuente: app.py)
4. ¿Qué está a medias? (fuente: app.py)
5. ¿Cuál es la próxima acción y por qué? (fuente: app.py)
EOF
python3 $H --assunto ensaio-conferir < /tmp/corpo-handoff.md
F=$(ls handoffs/history/*.md | head -1)
python3 $H --conferir $F; echo "saída: $?"
echo "def f(): return 2" > app.py
python3 $H --conferir $F; echo "saída: $?"
Ejemplo del repositorio
snapshot: handoffs/history/2026-10-19T070502Z-ensaio-conferir.md
latest.md: 1 assunto(s) aberto(s): ensaio-conferir
commit 8900d4e ensaio <ensaio@local> (sem push)
retomar ESTE handoff numa sessão nova (Codex: /new no lugar de /clear):
  /clear
  /prime handoffs/history/2026-10-19T070502Z-ensaio-conferir.md
frescor: igual (1 arquivo(s) conferido(s); commit b89d8ad3ba51)
saída: 0
frescor: divergente — o handoff é pista, não fato; confira antes de agir
  - app.py: mudou (citado no handoff)
saída: 2

El sello y los hashes cambian en cada ejecución. La línea snapshot: es la que el hook lee en la transcripción para saber qué handoff grabó ESTA sesión.

04Práctica

Las dos primeras no gastan cuota. La tercera usa una sesión tuya.

E10 · Skills instaladas

10 min

Instala session-handoff y prime para Claude y para Codex y crea handoffs/history/ en el proyecto de tu ejecución.

Listo cuando: python3 ~/.claude/skills/session-handoff/scripts/handoff-grava.py --help | grep -c conferir → 1 o más, y ls ~/.agents/skills lista prime y session-handoff.

E11 · Frescura igual y divergente

10 min

Corre el ensayo del --conferir completo.

Listo cuando: frescor: igual con saída: 0, y después de cambiar app.py, frescor: divergente con - app.py: mudou y saída: 2.

E12 · Un handoff real, retomado

20 min

En el proyecto de tu ejecución, pide /session-handoff al final de un bloque de trabajo. Abre una sesión nueva y corre /prime con la ruta que imprimió el script.

Listo cuando: el resumen del /prime muestra la línea de frescura (igual) y Perguntas-teste: N/5; anota el N en el progress.md de la ejecución.

05Prueba de la clase

Pregunta 1 de 4

¿Quién escribe el bloque de estado (commit y sha256) del handoff?competencia

06En tres frases

El script graba la pruebaSello real, archivo nuevo, commit y sha256 de los archivos; [confirmed] solo con commit, prueba o archivo.
El hook verificaBusca la grabación en la transcripción, insiste hasta 2 veces y avisa cuando no se guardó; a los 45 min detenido graba en una copia.
La retomada se mide/prime ejecuta el --conferir, revisa las pruebas y da la nota de las preguntas de prueba.

Para ir más allá

Clase anteriorPróxima clase