Files
Emanuel Almeida 6b3a6f2698 feat: refactor 30+ skills to Anthropic progressive disclosure pattern
- All SKILL.md files now <500 lines (avg reduction 69%)
- Detailed content extracted to references/ subdirectories
- Frontmatter standardised: only name + description (Anthropic standard)
- New skills: brand-guidelines, spec-coauthor, report-templates, skill-creator
- Design skills: anti-slop guidelines, premium-proposals reference
- Removed non-standard frontmatter fields (triggers, version, author, category)

Plugins affected: infraestrutura, marketing, dev-tools, crm-ops, gestao,
core-tools, negocio, perfex-dev, wordpress, design-media

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 15:05:03 +00:00

5.9 KiB

name, description, disable-model-invocation
name description disable-model-invocation
imap-triage Triagem automática de emails IMAP em 14 contas. Elimina spam, arquiva promocionais, identifica facturas, sinaliza prioritários. Deduplicação via Supabase. Usar quando "imap", "triagem email", "limpar emails", "email triage", "processar emails". true

/imap-triage v1.0

Triagem automatica de 14 contas IMAP com deduplicacao Supabase.


Contas IMAP (14)

emanuel, it, help, suporte, contabilidade, financeiro,
rh, mkt, design, news, aiktop, recursos, google

Protocolo

Passo 0: Carregar emails ja processados (Supabase)

Executar UMA VEZ no inicio, antes de iterar contas. Fonte de verdade: tabela imap_processed_emails em Supabase (EasyPanel).

mcp__ssh-unified__ssh_execute(
  server="easy",
  command="docker exec descomplicar_supabase-db-1 psql -U postgres -d postgres -t -A -c \"SELECT message_id FROM public.imap_processed_emails\""
)

Guardar resultado como Set: processed_ids

Passo 1: Carregar tabela de fornecedores

Read: /media/ealmeida/Dados/Hub/06-Operacoes/Documentacao/fornecedores-recorrentes.md
Extrair:
- Lista de dominios de fornecedores conhecidos
- Lista de dominios de plataformas multi-fornecedor

Passo 2: Iterar contas IMAP

Para cada conta: imap_list_emails(account, folder="INBOX", limit=50)

Para cada email:

  1. Verificar message_id contra processed_ids -> SE match, SALTAR
  2. Classificar por ordem de prioridade (ver seccao Classificacao)

Passo 3: Registar no Supabase (batch)

Executar UMA VEZ no final, apos processar todas as contas.

Acumular lista: { message_id, account_id, subject, sender, email_date, action, action_detail }

Actions: spam_deleted, promo_archived, expense_flagged, priority_flagged, notification_closed, skipped

mcp__ssh-unified__ssh_execute(
  server="easy",
  command="docker exec descomplicar_supabase-db-1 psql -U postgres -d postgres -c \"
    INSERT INTO public.imap_processed_emails (message_id, account_id, subject, sender, email_date, action, action_detail)
    VALUES (...)
    ON CONFLICT (message_id) DO NOTHING;
  \""
)

Maximo ~50 VALUES por INSERT.

Passo 4: Escrever output JSON

Escrever em ~/.claude-work/today-imap-{date}.json:
{
  "spam": 5,
  "promo": 12,
  "facturas": [
    {"account": "contabilidade", "uid": 164, "message_id": "...", "fornecedor": "MEO", "subject": "..."}
  ],
  "prioritarios": [
    {"account": "emanuel", "uid": 100, "subject": "...", "sender": "..."}
  ],
  "notificacoes": [...],
  "erros": [],
  "contas_processadas": 14,
  "total_emails": 45
}

Classificacao de Emails

Aplicar por ordem de prioridade. Primeiro match ganha.

1. SPAM -> Eliminar

imap_delete_email(account, uid)

Padroes:
- Subject: lottery, winner, urgent money, bitcoin investment, guest post, SEO services, backlinks, partnership
- Remetente: *.ru, *.cn (excepto conhecidos)
- Subject todo em MAIUSCULAS
- Subject com caracteres estranhos excessivos

2. PROMOCIONAL -> Arquivar

imap_move_email(account, uid, "Promotions")

NOTA: Contas sem pasta "Promotions" (google, design, rh) -> imap_delete_email

Padroes:
- Subject: newsletter, promo, desconto, oferta, unsubscribe
- Remetente: *@marketing.*, *@news.*, *@promo.*
- Headers: List-Unsubscribe presente

3. FACTURA/RECIBO -> Flag para /auto-expense

NAO processar aqui - apenas identificar e registar no output JSON.
A skill /auto-expense trata da criacao de despesas.

Deteccao:
3a. FORNECEDOR DIRECTO:
    - Dominio remetente bate com tabela de fornecedores
    - Subject contem: factura, invoice, recibo, receipt, pagamento, paid

3b. PLATAFORMA MULTI-FORNECEDOR:
    - Dominio: toconline.pt, stripe.com, paypal.com, fastspring.com, payproglobal.com
    - Registar com nota sobre plataforma

Action: expense_flagged

4. NOTIFICACAO SISTEMA -> Registar

Padroes protegidos (NUNCA auto-fechar):
- Legal Update, Policy Change, Deprecation, End of Life
- Security Alert, API Change, Terms Update
- Action Required, Migration Required
- Compliance, GDPR, Infrastructure Change

Outros:
- Wordfence alerts, n8n updates, server notifications
- Registar para inclusao no dashboard de alertas

Action: notification_closed ou priority_flagged (conforme gravidade)

5. PRIORITARIO -> Incluir no relatorio

- Remetente: cliente conhecido (verificar nome/dominio)
- Subject: urgente, problema, erro, critical, down
- Threads activas (RE:, FW:)

Action: priority_flagged

6. RESTANTES -> Saltar

Emails que nao encaixam em nenhuma categoria.
Action: skipped

Excepcoes (NUNCA processar automaticamente)

- *@descomplicar.pt (internos)
- *@gov.pt, *@at.gov.pt, *@seg-social.pt (governo)
- *@tribunais.org.pt (tribunais)

Emails a IGNORAR (nao sao facturas)

- "Payment Confirmation" / "Payment Was Successfully Processed" -> apenas confirmacao
- "Your subscription has been renewed" sem valor -> apenas notificacao
- "Notificacao de transferencia" de bancos -> notificacao bancaria
- Marketing/changelog dos mesmos fornecedores -> promocional
- Subject "Welcome" / "Getting Started" -> onboarding

Output Standalone

Quando invocado directamente (sem /today):

## Triagem IMAP - DD-MM-YYYY

**Total: X emails processados em Y contas**

| Conta | Spam | Promo | Factura | Notif | Prio | Total |
|-------|------|-------|---------|-------|------|-------|

### Facturas Detectadas (para /auto-expense)
- contabilidade: MEO (uid 164) - FT A/861215955

### Prioritarios
- emanuel: [Subject] de [Remetente]

### Alertas Sistema
- [Alertas de seguranca, updates criticos]

Anti-Patterns

  • NUNCA criar despesas directamente (delegar para /auto-expense)
  • NUNCA processar >50 emails por conta (limitar)
  • NUNCA eliminar emails de dominios protegidos
  • SEMPRE registar no Supabase, mesmo se skipped
  • SEMPRE usar imap_delete para contas sem pasta "Promotions"

Skill v1.0.0 | 04-03-2026 | Descomplicar®