feat: sync all plugins, skills, agents updates
New plugins: core-tools New skills: auto-expense, ticket-triage, design, security-check, aiktop-tasks, daily-digest, imap-triage, index-update, mindmap, notebooklm, proc-creator, tasks-overview, validate-component, perfex-module, report, calendar-manager New agents: design-critic, design-generator, design-lead, design-prompt-architect, design-researcher, compliance-auditor, metabase-analyst, gitea-integration-specialist Updated: all plugin configs, knowledge datasets, existing skills Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
456
gestao/skills/imap-triage/config/email-triage-rules.md
Normal file
456
gestao/skills/imap-triage/config/email-triage-rules.md
Normal file
@@ -0,0 +1,456 @@
|
||||
# Regras de Triagem de Emails
|
||||
|
||||
## Contas IMAP (12)
|
||||
|
||||
```yaml
|
||||
accounts:
|
||||
- emanuel@descomplicar.pt
|
||||
- it@descomplicar.pt
|
||||
- help@descomplicar.pt
|
||||
- suporte@descomplicar.pt
|
||||
- contabilidade@descomplicar.pt
|
||||
- financeiro@descomplicar.pt
|
||||
- info@descomplicar.pt
|
||||
- rh@descomplicar.pt
|
||||
- mkt@descomplicar.pt
|
||||
- design@descomplicar.pt
|
||||
- news@descomplicar.pt
|
||||
- aiktop@descomplicar.pt
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Regra 1: SPAM (Eliminar)
|
||||
|
||||
**Acção**: `imap_delete_email`
|
||||
|
||||
### Padrões Subject (case insensitive)
|
||||
```
|
||||
- lottery
|
||||
- winner
|
||||
- million dollars
|
||||
- urgent money
|
||||
- bitcoin investment
|
||||
- crypto opportunity
|
||||
- claim your prize
|
||||
- act now
|
||||
- limited time offer
|
||||
- you have been selected
|
||||
- dear beneficiary
|
||||
- inheritance
|
||||
- nigerian prince
|
||||
```
|
||||
|
||||
### Padrões Remetente
|
||||
```
|
||||
- *@*.ru (excepto conhecidos)
|
||||
- *@*.cn (excepto conhecidos)
|
||||
- no-reply@spam*
|
||||
- noreply@bulk*
|
||||
```
|
||||
|
||||
### Indicadores técnicos
|
||||
```
|
||||
- SPF fail
|
||||
- DKIM fail
|
||||
- Muitos caracteres especiais no subject
|
||||
- Subject todo em MAIÚSCULAS
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Regra 2: PROMOCIONAIS (Arquivar ou Eliminar)
|
||||
|
||||
**Acção padrão**: `imap_move_email` → pasta "Promotions"
|
||||
|
||||
**Excepções por conta:**
|
||||
```yaml
|
||||
delete_promotions:
|
||||
- rh # Não tem pasta Promotions - apagar directamente
|
||||
```
|
||||
|
||||
> Contas listadas em `delete_promotions`: usar `imap_delete_email` em vez de mover.
|
||||
|
||||
### Padrões Subject
|
||||
```
|
||||
- newsletter
|
||||
- promo
|
||||
- promoção
|
||||
- desconto
|
||||
- oferta especial
|
||||
- black friday
|
||||
- cyber monday
|
||||
- novidades
|
||||
- new arrivals
|
||||
- sale
|
||||
- % off
|
||||
- grátis
|
||||
- free shipping
|
||||
```
|
||||
|
||||
### Padrões Remetente
|
||||
```
|
||||
- *@marketing.*
|
||||
- *@news.*
|
||||
- *@promo.*
|
||||
- *@newsletter.*
|
||||
- *@campaigns.*
|
||||
- *@mailchimp.com
|
||||
- *@sendgrid.net
|
||||
- *@mailgun.org
|
||||
```
|
||||
|
||||
### Headers
|
||||
```
|
||||
- List-Unsubscribe presente
|
||||
- Precedence: bulk
|
||||
- X-Campaign-*
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Regra 3: FACTURAS PAGAS (Reencaminhar)
|
||||
|
||||
**Acção**: Registar para reencaminhar para `contabilidade@descomplicar.pt`
|
||||
|
||||
### Padrões Subject
|
||||
```
|
||||
- factura
|
||||
- fatura
|
||||
- invoice
|
||||
- recibo
|
||||
- receipt
|
||||
- pagamento confirmado
|
||||
- payment confirmed
|
||||
- pago
|
||||
- paid
|
||||
- comprovativo
|
||||
- ordem de pagamento
|
||||
```
|
||||
|
||||
### Padrões Remetente (serviços conhecidos)
|
||||
```
|
||||
- *@hetzner.com
|
||||
- *@ovh.com
|
||||
- *@cloudflare.com
|
||||
- *@github.com
|
||||
- *@google.com
|
||||
- *@microsoft.com
|
||||
- *@adobe.com
|
||||
- *@figma.com
|
||||
- *@notion.so
|
||||
- *@stripe.com
|
||||
- *@paypal.com
|
||||
- *@wise.com
|
||||
- *@revolut.com
|
||||
- *@n26.com
|
||||
- *facturacao@*
|
||||
- *billing@*
|
||||
- *invoices@*
|
||||
```
|
||||
|
||||
### Anexos
|
||||
```
|
||||
- *.pdf com "factura" no nome
|
||||
- *.pdf com "invoice" no nome
|
||||
- *.pdf com "recibo" no nome
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Regra 4: PRIORITÁRIOS (Listar)
|
||||
|
||||
**Acção**: Incluir no relatório diário para revisão manual
|
||||
|
||||
### Padrões Subject
|
||||
```
|
||||
- urgente
|
||||
- urgent
|
||||
- importante
|
||||
- important
|
||||
- problema
|
||||
- problem
|
||||
- erro
|
||||
- error
|
||||
- falha
|
||||
- failure
|
||||
- down
|
||||
- offline
|
||||
- crítico
|
||||
- critical
|
||||
```
|
||||
|
||||
### Remetentes prioritários
|
||||
```
|
||||
# Clientes activos (verificar DeskCRM)
|
||||
# Parceiros importantes
|
||||
# Serviços críticos:
|
||||
- *@cloudflare.com (security alerts)
|
||||
- *@hetzner.com (server alerts)
|
||||
- *@github.com (security)
|
||||
- *@google.com (security)
|
||||
```
|
||||
|
||||
### Indicadores
|
||||
```
|
||||
- RE: ou FW: (threads activas)
|
||||
- Múltiplos destinatários da empresa
|
||||
- Marcado como importante pelo remetente
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Excepções (Nunca processar automaticamente)
|
||||
|
||||
```yaml
|
||||
whitelist_senders:
|
||||
- *@descomplicar.pt # Internos
|
||||
- *@cliente-importante.pt # Clientes VIP
|
||||
|
||||
whitelist_domains:
|
||||
- gov.pt # Governo
|
||||
- tribunais.org.pt # Tribunais
|
||||
- at.gov.pt # Autoridade Tributária
|
||||
- seg-social.pt # Segurança Social
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Pastas IMAP Standard
|
||||
|
||||
| Pasta | Uso |
|
||||
|-------|-----|
|
||||
| INBOX | Emails por processar |
|
||||
| Promotions | Emails promocionais arquivados |
|
||||
| Processed | Emails processados pelo /today |
|
||||
| Important | Emails marcados como prioritários |
|
||||
| Trash | Eliminados |
|
||||
|
||||
---
|
||||
|
||||
## Métricas Diárias
|
||||
|
||||
Registar em cada execução:
|
||||
```yaml
|
||||
metrics:
|
||||
date: YYYY-MM-DD
|
||||
accounts_processed: 12
|
||||
total_emails: X
|
||||
spam_deleted: Y
|
||||
promotions_archived: Z
|
||||
invoices_forwarded: W
|
||||
priority_flagged: V
|
||||
processing_time: Xs
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
## Regras de Tickets (DeskCRM)
|
||||
|
||||
### Notificações de Sistema → NUNCA auto-fechar
|
||||
|
||||
> **REGRA PRIORITÁRIA:** Verificar ANTES dos padrões SPAM. Se um ticket corresponder a esta regra, não pode ser fechado automaticamente.
|
||||
|
||||
**Padrões protegidos (subject - case insensitive):**
|
||||
```regex
|
||||
Legal Update|Legal Notice|Policy Change|Policy Update|
|
||||
Deprecation|End of Life|EOL|Breaking Change|
|
||||
Migration Required|Action Required|Action Needed|
|
||||
Security Alert|Security Advisory|Security Notice|
|
||||
API Change|API Update|Terms Update|Terms Change|
|
||||
Service Disruption|Maintenance Required|
|
||||
Compliance|GDPR|Data Processing|Data Processor|
|
||||
Infrastructure Change|Platform Update|transitions to
|
||||
```
|
||||
|
||||
**Condição:** Remetente deve ser fornecedor conhecido (ver lista de remetentes conhecidos abaixo).
|
||||
|
||||
**Acção:**
|
||||
```
|
||||
→ NÃO fechar
|
||||
→ Listar no relatório como: "⚠️ REQUER ACÇÃO: #{ID} - {Assunto}"
|
||||
→ Manter aberto para análise e decisão manual
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Tickets SPAM → Fechar AUTOMATICAMENTE
|
||||
|
||||
> **IMPORTANTE:** Verificar PRIMEIRO se o ticket corresponde à regra de "Notificações de Sistema" acima. Se sim, NÃO fechar.
|
||||
|
||||
**Padrões de detecção (subject):**
|
||||
```regex
|
||||
Guest Post|SEO services|backlinks|partnership|
|
||||
link building|dofollow|collaboration opportunity|
|
||||
Boas Festas|Season's Greetings
|
||||
```
|
||||
|
||||
> **NOTA:** "Action Required", "Termos de Serviço" e notificações legais foram removidos dos padrões SPAM. Podem indicar mudanças reais em serviços que usamos. São tratados pela regra de "Notificações de Sistema" acima.
|
||||
|
||||
**⚡ Acção AUTOMÁTICA - Executar SEM intervenção manual:**
|
||||
```
|
||||
close_ticket(ticket_id, message="Fechado automaticamente - SPAM detectado")
|
||||
# Registar: "🗑️ SPAM fechado: #{ID} - {Assunto}"
|
||||
```
|
||||
|
||||
> [!important] SPAM = FECHAR IMEDIATAMENTE
|
||||
> Não perder tempo a analisar. Fechar automaticamente e seguir em frente.
|
||||
|
||||
---
|
||||
|
||||
### Tickets de PAGAMENTOS → Contabilidade + Fechar
|
||||
|
||||
**Departamentos DeskCRM:**
|
||||
| ID | Nome | Email |
|
||||
|----|------|-------|
|
||||
| 1 | Comercial | info@descomplicar.pt |
|
||||
| 2 | Suporte | suporte@descomplicar.pt |
|
||||
| 3 | **Contabilidade** | contabilidade@descomplicar.pt |
|
||||
| 4 | RH | rh@descomplicar.pt |
|
||||
| 5 | Design | design@descomplicar.pt |
|
||||
| 6 | Marketing | mkt@descomplicar.pt |
|
||||
| 7 | Tecnologia | it@descomplicar.pt |
|
||||
|
||||
**Padrões de detecção (subject):**
|
||||
```regex
|
||||
payment|pagamento|pago|paid|
|
||||
invoice|factura|fatura|recibo|
|
||||
successfully.*(processed|completed)|
|
||||
subscription.*(renewed|confirmed)|
|
||||
order.*confirmed|receipt|
|
||||
account.*funded|has been funded|
|
||||
Envio de Fatura Eletrónica|
|
||||
Invoice Payment Confirmation|
|
||||
Customer Invoice
|
||||
```
|
||||
|
||||
**Remetentes conhecidos (processar SEMPRE):**
|
||||
```yaml
|
||||
services:
|
||||
# Hosting & Infra
|
||||
- "*@elasticemail.com" # Elastic Email
|
||||
- "*@hetzner.com" # Hetzner
|
||||
- "*@hetzner.de"
|
||||
- "*@centos-webpanel.com" # CWP
|
||||
- "*@control-webpanel.com"
|
||||
|
||||
# Design & Tools
|
||||
- "*@canva.com" # Canva
|
||||
|
||||
# Telecom PT
|
||||
- "*@meo.pt" # MEO
|
||||
- "*@altice.pt"
|
||||
- "*@nos.pt" # NOS (futuro)
|
||||
- "*@vodafone.pt" # Vodafone (futuro)
|
||||
|
||||
# Cloud & SaaS
|
||||
- "*@cloudflare.com"
|
||||
- "*@github.com"
|
||||
- "*@google.com"
|
||||
- "*@microsoft.com"
|
||||
- "*@adobe.com"
|
||||
- "*@figma.com"
|
||||
- "*@notion.so"
|
||||
- "*@openai.com"
|
||||
- "*@email.openai.com"
|
||||
- "*@anthropic.com"
|
||||
- "*@openrouter.zendesk.com" # OpenRouter
|
||||
|
||||
# Pagamentos
|
||||
- "*@stripe.com"
|
||||
- "*@paypal.com"
|
||||
- "*@wise.com"
|
||||
- "*@revolut.com"
|
||||
```
|
||||
|
||||
**Lógica de processamento:**
|
||||
```
|
||||
IF assunto contém padrão de pagamento/factura:
|
||||
IF remetente IN remetentes_conhecidos:
|
||||
→ Contabilidade + Fechar (AUTOMÁTICO)
|
||||
ELSE:
|
||||
→ Avaliar indicadores de spam/phishing
|
||||
→ LISTAR para revisão manual com recomendação
|
||||
```
|
||||
|
||||
**⚡ Acção AUTOMÁTICA para remetentes CONHECIDOS:**
|
||||
```
|
||||
# Executar AMBAS as acções automaticamente, SEM intervenção manual:
|
||||
1. update_ticket(ticket_id, department=3) # Mover para Contabilidade
|
||||
2. close_ticket(ticket_id, message="Fatura processada automaticamente - Contabilidade")
|
||||
# Registar: "💰 Contabilidade + Fechado: #{ID} - {Assunto}"
|
||||
```
|
||||
|
||||
**Acção para remetentes DESCONHECIDOS:**
|
||||
```
|
||||
1. Avaliar indicadores de spam (ver abaixo)
|
||||
2. LISTAR no relatório com recomendação:
|
||||
- [SPAM?] se indicadores presentes
|
||||
- [NOVO?] se parece legítimo (possível novo serviço)
|
||||
3. Aguardar decisão manual
|
||||
```
|
||||
|
||||
### Indicadores de SPAM/PHISHING
|
||||
|
||||
**Alta probabilidade de SPAM:**
|
||||
- Remetente pessoal (gmail, hotmail, yahoo) a enviar "facturas empresariais"
|
||||
- Domínio suspeito (muitos números, hífens, extensões estranhas)
|
||||
- Erros ortográficos no assunto ("facktura", "pagamanto")
|
||||
- Assunto todo em MAIÚSCULAS
|
||||
- Urgência exagerada ("ÚLTIMO AVISO", "URGENTE", "CONTA SUSPENSA")
|
||||
- Sem número de factura/referência específico
|
||||
- Remetente não corresponde à empresa alegada no assunto
|
||||
|
||||
**Provavelmente LEGÍTIMO (novo serviço):**
|
||||
- Domínio empresarial consistente com o assunto
|
||||
- Formato profissional (número de factura, data, referência)
|
||||
- Sem urgência exagerada
|
||||
- Padrão consistente com facturas reais
|
||||
|
||||
> [!info] NUNCA eliminar automaticamente remetentes desconhecidos
|
||||
> Podem ser novos serviços subscritos. Sempre listar para revisão manual.
|
||||
|
||||
### Tickets para ELIMINAR (sem valor contabilístico)
|
||||
|
||||
**Padrões de assunto:**
|
||||
```yaml
|
||||
delete_patterns:
|
||||
# Elastic Email - recargas
|
||||
- "Your Elastic Email Account was successfully re-charged"
|
||||
- "Account re-charged"
|
||||
- "Auto-recharge successful"
|
||||
- "Credit added to your account"
|
||||
|
||||
# FULL Services - activações
|
||||
- "[BOT] Ativação realizada com sucesso"
|
||||
- "[BOT] Activation successful"
|
||||
```
|
||||
|
||||
**Acção:**
|
||||
```
|
||||
delete_ticket(ticket_id, confirm=true, reason="Notificação automática sem valor")
|
||||
```
|
||||
|
||||
> Estas são notificações de recarga automática, não facturas. Não têm valor para contabilidade.
|
||||
|
||||
**Exemplos de assuntos detectados:**
|
||||
- "Your Elastic Email Payment Was Successfully Processed"
|
||||
- "Canva - Your invoice is ready"
|
||||
- "Hetzner - Invoice for January 2025"
|
||||
- "CentOS WebPanel Pro License Invoice"
|
||||
- "MEO - Factura disponível"
|
||||
- "Invoice #12345 - Payment Confirmed"
|
||||
- "Pagamento confirmado - Factura #123"
|
||||
- "Your OpenAI API account has been funded"
|
||||
- "Your OpenRouter, Inc receipt [#1234-5678]"
|
||||
- "Your receipt from OpenRouter, Inc #1234-5678"
|
||||
- "Envio de Fatura Eletrónica: FT A/123456789"
|
||||
- "Invoice Payment Confirmation"
|
||||
- "Customer Invoice"
|
||||
|
||||
---
|
||||
|
||||
**Versão**: 1.1.0
|
||||
**Última actualização**: 2025-01-21
|
||||
Reference in New Issue
Block a user