Session Handoff
Effort: free — un solo archivo plano escrito antes de que el contexto muera; sin llamadas a modelos, y recorta el costo neto directamente al arrancar la siguiente sesión. Elimina: que el agente fresco re-derive el estado, que re-pague trampas ya pagadas, y decisiones perdidas en una ventana de contexto muerta.
Una ventana de contexto muere; el trabajo no debe morir con ella. Antes de que
una sesión termine o se compacte, escribe un archivo plano que un agente recién
llegado pueda leer en frío y continuar — qué se estaba haciendo, dónde vive, qué
está a medias y el próximo comando exacto. Un relevo (handoff) estacionado solo
en la prosa del chat o en la memoria no existe.
Cuándo escribir uno
- Antes de que la ventana de contexto se compacte o se limpie.
- Al terminar una sesión con trabajo todavía abierto.
- Justo después de aterrizar algo grande (registra el id del commit mientras
está fresco).
- En el momento en que una decisión real sube a tu humano (registra qué significa
cada opción).
Dónde va
Un lugar conocido donde el próximo agente mirará PRIMERO. Si el próximo agente
comparte tu proyecto, usa un archivo de bitácora estable en el repo y commitea la
actualización, para que sobreviva un reinicio de máquina y no solo una limpieza
de contexto. Si el próximo agente es otro harness o un login fresco, escribe un
archivo plano portátil en el directorio temporal — es andamiaje, no un artefacto
rastreado.
Verifica el trabajo concurrente primero (antes de escribir una palabra)
Comprueba que el trabajo de OTRAS sesiones está preservado. Corre git status,
git log y git worktree list. Anota con honestidad los archivos sucios y las
ramas sin fusionar. Nunca alteres el trabajo sin commitear de otra sesión para
que el relevo se vea limpio — ese es el defecto de pérdida de datos. Un relevo
que describe un estado limpio mientras otra sesión tiene trabajo en vuelo es una
afirmación falsa.
Qué lleva — una sección corta por punto
- Meta. El trabajo en una frase. El próximo agente no debe adivinar qué
significa "terminado".
- Estado. Aterrizado (ids de commit), en construcción, en cola. Referencia
specs, planes, issues y diffs por ruta o URL — nunca dupliques su contenido.
- Dónde vive el trabajo. Ramas, worktrees, archivos sucios. Nombra los
archivos exactos que el próximo agente debe leer primero.
- El rastro de veredictos. Quién o qué calificó cada pieza y cuáles fueron
los hallazgos reales. Un veredicto reprobado con defectos nombrados vale MÁS
que un verde — escribe los defectos textuales.
- Trabajo a medias y el próximo comando exacto. Qué está en pleno vuelo, y
el comando literal que lo continúa.
- Decisiones abiertas. Todo lo que espera a tu humano, y qué significa cada
opción. Una decisión jamás debe existir solo en una ventana de contexto muerta.
- Contratos sin cumplir. Tests todavía en rojo, pruebas todavía faltantes,
promesas hechas y aún no cumplidas.
- Trampas. Una línea cada una. Una trampa que ya pagaste vale más que un
verde — escríbela para que la próxima sesión no la pague otra vez.
- Skills sugeridas. Qué skills debería cargar primero el próximo agente, y
una línea del porqué. Esto es lo que hace al doc portátil entre harnesses.
Reglas duras
- Censura. Nada de claves de API, contraseñas, tokens ni datos personales.
Nada de hostnames reales, IPs internas ni rutas de home — solo marcadores de
posición; apunta a los valores reales por nombre de variable de entorno. El
relevo es el archivo con más chances de salir de la máquina; un secreto que se
fuga por él ES el bug.
- Las afirmaciones de ausencia se pudren más rápido. Antes de escribir "X no
existe" o "X no aterrizó", vuelve a verificarlo en el commit actual — el
trabajo paralelo aterriza mientras escribes.
- Estado de dos palabras por ítem: PROVEN o STILL-BUILDING. Tests verdes sin
prueba viva es STILL-BUILDING, y el relevo dice exactamente qué prueba falta.
- Que se lea en dos minutos (unas 120 líneas). Cuando crezca más allá de
eso, archiva los bloques más viejos moviéndolos a una sección de historia —
nunca borrándolos.
Retomar (la otra mitad)
Una sesión que arranca desde un relevo lo lee PRIMERO, y luego verifica las dos
o tres afirmaciones principales contra git log y el árbol vivo antes de actuar
sobre ellas. El relevo es un mapa, no la verdad — confíale el DÓNDE mirar;
verifica el QUÉ dice.
Combina bien con
- root-cause-first — la investigación que la próxima sesión continúa.
- repair-loop — pasar el relevo a mitad del loop sin perder el seam.
- decision-bar — cómo llegan las decisiones abiertas a tu humano.
Crédito de andamiaje: Matt Pocock, handoff (mattpocock/skills). La composición y las reglas duras de aquí son de BACKS AIOS.
1---2name: session-handoff-33description: Úsala cuando una sesión está terminando, la ventana de contexto está por compactarse, o el trabajo debe continuar en otro agente u otro harness. Compacta la sesión en un archivo plano que un agente recién llegado puede leer en frío y continuar — estado, trabajo a medias, el próximo comando exacto, decisiones abiertas — con secretos censurados y el trabajo concurrente verificado como preservado. Trigger words: handoff, hand off, compact, save state, continue in another session, portable handoff, before restart, relevo, traspaso, compactar, guardar estado, continuar en otra sesión, relevo portátil, antes de reiniciar.4license: MIT5---67# Session Handoff8**Effort:** free — un solo archivo plano escrito antes de que el contexto muera; sin llamadas a modelos, y recorta el costo neto directamente al arrancar la siguiente sesión. Elimina: que el agente fresco re-derive el estado, que re-pague trampas ya pagadas, y decisiones perdidas en una ventana de contexto muerta.910Una ventana de contexto muere; el trabajo no debe morir con ella. Antes de que11una sesión termine o se compacte, escribe un archivo plano que un agente recién12llegado pueda leer en frío y continuar — qué se estaba haciendo, dónde vive, qué13está a medias y el próximo comando exacto. Un relevo (handoff) estacionado solo14en la prosa del chat o en la memoria no existe.1516## Cuándo escribir uno1718- Antes de que la ventana de contexto se compacte o se limpie.19- Al terminar una sesión con trabajo todavía abierto.20- Justo después de aterrizar algo grande (registra el id del commit mientras21 está fresco).22- En el momento en que una decisión real sube a tu humano (registra qué significa23 cada opción).2425## Dónde va2627Un lugar conocido donde el próximo agente mirará PRIMERO. Si el próximo agente28comparte tu proyecto, usa un archivo de bitácora estable en el repo y commitea la29actualización, para que sobreviva un reinicio de máquina y no solo una limpieza30de contexto. Si el próximo agente es otro harness o un login fresco, escribe un31archivo plano portátil en el directorio temporal — es andamiaje, no un artefacto32rastreado.3334## Verifica el trabajo concurrente primero (antes de escribir una palabra)3536Comprueba que el trabajo de OTRAS sesiones está preservado. Corre `git status`,37`git log` y `git worktree list`. Anota con honestidad los archivos sucios y las38ramas sin fusionar. Nunca alteres el trabajo sin commitear de otra sesión para39que el relevo se vea limpio — ese es el defecto de pérdida de datos. Un relevo40que describe un estado limpio mientras otra sesión tiene trabajo en vuelo es una41afirmación falsa.4243## Qué lleva — una sección corta por punto44451. **Meta.** El trabajo en una frase. El próximo agente no debe adivinar qué46 significa "terminado".472. **Estado.** Aterrizado (ids de commit), en construcción, en cola. Referencia48 specs, planes, issues y diffs por ruta o URL — nunca dupliques su contenido.493. **Dónde vive el trabajo.** Ramas, worktrees, archivos sucios. Nombra los50 archivos exactos que el próximo agente debe leer primero.514. **El rastro de veredictos.** Quién o qué calificó cada pieza y cuáles fueron52 los hallazgos reales. Un veredicto reprobado con defectos nombrados vale MÁS53 que un verde — escribe los defectos textuales.545. **Trabajo a medias y el próximo comando exacto.** Qué está en pleno vuelo, y55 el comando literal que lo continúa.566. **Decisiones abiertas.** Todo lo que espera a tu humano, y qué significa cada57 opción. Una decisión jamás debe existir solo en una ventana de contexto muerta.587. **Contratos sin cumplir.** Tests todavía en rojo, pruebas todavía faltantes,59 promesas hechas y aún no cumplidas.608. **Trampas.** Una línea cada una. Una trampa que ya pagaste vale más que un61 verde — escríbela para que la próxima sesión no la pague otra vez.629. **Skills sugeridas.** Qué skills debería cargar primero el próximo agente, y63 una línea del porqué. Esto es lo que hace al doc portátil entre harnesses.6465## Reglas duras6667- **Censura.** Nada de claves de API, contraseñas, tokens ni datos personales.68 Nada de hostnames reales, IPs internas ni rutas de home — solo marcadores de69 posición; apunta a los valores reales por nombre de variable de entorno. El70 relevo es el archivo con más chances de salir de la máquina; un secreto que se71 fuga por él ES el bug.72- **Las afirmaciones de ausencia se pudren más rápido.** Antes de escribir "X no73 existe" o "X no aterrizó", vuelve a verificarlo en el commit actual — el74 trabajo paralelo aterriza mientras escribes.75- **Estado de dos palabras por ítem: PROVEN o STILL-BUILDING.** Tests verdes sin76 prueba viva es STILL-BUILDING, y el relevo dice exactamente qué prueba falta.77- **Que se lea en dos minutos** (unas 120 líneas). Cuando crezca más allá de78 eso, archiva los bloques más viejos moviéndolos a una sección de historia —79 nunca borrándolos.8081## Retomar (la otra mitad)8283Una sesión que arranca desde un relevo lo lee PRIMERO, y luego verifica las dos84o tres afirmaciones principales contra `git log` y el árbol vivo antes de actuar85sobre ellas. El relevo es un mapa, no la verdad — confíale el DÓNDE mirar;86verifica el QUÉ dice.8788## Combina bien con8990- [root-cause-first](../root-cause-first/SKILL.md) — la investigación que la próxima sesión continúa.91- [repair-loop](../repair-loop/SKILL.md) — pasar el relevo a mitad del loop sin perder el seam.92- [decision-bar](../decision-bar/SKILL.md) — cómo llegan las decisiones abiertas a tu humano.9394> Crédito de andamiaje: Matt Pocock, handoff (mattpocock/skills). La composición y las reglas duras de aquí son de BACKS AIOS.