--- name: montar-plano-da-task description: Busca a task mais recente do backlog do PortalISO no Notion e monta um plano de implementação sem editar nada. Use quando o usuário pedir para "pegar a próxima task", "buscar a última task", "começar a próxima tarefa do Notion" ou similar. Ao acionar esta skill, entre em plan mode automaticamente. Também é chamada internamente pela skill mestra `dale-task` (Time Web → Notion → aqui → renomear-chat). --- # Buscar a task no Notion e montar o plano de implementação (Antigo nome desta skill: `proxima-task`. Renomeada para deixar claro seu papel dentro do fluxo `dale-task`: Time Web → Notion → **aqui** → renomear-chat.) ## Modo de operação Ao acionar esta skill, ENTRE EM PLAN MODE proativamente (chame EnterPlanMode) antes de qualquer outra coisa. O usuário não deve precisar ativar /plan manualmente. Permaneça em plan mode durante toda a análise e o planejamento. Só saia do plan mode (ExitPlanMode) para apresentar o plano final e pedir aprovação de execução. Não edite nenhum arquivo até o usuário aprovar o plano. ## Objetivo Pegar a task mais recente da página de backlog do usuário no Notion, entendê-la por completo, ler os arquivos do projeto necessários para contextualizar, e apresentar um plano de implementação claro. ## Passos 1. **Entrar em plan mode** (EnterPlanMode) antes de tudo. 2. **Buscar a task no Notion.** - Use o MCP do Notion diretamente (`notion-fetch`) na página real de Tasks pelo ID, sem depender de busca: `36042fca-fe05-8058-ae3f-efca67247b87` (https://app.notion.com/p/36042fcafe058058ae3fefca67247b87), em Backlog - Portal ISO >> Tasks. Cada task é um bloco `## #N` na própria página (N é o número manual que o usuário atribui — não confundir com o código tipo SRV-xxxxxx/IQY-xxxxxx, que já vem no título da atividade). - ATENÇÃO: existe uma página/database homônima "Tasks" no mesmo workspace (ID `36042fca-fe05-8066-a9e3-d0c09032933d`, dentro de "Table Tasks") que aparece no `notion-search` mas está vazia/não é usada — é um decoy. Não use `notion-search` pra achar a página de tasks; vá direto pelo ID acima com `notion-fetch`. - **Antes de pegar "a primeira task", confira a fila de pendências**: se existir, logo no topo da página (antes do primeiro bloco `## #N`), uma linha `⚠️ Reprovadas pendentes: #N (código), #M (código), ...`, ela tem prioridade. Pegue o PRIMEIRO item dessa lista (o mais antigo — ordem de chegada) e vá direto pro bloco `## #N` correspondente, ignorando os demais itens da fila e o restante da página por enquanto (são "um de cada vez", não pegue mais de um). - Se a fila não existir ou estiver vazia, caia no comportamento padrão: a lista é ordenada com a MAIS RECENTE NO TOPO (maior `#N`). Pegue a primeira task. - Leia a task por completo: título, descrição, sub-partes (a, b, c...), observações e checklists. Itens riscados (tachado) normalmente indicam algo já resolvido ou não mais válido — trate como possivelmente obsoletos e confirme com o usuário se houver dúvida. 3. **Apresentar um resumo da task ao usuário** antes de mergulhar no código: - O que a task pede, em poucas linhas e em português. - Quais partes/sub-itens ela tem. - Qualquer ambiguidade ou observação riscada que mereça confirmação. 4. **Localizar e ler os arquivos necessários.** - Identifique telas (.xhtml), Beans (.java) e demais arquivos envolvidos. - Leia esses arquivos para entender o contexto real antes de planejar. - Respeite as convenções do CLAUDE.md (Java 8, português, tabs, BCE, etc.). - Se a tela/módulo já é conhecido (ex: URL já vem na descrição da task), prefira grep/Read direto no lugar de delegar pra um agente Explore — é uma busca pontual e delimitada, não precisa do custo de um subagente nem do grafo do `graphify` (que só compensa quando a pergunta cruza várias classes/arquivos sem pista de onde procurar). 4.1. **Se a investigação mostrar que a task (ou o motivo da reprovação) já está implementada no código atual**, não monte um plano de implementação assumindo que falta trabalho. Em vez disso: - Confirme achando o trecho exato no código que já satisfaz o pedido. - Pare e avise o usuário do achado antes de tomar qualquer ação externa (grave no Notion e/ou concluir no Time Web são ações visíveis a terceiros — sempre confirmar antes). - Com aprovação, registre no bloco `## #N` do Notion (via `notion-update-page`/`update_content`) uma nota de status (ex: "✅ Concluída em DD/MM/AAAA — já estava implementado, confirmado por leitura de código; nenhuma alteração necessária"), citando os arquivos/trechos que confirmam. - Se a task tinha vindo da fila de pendências (reprovação), conclua a atividade no Time Web (botão "Concluir esta atividade"): preencha "Tempo Gasto Hoje" com o tempo MÁXIMO previsto da atividade (campo "Tempo Max. Previsto p/ cada Realização" da tabela "A Realizar", não o tempo estimado/unitário) e escreva na "Descrição da Conclusão" um resumo do que já estava implementado. - **Atualize a fila de pendências no Notion imediatamente** (remova o `#N (código)` da linha `⚠️ Reprovadas pendentes: ...`) — não deixe pra próxima execução da `puxar-atividades-timeweb`, já que a task foi resolvida dentro desta própria sessão. - Isso substitui os passos 5 e 6 abaixo para essa task específica. 5. **Montar o plano de implementação** (quando a task realmente precisa de código novo) e apresentá-lo: - Para cada parte da task, explique ONDE e COMO pretende implementar. - Trabalhe uma parte de cada vez quando houver múltiplas sub-partes. - Aponte riscos e pontos de atenção. 6. **Só sair do plan mode ao apresentar o plano final** (ExitPlanMode), pedindo aprovação. A implementação só começa após o usuário revisar e aprovar. ## Observações - Sempre responder em português brasileiro. - Se o Notion não estiver acessível, avisar e sugerir verificar a conexão com /mcp. - Ao final de qualquer ciclo em que a fila de pendências (`⚠️ Reprovadas pendentes: ...`) foi alterada dentro desta sessão (task concluída sem precisar de código, ou qualquer outra baixa manual), confirme que o Notion reflete o estado atual antes de encerrar — não confie só na próxima sincronização da `puxar-atividades-timeweb` pra isso.