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
+224
View File
@@ -0,0 +1,224 @@
---
name: crm
description: Operações CRM unificadas. Leads, customers, proposals, estimates e visão 360 do cliente. Consolida crm-ops e crm-admin com verificação obrigatória de duplicados.
layer: wiki
---
# /crm v2.0 - Operações CRM Unificadas
Consolida /crm-ops + /crm-admin numa única skill com subcomandos.
---
## Contexto NotebookLM
ANTES de executar, consultar notebooks para contexto especializado:
| Notebook | ID | Consultar quando |
|----------|-----|-----------------|
| Perfex CRM: Gestão de Clientes e Projectos | df4688bb | Sempre |
```
mcp__notebooklm__notebook_query({
notebook_id: "df4688bb-c2c0-4aba-98c1-38c3b50a353c",
query: "<adaptar ao contexto do pedido do utilizador>"
})
```
Integrar insights do NotebookLM nas recomendações e decisões.
### Procedimentos Relacionados
- `PROC-CRM-Operacoes.md` — Operações CRM padrão
---
## Comandos
| Comando | Função |
|---------|--------|
| `/crm` | Resumo: leads recentes, clientes activos |
| `/crm lead <nome>` | Pesquisar/criar lead |
| `/crm customer <nome>` | Pesquisar/ver cliente |
| `/crm convert <lead_id>` | Converter lead → customer |
| `/crm proposal <lead_id>` | Criar proposta para lead |
| `/crm estimate <client_id>` | Criar estimate para cliente |
| `/crm 360 <cliente>` | Visão completa do cliente |
---
## Definições Críticas
### Lead vs Customer
| Aspecto | LEAD | CUSTOMER |
|---------|------|----------|
| O que é | Prospect | Cliente activo |
| Tabela | tblleads | tblclients + tblcontacts |
| Recebe | Proposals | Estimates, Invoices |
| Conversão | → Customer | Já é cliente |
**Regra:** Novos contactos são SEMPRE leads primeiro.
### Proposal vs Estimate
| Aspecto | PROPOSAL | ESTIMATE |
|---------|----------|----------|
| Para quem | LEADS | CUSTOMERS |
| Termo PT | Orçamento/Proposta | Estimativa formal |
| Converte | Lead→Customer | → Invoice |
**Regra:** "Orçamento" para lead = PROPOSAL
---
## Protocolo
### /crm (Resumo)
```
1. mcp__desk-crm-v3__get_leads({ limit: 5, sort: "-dateadded" })
2. mcp__desk-crm-v3__get_tasks({ status: [1,4], limit: 5 })
3. Mostrar resumo
```
**Output:**
```markdown
## 📊 CRM Resumo
### 🎯 Leads Recentes (5)
| Nome | Empresa | Valor | Status |
|------|---------|-------|--------|
| João Silva | TechCorp | €5.000 | Novo |
| Maria Costa | StartupX | €3.500 | Contactado |
### 📋 Tarefas Pendentes (3)
- #1450 [Alta] Follow-up TechCorp
- #1448 [Normal] Proposta StartupX
```
---
### /crm lead <nome>
**Workflow Anti-Duplicados (OBRIGATÓRIO):**
```
1. Pesquisar em leads:
mcp__desk-crm-v3__get_leads({ search: nome })
2. Pesquisar em customers:
mcp__desk-crm-v3__search_customers({ query: nome })
3. SE encontrar:
- Mostrar resultados
- "Encontrei X. É este ou criar novo?"
4. SE não encontrar:
- "Não encontrei [nome]. Criar lead?"
- AGUARDAR confirmação
5. SÓ após confirmação:
mcp__desk-crm-v3__create_lead({
name: nome,
email: email,
company: empresa,
source: 1,
assigned: 1
})
```
---
### /crm customer <nome>
```
1. mcp__desk-crm-v3__search_customers({ query: nome })
2. Se encontrar: Mostrar detalhes
3. Se não encontrar: "Não encontrado. Existe lead para converter?"
```
**Nunca criar customer automaticamente!**
---
### /crm convert <lead_id>
```
1. mcp__desk-crm-v3__get_lead({ lead_id })
2. Mostrar dados do lead
3. "Converter lead #X para cliente?"
4. Após confirmação:
mcp__desk-crm-v3__convert_lead_to_customer({ lead_id })
5. Retornar ID do novo cliente
```
---
### /crm proposal <lead_id>
```
1. Verificar que é lead (não customer)
2. Perguntar detalhes:
- Assunto
- Itens (descrição, qtd, valor)
3. mcp__desk-crm-v3__create_proposal({
lead_id: lead_id,
subject: assunto,
status: 1
})
4. mcp__desk-crm-v3__add_proposal_items({
proposal_id: id,
items: [...]
})
5. "Proposta #X criada. Enviar? [Sim/Não]"
```
---
### /crm estimate <client_id>
```
1. Verificar que é customer (não lead)
2. mcp__desk-crm-v3__get_customer({ customer_id: client_id })
3. Perguntar detalhes
4. mcp__desk-crm-v3__create_estimate({
client_id: client_id,
items: [...],
status: 1
})
5. "Estimate #X criado. Enviar? [Sim/Não]"
```
---
### /crm 360 <cliente>
```
1. mcp__desk-crm-v3__search_customers({ query: cliente })
2. mcp__desk-crm-v3__get_customer({ customer_id })
3. mcp__desk-crm-v3__get_projects({ client_id })
4. mcp__desk-crm-v3__get_invoices({ client_id })
5. mcp__desk-crm-v3__get_tickets({ client_id })
6. mcp__desk-crm-v3__get_customer_notes({ customer_id })
7. Compilar visão 360
```
**Output:**
```markdown
## 👤 Cliente: XYZ Lda (#45)
### Dados
- **Email:** contacto@xyz.pt
- **Telefone:** +351 912 345 678
- **NIF:** 123456789
- **Desde:** Janeiro 2024
### 📁 Projectos (3)
| Nome | Status | Progresso |
|------|--------|-----------|
| Website Corporativo | Em Curso | 75% |
| Manutenção Anual | Rotina | - |
| App Mobile | Concluído | 100% |
### 💰 Financeiro
| Métrica | Valor |
|---------|-------|
| Total facturado | €