feat(crm-ops): adiciona plugin crm-ops (agents, skills, knowledge e metadados do projeto)

This commit is contained in:
2026-10-28 16:08:32 +00:00
parent 83a69e681c
commit 81d1373977
61 changed files with 6037 additions and 0 deletions
+150
View File
@@ -0,0 +1,150 @@
---
name: ticket-manage
description: >
Gestão completa do ciclo de vida de tickets D2 Suporte: criar com campos correctos, atribuir
por prioridade e SLA, escalar quando SLA em risco, fechar com checklist obrigatória. Baseado
em PROC-D2-SUP-001 (Atendimento), SUP-002 (Ticketing Workflow) e SUP-003 (SLA Management).
Usar para: gestão ticket, SLA check, escalar suporte, fechar ticket, atribuir prioridade.
disable-model-invocation: true
layer: wiki
---
# /ticket-manage v1.0 — Gestão Integrada de Suporte D2
Workflow completo de gestão de tickets segundo os PROCs D2 Suporte (SUP-001/002/003).
Complementa `/ticket` (operações básicas) com gestão de SLA, checklist e escalação automática.
---
## Comandos
| Comando | Função |
|---------|--------|
| `/ticket-manage` | Dashboard SLA + tickets em risco |
| `/ticket-manage new` | Criar ticket com campos correctos |
| `/ticket-manage assign <id>` | Atribuir por prioridade e SLA |
| `/ticket-manage sla` | Ver estado SLA todos os tickets abertos |
| `/ticket-manage escalate <id>` | Escalar com protocolo SUP-001 |
| `/ticket-manage close <id>` | Fechar com checklist obrigatória |
| `/ticket-manage report` | Relatório semanal SLA (SUP-003) |
---
## Prioridades e SLAs (SUP-003)
| Prioridade | Código | Primeira Resposta | Resolução | Escalação |
|------------|--------|-------------------|-----------|-----------|
| Crítico | P1 | <1h | <4h | Imediata D7 |
| Funcional | P2 | <2h | <24h | Após 12h sem resolução |
| Dúvida | P3 | <4h | <48h | Após 24h sem resolução |
| Melhoria | P4 | <24h | Próximo sprint | N/A |
**Mapping Desk CRM:**
| Desk Priority ID | Correspondência |
|-----------------|----------------|
| 4 — Urgente | P1 Crítico |
| 3 — Alta | P2 Funcional |
| 2 — Normal | P3 Dúvida |
| 1 — Baixa | P4 Melhoria |
---
## `/ticket-manage` — Dashboard SLA
```
1. mcp__desk-crm-v3__get_tickets({ status: [1,2,3] })
2. Para cada ticket:
a. Calcular tempo decorrido desde criação/última resposta
b. Comparar com SLA da prioridade
c. Classificar: OK / EM RISCO (<25% SLA restante) / VIOLADO (SLA excedido)
3. Mostrar dashboard agrupado por estado SLA
```
**Output:**
```markdown
## 🎫 Dashboard Suporte — [DATA]
### 🔴 SLA Violado (N)
| # | Prioridade | Cliente | Assunto | Há | SLA |
|---|-----------|---------|---------|-----|-----|
| #234 | P1 Crítico | ClienteA | Downtime servidor | 6h | <4h ❌ |
### 🟠 Em Risco (<25% restante)
| # | Prioridade | Cliente | Assunto | Há | Restante |
|---|-----------|---------|---------|-----|---------|
| #236 | P2 Funcional | ClienteB | Erro login | 20h | 4h ⚠️ |
### 🟢 Dentro do SLA
| # | Prioridade | Cliente | Assunto | Há |
|---|-----------|---------|---------|-----|
| #238 | P3 Dúvida | ClienteC | Como configurar X | 2h |
---
**Resumo:** X violados | Y em risco | Z OK | Total: W tickets abertos
```
---
## `/ticket-manage new` — Criar Ticket Correcto
```
1. Recolher campos obrigatórios:
- Cliente: pesquisar mcp__desk-crm-v3__get_customers({ search: nome }) OU perguntar ID
- Assunto: descrever o problema
- Descrição completa
- Prioridade: perguntar (P1/P2/P3/P4) ou sugerir baseado no assunto
- Departamento: 1=Suporte Técnico, 2=Vendas, 3=Facturação, 4=Geral
- Origem: Desk CRM, email, WhatsApp
2. Confirmar antes de criar:
"Criar ticket P[X] para [Cliente] — [Assunto]? [Sim/Cancelar]"
3. mcp__desk-crm-v3__create_ticket({
client_id: id,
department_id: dept_id,
priority: priority_id, // 4=Urgente, 3=Alta, 2=Normal, 1=Baixa
subject: assunto,
message: "<p>[descrição detalhada]</p><p><strong>Origem:</strong> [origem]</p>"
})
4. Enviar confirmação de recepção ao cliente (se externo):
- P1/P2: "Prioridade máxima. Analisando agora. Actualização em 30min/2h."
- P3: "Recebemos. Resposta em 4h."
- P4: "Registado para próximo sprint."
5. Output: "Ticket #X criado [P1-Crítico] | SLA: 1h resposta / 4h resolução"
```
---
## `/ticket-manage assign <id>` — Atribuir por Prioridade
```
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
2. Determinar responsável baseado em categoria:
- Técnico (WP, servidor, código) → D7 Tecnologia
- Billing, factura → D3 / Emanuel
- Comercial, proposta → D1
- Geral → Support Specialist (staff_id: 25)
3. Se P1: notificar imediatamente (comentário interno + /task urgente)
4. Registar atribuição como comentário interno:
mcp__desk-crm-v3__reply_ticket({
ticket_id: id,
message: "<p>Atribuído: [Responsável] | SLA: [prazo] | Prioridade: [P1-P4]</p>",
internal: true
})
5. Output: "Ticket #X atribuído a [Responsável] | SLA expira: [data/hora]"
```
---
## `/ticket-manage sla` — Estado SLA Completo
```
1. Recolher todos tickets abertos (status 1, 2, 3)
2. Para cada ticket calcular:
- tempo_decorrido = agora - created_at
- sla_limite = por prioridade (1h/2h/4h/24h para primeira resposta)
- percentagem_usada = tempo_decorrido / sla_limite × 100
3. Agrupar: VIOLADO (>100%), EM RISCO (75-100%), OK (<75%)
4. Highlight P1 e P2 c