Files
claude-plugins/gestao/skills/today/prompts/execute.md
Emanuel Almeida 2cb3210962 feat: adiciona 12 plugins Descomplicar ao marketplace
Plugins: automacao, crm-ops, design-media, dev-tools, gestao,
infraestrutura, marketing, negocio, perfex-dev, project-manager,
wordpress + hello-plugin (existente).

Totais: 83 skills, 44 agents, 12 datasets.json

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 21:41:24 +00:00

11 KiB

/today - Checkup Diário

Executa o checkup diário completo seguindo estes passos:

Passo 1: Verificar Última Execução

Usar mcp__memory-supabase__search_memories com query "today checkup YYYY-MM-DD"
Se já existe entrada de hoje → perguntar se quer executar novamente

Passo 2: Recolher Dados do DeskCRM

2.1 Tickets

mcp__desk-crm-v3__get_tickets:
- date_from: ontem (YYYY-MM-DD)
- status: 1 (Aberto) ou 2 (Em Progresso)
- limit: 50

Identificar:
- Tickets urgentes (priority: 3 ou 4)
- Tickets de clientes importantes

2.2 Tickets SPAM → FECHAR AUTOMATICAMENTE

⚡ ACÇÃO AUTOMÁTICA - Fechar SEM intervenção manual

Padrões de SPAM:
- "Guest Post", "SEO services", "backlinks", "partnership"
- "link building", "dofollow", "collaboration opportunity"
- "Boas Festas", "Season's Greetings", "Termos de Serviço"
- Remetentes: noreply@*, no-reply@* (se não for serviço conhecido)

Se SPAM detectado → FECHAR IMEDIATAMENTE:
  mcp__desk-crm-v3__close_ticket:
  - ticket_id: {ID}
  - message: "Fechado automaticamente - SPAM"

Registar no relatório: "🗑️ SPAM fechado: #{ID} - {Assunto}"

2.3 Tickets para ELIMINAR (notificações sem valor)

Verificar se assunto contém:
- "Your Elastic Email Account was successfully re-charged"
- "Account re-charged"
- "Auto-recharge successful"
- "Credit added to your account"
- "[BOT] Ativação realizada com sucesso"
- "[BOT] Activation successful"

Se SIM → Eliminar:
  mcp__desk-crm-v3__delete_ticket:
  - ticket_id: {ID}
  - confirm: true
  - reason: "Notificação automática sem valor contabilístico"

2.3 Processamento Automático: Tickets de PAGAMENTOS

Para cada ticket aberto, verificar se assunto contém:
- "payment", "pagamento", "pago", "paid"
- "invoice", "factura", "fatura", "recibo"
- "successfully processed", "confirmado"
- "subscription", "renewed", "renewal"
- "account funded", "has been funded"
- "Envio de Fatura Eletrónica"

Se SIM → Verificar remetente:

  A) Remetente CONHECIDO (lista abaixo):
     ⚡ ACÇÃO AUTOMÁTICA - Executar SEM intervenção manual:
     1. Mover para Contabilidade:
        mcp__desk-crm-v3__update_ticket({ ticket_id: ID, department_id: 3 })
     2. FECHAR o ticket:
        mcp__desk-crm-v3__close_ticket({ ticket_id: ID, message: "Fatura processada - Contabilidade" })
     3. Registar: "💰 Contabilidade + Fechado: #{ID} - {Assunto}"

  B) Remetente DESCONHECIDO:
     → Avaliar indicadores de spam/phishing
     → LISTAR no relatório para revisão manual

     Indicadores de SPAM:
     - Remetente pessoal (gmail/hotmail) + factura empresarial
     - Erros ortográficos, MAIÚSCULAS, urgência exagerada
     - Domínio suspeito (muitos números, extensões estranhas)
     - Sem número de factura/referência

     Output no relatório:
     - [SPAM?] #ID - Assunto - remetente@suspeito.com
     - [NOVO?] #ID - Assunto - remetente@empresa.com (possível novo serviço)

[!warning] NUNCA eliminar automaticamente remetentes desconhecidos Podem ser novos serviços. Sempre pedir confirmação manual.

Remetentes CONHECIDOS (whitelist):

Domínios confiáveis:
- @elasticemail.com
- @hetzner.com, @hetzner.de
- @centos-webpanel.com, @control-webpanel.com
- @canva.com
- @meo.pt, @altice.pt, @documentos.meoempresas.pt
- @cloudflare.com
- @github.com
- @google.com
- @microsoft.com
- @adobe.com
- @figma.com
- @notion.so
- @openai.com, @email.openai.com
- @anthropic.com
- @openrouter.zendesk.com
- @stripe.com
- @paypal.com
- @wise.com
- @revolut.com
- @bancobpi.pt

Ver lista completa de remetentes e indicadores: config/email-triage-rules.md

2.2 Projectos com Deadline

mcp__desk-crm-v3__get_projects:
- status: 2 (Em Progresso)
- Filtrar: deadline esta semana

2.3 Tarefas Pendentes (OBRIGATÓRIO - sempre incluir)

# Buscar TODAS as tarefas pendentes
mcp__desk-crm-v3__get_tasks({ status: 1, limit: 50 })  # Não iniciadas
mcp__desk-crm-v3__get_tasks({ status: 4, limit: 50 })  # Em curso
mcp__desk-crm-v3__get_tasks({ status: 2, limit: 50 })  # Aguarda feedback
mcp__desk-crm-v3__get_tasks({ overdue_only: true })    # Vencidas

# Organizar por:
# 1. Prioridade (4=Urgente, 3=Alta, 2=Normal, 1=Baixa)
# 2. Deadline (vencidas primeiro)
# 3. Projecto (agrupar)

# Formato output:
### 🔴 URGENTES (Prioridade 4)
| ID | Tarefa | Projecto | Deadline | Tempo Est. |
|----|--------|----------|----------|------------|

### 🟠 ALTA (Prioridade 3)
...

2.4 Verificar Estimativas de Tempo

Para cada tarefa importante, verificar se tem estimativa:
mcp__desk-crm-v3__get_task_time_estimates({ task_id: X })

Se não tem → sugerir definir:
mcp__desk-crm-v3__set_task_estimated_time({
  task_id: X,
  estimated_hours: Y,
  estimated_minutes: Z,
  notes: "Estimativa"
})

Passo 3: Gestão de Emails (MCP IMAP)

3.1 Listar contas disponíveis

imap_list_accounts
# Verificar que todas as 12 contas estão acessíveis

3.2 Para CADA conta, processar emails

Contas: emanuel, it, help, suporte, contabilidade, financeiro,
        info, rh, mkt, design, news, aiktop

Para cada conta:
  1. imap_list_emails(account, folder="INBOX", limit=50)
  2. Classificar cada email:

     SPAM (eliminar):
     - Subject contém: "lottery", "winner", "urgent money"
     - Remetente em blacklist conhecida
     - Caracteres estranhos no subject
     → imap_delete_email(account, uid)

     PROMOCIONAL (arquivar):
     - Subject contém: "newsletter", "promo", "desconto", "oferta"
     - Remetente: *@marketing.*, *@news.*, *@promo.*
     - Headers: List-Unsubscribe presente
     → imap_move_email(account, uid, "Promotions")

     FACTURA PAGA (reencaminhar):
     - Subject contém: "factura", "invoice", "recibo", "pagamento"
     - Subject contém: "pago", "paid", "confirmado"
     - Anexos PDF com padrão de factura
     → Registar para reencaminhar para contabilidade@descomplicar.pt

     PRIORITÁRIO (listar):
     - Remetente: cliente conhecido (verificar DeskCRM)
     - Subject contém: "urgente", "urgent", "problema", "erro"
     - Resposta a thread existente
     → Incluir no relatório diário

3.3 Resumo de acções

Contabilizar:
- X emails eliminados (spam)
- Y emails arquivados (promocionais)
- Z facturas para contabilidade
- W emails prioritários pendentes

Passo 4: Calendário (opcional)

# Se MCP Google Calendar disponível:
# google_calendar_list_events(date=today)
# Por agora: Verificar agenda manualmente

Passo 5: Gerar Relatório

Formatar output seguindo template:

## 📅 Checkup Diário - YYYY-MM-DD (Dia da Semana)

### 🎫 Tickets (X abertos, Y urgentes)
[Lista de tickets urgentes com [!]]
[Lista de tickets abertos]

### 📧 Emails Prioritários
[Quando disponível]

### 📆 Agenda de Hoje
[Quando disponível]

### 🎯 Prioridades Sugeridas
1. [Baseado em urgência e deadlines]
2. [...]
3. [...]

### ⏰ Deadlines Esta Semana
[Lista de projectos/tarefas com deadline]

Passo 6: SEGUNDA-FEIRA - Planeamento Semanal

Verificar dia da semana
Se SEGUNDA-FEIRA:

  1. RECOLHER TAREFAS DA SEMANA INTEIRA
     - Todas as tarefas pendentes (status 1, 2, 4)
     - Todas as tarefas vencidas
     - Filtrar: deadline até domingo
     - Incluir estimativas de tempo

  2. RECOLHER CALENDÁRIO DA SEMANA
     mcp__google-workspace__get_events({
       user_google_email: "emanuelalmeidaa@gmail.com",
       time_min: "YYYY-MM-DD" (hoje),
       time_max: "YYYY-MM-DD" (domingo),
       max_results: 50
     })

  3. VERIFICAR ESTIMATIVAS DE TEMPO
     Para tarefas sem estimativa:
     - Sugerir tempo baseado no tipo
     - PERGUNTAR ao utilizador se correcto
     - Definir via set_task_estimated_time

  4. PEDIR INDICAÇÕES AO UTILIZADOR
     Usar AskUserQuestion:
     - Disponibilidade semanal (horas)
     - Horários preferidos para foco
     - Prioridades especiais
     - Compromissos pessoais
     - Tarefas para delegar

  5. DISTRIBUIR TAREFAS PELA AGENDA
     - Calcular capacidade vs carga
     - Distribuir por dia/horário
     - Criar eventos no calendário (opcional)
     - Alertar se capacidade excedida

  6. OUTPUT: Planeamento Semanal
     - Tabela por dia com tarefas
     - Total horas por dia
     - Alertas de capacidade
     - Lista de delegações

Passo 7: Manutenção WordPress (se Sexta-feira)

Verificar dia da semana
Se sexta-feira:
  - Listar os 10 sites da rede
  - Sugerir executar manutenção
  - Oferecer checkup de segurança

Passo 8: Resumo de Pendentes (do CRM)

📊 RESUMO - Mostrar no relatório

Os pendentes são obtidos directamente do Desk CRM (já recolhidos no Passo 2).
NÃO há documento PENDENTES separado - os dados ficam no relatório diário.

### CATEGORIZAÇÃO

Com base nos dados já recolhidos:
- 🔴 Urgentes: priority = 4
- 🟠 Alta Prioridade: priority = 3
- 🟡 Vencidas: overdue_only = true
- 🟢 Esta Semana: deadline dentro de 7 dias
- 🎫 Tickets: status 1, 2
- 👤 Leads: status 7, 14 (Novos)
- 📝 Propostas: status 4 (Para Fazer)

### FORMATO NO RELATÓRIO

| Categoria | Qtd |
|----|----:|
| 🔴 Urgentes | X |
| 🟠 Alta Prioridade | X |
| 🟡 Vencidas | X |
| 🎫 Tickets Abertos | X |
| 👤 Leads Novos | X |

### LINKS CRM

| Tipo | Formato Link |
|------|--------------|
| Tarefa | [#ID](https://desk.descomplicar.pt/admin/tasks/view/ID) |
| Ticket | [#ID](https://desk.descomplicar.pt/admin/tickets/ticket/ID) |
| Lead | [LID](https://desk.descomplicar.pt/admin/leads/index/ID) |

Passo 9: Criar Nota Diária no Obsidian

Criar ficheiro no vault Planeamento:
- Path: /media/ealmeida/Dados/GDrive/Cloud/EAL/Planeamento/00-Inbox/
- Filename: YYYY-MM-DD-checkup.md
- Content: Relatório com dados recolhidos

Template:
---
title: Checkup YYYY-MM-DD
date: YYYY-MM-DD
type: checkup
status: active
---

## Checkup Diário - YYYY-MM-DD

[Conteúdo do relatório]

⚡ LINKS CRM: Todas as tarefas com link directo
- Formato: [#ID](https://desk.descomplicar.pt/admin/tasks/view/ID)

Se segunda-feira:
- Incluir secção "Planeamento Semanal"
- Tabela com distribuição de tarefas por dia

Passo 10: Guardar em Supabase

mcp__memory-supabase__save_memory:
- content: "Checkup diário executado - X tickets, Y tarefas, Z urgentes"
- tags: ["today", "checkup", "YYYY-MM-DD"]
- summary: "Checkup diário YYYY-MM-DD"
- metadata: {
    tickets_count: X,
    tasks_count: Y,
    urgent_count: Z,
    is_monday: true/false,
    weekly_hours_planned: H
  }

Passo 11: Resumo Final

Apresentar:

  • Métricas do dia
  • Top 3 prioridades recomendadas
  • Alertas importantes
  • Próximos passos sugeridos

Se segunda-feira, adicionar:

  • Resumo do planeamento semanal
  • Capacidade vs carga
  • Tarefas delegadas
  • Alertas de sobrecarga