--- name: today description: Checkup diário - dashboard agregador que lê resultados dos agentes cron do servidor dev e recolhe dados frescos via skills interactivas. Usar quando "checkup", "hoje", "today", "rotina", início de dia. context: fork --- # /today v10.0 - Checkup Diario (Agregador) Le resultados dos agentes cron (servidor dev) + invoca skills interactivas. Nao duplica trabalho automatizado. --- ## Arquitectura ``` CRON (dev server, autonomo 24/7) /today (interactivo, sob pedido) ├── imap-triage (4h) ├── Le logs/JSONs do cron ├── auto-expense (4h +15min) ├── /daily-digest (dados frescos) ├── ticket-triage (4h +30min) ├── /tasks-overview (dados frescos) ├── aiktop-tasks (15min) ├── /cleanup-downloads (se necessario) ├── infra-check (diario 7h) ├── Specs/Sprints scan └── wp-update (segunda 23h) ├── Rotinas especiais por dia └── Dashboard + Obsidian + Supabase ``` --- ## Regra Fundamental > Fases 1-2 sao **silenciosas**. Executar tudo antes de mostrar output. > O utilizador so ve o dashboard final. --- ## Protocolo ### Fase 0: Verificacoes ``` 1. mcp__mcp-time__current_time -> data, dia da semana 2. mcp__memory-supabase__search_memories("today checkup YYYY-MM-DD") -> Se ja existe hoje: perguntar se quer re-executar ``` ### Fase 1: Ler resultados dos agentes cron (silencioso) ``` 3. mcp__ssh-unified__ssh_execute(server="dev", command="cat logs") Ler os seguintes ficheiros do servidor dev: a) IMAP (ultimo report): ls -t /root/Dev/claude_automations_dev/imap-triage/imap-triage.log | tail -20 cat ~/.claude-work/today-imap-DD-MM-YYYY.json b) Ticket triage (ultimo log): tail -30 /root/Dev/claude_automations_dev/ticket-triage/ticket-triage.log c) Auto-expense (ultimo log): tail -20 /root/Dev/claude_automations_dev/auto-expense/auto-expense.log d) Infra check (ultimo log): tail -30 /root/Dev/claude_automations_dev/infra-check/infra-check.log e) AikTop tasks (ultimo log): tail -20 /root/Dev/claude_automations_dev/aiktop-tasks/aiktop-tasks.log f) SE segunda — wp-update (ultimo log): tail -50 /root/Dev/claude_automations_dev/wp-update/wp-update.log 4. DETECTAR PROBLEMAS nos logs: - Cron nao correu (log desactualizado >8h) - Exit codes != 0 - Erros ou falhas nos logs -> Adicionar a seccao "Requer Atencao Urgente" ``` ### Fase 2: Recolha de dados frescos (silencioso) ``` 5. Invocar /daily-digest -> Timer, tickets, facturas, leads, propostas, agenda -> Output: dashboard markdown 6. Invocar /tasks-overview -> Tarefas overdue, pendentes, em curso, workflows sugeridos -> Output: tarefas markdown 7. SE >10 ficheiros em ~/Transferencias: -> Invocar /cleanup-downloads ``` ### Fase 2b: Sprint/Spec Activos (silencioso) ``` 8. Glob: /media/ealmeida/Dados/Dev/**/SPEC.md (profundidade max 3) -> Para cada encontrado: Ler frontmatter (15 linhas) -> Filtrar: status != "completed" -> Extrair: titulo (linha # SPEC:), status, weight, scope done/total 9. Glob: /media/ealmeida/Dados/Dev/**/SPRINT.md -> Para cada encontrado: Ler frontmatter -> Filtrar: status == "active" -> Extrair: sprint_id, tasks done/total, checkpoint_done, end_date ``` ### Fase 2c: Rotinas Especiais ``` 10. SE SEGUNDA: -> Planeamento semanal (tarefas da semana + capacidade) 11. SE SEXTA: -> Sugerir manutencao e revisao semanal ``` ### Fase 3: Output Final ``` 12. AGREGAR resultados de cron + skills: - Logs do cron (Fase 1) - Dados frescos do /daily-digest e /tasks-overview (Fase 2) - Specs/Sprints (Fase 2b) 13. DASHBOARD ao utilizador (formato abaixo) 14. CRIAR NOTA OBSIDIAN: Path: /media/ealmeida/Dados/Hub/00-Inbox/DD-MM-YYYY-checkup.md Conteudo: dashboard completo 15. GUARDAR em Supabase: mcp__memory-supabase__save_memory({ content: "Checkup diario - X tickets, Y tarefas, Z urgentes, cron OK/FALHA", tags: ["today", "checkup", "DD-MM-YYYY"] }) ``` --- ## Formato Dashboard ```markdown ## Checkup Diario - DD-MM-YYYY (Dia-da-Semana) --- ## Requer Atencao Urgente [Alertas: cron falhado, erros infra, seguranca, notificacoes criticas] --- ## 3 Prioridades Hoje 1. [ ] [Mais urgente] 2. [ ] [Segunda] 3. [ ] [Terceira] --- ## Workflows Sugeridos [Do /tasks-overview] --- ## Sprint / Spec Activos [Projectos com spec/sprint activo: nome, progresso, checkpoint] [Se nenhum: "Nenhum sprint/spec activo"] --- ## Resumo do Dia [Do /daily-digest: timer, tickets, facturas, tarefas, leads, agenda] --- ## Agentes Cron (servidor dev) | Agente | Ultima execucao | Status | Resumo | |--------|----------------|--------|--------| | imap-triage | HH:MM | OK/FALHA | X contas, Y emails | | auto-expense | HH:MM | OK/SKIP | Z despesas criadas | | ticket-triage | HH:MM | OK/FALHA | W tickets processados | | aiktop-tasks | HH:MM | OK/FALHA | N tarefas executadas | | infra-check | HH:MM | OK/FALHA | X/4 MCPs operacionais | | wp-update [se seg] | HH:MM | OK/FALHA | X/16 sites actualizados | --- ## Auto-Processamento (ultimas 24h) [Resumo agregado: despesas criadas, tickets fechados, emails limpos] ``` --- ## Nota Obsidian ```yaml --- title: Checkup DD-MM-YYYY date: DD-MM-YYYY type: checkup status: active --- ``` Filename: `DD-MM-YYYY-checkup.md` (Regra #45: formato DD-MM-YYYY) --- ## Anti-Patterns - NUNCA invocar /ticket-triage, /imap-triage, /auto-expense, /infra-check, /wp-update (correm no cron) - NUNCA mostrar output antes de terminar Fase 1 e 2 - NUNCA mostrar mais de 3 prioridades (PHDA) - NUNCA executar sem verificar data/hora primeiro - SEMPRE ler logs do cron antes de mostrar dashboard - SEMPRE alertar se algum agente cron nao correu nas ultimas 8h --- ## Referencia | Componente | Tipo | Responsabilidade | |-----------|------|-----------------| | `imap-triage` | Cron dev (4h) | Triagem IMAP 13 contas + dedup Supabase | | `auto-expense` | Cron dev (4h) | Criacao automatica de despesas | | `ticket-triage` | Cron dev (4h) | Auto-process tickets (SPAM, facturas) | | `aiktop-tasks` | Cron dev (15min) | Executa tarefas AikTop do Desk CRM | | `infra-check` | Cron dev (diario) | Health check gateway + MCPs | | `wp-update` | Cron dev (seg 23h) | Actualizacoes WordPress 16 sites | | `/daily-digest` | Skill (interactivo) | Timer, tickets, facturas, leads, agenda | | `/tasks-overview` | Skill (interactivo) | Tarefas pendentes/overdue + workflows | | `/cleanup-downloads` | Skill (interactivo) | Limpeza pasta Transferencias | | `/spec` + `/sprint` | Scan local | Specs e sprints activos | Repo agentes: `git.descomplicar.pt/ealmeida/claude_automations_dev` --- *Skill v10.0.0 | 05-03-2026 | Descomplicar®*