Session Handoff
Effort: free — um arquivo plano escrito antes de o contexto morrer; nenhuma chamada de modelo, e corta custo na raiz no início da próxima sessão. Remove: o agente novo re-derivando o estado, repagando armadilhas já pagas, e decisões perdidas numa janela de contexto morta.
Uma janela de contexto morre; o trabalho não pode morrer junto. Antes de uma
sessão terminar ou compactar, escreva um arquivo plano que um agente novo em
folha consiga ler frio e continuar — o que estava sendo feito, onde mora, o
que está pela metade e o próximo comando exato. Handoff estacionado em prosa
de chat ou só na memória não existe.
Quando escrever um
- Antes de a janela de contexto compactar ou ser limpa.
- Ao encerrar uma sessão com trabalho ainda aberto.
- Logo depois de aterrissar algo grande (registre o id do commit enquanto
está fresco).
- No momento em que uma decisão de verdade vai para o seu humano (registre o
que cada escolha significa).
Onde ele vai
Um lugar conhecido onde o próximo agente vai olhar PRIMEIRO. Se o próximo
agente divide o seu projeto, use um arquivo de registro estável no repo e
commite a atualização, para ela sobreviver a um restart de máquina, não só a
uma limpeza de contexto. Se o próximo agente é outro harness ou um login
novo, escreva um arquivo plano portátil no diretório temporário — é andaime,
não artefato rastreado.
Verifique o trabalho concorrente primeiro (antes de escrever uma palavra)
Cheque que o trabalho de OUTRAS sessões está preservado. Rode git status,
git log e git worktree list. Anote no doc, com honestidade, os arquivos
sujos e as branches não fundidas. Nunca altere o trabalho não commitado de
outra sessão para o handoff parecer limpo — esse é o defeito de perda de
dados. Um handoff que descreve um estado limpo enquanto outra sessão tem
trabalho em voo é uma alegação falsa.
O que entra — uma seção curta cada
- Objetivo. O trabalho em uma frase. O próximo agente não pode ter que
adivinhar o que "pronto" significa.
- Estado. Aterrissado (ids de commit), construindo, na fila. Referencie
specs, planos, issues e diffs por caminho ou URL — nunca duplique o
conteúdo deles.
- Onde o trabalho mora. Branches, worktrees, arquivos sujos. Nomeie os
arquivos exatos que o próximo agente deve ler primeiro.
- A trilha de veredictos. Quem ou o quê avaliou cada peça e quais foram
as pegadas reais. Um veredicto reprovado com defeitos nomeados vale MAIS
que um verde — escreva os defeitos palavra por palavra.
- Trabalho pela metade e o próximo comando exato. O que está em pleno
voo, e o comando literal que continua dali.
- Decisões abertas. Qualquer coisa esperando o seu humano, e o que cada
escolha significa. Uma decisão nunca pode existir só numa janela de
contexto morta.
- Contratos não cumpridos. Testes ainda vermelhos, provas ainda
faltando, promessas feitas e ainda não mantidas.
- Armadilhas. Uma linha cada. Uma armadilha que você já pagou vale mais
que um verde — escreva para a próxima sessão não pagar de novo.
- Skills sugeridas. Quais skills o próximo agente deve carregar
primeiro, e uma linha do porquê. É isso que torna o doc portátil entre
harnesses.
Regras duras
- Redija. Nada de chave de API, senha, token ou dado pessoal. Nada de
hostname real, IP interno ou caminho de home — só placeholders; aponte para
os valores reais pelo nome da variável de ambiente. O handoff é o arquivo
com mais chance de sair da máquina; um segredo que vaza por ele É o bug.
- Alegações de ausência apodrecem mais rápido. Antes de escrever "X não
existe" ou "X não aterrissou", verifique de novo no commit atual —
trabalho paralelo aterrissa enquanto você escreve.
- Status de duas palavras por item: PROVEN ou STILL-BUILDING. Testes
verdes sem prova viva é STILL-BUILDING, e o handoff diz exatamente qual
prova falta.
- Mantenha legível em dois minutos (cerca de 120 linhas). Quando passar
disso, arquive os blocos mais antigos movendo-os para uma seção de
histórico — nunca apagando.
Retomada (a outra metade)
Uma sessão que parte de um handoff o lê PRIMEIRO, depois verifica as duas ou
três alegações do topo contra git log e a árvore viva antes de agir sobre
elas. O handoff é um mapa, não a verdade — confie nele para ONDE olhar;
verifique O QUE ele diz.
Funciona bem com
Crédito de scaffold: Matt Pocock, handoff (mattpocock/skills). A composição e as regras duras aqui são BACKS AIOS.
1---2name: session-handoff-63description: Use quando uma sessão está acabando, a janela de contexto vai compactar, ou o trabalho precisa continuar em outro agente ou harness. Compacta a sessão em um arquivo plano que um agente novo em folha lê frio e continua — estado, trabalho pela metade, o próximo comando exato, decisões abertas — com segredos redigidos e o trabalho concorrente verificado como preservado. Trigger words: handoff, hand off, compact, save state, continue in another session, portable handoff, before restart, passar o bastão, salvar estado, continuar em outra sessão, antes de reiniciar.4license: MIT5---67# Session Handoff8**Effort:** free — um arquivo plano escrito antes de o contexto morrer; nenhuma chamada de modelo, e corta custo na raiz no início da próxima sessão. Remove: o agente novo re-derivando o estado, repagando armadilhas já pagas, e decisões perdidas numa janela de contexto morta.910Uma janela de contexto morre; o trabalho não pode morrer junto. Antes de uma11sessão terminar ou compactar, escreva um arquivo plano que um agente novo em12folha consiga ler frio e continuar — o que estava sendo feito, onde mora, o13que está pela metade e o próximo comando exato. Handoff estacionado em prosa14de chat ou só na memória não existe.1516## Quando escrever um1718- Antes de a janela de contexto compactar ou ser limpa.19- Ao encerrar uma sessão com trabalho ainda aberto.20- Logo depois de aterrissar algo grande (registre o id do commit enquanto21 está fresco).22- No momento em que uma decisão de verdade vai para o seu humano (registre o23 que cada escolha significa).2425## Onde ele vai2627Um lugar conhecido onde o próximo agente vai olhar PRIMEIRO. Se o próximo28agente divide o seu projeto, use um arquivo de registro estável no repo e29commite a atualização, para ela sobreviver a um restart de máquina, não só a30uma limpeza de contexto. Se o próximo agente é outro harness ou um login31novo, escreva um arquivo plano portátil no diretório temporário — é andaime,32não artefato rastreado.3334## Verifique o trabalho concorrente primeiro (antes de escrever uma palavra)3536Cheque que o trabalho de OUTRAS sessões está preservado. Rode `git status`,37`git log` e `git worktree list`. Anote no doc, com honestidade, os arquivos38sujos e as branches não fundidas. Nunca altere o trabalho não commitado de39outra sessão para o handoff parecer limpo — esse é o defeito de perda de40dados. Um handoff que descreve um estado limpo enquanto outra sessão tem41trabalho em voo é uma alegação falsa.4243## O que entra — uma seção curta cada44451. **Objetivo.** O trabalho em uma frase. O próximo agente não pode ter que46 adivinhar o que "pronto" significa.472. **Estado.** Aterrissado (ids de commit), construindo, na fila. Referencie48 specs, planos, issues e diffs por caminho ou URL — nunca duplique o49 conteúdo deles.503. **Onde o trabalho mora.** Branches, worktrees, arquivos sujos. Nomeie os51 arquivos exatos que o próximo agente deve ler primeiro.524. **A trilha de veredictos.** Quem ou o quê avaliou cada peça e quais foram53 as pegadas reais. Um veredicto reprovado com defeitos nomeados vale MAIS54 que um verde — escreva os defeitos palavra por palavra.555. **Trabalho pela metade e o próximo comando exato.** O que está em pleno56 voo, e o comando literal que continua dali.576. **Decisões abertas.** Qualquer coisa esperando o seu humano, e o que cada58 escolha significa. Uma decisão nunca pode existir só numa janela de59 contexto morta.607. **Contratos não cumpridos.** Testes ainda vermelhos, provas ainda61 faltando, promessas feitas e ainda não mantidas.628. **Armadilhas.** Uma linha cada. Uma armadilha que você já pagou vale mais63 que um verde — escreva para a próxima sessão não pagar de novo.649. **Skills sugeridas.** Quais skills o próximo agente deve carregar65 primeiro, e uma linha do porquê. É isso que torna o doc portátil entre66 harnesses.6768## Regras duras6970- **Redija.** Nada de chave de API, senha, token ou dado pessoal. Nada de71 hostname real, IP interno ou caminho de home — só placeholders; aponte para72 os valores reais pelo nome da variável de ambiente. O handoff é o arquivo73 com mais chance de sair da máquina; um segredo que vaza por ele É o bug.74- **Alegações de ausência apodrecem mais rápido.** Antes de escrever "X não75 existe" ou "X não aterrissou", verifique de novo no commit atual —76 trabalho paralelo aterrissa enquanto você escreve.77- **Status de duas palavras por item: PROVEN ou STILL-BUILDING.** Testes78 verdes sem prova viva é STILL-BUILDING, e o handoff diz exatamente qual79 prova falta.80- **Mantenha legível em dois minutos** (cerca de 120 linhas). Quando passar81 disso, arquive os blocos mais antigos movendo-os para uma seção de82 histórico — nunca apagando.8384## Retomada (a outra metade)8586Uma sessão que parte de um handoff o lê PRIMEIRO, depois verifica as duas ou87três alegações do topo contra `git log` e a árvore viva antes de agir sobre88elas. O handoff é um mapa, não a verdade — confie nele para ONDE olhar;89verifique O QUE ele diz.9091## Funciona bem com9293- [root-cause-first](../root-cause-first/SKILL.md) — a investigação que a próxima sessão continua.94- [repair-loop](../repair-loop/SKILL.md) — passe o bastão no meio do loop sem perder a costura.95- [decision-bar](../decision-bar/SKILL.md) — como as decisões abertas chegam ao seu humano.9697> Crédito de scaffold: Matt Pocock, handoff (mattpocock/skills). A composição e as regras duras aqui são BACKS AIOS.