--- name: task-state description: Gestão de estado persistente de tarefas entre sessões. Cria, actualiza e lê .task-state.md para tarefas complexas. Usar quando tarefa tem >2 sessões, múltiplos ficheiros, ou risco de perder contexto por compaction. context: fork --- # /task-state — Gestão de Estado de Tarefa Persiste decisões, ficheiros e checkpoints entre sessões. Sobrevive a context compaction. --- ## Quando usar **Usar quando:** - Tarefa com >1 sessão de trabalho - Múltiplos ficheiros a modificar (>3) - Risco de context compaction apagar contexto crítico - Tarefas que requerem aprovação por checkpoint **Não usar quando:** - Tarefas de <30 minutos - Edições simples de 1-2 ficheiros - Respostas a perguntas --- ## Comandos ### /task-state init Cria `.task-state.md` no directório actual baseado no template. ```bash # Verificar se já existe [ -f ".task-state.md" ] && echo "AVISO: já existe — usar /task-state update" && exit 1 # Copiar template cp ~/.claude-work/task-state-template.md .task-state.md echo "Criado: .task-state.md" ``` Após criar, preencher os campos de Identificação manualmente. ### /task-state read Lê e apresenta o estado actual — útil ao retomar uma tarefa interrompida: ```bash cat .task-state.md ``` Ao retomar: ler "Próximo passo imediato" e "Bloqueantes actuais" primeiro. ### /task-state checkpoint N Marca checkpoint N como concluído: ```bash # Exemplo: marcar checkpoint 2 como feito sed -i "s/- \[ \] Sub-issue 2:/- [x] Sub-issue 2:/" .task-state.md ``` ### /task-state update Actualizar campos específicos ao longo do trabalho: - Adicionar ficheiros modificados à lista - Registar decisões tomadas - Actualizar "Próximo passo imediato" - Adicionar bloqueantes encontrados --- ## Padrão Vertical Plans Diferença para planos monolíticos: | Monolítico | Vertical Plans | |------------|----------------| | Lê o plano completo | Divide em sub-issues com checkpoint | | Implementa tudo | Implementa 1 sub-issue | | Verifica no final | Testa + valida antes de avançar | | Falha tarde | Falha cedo e barato | **Regra:** Nunca avançar para sub-issue N+1 sem N estar testado e marcado. --- ## Integração com writing-plans 1. `/writing-plans` → cria plano com sub-issues e critérios de sucesso 2. `/task-state init ` → cria ficheiro de estado 3. A cada sub-issue: implementar → testar → `/task-state checkpoint N` → commit 4. Se sessão interromper: ler `.task-state.md` → continuar no "Próximo passo imediato" --- ## Template O template está em `~/.claude-work/task-state-template.md`. Actualizar o template para reflectir necessidades do projecto actual. --- ## Contexto crítico — o que documentar Documentar TUDO que está só na cabeça do Emanuel e que o agente precisa: - "Este servidor é produção — não tocar sem aprovação" - "O cliente X é sensível a preços — nunca mencionar concorrentes" - "A BD usa UTF-8 mas tem registos ISO-8859 antigos — cuidado com migrações" **Fonte:** Regra #361 — agente apagou BD de produção porque "é live" estava só na cabeça do humano. --- ## Healing Log Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar. ```jsonl {"date":"","issue":"","fix":"","source":"user|auto"} ``` *Adicionar nova linha após cada erro corrigido.*