handover
Skill4 starsChanged 2 months agoMITView on GitHub
Prepara a saída LIMPA de uma sessão que inchou com uma TAREFA AINDA NÃO CONCLUÍDA, para um /clear sem perder o fio. O trabalho mecânico (coletar git, validar caminhos, montar o arquivo, aplicar cap/decay na memória, indexar RAG) é feito por handover.py — você só decide o MODO DE RETOMADA e escreve o julgamento. Modo "rapida" = o próximo passo não toca runtime (a retomada confia no escrito e EXECUTA). Modo "verificada" = o próximo passo MEXE NO RUNTIME (a retomada REVERIFICA antes de afirmar, porque a memória diz o que era verdade quando foi escrita, não o estado presente). Use para qualquer saída de sessão inacabada. NÃO use se a tarefa está concluída e verificada — aí basta memória.
- Reads credentials
- Commits and pushes
51 other projects use a version of this.
Adopted by
Most recently taken up by
- hmislk/hmistheir own version, first seen Nov 2, 2026
- loonylabs-dev/claude-setuptheir own version, first seen Nov 1, 2026
- oubakiou/skillstheir own version, first seen Nov 1, 2026
- vrppaul/claude-reviewtheir own version, first seen Nov 1, 2026
- konlue/skillstheir own version, first seen Nov 1, 2026
- randommonicle/claude-skillstheir own version, first seen Oct 25, 2026
Used with
Projects with it also use harness-init, incident and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
steptianSkillharness-init
初始化 .harness 开发框架,集成代码修改影响范围评估和测试覆盖建议功能。触发词:'初始化新项目'、'harness init'、'更新 harness'、'分析影响范围'、'评估修改影响'
Also in 3 projects that use this
JkudjoSkillincident
Production incident response — structured triage, hypothesis tree, safe remediation, incident record
Also in 3 projects that use this
nicolasestremSkillbrainstorm
Structured idea generation and solution exploration with systematic analysis.
Also in 3 projects that use this
GoogleSkillto-tickets
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker — edges as text in one file per ticket locally, or native blocking links on a real tracker.
Also in 3 projects that use this
BlockSkillplan
Draft a TDD, PRD, or lightweight plan in the conversation without committing it.
Also in 3 projects that use this
MicrosoftSkillcaveman
Ultra-compressed response style that reduces output token count while preserving technical accuracy, with intensity levels and auto-clarity safety rules
Also in 3 projects that use this
Other versions51 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 51
- me2resh/apexyard★ 542same name
- hmislk/hmis★ 244same name
- chenklein26-maker/Harness-Starter★ 119same name
- k1ein-chen/Harness-Starter★ 119same name
- eai-org/agent-toolkit★ 85same name
- manusco/resonance★ 38same name
- chacosoldier/compabob★ 34same name
- randommonicle/claude-skills★ 27same name
- L-X-T/ng-agentic-skills★ 13same name
- marcogalluccio/company-brain-os★ 7same name
41 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository3 other files it gives its agents.
- lembrarSkill
- organizador-memSkill
- retomarSkill
The file
Files
Você vai destilar uma tarefa inacabada em artefatos duráveis, para que uma sessão NOVA retome sem reexplicação.
LEIA ISTO PRIMEIRO. Esta skill já foi 182 linhas de prosa. O resultado eram handovers de 5 minutos, com desvios inventados no meio do caminho e os mesmos bugs voltando — porque prosa é advisory: cada sessão reinterpreta e improvisa. Vinte rodadas de correção adicionaram mais prosa e pioraram tudo. O mecânico agora é código (
handover.py), que EXECUTA a regra em vez de interpretá-la. Sua parte é pequena e é só julgamento. Não reimplemente à mão o que o script faz; não invente etapas que não estão aqui.
As 3 camadas (por que existe handover, e não só memória)
| Camada | Carrega quando | Função |
| Resume | usuário retoma esta conversa | continua tudo — morre no /clear |
Memória (MEMORY.md + memory/*.md) | toda sessão nova, automático | ÍNDICE: onde estamos + próximo passo + [[link]] |
Handover (~/.claude/projects/<slug>/handovers/HANDOVER_*.md) | só quando alguém abre | ARQUIVO: o detalhe que não cabe no índice |
Detalhe mora só no handover. Nunca duplique.
Onde o handover mora — e por que não é dentro do projeto. Sempre em
~/.claude/projects/<slug>/handovers/, ao lado dememory/, derivado do slug e nunca do CWD. Ohandover.pytrava isso; você não escolhe o caminho. Antes era<raiz>/documentacao, o que fazia o local depender de onde a sessão abriu (um projeto com handovers embackend/documentacaoficou com dois lugares e nenhum certo) e punha texto com nome de cliente dentro do repo. Pastas legadas são lidas — ocollectavisa que existem e que estão fora do corpus indexado — e nunca escritas;python handover.py migrateas esvazia.
O fluxo — 5 passos, nesta ordem
0. Pergunte o escopo, antes de tocar em qualquer arquivo
AskUserQuestion, uma pergunta, três opções mutuamente exclusivas:
- A — Handover simples: só grava handover + memória.
- B — Handover + commit: grava e roda
git commitdas mudanças pendentes. - C — Handover + commit + push: B, e depois
git pushdo remote/branch atual.
A resposta decide o que o Passo 5 faz. Não assuma — cada saída pode ter escopo diferente.
1. TodoWrite com estas 4 etapas, antes de qualquer outra coisa
Progresso invisível é o defeito nº 1 desta skill. Marque in_progress/completed um por vez, em tempo real — nunca um lote no fim.
2. python <pasta-desta-skill>/handover.py collect
O
handover.pyfica na mesma pasta desteSKILL.md— normalmente~/.claude/skills/handover/handover.py(instalação global) ou<projeto>/.claude/skills/handover/handover.py(project-local). Rode de dentro do projeto: ele descobre a raiz, o slug da memória, o repo git e oo1mem_rag.pya partir do seu CWD.
Devolve num bloco só: git (branch/HEAD/tree/remotes em sincronia), caminhos já validados, handovers existentes, o snapshot da sessão, a RETOMADA atual e a contagem de (Anterior ...). Não colete nada disso à mão.
O snapshot é a sua fonte bruta — leia antes de redigir. O hook grava, sem pedir nada a ninguém, o que a sessão realmente fez: as perguntas do usuário na ordem, os arquivos tocados e os comandos rodados (
~/.claude/projects/<slug>/snapshots/). Ele não é um handover e não tenta ser: não tem o porquê, não tem o próximo passo, não entra na memória e não é indexado. Ele existe porque a captura é barata e o julgamento é caro — e porque, quando alguém dá/clearsem passar por aqui, o snapshot é a única coisa que sobra. Se ocollectmostrar um, leia-o em vez de reconstruir o fio de memória: reconstruir é exatamente o custo que este produto existe para não pagar.
TRAVA DE VALOR — decida com o que o collect mostrou. Handover só vale se houver pelo menos UM de: (a) estado pendente que importa, (b) raciocínio caro de reconstruir, (c) plano de vários passos não executado. Tarefa concluída e verificada → NÃO escreva handover. Grave só a memória e diga que basta. Não "encontre" trabalho para justificar o arquivo.
3. Escreva os dois arquivos de julgamento (esta é a SUA parte)
body.md — só o que git+código+memória não contam sozinhos:
## Onde paramos
1 parágrafo: o estado atual, na língua de quem vai retomar.
## Próximo passo EXATO
A PRIMEIRA ação concreta. Sem ambiguidade.
## Decisões + porquê
A RAZÃO, não o quê. Inclua a alternativa descartada e por quê.
## Estado pendente
O que falta, com o critério de "pronto".
## Riscos / colaterais em backlog
Problemas conhecidos NÃO resolvidos, com severidade.
## Caveat de estado vivo (REVERIFICAR antes de afirmar)
SÓ no modo verificada. Itens concretos e checáveis que a retomada vai EXECUTAR:
backend de pé? qual PID/porta? o processo rodando TEM o patch (mtime vs. start)?
env flags? `git diff --stat` bate? store/cache no estado assumido?
## Refs — arquivo:linha
Pontos de entrada para achar rápido. NÃO é o diff.❌ Não liste "arquivos tocados" (o git diff já mostra) · ❌ não cole código (aponte arquivo:linha) · ✅ o porquê, o que falta, o próximo passo, os riscos.
⚠️ Anti-segredo, sem exceção: o handover vai pro disco e normalmente pro git. Nunca grave credencial, .env, chave, token, URL assinada ou dado pessoal. Se o caveat depende de segredo, referencie só o nome da variável (AWS_SECRET_ACCESS_KEY está setada?) ou o local (ver secrets manager) — nunca o valor.
breadcrumb.txt — o texto novo da linha RETOMADA: estado + próximo passo + [[link]]. TERSO: aponta, não repete. O modo não vai aqui (está na 1ª linha do handover).
4. python <pasta-desta-skill>/handover.py write --task <slug> --mode rapida|verificada --body body.md --breadcrumb breadcrumb.txt
O script grava o handover, promove a RETOMADA anterior aplicando cap=2 + decay=30d, preserva os [[links]] e o fim de linha do arquivo, indexa o RAG checando o exit code de verdade, e imprime o que fez. Ele também recusa modo incoerente: verificada exige a seção de caveat, rapida a proíbe. Se ele recusar, o modo está errado — não contorne.
Depois: crie/atualize 1 project_*.md em memory/ com o fato durável apontando pro handover, e ajuste a linha-índice do MEMORY.md.
Invariante do
MEMORY.md: densifique a prosa, mas nunca drope um[[link]]— cada um é load-bearing pro protocolo de save achar o arquivo que cobre um fato. Para economizar, encurte o TEXTO do link ([↗](x.md)), não o remova.
Passo 5 — Execute o escopo do Passo 0, depois libere o /clear
Se a resposta do Passo 0 foi B ou C: rode git add do que mudou (handover, memória, e o trabalho da sessão) e git commit com mensagem que descreve a sessão — confira antes que a mensagem não cite dado sensível (ver [[feedback_nao_citar_cliente_em_mensagem_de_commit_publico]]). Se foi C: depois do commit, git push do remote/branch em uso. Se A: nenhum dos dois.
Diga que é seguro dar /clear, o que foi gravado (e commitado/pushado, se aplicável), e em uma frase qual será a primeira ação da retomada. Termine com:
PRONTO E OPERANTE THIAGO!
Para limpar a sessão: você digita
/clear. Zera o contexto desta conversa — o handover e a memória já estão em disco, nada se perde. Para retomar depois: sessão NOVA, peça "retomar o handover". Ela lê a linhaRETOMADA, abre o handover indicado e segue o modo gravado.
🔴 Este bloco é EXCLUSIVO da saída. Emiti-lo ao retomar cria o loop que já queimou 5 sessões: /clear → retomar → a retomada reapresenta o handover e manda dar /clear de novo, sem uma linha de trabalho ter andado. Se você sentir vontade de assinar ao retomar, é sinal de que não fez nada.
Na RETOMADA (sessão nova) — o modo está no arquivo
TodoWrite primeiro, aqui também. Leia a linha RETOMADA, abra o handover, leia a linha retomada:.
- Decay: se a data da
RETOMADAtem mais de 30 dias, o breadcrumb pode estar dormente — reconfira antes de tratar como atual. - PROMOÇÃO (sempre permitida; rebaixamento nunca): se o próximo passo toca runtime — como escrito OU como evoluiu — trate como
verificadamesmo que o arquivo digarapida. verificada: execute o caveat item por item (paralelize com subagentes Haiku:Agent,model: "haiku",subagent_type: "general-purpose", todos no MESMO bloco). Reporte ✅/⚠️/❌ pelo que encontrou, não pelo que o handover afirmava; divergência vem ANTES de propor agir, e se ela afeta integridade, corrija primeiro. A reconciliação é sua, nunca do subagente.
REGRA DE OURO: EXECUTE, não reapresente. O produto de uma retomada é trabalho feito. Faça tudo do próximo passo que não exige o olho ou a mão do usuário (commit, push, rodar a suíte, aplicar o fix já acordado). Só o que é fisicamente dele volta como pedido — um, no fim. Perguntar "posso?" sobre algo que o handover já registrou como decidido é o que trava o ciclo. Nunca feche uma retomada com o bloco de fechamento nem com convite a
/clear.
O que esta skill NÃO é
Não é dump de conversa (é destilação) · não executa /clear · não substitui a memória (é índice + arquivo) · não roda para tarefa concluída · não afirma runtime pela memória · não reimplementa à mão o que handover.py faz.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

