Files
ealmeida 2252e1c29c feat(crm-ops): adicionar skill /ticket-manage e agent support-specialist D2
Cobertura D2 Suporte elevada de 50% para 75% com novos componentes
baseados nos PROCs D2-SUP-001/002/003.

Skill /ticket-manage (crm-ops/skills/ticket-manage/SKILL.md):
- Dashboard SLA com alertas automáticos (violado/em risco/OK)
- Criação de tickets com campos correctos e confirmação de recepção
- Atribuição por prioridade e responsável (P1→imediato, P2→2h, etc.)
- Escalação com protocolo completo e notificação ao cliente
- Fecho com checklist obrigatória 7 pontos (SUP-001)
- Relatório semanal SLA com métricas por prioridade (SUP-003)

Agent support-specialist (crm-ops/agents/support-specialist.md):
- Executor D2 focado em triagem, atribuição e follow-up
- 4 workflows: triagem diária, resolver ticket, follow-up semanal, P1 crítico
- Métricas: SLA resposta >95%, resolução >90%, NPS >8, 0 violações P1
- Escala para Emanuel (P1) e D7 Tecnologia (tech complexo)

Plugin v1.2.0: adicionadas keywords suporte e sla

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 01:38:15 +01:00

320 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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
---
# /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 com aviso especial
```
**Alertas automáticos a gerar:**
```
P1 sem resposta >30min → "⚠️ CRÍTICO: Ticket #X P1 excede 30min. Acção imediata."
P2 sem resposta >2h → "⚠️ ALERTA: Ticket #X P2 em risco. Re-atribuir?"
Qualquer ticket >48h → "⏰ Ticket #X aberto há +48h. Revisar."
```
---
## `/ticket-manage escalate <id>` — Escalação com Protocolo
```
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
2. Determinar destino de escalação:
- Tech complexo (WP, servidor) → D7 Tecnologia
- Billing → D3 Facturação
- Dev customizado → Project Manager
3. Criar tarefa Desk CRM com contexto completo:
mcp__desk-crm-v3__create_task({
name: "[ESCALADO] Ticket #X: [Assunto]",
description: "<h4>Escalado de Ticket #X</h4>
<p><strong>Cliente:</strong> [nome]</p>
<p><strong>Problema:</strong> [descrição]</p>
<p><strong>Tentativas anteriores:</strong> [o que foi tentado]</p>
<p><strong>SLA original:</strong> [prazo]</p>
<p><strong>Motivo escalação:</strong> [razão]</p>",
priority: 3,
assignees: [1]
})
4. Informar cliente:
mcp__desk-crm-v3__reply_ticket({
ticket_id: id,
message: "<p>Olá [Nome],</p>
<p>A situação é mais complexa e foi escalada para a equipa especialista.
Prazo estimado: 24-48h.</p>
<p>Pedimos desculpa pela demora.</p>"
})
5. Nota interna com motivo detalhado
6. Output: "Ticket #X escalado → Tarefa #Y | Dept: [destino] | ETA: [prazo]"
```
---
## `/ticket-manage close <id>` — Fecho com Checklist Obrigatória
```
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
2. Executar checklist SUP-001 (OBRIGATÓRIO — 100% antes de fechar):
```
### Checklist de Fecho (SUP-001)
- [ ] Solução aplicada e testada
- [ ] Explicação clara da solução enviada ao cliente
- [ ] Causa raiz identificada (não só sintoma)
- [ ] Passos de prevenção comunicados
- [ ] Cliente confirmou resolução ("Resolvido? Feedback?")
- [ ] Lições aprendidas registadas (se novo problema)
- [ ] Follow-up 3 dias agendado (se P1/P2)
```
3. Se checklist incompleta → NÃO fechar, listar pendentes
4. Se 100% → fechar:
mcp__desk-crm-v3__reply_ticket({
ticket_id: id,
message: "<p>Olá [Nome],</p>
<p>Confirmamos que a situação foi resolvida.</p>
<p><strong>Solução:</strong> [explicação]</p>
<p><strong>Prevenção:</strong> [dica]</p>
<p>Obrigado pelo contacto. Se precisar de algo, estamos disponíveis.</p>
<p>Nota 1-10 sobre o suporte?</p>"
})
mcp__desk-crm-v3__close_ticket({ ticket_id: id })
5. Output: "Ticket #X fechado ✓ | Checklist: 7/7 | [Data fecho]"
```
---
## `/ticket-manage report` — Relatório SLA Semanal (SUP-003)
```
1. Recolher tickets dos últimos 7 dias
2. Calcular por prioridade:
- % tickets que cumpriram SLA de resposta
- % tickets que cumpriram SLA de resolução
- Tempo médio de resposta e resolução
3. Identificar violações e categorizar causas
4. Comparar com semana anterior
```
**Output:**
```markdown
## Relatório SLA Semanal — [DD-MM-YYYY a DD-MM-YYYY]
### Cumprimento SLA (Meta: >90%)
| Prioridade | Tickets | SLA Resposta | SLA Resolução | Violações |
|-----------|---------|-------------|--------------|-----------|
| P1 Crítico | 2 | 100% ✅ | 50% ⚠️ | 1 |
| P2 Funcional | 8 | 87.5% ⚠️ | 100% ✅ | 1 |
| P3 Dúvida | 15 | 93.3% ✅ | 86.7% ⚠️ | 2 |
| P4 Melhoria | 3 | 100% ✅ | N/A | 0 |
### Top 3 Tickets Mais Lentos
1. #X — [Assunto] — P2 — 36h — causa: dependência externa D7
2. #Y — [Assunto] — P3 — 52h — causa: complexidade técnica
3. #Z — [Assunto] — P1 — 5h30 — causa: falta de informação cliente
### Acções Correctivas
- [ ] P2 cumprimento <90% → Revisão processo atribuição automática
```
---
## Referências PROCs
| PROC | Ficheiro Hub |
|------|-------------|
| SUP-001 Atendimento | `Hub/06-Operacoes/Procedimentos/D2-Suporte/PROC-D2-SUP-001-Atendimento-Cliente.md` |
| SUP-002 Ticketing | `Hub/06-Operacoes/Procedimentos/D2-Suporte/PROC-D2-SUP-002-Ticketing-Workflow.md` |
| SUP-003 SLA | `Hub/06-Operacoes/Procedimentos/D2-Suporte/PROC-D2-SUP-003-SLA-Management.md` |
---
## Anti-Patterns
- **NUNCA** fechar sem checklist 100% completa
- **NUNCA** escalar sem informar o cliente
- **NUNCA** ignorar tickets P1 >30min
- **NUNCA** resolver sintoma sem identificar causa raiz
---
## Integração com Outras Skills
| Skill | Quando usar |
|-------|-------------|
| `/ticket` | Operações básicas (view, reply) |
| `/ticket-triage` | Triagem automática SPAM/facturas |
| `/crm` | Contexto cliente 360° |
| `/today` | Dashboard diário com SLA alerts |
---
## Changelog
### v1.0.0 (07-04-2026)
- Versão inicial baseada em SUP-001, SUP-002, SUP-003
- Dashboard SLA com alertas automáticos
- Criação com campos obrigatórios e confirmação recepção
- Checklist fecho obrigatória 7 pontos
- Protocolo escalação com contexto completo
- Relatório semanal SLA
---
*Skill v1.0.0 | 07-04-2026 | Descomplicar® | Baseado em PROCs D2-SUP-001/002/003*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*