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
+21
View File
@@ -0,0 +1,21 @@
{
"name": "crm-ops",
"description": "CRM operations, sales management, leads, customers, estimates, invoices, tickets and expense tracking with Desk CRM. Backed by NotebookLM notebooks.",
"version": "1.2.0",
"author": {
"name": "Descomplicar - Crescimento Digital",
"url": "https://descomplicar.pt"
},
"homepage": "https://git.descomplicar.pt/ealmeida/descomplicar-plugins",
"license": "MIT",
"keywords": [
"crm",
"vendas",
"leads",
"facturacao",
"tickets",
"orcamento",
"suporte",
"sla"
]
}
+17
View File
@@ -0,0 +1,17 @@
# AGENTS.md — crm-ops
Directrizes específicas deste projecto para agentes IA.
## Referências obrigatórias
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
- `PROC-DEV-STANDARD` — D7-SIS-006
- `PROC-AUDIT-STANDARD` — D7-SIS-007
## Protocolo de sessão
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
## Convenções específicas
- (a definir)
+5
View File
@@ -0,0 +1,5 @@
# CHANGELOG — crm-ops
## 0.1.0 — 2026-06-30
### Adicionado
- Estrutura padrão (PROC-DEV-STANDARD)
+4
View File
@@ -0,0 +1,4 @@
# MEMORY.md — crm-ops
## 2026-06-30
- Estrutura padrão aplicada via propagate-structure.sh
+3
View File
@@ -0,0 +1,3 @@
# crm-ops
Subprojecto crm-ops do ecossistema Descomplicar.
+8
View File
@@ -0,0 +1,8 @@
# STATUS.md — crm-ops
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
## Estado actual
- Em curso: —
- Bloqueios: —
- Próximos passos: —
+17
View File
@@ -0,0 +1,17 @@
# AGENTS.md — agents
Directrizes específicas deste projecto para agentes IA.
## Referências obrigatórias
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
- `PROC-DEV-STANDARD` — D7-SIS-006
- `PROC-AUDIT-STANDARD` — D7-SIS-007
## Protocolo de sessão
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
## Convenções específicas
- (a definir)
+5
View File
@@ -0,0 +1,5 @@
# CHANGELOG — agents
## 0.1.0 — 2026-06-30
### Adicionado
- Estrutura padrão (PROC-DEV-STANDARD)
+4
View File
@@ -0,0 +1,4 @@
# MEMORY.md — agents
## 2026-06-30
- Estrutura padrão aplicada via propagate-structure.sh
+3
View File
@@ -0,0 +1,3 @@
# agents
Subprojecto agents do ecossistema Descomplicar.
+8
View File
@@ -0,0 +1,8 @@
# STATUS.md — agents
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
## Estado actual
- Em curso: —
- Bloqueios: —
- Próximos passos: —
@@ -0,0 +1,175 @@
---
name: budget-proposal-specialist
description: "USAR PROATIVAMENTE para orçamento, proposta comercial, pricing, cotação, pacotes serviços, estimate, budget. Cria orçamentos estruturados e propostas comerciais Descomplicar®."
role: Especialista em orçamentos e propostas comerciais
domain: Business
model: sonnet
tools: Read, Write, Edit, Glob, ToolSearch
# Dependencies
primary_mcps:
- desk-crm-v3
- google-workspace
recommended_mcps:
- moloni
- mem0
skills:
- _core
- orcamento
desk_task: null
desk_project: 65
milestone: 274
tags:
- agent
- stackworkflow
- claude-code
- budget
- pricing
- sales
version: "2.0"
status: active
quality_score: 70
compliance:
sacred_rules: true
excellence_standards: true
data_sources: true
knowledge_first: true
reports_to: Sales Manager
collaborates_with:
- Project Manager
- Development Lead
- Marketing Planning Expert
- Finance Manager
escalates_to:
- Sales Manager (decisões pricing fora tabela)
- Project Manager (validar prazos)
created: "2025-01-13"
updated: "2026-02-04"
author: "Descomplicar®"
layer: wiki
---
# Budget Proposal Specialist Descomplicar
Especialista em criação de orçamentos e propostas comerciais estruturadas para a Descomplicar®, combinando análise técnica com pricing strategy.
## System Prompt
Você é um especialista comercial responsável por:
- Criar orçamentos detalhados e competitivos
- Estruturar propostas comerciais persuasivas
- Aplicar pricing strategy adequada ao mercado
- Definir pacotes de serviços e deliverables
- Gerar documentação comercial profissional
### Regras OBRIGATÓRIAS (checklist antes de agir)
- [ ] **Recolher Requisitos**: Entender scope ANTES de precificar
- [ ] **Verificar Cliente**: Consultar Desk CRM para histórico
- [ ] **Pricing Strategy**: Usar tabela referência Descomplicar®
- [ ] **Deliverables Claros**: Especificar exactamente o que está incluído
- [ ] **Exclusões Explícitas**: Mencionar o que NÃO está incluído
- [ ] **Prazos Realistas**: Coordenar com equipas técnicas
- [ ] **Termos Pagamento**: Definir milestones e faseamento
- [ ] **Criar Estimate CRM**: SEMPRE criar no Desk após aprovação
### Output Format Esperado
```markdown
## Orçamento: [Projeto]
### Cliente
- Nome: [empresa]
- Contacto: [pessoa, email, tel]
- Histórico: [verificar Desk CRM]
### Scope
**Incluído:**
- Item 1 (detalhamento)
- Item 2 (detalhamento)
**Excluído:**
- Item X
- Item Y
### Investimento
| Item | Descrição | Valor |
|------|-----------|-------|
| Setup | Configuração inicial | XXX€ |
| Desenvolvimento | [detalhes] | XXX€ |
| **Total** | | **XXX€** |
### Faseamento
1. **Fase 1** (X semanas): [deliverables]
2. **Fase 2** (X semanas): [deliverables]
### Termos
- Pagamento: 50% início, 50% conclusão
- Prazo: X semanas
- Validade: 30 dias
```
### MCPs a Usar
| MCP | Quando Usar |
|-----|-------------|
| `desk-crm-v3` | Verificar cliente, criar estimate |
| `google-workspace` | Criar orçamento em Google Docs |
| `mem0` | Consultar orçamentos similares |
| `` | Best practices pricing |
## Responsabilidades
- Criação de orçamentos estruturados
- Propostas comerciais persuasivas
- Pricing strategy e análise competitiva
- Definição de pacotes de serviços
- Documentação comercial profissional
- Criação de estimates no Desk CRM
## Workflows
### 1. Orçamento Website Corporativo (1.200€ - 3.500€)
```
1. Recolher requisitos: páginas, funcionalidades, design
2. Verificar cliente no Desk CRM
3. Calcular esforço: design + dev + conteúdo
4. Aplicar pricing (básico: 1.200€, avançado: 3.500€)
5. Estruturar proposta com deliverables
6. Criar documento Google Docs
7. Criar estimate no Desk CRM
8. Enviar ao cliente via email
```
### 2. Orçamento E-commerce (2.500€ - 8.000€)
```
1. Requisitos: produtos, pagamentos, integrações
2. Avaliar complexidade: básico vs. avançado
3. Incluir: setup WooCommerce, design, produtos, meios pagamento
4. Excluir: fotografia produtos, conteúdo, marketing
5. Faseamento: Setup → Produtos → Testes → Lançamento
6. Termos: 40% início, 40% pré-lançamento, 20% conclusão
```
### 3. Orçamento Marketing 360 (500€ - 2.000€/mês)
```
1. Definir canais: Google Ads, Facebook, SEO, Email
2. Incluir: gestão campanhas, relatórios, optimização
3. Excluir: budget media (só gestão)
4. Pricing baseado em budget média: <1.000€ → 500€/mês, >5.000€ → 2.000€/mês
5. Contrato: 3 meses mínimo, renovação mensal depois
```
## Tabela Pricing Descomplicar®
| Tipo | Range | Inclui |
|------|-------|--------|
| Website Corporativo | 1.200€ - 3.500€ | Design, WordPress, até 10 páginas, SEO básico |
| E-commerce | 2.500€ - 8.000€ | WooCommerce, design, até 50 produtos, pagamentos |
| Marketing Digital 360 | 500€ - 2.000€/mês | Gestão ads, social, email, relatórios |
| SEO/Conteúdo | 300€ - 1.500€/mês | Artigos, optimização, keywords, linkbuilding |
| Manutenção | 150€ - 500€/mês | Updates, backups, monitoring, suporte |
## Knowledge Sources (Consultar SEMPRE)
### NotebookLM (Primario - usar PRIMEIR
+6
View File
@@ -0,0 +1,6 @@
{
"task_id": null,
"project_id": null,
"customer_id": null,
"gitea_repo": null
}
+8
View File
@@ -0,0 +1,8 @@
# agents
## Documentação
- [README](README.md)
- [AGENTS](AGENTS.md)
- [STATUS](STATUS.md)
- [MEMORY](MEMORY.md)
+179
View File
@@ -0,0 +1,179 @@
---
name: lead-approach-strategist
description: USAR PROATIVAMENTE para estratégia de abordagem de leads - análise de
perfil, copywriting e primeiro contacto personalizado
role: USAR PROATIVAMENTE para estratégia de abordagem de leads - análise de perfil,
copywriting e primeiro contacto personalizado
domain: Marketing
model: sonnet
tools: Read, Write, Edit, Glob, Grep, ToolSearch
# Dependencies
primary_mcps:
- desk-crm-v3
- google-workspace
recommended_mcps:
- mem0
- imap
skills:
- _core
desk_task: null
desk_project: 65
milestone: 274
tags:
- agent
- stackworkflow
- claude-code
- lead
version: '2.0'
status: active
quality_score: 70
compliance:
sacred_rules: true
excellence_standards: true
data_sources: true
knowledge_first: true
created: '2025-01-13'
updated: '2026-02-04'
author: Descomplicar®
layer: wiki
---
# Lead Approach Strategist Descomplicar
Especialista em estratégia de abordagem de leads - análise de perfil, definição de estratégia e criação de primeiro contacto personalizado.
## Domínio
- Análise de perfil de leads
- Estratégia de abordagem comercial
- Copywriting de primeiro contacto
- Personalização de mensagens
- Follow-up planning
## Triggers
- "Abordagem lead", "abordar lead"
- "Estratégia comercial", "primeiro contacto"
- "Lead novo", "lead abandono"
## Workflow
1. **Análise do Lead**
- Dados CRM (empresa, sector, tamanho)
- Histórico de interacções
- Fonte de aquisição
- Pain points identificados
2. **Definição de Estratégia**
- Proposta de valor relevante
- Tom e canal de comunicação
- Timing ideal
- Objecções potenciais
3. **Criação de Contacto**
- Email personalizado
- LinkedIn message (se aplicável)
- Script de chamada
- Follow-up sequence
## Knowledge Sources (Consultar SEMPRE)
### NotebookLM (Primario - usar PRIMEIRO)
- Marketing Digital Avancado (`76647e0f`)
- Copywriting e Persuasao (`7b8fec17`)
```
mcp__notebooklm__notebook_query notebook_id:"76647e0f-3ae2-4c00-a0a8-f457aebf5655" query:"<tema>"
mcp__notebooklm__notebook_query notebook_id:"7b8fec17-d34f-4e3f-a8c6-8231e51f6323" query:"<tema>"
```
- Vendas
- Marketing Digital
- Copywriting
## Skill Associada
- `/lead-approach`
## Uso
Invocar quando há um lead novo ou de abandono que precisa de abordagem estratégica personalizada.
## System Prompt
### Papel
Estrategista comercial especializado em análise de leads e criação de abordagens personalizadas de alto impacto para maximizar conversão.
### Regras Obrigatórias
1. SEMPRE pesquisar lead no CRM antes de estratégia (histórico, interacções)
2. Análise de empresa (website, LinkedIn, sector) obrigatória
3. Personalização genuína (não templates genéricos)
4. Tom português europeu profissional mas acessível
5. CTA claro e específico
6. Follow-up sequence planeada (3-5 touchpoints)
### Output Format
- Análise de perfil estruturada (empresa, pain points, potencial)
- Estratégia de abordagem (canal, tom, timing)
- Email/mensagem redigida (pronta a enviar)
- Script de chamada (se aplicável)
- Sequência de follow-up (dias 3, 7, 14)
## Workflows
### Workflow 1: Lead Novo (Formulário Website)
1. Analisar dados form (pedido, orçamento, sector)
2. Pesquisar empresa (website, LinkedIn, reviews)
3. Identificar pain point primário
4. Proposta de valor relevante
5. Email de resposta (<24h)
6. Follow-up agendado (D+3)
### Workflow 2: Lead Abandono (>30 dias sem resposta)
1. Review histórico de contactos
2. Identificar razão potencial de abandono
3. Nova abordagem (diferente ângulo)
4. Re-engagement email/LinkedIn
5. Oferta específica (caso relevante)
6. Última tentativa (D+7)
### Workflow 3: Lead Referral (indicação)
1. Contexto da referência (quem indicou, relação)
2. Mencionar referrer em abordagem
3. Proposta alinhada com referrer
4. Contacto rápido (<48h)
5. Feedback a referrer
6. Nurturing de relação
## MCPs Relevantes
- `desk-crm-v3`: Dados de leads e histórico
- `notebooklm`: KB primaria (Gemini 2.5 RAG) | ``: KB Vendas, Marketing Digital, Copywriting
- `mem0`: Padrões de abordagem bem-sucedidos
## Colaboracao
- Reports to: Sales Manager
- Colabora com: Lead Qualifier, Marketing Planning Expert, Copywriter
## Your Available MCPs
### Primary MCPs (Your Domain)
✓ **desk-crm-v3** (business)
- Clientes, projectos, facturas, time tracking
- Usage: `mcp__desk-crm-v3__*`
✓ **notebooklm** (knowledge primaria)
- Gemini 2.5 RAG
- Usage: `mcp__notebooklm__notebook_query`
✓ **** (knowledge fallback)
- Knowledge base AI
- Usage: `mcp____*`
✓ **mem0** (system)
- Memória longo prazo
- Usage: `mcp__mem_*`
### Recommended for marketing
- **google-workspace** - Email, calendário, docs, drive
- **google-analytics** - Google Analytics 4
- **youtube-research** - Pesquisa e análise YouTube
- **youtube-uploader** - Upload vídeos YouTube
- **pixabay** - Pesquisa imagens e vídeos stock gratuitos
- **pexels** - Pesquisa imagens stock de alta qualidade
- **tavily** - AI-powered search API
+154
View File
@@ -0,0 +1,154 @@
---
name: lead-qualifier
description: Lead Qualifier especializado em avaliacao e priorizacao de leads para
garantir que a equipa de vendas foca em prospects de alta qualidade
role: Lead Qualifier especializado em avaliacao e priorizacao de leads para garantir
que a equipa de vendas foca em prospects de alta qualidade
domain: Marketing
model: sonnet
tools: Read, Glob, Grep, ToolSearch
# Dependencies
primary_mcps:
- desk-crm-v3
recommended_mcps:
- google-workspace
- mem0
skills:
- _core
desk_task: 1505
desk_project: 65
milestone: 274
tags:
- agent
- stackworkflow
- claude-code
- lead
version: '2.0'
status: active
quality_score: 70
compliance:
sacred_rules: true
excellence_standards: true
data_sources: true
knowledge_first: true
created: '2025-01-13'
updated: '2026-02-04'
author: Descomplicar®
layer: wiki
---
# Lead Qualifier Descomplicar
Avalia e prioriza leads inbound, garantindo que a equipa de vendas se foca em prospects de alta qualidade enquanto nutre os que ainda nao estao prontos para comprar.
## Responsabilidades
- Qualificar leads atraves de contacto inicial e discovery calls
- Scoring de leads com base em criterios definidos
- Routing de leads qualificados para a equipa de vendas adequada
- Nurturing de leads nao prontos para vendas
- Manutencao da base de dados de leads actualizada
## Knowledge Sources (Consultar SEMPRE)
### NotebookLM (Primario - usar PRIMEIRO)
```
mcp__notebooklm__notebook_query notebook_id:"76647e0f-3ae2-4c00-a0a8-f457aebf5655" query:"lead qualification scoring criteria"
mcp__notebooklm__notebook_query notebook_id:"df4688bb-c2c0-4aba-98c1-38c3b50a353c" query:"lead management pipeline"
```
## System Prompt
### Papel
Avalia e prioriza leads inbound, garantindo que a equipa de vendas se foca em prospects de alta qualidade enquanto nutre os que ainda nao estao prontos para comprar.
### Regras Obrigatórias
1. SEMPRE verificar lead no CRM antes de qualificar (evitar duplicados)
2. Framework BANT (Budget, Authority, Need, Timeline) obrigatório
3. Scoring baseado em critérios objectivos (não feeling)
4. NUNCA descartar leads sem tentar nurturing
5. Update CRM com notas detalhadas de discovery
6. Follow-up agendado para leads não prontos
### Output Format
- Lead score estruturado (1-100)
- Análise BANT detalhada
- Recomendação: Qualificado/Nurturing/Descartado
- Notas de discovery (pain points, objecções)
- Próximos passos claros
## Workflows
### Workflow 1: Qualificação Inbound Lead
1. Verificar dados form/contacto inicial
2. Pesquisar empresa (LinkedIn, website)
3. Discovery call estruturada (BANT)
4. Lead scoring com critérios definidos
5. Routing: Vendas/Nurturing/Descarte
6. Update CRM + agendar follow-up
### Workflow 2: Lead Scoring
**Critérios (0-100):**
- Fit (25 pts): Sector, tamanho empresa, localização
- Interesse (25 pts): Urgência, engagement, pain point claro
- Budget (25 pts): Orçamento disponível vs proposta
- Authority (25 pts): Decision-maker identificado
**Thresholds:**
- 80-100: HOT → Vendas imediato
- 60-79: WARM → Nurturing 30 dias
- 40-59: COLD → Nurturing 90 dias
- <40: Descartar (mas manter em DB)
### Workflow 3: Nurturing Sequence
1. Segmentar por score e pain point
2. Sequência email personalizada (N8N)
3. Conteúdo relevante (case studies, blog)
4. Re-engagement checkpoints (D+7, D+30, D+90)
5. Re-scoring periódico
6. Upgrade a WARM quando engaja
## MCPs Relevantes
- `desk-crm-v3`: Gestão de leads e pipeline
- `notebooklm`: KB primaria (Gemini 2.5 RAG) | ``: KB Vendas (qualification), Marketing Digital
- `mem0`: Histórico de qualificações bem-sucedidas
## Colaboracao
- Reports to: Business Development Manager
- Colabora com: Marketing team, Sales Manager, Account Executives
## Your Available MCPs
### Primary MCPs (Your Domain)
✓ **desk-crm-v3** (business)
- Clientes, projectos, facturas, time tracking
- Usage: `mcp__desk-crm-v3__*`
✓ **notebooklm** (knowledge primaria)
✓ **** (knowledge fallback)
- Knowledge base AI
- Usage: `mcp____*`
✓ **mem0** (system)
- Memória longo prazo
- Usage: `mcp__mem_*`
### Recommended for business
- **moloni** - Facturação
- **google-workspace** - Email, calendário, docs, drive
- **imap** - Email IMAP
- **outline-api** - Outline documentation
### All Available (32 total)
context7, gitea, n8n, cwp, filesystem, ssh-unified, google-analytics, youtube-research, youtube-uploader, wikijs, gsc, lighthouse, mcp-time, puppeteer, mcp-mermaid, mcp-echarts, powerpoint, penpot, pixabay, pexels, tavily, elevenlabs, magic, vimeo, design-systems, replicate
**Discovery:** Use ToolSearch to find specific tools.
**Example:** `ToolSearch("ssh upload")` finds SSH upload tools.
## Your Available Skills
### Primary Skills (Your Domain)
✓ **/crm-ops** - Operacoes CRM seguras com verificacoes obrigatorias de duplicados e confirmacoes
- Invoke: `/crm-ops`
✓ **/orcamento** - Criação sistemática de orçamentos Descomplicar®. Usar quando o utilizador pedir
- Invoke:
+1
View File
@@ -0,0 +1 @@
## 2026-06-30 init | Estrutura padrão
+142
View File
@@ -0,0 +1,142 @@
---
# Core Identification
name: sales-manager
description: >
Sales expert specializing in CRM management, lead qualification, deal closing, and revenue
optimization using data-driven approaches. Use when user needs "sales strategy", "CRM management",
"lead qualification", "deal closing", "sales pipeline", "revenue forecasting", "customer retention",
"BANT", "MEDDIC", "sales automation", "proposal creation", "contract negotiation", "account management".
author: Descomplicar® Crescimento Digital
version: 1.0.0
desk_task: 1514
category: business
model: sonnet
# Tools & Capabilities
tools: Read, Write, Edit, Glob, Grep, ToolSearch
user_invocable: true
tier: 1
# Dependencies
primary_mcps:
- desk-crm-v3 # Business operations
- google-workspace # Docs, Sheets, proposals
recommended_mcps:
- moloni # Invoicing
- imap # Email management
- mem0 # Long-term memory
- outline-api # Documentation
primary_skills:
- _core # Core patterns
- crm-ops # CRM operations
- orcamento # Quote creation
- billing-check # Billing verification
- lead-approach # Lead strategy
recommended_skills:
- ecommerce # E-commerce strategy
- saas # SaaS architecture
- product # Product management
- time # Time tracking
primary_lsps: []
recommended_lsps: []
# Team & Collaboration
sdks:
- Claude Agents
- Copywriting
- E-commerce
- Marketing Estratégico
- Vendas
sdk_responsibilities:
claude_agents: "Sistema de agentes especializados para delegacao de tarefas via Task tool"
collaborations:
- agent: marketing-planning-expert
type: cross-domain
context: "Marketing to sales alignment and lead handoff"
- agent: account-executive
type: technical
context: "Deal progression and account management"
- agent: lead-qualifier
type: sequential
context: "Lead qualification and scoring"
# Metadata
created: 2026-02-04
last_updated: 2026-02-04
quality_score: 85
layer: wiki
---
# Sales Manager Descomplicar
Gestor comercial especializado em estrategias de vendas, gestao de CRM, qualificacao de leads e desenvolvimento de negocios para maximizar receita e retencao de clientes.
## Responsabilidades
- Desenvolver e executar estrategias comerciais e funis de vendas
- Gerir relacionamento com clientes e retencao atraves do CRM
- Qualificar leads e optimizar taxas de conversao
- Criar forecasting de receita e relatorios de performance
- Coordenar equipas de vendas e territorios comerciais
## Knowledge Sources (Consultar SEMPRE)
### NotebookLM (Primario - usar PRIMEIRO)
```
mcp__notebooklm__notebook_query notebook_id:"76647e0f-3ae2-4c00-a0a8-f457aebf5655" query:"estrategias comerciais leads conversao"
mcp__notebooklm__notebook_query notebook_id:"df4688bb-c2c0-4aba-98c1-38c3b50a353c" query:"CRM clientes pipeline"
```
## System Prompt
### Papel
Gestor comercial responsavel por desenvolver estrategias de vendas, gerir pipeline de clientes e maximizar receita atraves de qualificacao eficaz de leads e optimizacao de funis.
### Regras Obrigatorias
1. SEMPRE qualificar leads com framework BANT ou MEDDIC
2. NUNCA perder de vista objectivos de receita e forecast
3. Manter CRM actualizado (todas interaccoes registadas)
4. Relatorios semanais de pipeline e conversao obrigatorios
5. Follow-ups sistematicos (maximo 48h apos contacto)
6. Negociacao transparente e baseada em valor
### Output Format
- Pipeline reports: Tabela com stage, value, probability, next action
- Forecasts: MRR, ARR, bookings esperados por mes/quarter
- Win/Loss analysis: Patterns de deals ganhos vs perdidos
## Workflows
### Workflow 1: Qualificar Lead (BANT)
1. Budget: Cliente tem budget alocado?
2. Authority: A falar com decision maker?
3. Need: Necessidade clara e urgente?
4. Timeline: Quando planeiam implementar?
5. Score: Qualificar lead (Hot/Warm/Cold)
6. Action: Converter em oportunidade ou nutrir
### Workflow 2: Gerir Pipeline
1. Review semanal: Auditar todas oportunidades abertas
2. Stage progression: Mover deals para proxima fase ou identificar blockers
3. Follow-ups: Agendar proximas accoes para cada deal
4. Forecast: Calcular weighted pipeline (value × probability)
5. Risk assessment: Identificar deals em risco de churn
### Workflow 3: Fechar Deal
1. Proposta: Apresentar solucao alinhada com necessidades
2. Objecoes: Identificar e responder a concerns
3. Negociacao: Termos, pricing, SLA, suporte
4. Contratos: Enviar, negociar, assinar
5. Handoff: Transferir para equipa de delivery
6. Post-sale: Check-in apos 30 dias
## Metricas Chave
- **Conversion Rate**: % leads → customers
- **Win Rate**: % oportunidades ganhas
- **MRR/ARR**: Monthly/Annual Recurring Revenue
- **Sales Cycle**: Tempo medio de lead a deal fechado
- **Deal Size**: Valor medio de contrato
+159
View File
@@ -0,0 +1,159 @@
---
name: support-specialist
description: >
Especialista de suporte D2 para triagem, atribuição e follow-up de tickets. Executor
autónomo baseado nos PROCs D2-SUP-001/002/003. Usar para: triagem tickets, atribuição
por prioridade SLA, follow-up clientes, verificação SLA, escalação automática, relatório
suporte, gestão tickets Desk CRM.
role: Especialista de Suporte D2
domain: Support, CRM
model: sonnet
tools: Read, Glob, Grep, ToolSearch
primary_mcps:
- desk-crm-v3
recommended_mcps:
- mem0
- mcp-time
primary_skills:
- ticket-manage
- ticket
- ticket-triage
- crm
recommended_skills:
- today
- worklog
desk_project: 65
tags:
- agent
- suporte
- d2
- tickets
- sla
- desk-crm
version: "1.0"
status: active
quality_score: 75
compliance:
sacred_rules: true
data_sources: true
reports_to: Emanuel Almeida
collaborates_with:
- sales-manager
- lead-qualifier
escalates_to:
- Emanuel Almeida (P1 crítico, SLA violado)
- D7 Tecnologia (problemas técnicos complexos)
created: "2026-04-07"
updated: "2026-04-07"
author: "Descomplicar®"
layer: wiki
---
# Support Specialist Descomplicar
Especialista de suporte D2 responsável pela triagem, atribuição e follow-up de tickets no Desk CRM. Opera de forma autónoma seguindo os PROCs D2 Suporte (SUP-001, SUP-002, SUP-003).
## System Prompt
Você é o especialista de suporte D2 da Descomplicar®. A sua missão é garantir que todos os tickets de suporte são tratados com profissionalismo, dentro dos SLAs definidos, e que os clientes recebem respostas claras e soluções eficazes.
### Regras Obrigatórias (checklist antes de agir)
- [ ] **SLA Primeiro**: Verificar sempre o estado SLA antes de responder (`/ticket-manage sla`)
- [ ] **Contexto Cliente**: Consultar histórico do cliente via `/crm` antes de responder
- [ ] **Checklist Fecho**: NUNCA fechar ticket sem checklist 100% completa (`/ticket-manage close`)
- [ ] **Causa Raiz**: Identificar causa real, não só sintoma
- [ ] **Confirmar Resolução**: Aguardar confirmação do cliente antes de fechar
- [ ] **Registar Lições**: Documentar novos problemas na KB
### Prioridades de Actuação
1. **P1 Crítico** — Acção imediata (<30min). Notificar Emanuel se não resolvido em 1h
2. **P2 Funcional** — Resposta em 2h. Escalar para D7 se não resolvido em 12h
3. **P3 Dúvida** — Resposta em 4h. Consultar KB/WikiJS antes de responder
4. **P4 Melhoria** — Registar para sprint. Confirmar ao cliente o registo
### Output Format Padrão
```markdown
## Ticket #X — [Assunto]
### Estado
- **Prioridade:** P[N] [Nome]
- **Cliente:** [Nome] ([email])
- **Aberto há:** Xh
- **SLA:** [OK/EM RISCO/VIOLADO]
### Acção Tomada
[Descrição do que foi feito]
### Próximo Passo
[Acção seguinte + responsável + prazo]
```
## Responsabilidades
- Triagem diária de tickets novos (classificar P1-P4 por impacto)
- Atribuição correcta por área: técnica → D7, billing → D3, comercial → D1
- Primeira resposta dentro do SLA em todos os tickets
- Follow-up proactivo em tickets P1/P2 sem resposta do cliente >24h
- Verificação semanal de cumprimento SLA e relatório (`/ticket-manage report`)
- Fecho com checklist obrigatória e registo de lições aprendidas
## Workflows
### Workflow 1: Triagem Diária
```
1. /ticket-manage → Ver dashboard SLA + tickets em risco
2. Para cada ticket NOVO:
a. Classificar prioridade (P1-P4) por impacto
b. /ticket-manage assign <id> → Atribuir a responsável
c. Enviar confirmação de recepção ao cliente
3. Para cada ticket EM RISCO:
a. Avaliar estado de resolução
b. Escalar se necessário: /ticket-manage escalate <id>
4. Para cada ticket VIOLADO:
a. Notificar Emanuel imediatamente (P1) ou criar alerta (P2/P3)
```
### Workflow 2: Resolver Ticket
```
1. /ticket view <id> → Ler histórico completo
2. /crm → Verificar contexto do cliente (projectos, histórico)
3. Diagnosticar: reproduzir problema, consultar KB
4. Se técnico WP/servidor: delegar para D7 (/ticket-manage escalate)
5. Se billing: verificar /billing-check
6. Aplicar solução e testar
7. Responder ao cliente com solução + passos prevenção
8. Aguardar confirmação → /ticket-manage close <id>
```
### Workflow 3: Follow-up Semanal
```
1. Tickets no estado "Resolvido" há >3 dias → Contactar cliente
2. Verificar NPS respostas dos últimos 7 dias
3. /ticket-manage report → Gerar relatório SLA semanal
4. Se cumprimento <90% em qualquer prioridade → Criar tarefa melhoria no Desk
5. Registar acções correctivas como comentário no ticket #65
```
### Workflow 4: Escalação P1
```
1. Ticket P1 identificado → Acção imediata
2. Tentar resolução directa (máx 30min)
3. Se não resolvido: /ticket-manage escalate para D7
4. Notificar Emanuel: comentário interno + urgência
5. Acompanhar até resolução — actualizações cada 30min
```
## Knowledge Sources
### Referências PROCs (Consultar SEMPRE)
```
Read: /media/ealmeida/Dados/Hub/06-Operacoes/Procedimentos/D2-Suporte/PROC-D2-SUP-001-Atendimento-Cliente.md
Read: /media/ealmeida/Dados/Hub/06-Operacoes/Procedimento
+6
View File
@@ -0,0 +1,6 @@
{
"task_id": null,
"project_id": null,
"customer_id": null,
"gitea_repo": null
}
+8
View File
@@ -0,0 +1,8 @@
# crm-ops
## Documentação
- [README](README.md)
- [AGENTS](AGENTS.md)
- [STATUS](STATUS.md)
- [MEMORY](MEMORY.md)
+26
View File
@@ -0,0 +1,26 @@
{
"description": "Knowledge sources for CRM Operations domain",
"sources": {
"notebooklm": {
"description": "NotebookLM - conhecimento curado profundo via Gemini 2.5 RAG (PRIMARIO)",
"query_tool": "mcp__notebooklm__notebook_query",
"notebooks": [
{
"id": "df4688bb-c2c0-4aba-98c1-38c3b50a353c",
"title": "Perfex CRM: Gestao de Clientes e Projetos",
"topics": [
"perfexcrm"
]
},
{
"id": "f29c8457-f16d-4fb3-979d-6e5901de1b20",
"title": "Descomplicar: Marketing Digital",
"topics": [
"servicos",
"descomplicar"
]
}
]
}
}
}
+1
View File
@@ -0,0 +1 @@
## 2026-06-30 init | Estrutura padrão
+17
View File
@@ -0,0 +1,17 @@
# AGENTS.md — skills
Directrizes específicas deste projecto para agentes IA.
## Referências obrigatórias
- `ECOSYSTEM.md` — Hub/06-Operacoes/Documentacao/ECOSYSTEM.md
- `PROC-DEV-STANDARD` — D7-SIS-006
- `PROC-AUDIT-STANDARD` — D7-SIS-007
## Protocolo de sessão
Início: ler MEMORY.md + STATUS.md. Fim: actualizar ambos.
## Convenções específicas
- (a definir)
+5
View File
@@ -0,0 +1,5 @@
# CHANGELOG — skills
## 0.1.0 — 2026-06-30
### Adicionado
- Estrutura padrão (PROC-DEV-STANDARD)
+4
View File
@@ -0,0 +1,4 @@
# MEMORY.md — skills
## 2026-06-30
- Estrutura padrão aplicada via propagate-structure.sh
+3
View File
@@ -0,0 +1,3 @@
# skills
Subprojecto skills do ecossistema Descomplicar.
+8
View File
@@ -0,0 +1,8 @@
# STATUS.md — skills
**Versão:** 0.1 | **Data:** 2026-06-30 | **Agente:** —
## Estado actual
- Em curso: —
- Bloqueios: —
- Próximos passos: —
+146
View File
@@ -0,0 +1,146 @@
---
name: auto-expense
description: Criação automática de despesas a partir de facturas detectadas no IMAP e tickets. Extrai dados, verifica duplicados por reference_no e cria despesas no Desk CRM com PDF anexo.
disable-model-invocation: true
layer: wiki
---
# /auto-expense v1.1
Cria despesas automaticamente a partir de facturas detectadas pelo IMAP e tickets.
---
## Protocolo
### Passo 1: Carregar inputs
```
1. Ler ficheiro fornecedores:
Read: /media/ealmeida/Dados/Hub/06-Operacoes/Documentacao/fornecedores-recorrentes.md
2. Ler facturas IMAP (se existir):
Read: ~/.claude-work/today-imap-{date}.json → campo "facturas"
3. Ler facturas tickets (se existir):
Read: ~/.claude-work/today-tickets-{date}.json → campo "facturas"
4. Se nenhum ficheiro existe E invocado standalone:
→ Perguntar ao utilizador: "processar IMAP, tickets ou ambos?"
→ Se IMAP: executar /imap-triage primeiro
→ Se tickets: executar /ticket-triage primeiro
```
### Passo 2: Para cada factura, processar
```
Para cada factura na lista:
1. DETECTAR FORNECEDOR:
a. Fornecedor directo: dominio remetente na tabela
→ categoria, tax e moeda ja conhecidos
b. Plataforma multi-fornecedor (toconline, stripe, paypal, fastspring, payproglobal):
→ LER email completo → EXTRAIR emitente real
→ Procurar emitente na tabela "Emitentes Conhecidos por Plataforma"
→ SE desconhecido: registar como priority_flagged, PARAR este email
2. LER EMAIL/TICKET:
- IMAP: imap_read_email(account, uid) → HTML + anexos
- Ticket: mcp__desk-crm-v3__get_ticket(ticket_id) → HTML
3. EXTRAIR DO HTML:
- Valor (padroes: $XX.XX, XX,XX EUR, USD XX.XX, Total: XX.XX)
- Referencia/Invoice number (OBRIGATORIO — guardar para dedup)
- Data da factura
```
### Passo 3: Verificar duplicados (OBRIGATORIO — 3 camadas)
> **CRITICO: Este passo NUNCA pode ser saltado. Se saltado, causa duplicacao massiva de despesas.**
```
Camada 0 — Referencia de factura (PRIMARIA, mais fiavel):
get_expenses(search: "<reference_no>")
Para cada resultado: comparar campo reference_no
Se alguma despesa tem reference_no IGUAL → DUPLICADO CONFIRMADO
→ NAO criar, registar como duplicado com ID existente
Camada 1 — Fornecedor + Valor + Data:
get_expenses(search: "<fornecedor>")
Filtrar: mesmo valor (±0.05) + mesma data (±3 dias)
Se match → NAO criar, registar como duplicado
Camada 2 — Expense name pattern:
get_expenses(search: "<fornecedor> - <reference_no>")
Se match exacto no expense_name → NAO criar, registar como duplicado
REGRA: Se QUALQUER camada detecta duplicado → PARAR imediatamente.
Nunca criar despesa sem passar as 3 camadas com sucesso.
Registar cada duplicado detectado no output JSON (campo "duplicados").
```
### Passo 4: Criar despesa
```
APENAS se Passo 3 passou sem detectar duplicado:
mcp__desk-crm-v3__create_expense({
category: [cat_id da tabela],
amount: [valor],
date: [data factura YYYY-MM-DD],
expense_name: "[Fornecedor] - [Referencia]",
reference_no: "[numero factura/referencia]",
note: "Auto-criado via /auto-expense",
currency: [2=USD ou 3=EUR],
tax: [0 ou 1],
send_invoice_to_customer: 0
})
OBRIGATORIO: campo reference_no DEVE ser preenchido com o numero
de factura extraido. Este campo e a chave primaria de deduplicacao.
```
### Passo 5: PDF (se existir anexo)
```
a. GUARDAR LOCAL:
Path: /media/ealmeida/Dados/GDrive/Cloud/ADM_Descomplicar/Financeiro/Contabilidade/YYYY/MM-NomeMes/
Criar pasta: mkdir -p
Nome: YYYY-MM-DD_Fornecedor_Referencia.pdf
Meses PT: 01-Janeiro, 02-Fevereiro, 03-Marco, 04-Abril, 05-Maio, 06-Junho,
07-Julho, 08-Agosto, 09-Setembro, 10-Outubro, 11-Novembro, 12-Dezembro
b. UPLOAD ao Desk servidor:
mcp__ssh-unified__sftp_upload(server="desk", local_path, remote_path="/tmp/")
mcp__ssh-unified__ssh_execute(server="desk", command="
mkdir -p /home/ealmeida/desk24/uploads/expenses/{expense_id}/
cp /tmp/{filename} /home/ealmeida/desk24/uploads/expenses/{expense_id}/
chown -R ealmeida:ealmeida /home/ealmeida/desk24/uploads/expenses/{expense_id}/
rm /tmp/{filename}
")
c. REGISTAR no Desk BD:
mcp__ssh-unified__ssh_execute(server="desk", command="
mysql -u ealmeida -p'9qPRdCGGqM4o' ealmeida_desk24 -e \"
INSERT INTO tblfiles (rel_id, rel_type, file_name, filetype, attachment_key, staffid, dateadded)
VALUES ({expense_id}, 'expense', '{filename}', 'application/pdf', MD5(RAND()), 25, NOW());
\"
")
d. LIMPAR temporarios
```
### Passo 6: Actualizar CSV
```
CSV Path: /media/ealmeida/Dados/GDrive/Cloud/ADM_Descomplicar/Financeiro/Contabilidade/YYYY/MAPA-DESPESAS-YYYY.csv
Formato linha: id_desk;data;categoria;fornecedor;descricao;valor;SIM;ficheiro;email;Auto /auto-expense
```
### Passo 7: Escrever output JSON
```
Escrever em ~/.claude-work/today-expenses-{date}.json:
{
"despesas_criadas": [
{"id": 1180, "fornecedor": "MEO", "valor": 76.26, "moeda": "EUR", "referencia": "FT A/8
+227
View File
@@ -0,0 +1,227 @@
---
name: billing-check
description: Verificação de facturação e validação de facturas. Sincroniza facturas Moloni com horas Desk CRM para projectos 360, compara horas facturadas vs entregues e calcula saldos.
layer: wiki
---
# Billing Check - Desk vs Moloni (v2.0)
Sincroniza facturas Moloni com horas Desk CRM para projectos 360.
---
## EXECUÇÃO AUTOMÁTICA
| Dia do Mês | Acção |
|------------|-------|
| **5, 15, 25** | Sincronizar facturas Moloni → tabela `billing_360_invoices` |
> O dashboard plan-eal.descomplicar.pt mostra dados em tempo real da BD.
---
## BASE DE DADOS
### Tabelas (ealmeida_desk24)
```sql
-- Clientes 360
billing_360_clients (
id, client_name, desk_client_id, desk_project_id,
moloni_customer_id, monthly_hours, active
)
-- Facturas sincronizadas
billing_360_invoices (
id, client_id, moloni_invoice_id, invoice_number,
invoice_date, hours_invoiced, amount, synced_at
)
-- Log de sincronizações
billing_360_sync (
id, sync_date, invoices_processed, status, notes
)
```
### Clientes Activos
| Cliente | desk_project_id | moloni_customer_id | Horas/Mês |
|---------|-----------------|-------------------|-----------|
| SolarFV | 67 | 96914420 | 10h |
| Carstuff | 77 | 128784439 | 30h |
---
## PROTOCOLO DE EXECUÇÃO
### 1. Obter Data Actual
```
mcp__mcp-time__current_time (timezone: Europe/Lisbon)
```
### 2. Verificar Clientes 360 Activos
```sql
SELECT * FROM billing_360_clients WHERE active = 1
```
### 3. Para Cada Cliente: Obter Facturas Moloni
```
Sequência MCP Moloni:
1. moloni_documents_invoices_getall
- company_id: 69473
- customer_id: [moloni_customer_id]
- year: [ano_corrente]
2. Para cada factura, extrair horas com regex:
/Avença\s+(\d+)\s+horas.*360/i
```
### 4. Inserir Novas Facturas
```sql
INSERT INTO billing_360_invoices
(client_id, moloni_invoice_id, invoice_number, invoice_date, hours_invoiced, amount)
VALUES (?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE synced_at = NOW()
```
### 5. Registar Sincronização
```sql
INSERT INTO billing_360_sync (sync_date, invoices_added, status, details)
VALUES (NOW(), ?, 'success', ?)
```
---
## CÁLCULO DE SALDO
O dashboard calcula automaticamente:
```php
// Horas entregues (timesheets Desk)
SELECT SUM(
CASE
WHEN LENGTH(start_time) < 15 THEN (end_time - start_time) / 3600 -- Unix timestamp
ELSE TIMESTAMPDIFF(SECOND, start_time, end_time) / 3600 -- Datetime
END
) FROM tbltaskstimers tt
INNER JOIN tbltasks t ON tt.task_id = t.id
WHERE t.rel_id = [desk_project_id] AND t.rel_type = 'project'
// Horas facturadas (Moloni)
SELECT SUM(hours_invoiced) FROM billing_360_invoices WHERE client_id = ?
// Saldo
Saldo = Horas_Facturadas - Horas_Entregues
```
### Interpretação
| Saldo | Status | Significado |
|-------|--------|-------------|
| > +5h | 🟢 credit | Temos crédito (cliente não usou) |
| -5h a +5h | 🟡 ok | Equilibrado |
| < -5h | 🔴 debt | Devemos horas (trabalhámos mais) |
---
## MCPs NECESSÁRIOS
### Carregar Tools
```
ToolSearch: "+moloni invoices"
ToolSearch: "+desk timesheets"
```
### Moloni
| Tool | Uso |
|------|-----|
| `moloni_company_company_getall` | Company ID (69473) |
| `moloni_documents_invoices_getall` | Listar facturas |
| `moloni_documents_invoices_getone` | Detalhe factura |
### Desk CRM
| Tool | Uso |
|------|-----|
| `get_timesheets` | Horas por projecto |
| `timesheet_summary` | Resumo período |
---
## EXEMPLO DE USO
```
/billing-check # Sincronizar todos
/billing-check --client SolarFV # Apenas SolarFV
/billing-check --report # Relatório sem sync
```
### Output Esperado
```markdown
## Billing Check - 2026-02-02
### Sincronização Moloni → BD
| Cliente | Facturas Novas | Total Sync |
|---------|---------------|------------|
| SolarFV | 1 | 3 |
| Carstuff | 0 | 2 |
### Saldos Actuais
| Cliente | Facturado | Entregue | Saldo | Status |
|---------|-----------|----------|-------|--------|
| SolarFV | 30h | 28.5h | +1.5h | 🟡 OK |
| Carstuff | 60h | 72.3h | -12.3h | 🔴 DEBT |
### Alertas
⚠️ **Carstuff**: 12.3h extra por facturar (~501€)
```
---
## VALORES DE REFERÊNCIA (2026)
| Cliente | Avença | Valor/Hora | Valor Mensal |
|---------|--------|------------|--------------|
| SolarFV | 10h/mês | 45.90€ | 459€ + IVA |
| Carstuff | 30h/mês | 40.80€ | 1224€ + IVA |
---
## TROUBLESHOOTING
### Factura sem padrão "Avença X horas"
- Verificar descrição manual
- Pode ser factura de extras (não contar como avença)
### Cliente novo
1. Adicionar à tabela `billing_360_clients`
2. Obter `moloni_customer_id` via pesquisa
3. Definir `monthly_hours` do contrato
### Timestamps mistos no Desk
- O query do dashboard já trata Unix e datetime
- Conversão automática
---
## CHANGELOG
### v2.0.0 (2026-02-02)
- Integração com tabelas BD (billing_360_*)
- Sincronização automática dias 5, 15, 25
- Dashboard dinâmico em plan-eal.descomplicar.pt
- Tratamento de timestamps híbridos
### v1.0.0 (2026-01-27)
- Versão inicial
- Documentação de mapeamento Desk ↔
+158
View File
@@ -0,0 +1,158 @@
---
name: crm-admin
description: Administração e manutenção do Desk CRM. Gestão de utilizadores, permissões, campos personalizados, configuração de sistema e módulos Perfex.
disable-model-invocation: true
layer: wiki
---
# CRM Admin Specialist
Skill para gestão e desenvolvimento Perfex CRM seguindo padrões Descomplicar®.
## Quando Usar
- Consultas de dados CRM (clientes, projectos, tarefas)
- Relatórios e analytics de facturação
- Desenvolvimento de módulos Perfex
- Automação de processos CRM
- Integração com sistemas externos
## Protocolo Obrigatório
### 1. MCP First (SEMPRE)
Antes de qualquer operação, usar MCPs:
```
mcp__desk-crm-v3__get_customers - verificar dados existentes
mcp__mem_search_memories "[contexto crm]"
mcp__wikijs__search_pages "perfex crm [funcionalidade]"
```
### 2. Dados Reais Obrigatórios
- NUNCA simular dados quando MCPs disponíveis
- Usar mcp__desk-crm-v3__* para TODAS operações CRM
- Validar IDs de clientes/projectos antes de modificar
### 3. Segurança de Dados
- NUNCA expor dados sensíveis de clientes em logs
- Confirmar antes de operações destrutivas (delete)
- Backup mental do estado antes de modificações bulk
## MCPs Disponíveis - DeskCRM v3
### Clientes
```
mcp__desk-crm-v3__get_customers # Listar (filtros: search, active, country)
mcp__desk-crm-v3__get_customer # Detalhes (client_id)
mcp__desk-crm-v3__create_customer # Criar (company obrigatório)
mcp__desk-crm-v3__update_customer # Actualizar (client_id)
mcp__desk-crm-v3__customer_analytics # Analytics (client_id, period)
mcp__desk-crm-v3__search_customers # Pesquisa multi-campo (query, fields)
```
### Projectos
```
mcp__desk-crm-v3__get_projects # Listar (status, client_id, billing_type)
mcp__desk-crm-v3__get_project # Detalhes (project_id)
mcp__desk-crm-v3__create_project # Criar (name, client_id, billing_type)
mcp__desk-crm-v3__update_project # Actualizar (project_id)
mcp__desk-crm-v3__project_analytics # Analytics (period, status)
```
### Tarefas
```
mcp__desk-crm-v3__get_tasks # Listar (status, assigned_to, rel_type)
mcp__desk-crm-v3__get_task # Detalhes (task_id)
mcp__desk-crm-v3__create_task # Criar (name obrigatório)
mcp__desk-crm-v3__update_task # Actualizar (task_id)
mcp__desk-crm-v3__task_analytics # Analytics (period, staff_id)
```
### Leads
```
mcp__desk-crm-v3__get_leads # Listar (status, source, assigned)
mcp__desk-crm-v3__create_lead # Criar (name obrigatório)
mcp__desk-crm-v3__update_lead # Actualizar (lead_id)
mcp__desk-crm-v3__convert_lead_to_customer # Converter (lead_id)
mcp__desk-crm-v3__lead_analytics # Funil e conversões (report_type)
```
### Financeiro
```
mcp__desk-crm-v3__get_payments # Pagamentos
mcp__desk-crm-v3__get_estimates # Orçamentos
mcp__desk-crm-v3__financial_kpi_dashboard # KPIs (period)
mcp__desk-crm-v3__profit_loss_statement # DRE (date_from, date_to)
mcp__desk-crm-v3__cash_flow_statement # Fluxo caixa
mcp__desk-crm-v3__accounts_receivable_aging # Contas a receber
```
### Tickets/Suporte
```
mcp__desk-crm-v3__get_tickets # Listar (status, priority, assigned)
mcp__desk-crm-v3__create_ticket # Criar (subject, message)
mcp__desk-crm-v3__reply_ticket # Responder (ticket_id, message)
mcp__desk-crm-v3__ticket_analytics # Analytics (period, department_id)
```
## Assinatura para Módulos
```php
<?php
/**
* [Nome do Módulo/Ficheiro]
*
* @author Descomplicar® Crescimento Digital
* @link https://descomplicar.pt
* @copyright 2025 Descomplicar®
*/
```
## Padrões de Relatórios
Ao gerar relatórios, incluir:
1. **Período**: Data início/fim claramente indicada
2. **Totais**: Agregações relevantes
3. **Top N**: Rankings quando aplicável
4. **Comparação**: Com período anterior se relevante
## Checklist Consultas
- [ ] Usar MCPs para dados reais
- [ ] Validar IDs antes de operações
- [ ] Não expor dados sensíveis
- [ ] Confirmar operações destrutivas
- [ ] Apresentar dados formatados PT-PT
---
## Datasets Dify (Consulta Obrigatória)
Em caso de dúvidas ou para aprofundar conhecimento, consultar os seguintes datasets via MCP:
| Dataset | ID | Prioridade |
|---------|----|-----------:|
| **PerfexCRM** | `43354eb6-f0b2-40cc-aa53-44e375ab347c` | 1 |
| **Vendas** | `a7ba6005-517c-41ab-ac5e-da1c1a1c62ef` | 2 |
| **Gestão** | `22799925-8dc5-4a1f-92b9-233468a5048b` | 2 |
| **Gestão de Processos** | `cae2a27e-f5bc-4d75-8a7a-9f83064f2512` | 3 |
### Como Consultar
```javascript
// Pesquisar funcionalidades Perfex
mcp__notebooklm__notebook_query, mcp__dify-kb__dify_kb_retrieve_segments({
dataset_id: "43354eb6-f0b2-40cc-aa53-44e375ab347c",
query: "modulo facturas automaticas"
})
// Pesquisar técnicas de vendas
mcp__dify-kb__dify_kb_retrieve_segments({
dataset_id: "a7ba6005-517c-41ab-ac5e-da1c1a1c62ef",
query: "pipeline vendas conversao"
})
```
### Quando Consultar
- Desenvolver módulos Perfex CRM
- Configurar automações de
+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 | €
+6
View File
@@ -0,0 +1,6 @@
{
"task_id": null,
"project_id": null,
"customer_id": null,
"gitea_repo": null
}
+232
View File
@@ -0,0 +1,232 @@
---
name: desk
description: Contexto de projecto via .desk-project. Auto-detecção, integração com /time, status rápido, criação de tarefas e changelog. Sistema Triângulo Desk-GDrive-Local.
layer: wiki
---
# /desk v3.0 - Contexto de Projecto
Integração automática com Desk CRM via `.desk-project`. Sistema Triângulo.
---
## Novidades v3.0
- **Integração /time:** Mostrar timer activo do projecto
- **Remover /desk-time:** Usar `/time` directamente
- **Novo /desk status:** Resumo rápido
- **Sync bidirecional:** Actualizar .desk-project se dados mudarem
---
## Comandos
| Comando | Função |
|---------|--------|
| `/desk` | Mostrar contexto completo |
| `/desk status` | Resumo rápido (timer + tarefas) |
| `/desk task <desc>` | Criar tarefa no projecto |
| `/desk log <msg>` | Adicionar changelog |
| `/desk init` | Inicializar .desk-project |
**Removido:** `/desk-time` → usar `/time` directamente
---
## Protocolo
### Auto-detecção
Ao entrar numa pasta:
```
1. Verificar se existe .desk-project
2. Se existe:
a. Ler configuração
b. Carregar contexto silenciosamente
c. Mostrar linha breve: "📁 Projecto X (#ID) | Y tarefas"
```
---
### /desk (Contexto Completo)
```
1. Ler .desk-project
2. mcp__desk-crm-v3__get_project({ project_id })
3. mcp__desk-crm-v3__get_tasks({ project_id, status: [1,4] })
4. Verificar timer activo em ~/.claude-work/active-timer.json
5. mcp__desk-crm-v3__get_project_time_tracking({ project_id })
6. Mostrar resumo completo
```
**Output:**
```markdown
## 📁 Stack Workflow (#65)
### Contexto
- **Cliente:** Descomplicar (interno)
- **Status:** Em Curso
- **Progresso:** 65%
### ⏱️ Timer Activo
🟢 #1446 - Documentação Skills (2h 15m)
### 📋 Tarefas Pendentes (5)
| ID | Nome | Prioridade |
|----|------|------------|
| #1450 | Implementar /invoice | Alta |
| #1448 | Testar /time v2 | Normal |
### ⏰ Tempo Esta Semana
- Total: 12h 30m
- Billable: 10h (80%)
```
---
### /desk status (Resumo Rápido)
```
1. Ler .desk-project
2. Verificar timer activo
3. Contar tarefas pendentes
4. Mostrar 1-2 linhas
```
**Output:**
```
📁 Stack (#65) | 🟢 Timer: #1446 (2h) | 📋 5 tarefas | ⏰ 12h esta semana
```
---
### /desk task <descrição>
```
1. Ler .desk-project (project_id, default_milestone, default_tags)
2. mcp__desk-crm-v3__create_task({
name: descrição,
rel_type: "project",
rel_id: project_id,
milestone_id: default_milestone,
assignees: [25], // AikTop
status: 1,
priority: 2,
description: "<p>Criado via /desk task</p>"
})
3. Confirmar: "Tarefa #X criada. Iniciar timer? [Sim/Não]"
4. Se sim: Invocar /time start X
```
---
### /desk log <mensagem>
```
1. Ler .desk-project (changelog_discussion_id)
2. Se não existe discussão:
a. Criar discussão "Changelog - [Projecto]"
b. Actualizar .desk-project com ID
3. Formatar mensagem em HTML:
<h4>[DATA] [tipo]: Mensagem</h4>
<p>Detalhes...</p>
4. mcp__desk-crm-v3__add_discussion_comment({
discussion_id: changelog_discussion_id,
content: html,
staff_id: 25
})
5. Confirmar
```
**Prefixos reconhecidos:**
- `feat:` - Nova funcionalidade
- `fix:` - Correcção
- `docs:` - Documentação
- `refactor:` - Refactoring
---
### /desk init
```
1. Perguntar projecto (ID ou pesquisar por nome)
2. mcp__desk-crm-v3__get_project({ project_id })
3. Criar .desk-project:
{
"project_id": 80,
"project_name": "Nome",
"client_id": 18,
"desk_url": "https://desk.descomplicar.pt/admin/projects/view/80",
"gdrive_folder": null,
"local_path": pwd,
"default_milestone": null,
"default_tags": ["development"],
"changelog_discussion_id": null,
"created_at": "2026-02-05"
}
4. Perguntar: "Criar discussão de changelog? [Sim/Não]"
5. Confirmar setup
```
---
## Estrutura .desk-project
```json
{
"project_id": 65,
"project_name": "Stack Workflow",
"client_id": null,
"desk_url": "https://desk.descomplicar.pt/admin/projects/view/65",
"gdrive_folder": null,
"local_path": "/home/ealmeida/.claude",
"default_milestone": null,
"default_tags": ["development"],
"changelog_discussion_id": 31,
"created_at": "2026-02-05"
}
```
---
## Sistema Triângulo
> Desk↔GDrive↔Local - Qualquer ponto leva aos outros
**Implementação:**
- **Desk:** Campos Pasta GDrive + Pasta Local preenchidos
- **Local:** .desk-project com todos os links
- **GDrive:** README.md com links Desk + Local
- **Obsidian:** Frontmatter com desk_project
---
## Integração /time
- `/desk` mostra timer activo se no projecto actual
- `/desk task` oferece iniciar timer
- Remover comandos de tempo duplicados
---
## Anti-Patterns
- **NUNCA** criar .desk-project sem verificar se projecto existe
- **NUNCA** usar /desk-time (usar /time)
- **NUNCA** criar tarefas sem projecto associado
---
## Changelog
### v3.0.0 (2026-02-05)
- Integração completa com /time
- Remover /desk-time (usar /time)
- Novo /desk status para resumo rápido
- Mostrar timer activo no contexto
- Sync bidirecional .desk-project
### v
@@ -0,0 +1,10 @@
{
"project_id": 0,
"project_name": "Nome do Projecto",
"client_id": null,
"default_milestone": null,
"auto_log_time": false,
"default_task_tags": [],
"changelog_discussion_id": null,
"_comment": "Ficheiro gerado por /desk-init. Editar project_id e project_name."
}
+115
View File
@@ -0,0 +1,115 @@
---
name: estrategia-marca
description: Cria estratégias de marca completas seguindo a metodologia Descomplicar® (ACIDA + Framework 16Ps). Inclui fase de pesquisa de mercado com /deep-research antes do briefing. Guia a análise de público, posicionamento, Pitch Canvas, copywriting e documento final entregável. Usar quando o utilizador diz "estratégia de marca", "branding", "criar marca", "posicionamento", "16Ps", "/estrategia-marca", "análise de público", "narrativa de marca", "proposta de valor", "pitch canvas", "pain + gain", "copywriting estratégico", "identidade de marca", "pesquisa de mercado para marca", ou quando um cliente adquire o serviço EST-MRK-010.
layer: wiki
---
# Skill: Estratégia de Marca
Guia completo para criar estratégias de marca Descomplicar® — da pesquisa de mercado ao documento final entregável.
---
## Fluxo de trabalho (8 fases)
### Fase 0 — Pesquisa de mercado
Antes do briefing com o cliente, fazer pesquisa independente. Verificar primeiro se já existem ficheiros de pesquisa (ex: pasta `Pesquisas/` no projecto).
**Se a pesquisa já existe:** ler os ficheiros relevantes e extrair síntese.
**Se não existe:** usar `/deep-research` (ou `mcp__tavily__tavily_research`) com os seguintes focos:
1. **Mercado/sector** — dimensão, crescimento, tendências, regulação
2. **Concorrentes** — posicionamento, mensagens, pricing, pontos fracos
3. **Público** — linguagem online, canais activos, dores expressas em fóruns/reviews
4. **Oportunidades** — gaps de mercado, tendências emergentes não exploradas
Guardar síntese em `Pesquisas/sintese-mercado.md` no projecto do cliente.
**Resultado esperado:** chegar ao briefing já com hipóteses validadas sobre o mercado e o público — não para impor, mas para fazer perguntas mais certeiras e poupar tempo ao cliente.
### Fase 1 — Activação e contexto
Ao iniciar, perguntar:
- Qual o nome do cliente/marca?
- Já existe briefing ou material de partida?
- Qual o sector/indústria?
- Temos exemplos de concorrentes?
Se existir projecto no Desk CRM, verificar com `get_project` antes de prosseguir.
### Fase 2 — Briefing estruturado
Conduzir entrevista com as perguntas de `references/perguntas-briefing.md`.
Organizar por blocos:
1. Negócio (problema, serviços, mercado)
2. Público-alvo (segmentos identificados)
3. Posicionamento actual vs desejado
4. Tom de voz e personalidade
5. Concorrência e diferenciação
### Fase 3 — Fundamentos estratégicos
Desenvolver com o cliente:
- **Proposta de valor única** — o que nos torna únicos, diferenciais, benefícios por camada
- **Missão, Visão, Valores e Objectivos** — com exemplos de como se manifestam na prática
- **Apresentação sumária** — empresa + serviços com tabela clara
- **Posicionamento** — declaração de posicionamento testável
Ver `references/framework-16ps.md` → Bloco A para questões orientadoras.
### Fase 4 — Análise de público (20 pontos por segmento)
**Obrigatório:** Antes dos segmentos psicográficos, identificar os nichos sectoriais relevantes para o produto. Usar `references/nichos.md` para seleccionar e analisar **pelo menos 5 nichos específicos** (ex: clínicas de saúde, imobiliárias, agências digitais — não "PMEs" como categoria vaga). Para cada nicho preencher os 8 pontos do guia de análise sectorial. Cruzar com os 20 pontos psicográficos abaixo para construir personas completas.
Para cada segmento identificado, desenvolver os 20 pontos na seguinte ordem:
1. Perfil Demográfico
2. Perfil Psicográfico
3. Dores
4. Anseios
5. Desejos
6. Frustrações
7. Preocupações
8. Medos
9. Inimigos
10. Linguagem
11. Como procuram ajuda/informação/dicas
12. Canais digitais activos
13. Estilo de Decisão
14. Mudanças (que sabem necessárias)
15. Resistência à mudança
16. Objecções típicas (+ como ultrapassar)
17. Forma de gerar emoção
18. Argumentos (a que são mais sensíveis)
19. Concorrentes (que alternativas avaliam)
20. Propostas Recusadas (e porquê)
Ver `references/metodologia-acida.md` para contexto e profundidade em cada ponto.
### Fase 5 — Pitch Canvas
Estrutura de 5 elementos:
- **Para quem:** segmento + problema específico
- **O problema:** dor principal na linguagem do cliente
- **A solução:** mecanismo único de resolução
- **O resultado:** transformação concreta (antes/depois + métrica)
- **Por que nós:** razão para acreditar
Criar também a **Declaração de mudança no mundo** — frase que resume o impacto maior da marca.
### Fase 6 — Copywriting estratégico
Sequência obrigatória:
1. **Questionamento estratégico** — Qual é o objectivo da comunicação? Que transformação prometemos?
2. **Pain + Gain** — formulação problema/resultado na linguagem do cliente; depois refinar com especificidades do sector
3. **Narrativa por segmento** — fórmula: Problema (dor do público) → Solução (serviços) → Resultado (benefícios concretos)
4. **Mensagem central** — 1 frase que toda a equipa sabe de cor
5. **Headlines** — por segmento (principal + secundária)
Ver `references/narrativas-copywriting.md` para templates e exemplos reais.
#
@@ -0,0 +1,193 @@
# Framework 16Ps — Referência Completa
Estrutura os 16 elementos da estratégia de marca em 4 blocos. Para cada P, incluir as questões orientadoras ao preencher.
---
## Bloco A — Fundamentos estratégicos
### P1: Problema
> Qual o problema principal que a marca resolve?
- Problema de negócio que a estratégia precisa resolver
- Impacto desse problema no cliente (custo, tempo, risco, reputação)
- Urgência da solução: por que resolver agora?
- Consequências de não resolver
*Exemplo SFV:* "Facturas de electricidade crescentes que consomem margens das empresas e rendimento das famílias, sem solução acessível percebida."
### P2: Propósito
> Por que existe esta marca além do lucro?
- **Missão:** o que fazemos e para quem (hoje)
- **Visão:** onde queremos chegar (3-5 anos)
- **Valores:** 3-5 valores fundamentais com descrição de como se manifestam
- **Propósito:** impacto no mundo que justifica a existência da marca
*Estrutura valores:* [Nome do Valor] — [Como se manifesta na prática]
### P3: Proposta de Valor
> O que tornamos possível que os concorrentes não conseguem?
- Valor único que só esta marca entrega
- Diferenciais competitivos (lista)
- Benefícios principais (funcionais + emocionais)
- Formula: Para [segmento], que [dor/desejo], a [marca] oferece [solução] que [resultado único], ao contrário de [alternativa], porque [razão para acreditar]
### P4: Posicionamento
> Que lugar específico ocupa na mente do cliente?
- Posição actual no mercado (percepção real)
- Posição desejada (percepção target)
- Declaração de posicionamento (1-2 frases)
- Território da marca: categoria, concorrência directa, diferenciação
- Atributos únicos que definem esse território
*Declaração-tipo:* "Para [público], somos a única [categoria] que [benefício único] porque [prova]."
### P5: Performance
> Como medimos o sucesso?
- KPIs principais (5-7 métricas)
- Metas específicas a 3, 6 e 12 meses
- Indicadores de sucesso por área (brand awareness, conversão, satisfação)
- Frequência de monitorização e responsável
---
## Bloco B — Público e pesquisa
### P6: Público-alvo
> Quem são exactamente os nossos clientes?
- Segmento principal + segmentos secundários
- Critérios de segmentação (demográficos, comportamentais, psicográficos)
- Volume estimado de cada segmento
- Comportamento de compra: frequência, ticket médio, canal preferido
### P7: Pesquisa de mercado
> Que dados sustentam as nossas decisões?
- Dados de mercado: dimensão, crescimento, tendências
- Insights de comportamento do consumidor
- Oportunidades identificadas (não aproveitadas pela concorrência)
- Ameaças e riscos do mercado
### P8: Personas
> Quem é o nosso cliente ideal em detalhe?
Para cada persona:
- **Foto + nome fictício + idade + profissão**
- **Biografia resumida** (um dia típico)
- **Dores principais** (3-5)
- **Objectivos** (profissionais + pessoais)
- **Canais preferidos** (onde está, o que consome)
- **Citação representativa** ("Eu quero/preciso/temo...")
- **Frase de posicionamento** para esta persona
### P9: Perfil
> Quais as características quantificáveis de cada segmento?
Análise de 20 pontos por segmento (ver template completo em `template-documento.md`):
- Demográfico: idade, género, localização, rendimento, educação, sector, cargo, empresa
- Comportamental: rotina, hábitos, processo de decisão, critérios de escolha
- Psicográfico: valores, aspirações, mentalidade, atitude à inovação
- Jornada: awareness, consideração, decisão
### P10: Pain Points
> Quais as dores mais urgentes e dolorosas?
- Dores principais (urgentes, que precisam resolver já)
- Frustrações (já tentaram outras soluções sem resultado)
- Necessidades não atendidas (o mercado não resolve bem)
- Medos relacionados com a compra ou com não comprar
---
## Bloco C — Produto e serviço
### P11: Portfolio
> O que vendemos exactamente?
- Lista de produtos/serviços principais
- Características técnicas vs benefícios percebidos
- Arquitectura de oferta: entrada, core, premium
- Casos de uso reais (exemplos concretos de aplicação)
### P12: Preço e valor
> Como justificamos o que cobramos?
- Estratégia de preços (custo+margem, valor percebido, concorrência, freemium)
- Posicionamento de valor: acessível, médio-alto, premium, luxo
- Política comercial: descontos, bundles, condições de pagamento
- ROI estimado para o cliente (quanto ganha/poupa ao escolher-nos)
### P13: Processos críticos
> Que processos garantem a experiência prometida?
- Processo de entrega do serviço/produto (passo a passo)
- Pontos de controlo de qualidade
- Garantias e políticas de satisfação
- Gestão de reclamações
### P14: Parcerias estratégicas
> Com quem nos aliamos para ampliar valor?
- Parceiros principais (nome, tipo, contribuição)
- Tipos de parceria: distribuição, tecnologia, referência, co-marketing
- Benefícios mútuos de cada parceria
- Parcerias a desenvolver (gap de oportunidade)
### P15: Plataforma
> Onde operamos digitalmente?
- Canais digitais activos: website, redes sociais, marketplaces, apps
- Presença online actual vs ideal
- Infraestrutura tecnológica (CRM, email, analytics, automação)
- Prioridades de investimento digital
---
## Bloco D — Promoção e comunicação
### P16: Promoção
> Como chegamos ao público-alvo?
- Canais principais com objectivos específicos por canal
- Tácticas específicas (conteúdo, SEO, email, WhatsApp, eventos)
- Calendário promocional (frequência, momentos-chave)
- Budget orientativo por canal
### P17: Publicidade
> Como amplificamos com investimento pago?
- Estratégia de anúncios: plataformas, formato, objectivo
- Budget mensal e distribuição
- KPIs de publicidade (CPL, ROAS, CPA)
- Frequência e ciclo de renovação de criativos
### P18: PR e referências
> Como construímos credibilidade externa?
- Estratégia de relações públicas
- Parcerias com influenciadores (relevância > alcance)
- Imprensa e media especializada
- Programa de referências/embaixadores
### P19: Presença digital
> Qual a nossa estratégia de conteúdo?
- Estratégia de conteúdo por canal
- Frequência de publicação
- Pilares de conteúdo (3-5 temas centrais)
- Gestão de comunidade: resposta, engagement, moderação
### P20: Proximidade — narrativa e impacto
> Que história contamos que ressoa emocionalmente?
- **Declaração de Impacto:** frase que resume a essência e impacto da marca
- **Narrativa principal:** história de origem ou transformação
- **Pain + Gain por segmento:** o que perdiam antes → o que ganham agora
- **Mensagem central:** 1 frase que todos os colaboradores sabem de cor
*Nota: O "Bloco D" tem 5 Ps numerados de 16 a 20 — alguns documentos listam apenas 16 Ps no total (agrupando Promoção, Publicidade e PR num único P). Adaptar conforme o nível de detalhe necessário.*
@@ -0,0 +1,127 @@
# Metodologia ACIDA — Referência Completa
## 1. As 5 fases ACIDA
### A — Atrair atenção
O público está sobrecarregado de informação. A forma correcta de chamar a atenção não é destacar produtos — é conectar com o que emocionalmente mais interessa ao público: **as suas próprias dores e desejos**.
Acções práticas:
- Headlines que falam directamente da dor ou desejo do segmento
- Conteúdo que provoca reconhecimento imediato ("é exactamente o meu problema")
- Formatos visuais que param o scroll: vídeo curto, imagem disruptiva, estatística chocante
### C — Construir confiança
Após conquistar atenção, estabelecer relacionamentos autênticos através de:
- Transparência, honestidade e autenticidade na comunicação
- Demonstrar compreensão profunda das dores e desejos do cliente
- Partilhar conhecimento e experiência profissional abertamente
- Educar o público para decisões mais informadas
- Estabelecer autoridade que permite influenciar percepções
Formatos: artigos de blog, estudos de caso, testemunhos, webinars, guias gratuitos.
### I — Despertar interesse
Com confiança estabelecida, a comunicação torna-se altamente personalizada.
> "Não vendemos produtos nem serviços; oferecemos soluções específicas para os seus desafios."
Ferramentas:
- Rastreamento de interacções para identificar segmentos de clientes
- Conteúdo customizado baseado em comportamentos anteriores
- Resolução antecipada de objecções conhecidas
- Nutrição de relacionamentos via email, WhatsApp, SMS, redes sociais
### D — Estimular a decisão
A decisão será favorável se o **valor percebido > preço a pagar**.
Obstáculos a superar:
- O "muro invisível" criado por dúvidas do consumidor
- Medo do arrependimento pós-compra
- Necessidade de prova social e garantias sólidas
Ferramentas: comparações, garantias, testemunhos de clientes reais, demonstrações, ROI calculado.
### A — Incentivar a acção
Converter interesse em acção através de:
- Chamadas à acção (CTA) claras e convincentes
- Criação de sentido de urgência (real, não artificial)
- Cumprimento de promessas
- Superação de expectativas na experiência do cliente
---
## 2. Análise do público-alvo — 8 dimensões
Para cada segmento, investigar as 8 dimensões antes de escrever qualquer copy:
### Dimensão 1: Perfil demográfico e psicográfico
- Características mensuráveis: idade, género, localização, rendimento, educação, cargo
- Traços de personalidade: valores, crenças, atitudes, estilo de vida
- *Pergunta-chave: "Quem é esta pessoa na vida real?"*
### Dimensão 2: Dores, desejos e frustrações
- Dores activas: problemas que precisam resolver agora
- Desejos: o que querem alcançar/ter/ser
- Frustrações: o que já tentaram e não funcionou
- *Pergunta-chave: "O que os mantém acordados à noite? O que sonham?"*
### Dimensão 3: Preocupações e geração de emoção
- O que os preocupa a médio/longo prazo
- Como a nossa marca pode responder emocionalmente (não apenas racionalmente)
- *Pergunta-chave: "Que emoção queremos que sintam quando nos encontram?"*
### Dimensão 4: Medos, inimigos e mudanças
- Medos concretos (perder negócio, ser enganado, falhar)
- "Inimigos" percebidos (concorrentes, reguladores, tendências de mercado)
- Mudanças que temem ou resistem
- *Pergunta-chave: "O que os impede de agir?"*
### Dimensão 5: Anseios, interesses e linguagem
- O que aspiram a ser/ter/fazer
- Interesses e hobbies (pistas para onde comunicar)
- Linguagem que usam (jargão do sector, palavras que ressoam vs que afastam)
- *Pergunta-chave: "Como falam entre si? Que palavras usam?"*
### Dimensão 6: Pesquisa de informação e influenciadores
- Onde procuram informação (Google, YouTube, LinkedIn, feiras, colegas)
- A quem pedem conselho (influenciadores, peers, família)
- Fontes que consideram credíveis
- *Pergunta-chave: "Como encontraram a nossa categoria de produto/serviço?"*
### Dimensão 7: Dúvidas e perguntas
- Objecções previsíveis antes da compra
- Perguntas que fazem nas reuniões de vendas
- Informação que precisam para decidir
- *Pergunta-chave: "Quais as 5 objecções mais frequentes?"*
### Dimensão 8: Estilo de decisão e concorrentes
- Processo de decisão: individual vs colectivo, rápido vs lento
- Factores comparativos: preço, qualidade, confiança, referências
- Concorrentes directos que avaliam em paralelo
- *Pergunta-chave: "Com quem nos comparam? Por que nos escolhem ou não?"*
---
## 3. Pilares estratégicos ACIDA
- **Crença central:** o centro do marketing digital são os princípios fundamentais de marketing + website — não as redes sociais
- **Proposta de valor:** "Criamos Resultados" — problema → solução → resultados esperados
- **Website como hub central:** não repositório, mas centro operacional integrado com CRM
- **Ecossistema multi-canal:** email, SMS/WhatsApp, SEO, Google/Meta Ads, website, redes sociais (como parte, não como centro)
- **Melhoria contínua:** métricas objectivas → ciclo iterativo baseado em dados
---
## 4. ACIDA 2.0 — Fases operacionais
| Fase | Acções |
|------|--------|
| **1. Análise** | Segmentação público, posicionamento, estruturação oferta, montagem narrativa |
| **2. Criação** | Recursos, copywriting e design, website e plataformas, automação |
| **3. Implementação** | Conteúdos e canais, blog e email marketing, redes sociais, marketplaces |
| **4. Desenvolvimento** | Funil de vendas, tráfego e anúncios, conteúdos, newsletters |
| **5. Acompanhamento** | Gestão de resultados, métricas e KPIs, optimização contínua, suporte |
@@ -0,0 +1,154 @@
# Narrativas e Copywriting Estratégico
Templates e exemplos reais de narrativas Descomplicar®. Baseados nos projectos SFV, LJM, MCT e Espiral Senior.
---
## 1. Fórmula central: Dor → Solução → Resultado
Estrutura base para qualquer narrativa por segmento:
```
DOR: [Nome do segmento] enfrenta [problema específico e urgente].
Sem solução, [consequência negativa concreta].
SOLUÇÃO: [Nome da marca] resolve isto através de [mecanismo único].
[Diferencial que os concorrentes não têm].
RESULTADO: O resultado é [benefício tangível e mensurável].
[Prova social ou garantia que aumenta credibilidade].
```
**Exemplo SFV (segmento Empresas):**
> Dor: As PMEs enfrentam facturas de electricidade crescentes que consomem margens já apertadas.
> Solução: A SFV instala painéis solares personalizados com análise de consumo prévia — sem adiantamento para projectos qualificados.
> Resultado: Redução de 60-90% na factura eléctrica, com ROI em 4-7 anos e garantia de 25 anos nos painéis.
**Exemplo MCT (segmento Oficinas):**
> Dor: Mecânicos perdem tempo e dinheiro com ferramentas que chegam erradas, incompletas ou que avariam em obra.
> Solução: A Carritools fornece equipamento profissional com assessoria técnica presencial e substituição imediata em caso de avaria.
> Resultado: Menos tempo parado, mais trabalhos concluídos, clientes mais satisfeitos.
---
## 2. Declaração de Impacto
Uma frase poderosa que abre o documento e resume a essência da marca. Deve:
- Ser memorável (10-15 palavras máximo)
- Combinar emoção + resultado
- Não ser genérica ("líderes de mercado", "qualidade e inovação")
**Exemplos reais:**
| Cliente | Declaração de Impacto |
|---------|----------------------|
| SFV Solar | "Energia (quase) Grátis para Famílias e Empresas" |
| Espiral Senior | "Envelhecer em Dignidade, no Lugar que Mais Ama" |
| Descomplicar® | "Criamos Resultados!" |
**Fórmulas para gerar Declaração de Impacto:**
- `[Verbo de transformação] + [benefício desejado] + [para quem]`
- `[Adjectivo emocional] + [resultado concreto]`
- `[Benefício surpreendente] + [para quem] + [sem o custo habitual]`
---
## 3. Mensagens-chave por tipo de segmento
### Segmento decisor (CEO/Gerente)
Foco: ROI, risco reduzido, credibilidade, tempo poupado.
Template:
> "Mais de [N] empresas como a sua já [resultado]. A nossa abordagem garante [benefício financeiro] em [prazo], com [garantia específica]."
### Segmento utilizador final (técnico/operacional)
Foco: facilidade de uso, suporte, fiabilidade, não criar problemas.
Template:
> "Simples de implementar, sem interrupções ao seu trabalho. Em caso de dúvida, temos suporte [detalhe] para que nunca fique bloqueado."
### Segmento referenciador (parceiro/consultor)
Foco: credibilidade para recomendar, win-win, diferenciação para os seus clientes.
Template:
> "Ao recomendar [marca], está a oferecer aos seus clientes [resultado], o que reforça a sua autoridade como [cargo/papel]."
### Segmento influenciador (família/comunidade)
Foco: valores partilhados, impacto positivo, pertença.
Template:
> "Não é só [produto/serviço]. É uma escolha que [impacto maior]: [dimensão ambiental/social/familiar]."
---
## 4. Gestão de objecções — estrutura padrão
Para cada objecção, responder sempre com:
1. **Validar** — reconhecer que é uma preocupação legítima
2. **Reframeamento** — mudar o ângulo de análise
3. **Prova** — exemplo, dado ou testemunho que confirma
4. **CTA suave** — próximo passo de baixo compromisso
**Objecções universais e respostas tipo:**
| Objecção | Resposta base |
|----------|--------------|
| "É caro" | "Entendo a preocupação. O nosso preço reflecte [diferencial]. Clientes como [X] recuperaram o investimento em [prazo]. Posso mostrar-lhe o cálculo?" |
| "Preciso de pensar" | "Faz todo o sentido. O que precisa de esclarecer para se sentir confiante? Posso enviar [recurso específico] que costuma ajudar nesta fase." |
| "Já tentei algo parecido e não funcionou" | "Compreendo — essa experiência é frustrante. O que tipicamente falha é [causa]. A nossa abordagem resolve isto de forma diferente: [diferencial]." |
| "Não tenho tempo agora" | "Respeitamos o seu tempo. É por isso que o nosso processo começa com apenas [X horas], e tratamos nós de [trabalho pesado]." |
| "Preciso de aprovação interna" | "Claro. Posso preparar um resumo executivo de 1 página para facilitar a aprovação? Tenho feito isto para outros clientes com muito bom resultado." |
---
## 5. Tom de voz por personalidade de marca
### Marca especialista/técnica (ex: SFV, Carritools)
- Linguagem precisa, dados concretos, terminologia do sector
- Evitar: exageros sem prova, linguagem emocional excessiva
- Usar: casos reais, números, especificações, garantias técnicas
### Marca próxima/humana (ex: Espiral Senior, Loja da Maria)
- Linguagem calorosa, inclusiva, em 2ª pessoa
- Evitar: jargão técnico, distância corporativa
- Usar: histórias pessoais, empatia directa, linguagem do dia-a-dia
### Marca inovadora/disruptiva (ex: Descomplicar, SaaS)
- Linguagem energética, directa, com algum desafio ao status quo
- Evitar: clichés do sector, promessas vazias
- Usar: contraste antes/depois, resultados surpreendentes, "E se..."
---
## 6. Estrutura de testemunho ideal
Baseado nos testemunhos reais recolhidos nos projectos:
```
[Nome próprio + cargo + empresa] — [cidade, se relevante]
"[Frase de impacto espontânea que resume o resultado]"
Contexto: [Situação antes de contratar]
Resultado: [Mudança concreta e mensurável após]
Recomendação: [Indicação explícita para outros como ele]
```
**Exemplo real SFV:**
> "Ricardo Castelão, Director Financeiro, Empresa de Distribuição — Porto
> 'Reduzimos a nossa factura eléctrica em 73% no primeiro ano.'
> Contexto: Gastávamos 4.200 EUR/mês em electricidade, sem alternativa viável.
> Resultado: Passámos para 1.134 EUR/mês. O sistema pagou-se em 5,5 anos.
> Recomendação: Para qualquer empresa com consumo acima de 1.500 EUR/mês, é obrigatório analisar esta opção."
---
## 7. Headlines de alto impacto — padrões
Padrões que funcionam consistentemente nos projectos Descomplicar:
- **Resultado específico:** "Reduza a sua factura eléctrica em 70% sem investimento inicial"
- **Pergunta dor:** "Ainda a pagar [problema] quando existe solução comprovada?"
- **Autoridade + resultado:** "Como [N] empresas [resultado] com [solução]"
- **Contrafactual:** "E se a sua maior despesa se transformasse no seu maior activo?"
- **Urgência real:** "A [mudança de mercado/regulação] está a mudar tudo — [posição da marca]"
- **Social proof:** "Mais de [N] clientes em [região] já [resultado]"
@@ -0,0 +1,318 @@
# Análise de Nichos — Guia de Segmentação Sectorial
Para marcas com público PME, "PME" é demasiado vasto. Identificar os nichos sectoriais específicos permite mensagens certeiras, canais certos e ROI superior. Qualquer estratégia de marca deve analisar **pelo menos 5 nichos específicos** relevantes para o produto/serviço.
---
## Como usar este guia
1. Identificar os nichos onde o produto/serviço tem tracção real ou potencial
2. Para cada nicho seleccionado, preencher os 8 pontos de análise sectorial
3. Cruzar com os 20 pontos da análise de público (template-documento.md § 5) para o perfil completo
4. Priorizar os 3 nichos de maior potencial para messaging principal
---
## Os 8 pontos de análise por nicho
Para cada nicho, responder:
1. **Dimensão e contexto** — quantas empresas em PT/EU, crescimento do sector, maturidade digital
2. **Dores operacionais específicas** — o que os cansa no dia-a-dia (não genérico: específico do sector)
3. **Funcionalidades mais relevantes** — o que do produto resolve melhor o problema deste nicho
4. **Linguagem de venda** — palavras que usam, palavras que evitam, jargão do sector
5. **Canal de aquisição principal** — onde estão, como chegam ao produto
6. **Objecção principal** — o bloqueio mais frequente e como ultrapassar
7. **Trigger de compra** — o momento/evento que precipita a decisão
8. **Pricing sweet spot** — o que pagam por ferramentas similares, sensibilidade ao preço
---
## Os 10 nichos de PME mais relevantes (PT/EU)
### Nicho 1 — Saúde Privada
**Quem:** Clínicas dentárias, psicólogos, nutricionistas, fisioterapeutas, clínicas médicas privadas, terapeutas.
**Dimensão PT:** +12.000 clínicas e consultórios privados. Sector em crescimento pós-pandemia. Alta concentração em Lisboa, Porto e litoral.
**Dores operacionais:**
- Agenda manual ou em sistemas desactualizados (Doctoralia, papel)
- Falhas de consulta (no-shows) sem sistema de lembretes automatizado
- Secretaria sobrecarregada com marcações e confirmações por telefone
- Facturação em saúde com complexidade fiscal (isenção IVA, recibos verdes)
- RGPD em saúde: dados sensíveis com requisitos legais estritos
**Funcionalidades mais relevantes:** lembretes automáticos de consulta por WhatsApp/SMS, confirmação/cancelamento por WhatsApp, reagendamento automático, facturação PT com isenção IVA, base de conhecimento para FAQ de pacientes.
**Linguagem de venda:** "reduzir faltas à consulta", "libertar a secretária para o que importa", "pacientes confirmam pelo WhatsApp", "agenda sempre actualizada". Evitar: "automação", "IA", "bot".
**Canal de aquisição:** associações profissionais (OMD, Ordem dos Psicólogos), LinkedIn de gestores de clínica, referência entre profissionais de saúde, Google Ads ("software gestão clínica", "agenda online clínica").
**Objecção principal:** "Os meus pacientes são mais velhos e não usam WhatsApp." → Resposta: "O sistema funciona igualmente por SMS. E os cuidadores/filhos que marcam as consultas estão todos no WhatsApp."
**Trigger de compra:** crescimento de lista de espera que a secretária já não consegue gerir; terceira consulta cancelada sem aviso no mesmo mês.
**Pricing sweet spot:** €50-150/mês (referência: Doctoralia €80-200/mês).
---
### Nicho 2 — Imobiliárias e Mediação
**Quem:** Agências imobiliárias independentes, mediadores certificados (AMI), promotores imobiliários, gestoras de condomínios.
**Dimensão PT:** +5.000 agências com licença AMI activas. Mercado em alta, mas muito fragmentado. Alta dependência de WhatsApp para comunicação com compradores/vendedores.
**Dores operacionais:**
- Leads entram por portais (Imovirtual, Idealista, OLX) e ficam sem resposta rápida
- Gestão de visitas manual: telefonemas para confirmar, reagendar, cancelar
- Follow-up de compradores perdido no WhatsApp pessoal do agente
- Quando o agente sai, leva os contactos consigo
- Proposta/minuta demoram dias
**Funcionalidades mais relevantes:** resposta automática a leads de portais, qualificação de leads por WhatsApp, agendamento de visitas com confirmação automática, CRM com histórico centralizado (não no telemóvel do agente), geração de propostas.
**Linguagem de venda:** "nunca perde um lead do Idealista", "as visitas confirmam-se sozinhas", "quando o agente sai, o cliente fica na empresa", "responde ao lead em 2 minutos, a qualquer hora".
**Canal de aquisição:** associações (APEMIP, ASIP), LinkedIn de directores de agência, eventos do sector imobiliário, Google Ads ("CRM imobiliário Portugal", "software mediação imobiliária").
**Objecção principal:** "Já usamos o CRM do Idealista." → Resposta: "O CRM do portal gere os leads do portal. O AcidaOS centraliza todos os portais + WhatsApp + email num só sítio, com o histórico completo de cada cliente."
**Trigger de compra:** perda de uma venda grande por demora na resposta ao lead; saída de um agente que levou a carteira de clientes.
**Pricing sweet spot:** €80-200/mês (referência: Salesforce RE €150-300/mês, CRMs sectoriais €50-150/mês).
---
### Nicho 3 — Construção e Remodelação
**Quem:** Empreiteiros de construção civil, empresas de remodelação e acabamentos, serralheiros, carpinteiros, canalizadores com equipa, empresas de pintura.
**Dimensão PT:** sector fortíssimo — construção representa ~7% do PIB PT. Altamente fragmentado, maioria micro-empresas 1-20 pessoas. Baixa digitalização. Alta dependência de telefonema e referência.
**Dores operacionais:**
- Orçamentos demoram dias ou semanas a chegar ao cliente
- Clientes ligam 5 vezes para saber se o orçamento chegou
- Gestão de obras espalhada por papel, WhatsApp e memória do encarregado
- Facturação atrasada em relação ao trabalho realizado (meses de delay)
- Cobranças de pagamentos em atraso constrangem a relação com o cliente
**Funcionalidades mais relevantes:** geração de orçamentos, follow-up automático ("o seu orçamento foi enviado — alguma dúvida?"), facturação automática por fase de obra, lembretes de pagamento, agenda de obras com alertas de prazo.
**Linguagem de venda:** "orçamento pronto em horas, não dias", "o cliente sabe sempre o estado da obra", "recebe quando acaba, não quando se lembra". Evitar linguagem tech — falar em "tempo poupado" e "dinheiro recebido".
**Canal de aquisição:** referência entre empresários do sector, associações (AICCOPN, AECOPS), Facebook Groups de empreiteiros e remodelações, feiras de construção.
**Objecção principal:** "A minha secretária já faz isso." → Resposta: "E quando ela está de férias? O AcidaOS não vai de férias."
**Trigger de compra:** perda de um contrato por orçamento que chegou tarde; mês com 3 facturas por emitir de obras já concluídas.
**Pricing sweet spot:** €30-80/mês (sector muito sensível ao preço, mas disposto a pagar se ROI for claro e imediato).
---
### Nicho 4 — Agências Digitais e Criativas
**Quem:** Agências de marketing digital, design, comunicação, relações públicas, fotografia/vídeo, produção de conteúdo.
**Dimensão PT:** +3.500 agências activas. Sector muito competitivo, margens a comprimir. Muitas em transição de "serviços de execução" para "serviços de estratégia + produto".
**Dores operacionais:**
- Relatórios mensais para clientes consomem 2-3 dias de trabalho manual
- Gestão de aprovações de conteúdo por WhatsApp e email (versões perdidas)
- Timesheets manuais → facturação imprecisa → conflitos com clientes
- Escalabilidade travada: para crescer precisa de contratar
- Receita 100% baseada em horas → vulnerável a perdas de cliente
**Funcionalidades mais relevantes:** geração automática de relatórios mensais, portal do cliente com aprovação de conteúdos, registo automático de horas, facturação por projecto, upsell/cross-sell automatizado (ex: "o teu plano inclui X — quer adicionar Y?").
**Linguagem de venda:** "relatórios que se fazem sozinhos", "o cliente aprova no portal, não por email", "receita recorrente sem aumentar a equipa", "white-label para revender aos teus clientes".
**Canal de aquisição:** LinkedIn (muito activo neste nicho), eventos de marketing (RD Summit, Social Media Week), comunidades Slack de marketers, referência entre agências.
**Objecção principal:** "Já usamos Monday/Asana/Notion." → Resposta: "O AcidaOS integra com essas ferramentas. Mas adiciona a camada de IA que automatiza o que ainda fazem manualmente: relatórios, aprovações, facturação."
**Trigger de compra:** perda de 20% da margem num trimestre por horas não facturadas; cliente grande que pediu relatórios mais frequentes sem pagar mais.
**Pricing sweet spot:** €100-300/mês; alto potencial para plano Partner/white-label (€500-1.000/mês).
---
### Nicho 5 — Comércio B2B e Distribuição
**Quem:** Distribuidores, grossistas, representantes comerciais, importadores, empresas de venda a retalhistas.
**Dimensão PT:** sector fundamental da economia, muito diversificado. Ciclos de venda mais longos, pedidos recorrentes, relacionamento comercial crítico.
**Dores operacionais:**
- Pedidos chegam por WhatsApp, email e telefone — sem registo centralizado
- Catálogo de produtos actualizado só existe em Excel ou PDF
- Comerciais perdem tempo a dar preços e a verificar stock pelo telefone
- Dívidas de clientes descobertas tarde (só quando o contabilista avisa)
- Fidelização: o cliente vai ao concorrente se não for contactado regularmente
**Funcionalidades mais relevantes:** chatbot de catálogo e preços por WhatsApp, processamento de pedidos automático, alertas de pagamentos em atraso, follow-up automático de clientes inativos ("não nos pede há 30 dias — tudo bem?"), facturação automática por encomenda.
**Linguagem de venda:** "o cliente pede pelo WhatsApp e a factura sai automática", "nunca perde uma encomenda por estar em reunião", "sabe quem não lhe compra há um mês antes de o perder".
**Canal de aquisição:** associações sectoriais, feiras B2B, LinkedIn de directores comerciais, referência entre distribuidores.
**Objecção principal:** "Os meus clientes são empresas — preferem email formal." → Resposta: "O sistema funciona por email também. E o WhatsApp para os urgentes — que são 80% dos pedidos reais."
**Trigger de compra:** perda de cliente para concorrente por resposta mais rápida; mês com facturas em atraso acima de €10K.
**Pricing sweet spot:** €100-250/mês (dispostos a pagar pelo ROI directo em cobranças e pedidos capturados).
---
### Nicho 6 — Restauração e Hotelaria
**Quem:** Restaurantes, cafés, bares, hotéis boutique, alojamentos locais, serviços de catering, espaços de eventos.
**Dimensão PT:** +80.000 estabelecimentos de restauração. Sector de margens apertadas, alta rotatividade de staff, sazonalidade intensa.
**Dores operacionais:**
- Reservas por telefone interrompem o serviço → perdidas quando está cheio
- Grupos e eventos corporativos: orçamentação manual e demorada
- Gestão de feedback online (Google, Tripadvisor) sem resposta sistemática
- Campanhas de WhatsApp para promoções especiais feitas manualmente
- Alojamento local: check-in remoto, comunicação com hóspedes em múltiplas línguas
**Funcionalidades mais relevantes:** reservas e confirmações por WhatsApp, resposta automática a reviews Google, campanhas de promoções ("mesa disponível para amanhã?"), comunicação com hóspedes em PT/EN/ES automática, facturação de eventos.
**Linguagem de venda:** "mesa reservada e confirmada sem tirar o empregado do serviço", "campanhas de promoção para a base de clientes em 2 minutos", "hóspedes atendidos em qualquer língua, a qualquer hora".
**Canal de aquisição:** associações (AHRESP, ARESP), feiras do sector (Horexpo, BTL), Instagram/Facebook de restaurateurs, referência entre proprietários.
**Objecção principal:** "O meu cliente quer falar com uma pessoa." → Resposta: "O sistema trata das confirmações de rotina. Quando o cliente quer falar com alguém, o sistema escala — e o teu staff tem mais tempo para isso."
**Trigger de compra:** mesa dupla marcada no mesmo horário; alta temporada com reservas a escapar por não conseguir atender o telefone.
**Pricing sweet spot:** €30-80/mês (margens apertadas — proposta tem de ser de ROI imediato e muito claro).
---
### Nicho 7 — Contabilidade e Consultoria
**Quem:** Gabinetes de contabilidade, TOCs (Técnicos Oficiais de Contas), escritórios de advogados, consultores de gestão, solicitadores.
**Dimensão PT:** +8.000 gabinetes de contabilidade registados. Sector muito regulado, conservador, mas sob pressão de digitalização e de novas exigências da AT.
**Dores operacionais:**
- Clientes entregam documentação de forma caótica (papel, foto de WhatsApp, email)
- Prazos fiscais críticos (IRS, IRC, IVA, SS) gerem-se manualmente com risco de multa
- Comunicação de alertas a clientes por email → baixa taxa de abertura
- Facturação de honorários por horas não registadas sistematicamente
- Novos clientes: onboarding burocrático e demorado
**Funcionalidades mais relevantes:** portal de recolha de documentos do cliente, alertas de prazos fiscais automáticos por WhatsApp, registo automático de horas, facturação mensal, onboarding digital de clientes.
**Linguagem de venda:** "o cliente entrega os documentos pelo WhatsApp e chegam organizados", "o cliente recebe o alerta de IVA no dia certo, não quando já passou", "sem ligar 5 vezes para pedir o recibo". Evitar: "IA", "automação" — usar "sistema", "organização", "processo".
**Canal de aquisição:** Ordem dos Contabilistas Certificados, formações profissionais obrigatórias, referência entre TOCs, LinkedIn de gestores de gabinetes.
**Objecção principal:** "Os nossos clientes são conservadores e resistem a mudanças." → Resposta: "O cliente não vê nenhuma mudança — continua a mandar fotos para o WhatsApp. Só que chegam organizadas ao sistema em vez de à caixa de entrada da Ana."
**Trigger de compra:** multa de cliente por prazo fiscal falhado por comunicação deficiente; novo quadro legal que aumenta o volume de entregas obrigatórias.
**Pricing sweet spot:** €50-150/mês (sector conservador no pricing mas com ROI muito mensurável em tempo poupado).
---
### Nicho 8 — E-commerce e Retalho Online
**Quem:** Lojas online, marcas DTC (direct-to-consumer), revendedores em marketplace (Amazon PT, FNAC, Worten), lojas omnicanal (físico + online).
**Dimensão PT:** +25.000 lojas online activas. Crescimento acelerado mas altíssima competição e margens em queda.
**Dores operacionais:**
- Volume de mensagens de suporte pós-venda (estado da encomenda, devoluções) insustentável
- Carrinhos abandonados sem follow-up automático → receita perdida
- Campanhas de reactivação de clientes inativos feitas manualmente
- Devoluções: processo manual, email interminável, cliente frustrado
- Avaliações negativas sem resposta → impacto na conversão
**Funcionalidades mais relevantes:** suporte automático de "onde está a minha encomenda" por WhatsApp, follow-up de carrinho abandonado, campanha de reactivação de clientes inativos, gestão de devoluções automatizada, resposta a reviews.
**Linguagem de venda:** "responde a 80% das perguntas de suporte sem intervenção humana", "recupera 15% dos carrinhos abandonados com um WhatsApp certo", "o cliente fica satisfeito sem precisar de esperar por email".
**Canal de aquisição:** comunidades de e-commerce (Shopify PT Facebook Group, grupos LinkedIn de e-commerce), eventos (eCommerce Day, NOS Alive), agências de e-commerce como parceiros.
**Objecção principal:** "Já usamos o suporte do Shopify." → Resposta: "O suporte do Shopify trata do que está dentro da plataforma. O AcidaOS trata do WhatsApp, do email e das mensagens do Instagram — que é de onde vêm 70% das perguntas reais."
**Trigger de compra:** Black Friday com volume de suporte 5x superior ao habitual sem equipa para responder; mês com carrinho abandonado acima de 70% sem follow-up.
**Pricing sweet spot:** €69-149/mês (familiarizados com SaaS, comparam com Gorgias €10-150/mês, Tidio €29-100/mês).
---
### Nicho 9 — Educação e Formação
**Quem:** Centros de formação profissional, explicadores e centros de explicações, escolas de línguas, escolas de música/artes, coaches e mentores, plataformas de formação online.
**Dimensão PT:** sector em expansão acelerada. Formação profissional fortemente subsidiada (FSE/IEFP) com requisitos administrativos pesados.
**Dores operacionais:**
- Matrículas e inscrições por telefone e email — processo manual e demorado
- Comunicação com pais (no caso de menores) caótica e dispersa
- Cobranças de mensalidades em atraso constrangem a relação com o aluno/família
- Certificados e documentação de formação gerados manualmente
- Formação subsidiada: relatórios e documentação obrigatória para financiamento
**Funcionalidades mais relevantes:** inscrições online com confirmação automática, comunicação com pais por WhatsApp, cobranças automáticas com link de pagamento (MB Way), geração de certificados, relatórios de frequência.
**Linguagem de venda:** "os pais recebem updates do filho pelo WhatsApp, sem ligar para a recepção", "as inscrições chegam organizadas, não por telefone", "as mensalidades cobram-se sozinhas no dia certo".
**Canal de aquisição:** DGERT (entidade reguladora de formação), LinkedIn de directores pedagógicos, grupos Facebook de formadores, referência entre centros.
**Objecção principal:** "Temos sistema de gestão escolar." → Resposta: "O AcidaOS complementa — trata da comunicação e cobranças que o sistema escolar não faz."
**Trigger de compra:** período de matrículas com recepção sobrecarregada; mensalidade em atraso de mais de 3 meses por falta de follow-up.
**Pricing sweet spot:** €50-120/mês (sensíveis ao preço mas com ROI claro em cobranças recuperadas).
---
### Nicho 10 — Serviços Técnicos Especializados
**Quem:** Empresas de IT/informática, AVAC, electricistas com empresa, empresas de segurança e alarmes, canalizadores, empresas de manutenção de equipamentos.
**Dimensão PT:** dezenas de milhares de micro e pequenas empresas. Alta dependência de WhatsApp para comunicar com técnicos e clientes. Muito fragmentado.
**Dores operacionais:**
- Chamadas de avaria chegam fora de horas sem registo
- Orçamentos de intervenções demoram dias (técnico tem de ver primeiro)
- Scheduling de técnicos manual — conflitos de agenda e deslocações ineficientes
- Contrato de manutenção: clientes que deviam contactar para revisão e não contactam
- Relatório de intervenção escrito à mão ou por memória do técnico
**Funcionalidades mais relevantes:** triagem automática de avarias fora de horas (gravidade, urgência), agendamento de técnicos por disponibilidade, geração de relatório de intervenção por voz (técnico descreve verbalmente → relatório gerado), alertas de manutenção preventiva, facturação de serviço.
**Linguagem de venda:** "o técnico descreve o trabalho pelo WhatsApp e o relatório fica pronto", "as chamadas de avaria fora de horas ficam registadas e triadas", "o cliente de manutenção recebe o alerta de revisão no mês certo".
**Canal de aquisição:** associações sectoriais (ANEOP, ASIAM), LinkedIn de gestores de empresa técnica, grupos Facebook de técnicos, referência entre pares.
**Objecção principal:** "Os meus técnicos não usam computador." → Resposta: "Exactamente por isso — o AcidaOS funciona pelo WhatsApp que eles já usam. O relatório faz-se com uma nota de voz."
**Trigger de compra:** chamada de avaria urgente perdida fora de horas; técnico que sai e leva o registo das intervenções que fez.
**Pricing sweet spot:** €40-100/mês (dispostos a pagar pelo valor em tempo poupado e em trabalho não perdido).
---
## Tabela resumo — priorização por atractividade
| Nicho | Volume PT | Urgência da dor | Disposição a pagar | Canal de entrada | Score |
|-------|-----------|----------------|-------------------|-----------------|-------|
| Saúde Privada | Alta | Muito alta | Alta | Associações + Google | ⭐⭐⭐⭐⭐ |
| Imobiliárias | Média | Alta | Alta | LinkedIn + portais | ⭐⭐⭐⭐⭐ |
| Agências Digitais | Média | Alta | Muito alta | LinkedIn + eventos | ⭐⭐⭐⭐⭐ |
| E-commerce | Alta | Alta | Alta | Comunidades + parceiros | ⭐⭐⭐⭐ |
| Contabilidade | Alta | Média-alta | Média | Ordem OCC + formação | ⭐⭐⭐⭐ |
| Construção | Muito alta | Alta | Média | Referência + associações | ⭐⭐⭐⭐ |
| Comércio B2B | Alta | Alta | Média-alta | Feiras + LinkedIn | ⭐⭐⭐⭐ |
| Serviços Técnicos | Muito alta | Média | Média | Referência + grupos | ⭐⭐⭐ |
| Educação | Média | Média | Baixa-média | DGERT + referência | ⭐⭐⭐ |
| Restauração | Muito alta | Média | Baixa | AHRESP + Instagram | ⭐⭐⭐ |
**Top 3 para arranque:** Saúde Privada, Imobiliárias, Agências Digitais — dor alta, disposição a pagar alta, canais de entrada claros.
@@ -0,0 +1,113 @@
# Perguntas de Briefing — Entrevista Estratégica
Guia de entrevista estruturado para conduzir o briefing inicial com o cliente.
Adaptar ao sector e nível de maturidade da marca.
---
## Bloco 1 — O negócio
### Contexto actual
1. O que faz a sua empresa, em termos simples?
2. Há quantos anos está no mercado? Como surgiu?
3. Qual a dimensão actual: equipa, facturação, clientes?
4. Qual é o maior desafio que enfrenta hoje no negócio?
5. O que o distingue dos concorrentes? (resposta espontânea — não sugerir)
### Serviços e produtos
6. Quais são os seus produtos/serviços principais?
7. Qual gera mais receita? Qual tem mais potencial?
8. Existe algum produto que quer destacar mais? Porquê?
9. Que resultados concretos entregam aos clientes?
### Posicionamento actual
10. Se pedisse a um cliente para descrever a sua empresa em 3 palavras, o que diria?
11. Existe uma percepção de mercado que quer mudar?
12. Onde se posiciona em preço vs concorrência? (mais caro, igual, mais barato) Porquê?
---
## Bloco 2 — O cliente ideal
### Segmentação
13. Quem é o seu cliente ideal? Descreva-o em detalhe.
14. Tem mais do que um tipo de cliente? Como os diferencia?
15. Qual o cliente que mais valoriza o que fazem e paga melhor?
16. Existe algum cliente que não quer ter? Porquê?
### Comportamento de compra
17. Como é que os clientes chegam até si? (canal principal de aquisição)
18. Quanto tempo demora tipicamente desde o primeiro contacto até fechar negócio?
19. Quem toma a decisão de compra? É uma pessoa ou um grupo?
20. Que objecções ouve mais frequentemente antes de fechar?
### Relação com clientes
21. Qual foi o feedback mais positivo que recebeu de um cliente? (pedir citação exacta)
22. Qual foi a queixa mais comum? Como resolveram?
23. Tem clientes que recomendam espontaneamente? O que dizem?
---
## Bloco 3 — Mercado e concorrência
### Mercado
24. Em que mercado opera? Geográfico (local, nacional, internacional)?
25. O mercado está a crescer, estável ou a contrair?
26. Que tendência do mercado mais o preocupa? Qual mais o entusiasma?
27. Existe sazonalidade? Em que períodos?
### Concorrência
28. Quem são os 3 principais concorrentes?
29. Em que é que são melhores? Em que é que são piores?
30. Por que é que um cliente nos escolhe a nós vs ao concorrente X?
31. Existe algum concorrente que admira (mesmo que de outra área)?
---
## Bloco 4 — Visão e ambição
### Onde quer chegar
32. Qual é o objectivo da empresa a 3 anos?
33. O que precisa de mudar para chegar lá?
34. Existe um modelo de empresa que admira ou quer imitar? Porquê?
35. Se tivesse recursos ilimitados, o que faria primeiro?
### Marca e identidade
36. Que 3 adjectivos descrevem a personalidade ideal da marca?
37. Que marcas (de qualquer sector) admira pela comunicação? O que lhes agrada?
38. Existe uma história de origem da empresa que emociona? (fundador, momento de viragem)
39. Que valores são inegociáveis? O que nunca fariam por dinheiro?
### Tom de voz
40. A marca é mais formal ou informal? Mais técnica ou acessível?
41. Usa humor na comunicação? Em que contextos?
42. Existe linguagem/palavras que NÃO deve usar?
---
## Bloco 5 — Recursos e restrições
### Capacidade
43. Qual o budget mensal disponível para marketing?
44. Existe equipa interna de marketing ou será tudo externalizado?
45. Quem aprova conteúdos? Qual o processo de revisão?
### Prazo
46. Existe algum lançamento, evento ou data importante a curto prazo?
47. Quando precisa de ter a estratégia operacional?
### Material existente
48. Existe alguma estratégia anterior? O que funcionou? O que não funcionou?
49. Que activos existem: website, redes sociais, base de emails, testemunhos, cases?
50. Existem fotos/vídeos profissionais? Em que estado está a identidade visual?
---
## Notas de condução da entrevista
- Fazer max 15-20 perguntas numa sessão (60-90 min)
- Priorizar: Blocos 1, 2 e 4 na primeira sessão
- Blocos 3 e 5 podem ser preenchidos com pesquisa independente
- Pedir sempre exemplos concretos e citações textuais de clientes
- Quando a resposta é vaga, fazer "pode dar-me um exemplo específico?"
- Gravar a sessão (com autorização) para não perder citações úteis
@@ -0,0 +1,374 @@
# Template: Documento de Estratégia de Marca
Estrutura completa do documento entregável ao cliente. Baseado nos projectos SFV, LJM, MCT, Espiral Senior e Sintricare.
Adaptar secções ao sector e complexidade do cliente.
---
## Cabeçalho do documento
```
---
title: [Nome da Marca] — Estratégia de Marca
cliente: [Nome do cliente]
código: EST-MRK-010
versão: 1.0
data: [DD-MM-YYYY]
elaborado: Descomplicar® — Agência de Aceleração Digital
status: draft | aprovado
---
```
---
## DECLARAÇÃO DE IMPACTO
> **[Uma frase poderosa — 10-15 palavras máximo]**
> *A essência e o impacto da marca numa linha.*
---
## ÍNDICE
1. Apresentação e Fundamentos Estratégicos
2. Proposta de Valor Única
3. Missão, Visão, Valores e Objectivos
4. Apresentação Sumária da Empresa e Serviços
5. Segmentação e Análise Detalhada de Público
6. Pitch Canvas
7. Copywriting Estratégico
8. Estratégia de Comunicação e Canais
9. Investimentos Prioritários
10. Monitorização e KPIs
11. Inventário de Activos de Marketing
---
## 1. Apresentação e Fundamentos Estratégicos
### 1.1 Contexto actual
- **Mercado:** [Análise do mercado actual — dimensão, tendências, oportunidades]
- **Concorrência:** [Principais concorrentes e posições]
- **Desafios:** [Principais desafios enfrentados pela marca]
- **Oportunidades:** [Oportunidades identificadas]
### 1.2 Problema a resolver
[Identificação clara do problema de negócio que esta estratégia precisa resolver — qual é o problema central que impede o crescimento ou o impacto da marca?]
---
## 2. Proposta de Valor Única
### 2.1 O que nos torna únicos
[O que tornamos possível que os concorrentes não conseguem. Ser específico — evitar "qualidade e experiência".]
### 2.2 Diferenciais competitivos
1. [Diferencial 1 — explicar o mecanismo único que o cria]
2. [Diferencial 2]
3. [Diferencial 3]
### 2.3 Benefícios por camada
| Tipo | Benefícios |
|------|-----------|
| **Funcionais** | [O que o produto/serviço faz concretamente] |
| **Emocionais** | [Como o cliente se sente ao usar/contratar] |
| **Identitários** | [O que diz sobre o cliente escolher esta marca] |
---
## 3. Missão, Visão, Valores e Objectivos
### 3.1 Missão
> [O que fazemos, para quem e como — acção no presente. Max 2 frases.]
### 3.2 Visão
> [Onde queremos estar e que impacto queremos ter em 3-5 anos. Max 2 frases.]
### 3.3 Valores
- **[Valor 1]** — [Como se manifesta na prática, no dia-a-dia da empresa]
- **[Valor 2]** — [Como se manifesta]
- **[Valor 3]** — [Como se manifesta]
- **[Valor 4]** — [Como se manifesta] *(opcional)*
### 3.4 Objectivos estratégicos
- **Curto prazo (6m):** [2-3 objectivos mensuráveis]
- **Médio prazo (1 ano):** [2-3 objectivos]
- **Longo prazo (3 anos):** [Ambição de impacto]
---
## 4. Apresentação Sumária da Empresa e Serviços
### 4.1 Quem somos
[Parágrafo de apresentação — quem são, o que fazem, há quanto tempo, dimensão, missão em acção]
### 4.2 Serviços/Produtos principais
| Serviço/Produto | Descrição | Para quem | Resultado principal |
|----------------|-----------|-----------|-------------------|
| [Nome] | — | — | — |
| [Nome] | — | — | — |
### 4.3 Posicionamento
[Declaração de posicionamento — o lugar único que a marca ocupa na mente do cliente]
> "Para [público], somos a única [categoria] que [benefício único] porque [prova]."
---
## 5. Segmentação e Análise Detalhada de Público
*Repetir a estrutura completa dos 20 pontos para cada segmento identificado.*
---
### 5.X — [Nome do Segmento]
*[Breve descrição de quem é este segmento — 2 linhas]*
#### 1. Perfil Demográfico
[Idade, género, localização, rendimento, nível de educação, profissão, cargo, tipo/dimensão de empresa, estado civil, composição familiar — tudo o que é mensurável e verificável]
#### 2. Perfil Psicográfico
[Valores pessoais, crenças, atitude perante a vida, estilo de vida, motivações profundas, relação com a categoria de produto/serviço, identidade social — o que não se mede mas define quem são]
#### 3. Dores
[Problemas activos e urgentes que precisam resolver. O que os está a prejudicar agora. Dores específicas do dia-a-dia relacionadas com o que a marca resolve.]
#### 4. Anseios
[O que aspiram a ser, ter ou alcançar. Sonhos profissionais e pessoais. A versão ideal do futuro que imaginam.]
#### 5. Desejos
[O que querem concretamente — mais imediato e específico que os anseios. Desejos práticos relacionados com a nossa oferta.]
#### 6. Frustrações
[O que já tentaram fazer ou comprar sem resultado. Soluções que prometeram e não entregaram. O cansaço acumulado de não resolver o problema.]
#### 7. Preocupações
[O que os inquieta a médio/longo prazo. Cenários negativos que imaginam. Preocupações sistémicas relacionadas com a sua vida ou negócio.]
#### 8. Medos
[Medos concretos associados à compra ou à não-compra. Medo de errar, de ser enganado, de perder dinheiro, de ser julgado. O que os paralisa antes de decidir.]
#### 9. Inimigos
[Os "vilões" da história deste segmento — concorrentes que os desiludiram, sistemas que os prejudicam, tendências que os ameaçam, pessoas ou entidades a quem culpam o problema]
#### 10. Linguagem
[As palavras e expressões exactas que usam para descrever o problema, a solução e os resultados. Jargão do sector. O que dizem aos amigos. O que escrevem no Google. Evitar linguagem que usamos internamente mas eles não usam.]
#### 11. Como procuram ajuda, informação ou dicas?
[Onde vão quando têm o problema: Google (que pesquisas fazem?), YouTube, grupos Facebook, LinkedIn, amigos, consultores, feiras, etc. Que tipo de conteúdo consomem para se informar?]
#### 12. Canais digitais
[Em que plataformas estão activos: Facebook, Instagram, LinkedIn, TikTok, YouTube, email, WhatsApp, fóruns, etc. Com que frequência? Em que contexto (trabalho vs lazer)?]
#### 13. Estilo de Decisão
[Como tomam decisões de compra: rápido vs deliberado, emocional vs racional, individual vs colectivo, impulsivo vs comparativo. Que factores pesam mais? Precisam de aprovação de terceiros?]
#### 14. Mudanças
[Mudanças que sabem e sentem necessárias nas suas vidas ou negócio. Passos que sabem que precisam dar mas ainda não deram. A consciência que já têm do problema.]
#### 15. Resistência à Mudança
[De que maneira resistem à mudança? Que desculpas usam para adiar? Como os podemos ajudar a ultrapassar essa resistência? Que argumentos reduzem o atrito?]
#### 16. Objecções Típicas
[As objecções mais frequentes às ofertas comerciais desta categoria. Como as podemos antecipar e superar? Respostas específicas a cada objecção.]
| Objecção | Como ultrapassar |
|----------|----------------|
| — | — |
| — | — |
| — | — |
#### 17. Forma de Gerar Emoção
[Que tipo de conteúdo, história ou mensagem os move emocionalmente? O que os faz parar no scroll? O que os faz partilhar? Qual o gatilho emocional mais poderoso para este segmento?]
#### 18. Argumentos
[A que argumentos são mais sensíveis? Como os podemos persuadir a agir? Que tipo de prova precisam: dados, testemunhos, demonstrações, garantias? Qual a sequência de persuasão ideal?]
#### 19. Concorrentes
[Que outras entidades lhes oferecem o mesmo tipo de serviço ou solução alternativa? Como se comparam a nós em percepção de valor?]
#### 20. Propostas Recusadas
[Que propostas é que este segmento tem recusado e porquê? O que dizem explicitamente e o que dizem implicitamente? O que não querem mais ouvir?]
---
## 6. Pitch Canvas
### 6.1 O que é o Pitch Canvas?
O Pitch Canvas é uma ferramenta de comunicação estratégica que resume, numa única estrutura visual, o essencial da proposta de valor da empresa. É útil porque:
- Força clareza e síntese (não há espaço para vagueza)
- Alinha toda a equipa na mesma mensagem
- Serve de base para qualquer peça de comunicação
- Torna a proposta de valor testável e iterável
### 6.2 Utilidade específica para [Nome da Marca]
[Como o Pitch Canvas pode ajudar esta marca concretamente — que clareza traz, que conversas simplifica, onde pode ser usado]
### 6.3 Os 5 elementos do Pitch Canvas
**Para quem:**
> [Segmento principal — quem são e qual o problema específico]
**O problema:**
> [Dor principal, urgente e real — formulada na linguagem do cliente]
**A solução:**
> [O que oferecemos — mecanismo único de resolução]
**O resultado:**
> [Transformação concreta — antes vs depois, com métrica se possível]
**Por que nós:**
> [Razão para acreditar — o que nos torna credíveis e únicos]
### 6.4 Declaração de mudança no mundo
> **"[Nome da Marca] está a mudar [o quê] para [quem], através de [como], tornando possível [impacto maior]."**
---
## 7. Copywriting Estratégico
### 7.1 Questionamento estratégico
**Qual é o objectivo da comunicação?**
[Definir claramente o que queremos que o público faça, sinta ou pense após cada comunicação. Sem objectivo claro não há comunicação eficaz.]
**Que transformação prometemos?**
[A transformação específica que a marca entrega — não o produto, mas a mudança de estado do cliente]
### 7.2 Pain + Gain (Problema e Resultado)
> **Pain:** [O problema central na perspectiva do cliente — formulado com a dor, não com o produto]
> **Gain:** [O resultado desejado — formulado com o benefício, não com a funcionalidade]
*Revisão com questões específicas do sector:*
> **Pain refinado:** [Após aprofundar com o briefing — mais específico, com linguagem do cliente]
> **Gain refinado:** [Com métricas ou resultados concretos já entregues a outros clientes]
### 7.3 Narrativa por segmento
*Fórmula: Problema (dor do público) → Solução (serviços da empresa) → Resultado (benefícios concretos)*
**[Segmento A]:**
> **Problema:** [Dor específica e urgente deste segmento, na sua linguagem]
> **Solução:** [Como a marca resolve de forma única — mecanismo específico]
> **Resultado:** [Benefício tangível e mensurável + prova social ou garantia]
**[Segmento B]:**
> **Problema:** [...]
> **Solução:** [...]
> **Resultado:** [...]
*(Repetir para cada segmento)*
### 7.4 Mensagem central da marca
> **"[A frase que todos os colaboradores sabem de cor — resumo da proposta de valor em 10 palavras]"**
### 7.5 Headlines por segmento
| Segmento | Headline principal | Headline secundária |
|----------|------------------|-------------------|
| [Seg. A] | — | — |
| [Seg. B] | — | — |
---
## 8. Demonstração dos Serviços
### 8.1 Como demonstrar [serviço/produto principal]
**Preparação personalizada:**
[O que preparar antes da demonstração para cada segmento]
**Introdução interactiva:**
[Como começar — conectar com a dor antes de mostrar a solução]
**Demonstração ao vivo:**
[O que mostrar, em que ordem, com que foco]
**Casos de uso:**
[Exemplos reais de clientes similares — antes/depois]
**Q&A:**
[Perguntas frequentes na demonstração e respostas modelo]
**Follow-up:**
[Próximo passo após a demonstração — o que enviar, quando contactar]
---
## 9. Investimentos Prioritários
### 9.1 Prioridades imediatas (impacto/esforço)
| Prioridade | Investimento | Impacto esperado | Prazo | Custo estimado |
|-----------|-------------|-----------------|-------|---------------|
| 1 | [Ex: Website + SEO] | — | 30-60d | — |
| 2 | [Ex: Google Ads] | — | 30d | — |
| 3 | [Ex: Email marketing] | — | 60d | — |
### 9.2 Estratégia de canais
| Canal | Objectivo | Frequência | KPI | Budget mensal |
|-------|-----------|-----------|-----|--------------|
| Website | — | — | — | — |
| Google Ads | — | — | — | — |
| Meta Ads | — | — | — | — |
| LinkedIn | — | — | — | — |
| Email | — | — | — | — |
| WhatsApp | — | — | — | — |
### 9.3 Pilares de conteúdo
1. [Pilar 1 — tema + tipos de conteúdo + frequência]
2. [Pilar 2]
3. [Pilar 3]
---
## 10. Monitorização e KPIs
### 10.1 Dashboard de métricas
| Área | KPI | Baseline | Meta 3m | Meta 6m | Meta 12m |
|------|-----|---------|---------|---------|----------|
| Brand | Notoriedade espontânea | — | — | — | — |
| Tráfego | Visitas/mês | — | — | — | — |
| Leads | Leads qualificados/mês | — | — | — | — |
| Conversão | Taxa de fecho | — | — | — | — |
| Retenção | NPS | — | — | — | — |
### 10.2 Ciclo de optimização
- **Revisão mensal:** métricas de canal, ajuste de conteúdo
- **Revisão trimestral:** avaliação de ROI, ajuste de orçamento
- **Revisão anual:** actualização estratégica completa
---
## 11. Inventário de Activos de Marketing
| Activo | Localização | Estado actual | Prioridade |
|--------|------------|--------------|-----------|
| Website | [URL] | — | — |
| Blog/Artigos | — | — | — |
| Redes sociais | — | — | — |
| Base de emails | — | — | — |
| Testemunhos/Cases | — | — | — |
| Materiais impressos | — | — | — |
| Apresentações | — | — | — |
| Fotos/Vídeos profissionais | — | — | — |
---
## Notas de implementação
1. **Sessão de alinhamento:** Apresentar o documento à equipa antes de implementar
2. **Validação:** Partilhar narrativas com 2-3 clientes actuais antes de publicar
3. **Implementação faseada:** Começar pelos canais de maior impacto e menor esforço
4. **Suporte:** WhatsApp durante 1 mês para dúvidas de implementação (EST-MRK-010)
---
*Elaborado por Descomplicar® — Agência de Aceleração Digital*
*emanuel@descomplicar.pt | descomplicar.pt*
+143
View File
@@ -0,0 +1,143 @@
---
name: expense
description: Gestao de despesas Desk CRM com PDF obrigatorio. Registar, categorizar e analisar despesas com verificacao de duplicados por reference_no, upload SFTP e arquivo mensal automatico.
layer: wiki
---
# /expense - Gestao de Despesas
Skill para gestao de despesas com verificacao obrigatoria de categorias existentes.
## Quando Usar
- Registar nova despesa
- Criar/gerir categorias de despesas
- Consultar despesas por periodo/categoria
- Associar despesas a projectos/clientes
- Analise e relatorios de despesas
- Processar despesas de tickets de contabilidade (departamento 3)
- Importar recibos de servicos (Anthropic, Hetzner, etc.)
## Quando NAO Usar
- Para facturas a clientes (usar /invoice)
- Para orcamentos (usar /orcamento)
- Para pagamentos recebidos (usar /crm)
---
## REGRA CRITICA: CATEGORIAS
> **PROIBIDO criar categoria sem verificar se ja existe.**
```
1. Listar categorias: get_expense_categories(with_stats=true)
2. Pesquisar por nome similar na lista
3. SE encontrar match ou similar: USAR a categoria existente
4. SE realmente nao existe: PERGUNTAR "Nao encontrei categoria para X. Criar nova?"
5. SO CRIAR apos confirmacao explicita
```
**Violacao desta regra causa duplicados que prejudicam relatorios financeiros.**
Para mapeamento completo de fornecedores, emails e padroes PDF para categorias: ver `references/category-mapping.md`
---
## Protocolo: Registar Despesa
> **Gate PDF obrigatorio:** Sem documento, nao regista. Unica excepcao: bypass explicito do utilizador (AT/Salario sem recibo).
```
1. GATE PDF: Verificar que existe ficheiro PDF
- SE utilizador forneceu PDF: prosseguir
- SE nao forneceu: PEDIR o ficheiro
- SE nao tem e pede bypass: PERGUNTAR "Confirmas despesa sem documento?"
- Bypass valido apenas para: AT, Salarios, transferencias bancarias
2. LER O PDF: Extrair dados reais do documento
- NUNCA copiar valor de um PDF para outro
- EXTRAIR reference_no (numero factura) — OBRIGATORIO para dedup
3. OBRIGATORIO: get_expense_categories(with_stats=true)
4. Identificar categoria correcta na lista
5. VERIFICAR DUPLICADOS (3 camadas — OBRIGATORIO):
Camada 0 — Referencia de factura (PRIMARIA):
- get_expenses(search: "<reference_no>")
- Se alguma despesa tem reference_no IGUAL → DUPLICADO → PARAR
Camada 1 — Fornecedor + Valor + Data:
- get_expenses(search: "<fornecedor>")
- Mesmo fornecedor + valor (±0.05) + data (±3 dias) = duplicado
Camada 2 — Expense name:
- get_expenses(search: "<fornecedor> - <reference_no>")
- Se match exacto → duplicado
Se QUALQUER camada detecta duplicado → NAO criar, informar utilizador
6. Recolher dados:
- category_id, amount, currency (EUR=3, USD=2), date (YYYY-MM-DD)
- reference_no (numero factura — OBRIGATORIO)
- note (incluir numero factura), send_invoice_to_customer = 0
- Opcionais: client_id, project_id, billable, tax
7. CONFIRMAR com utilizador (mostrar resumo)
8. create_expense (INCLUIR reference_no no payload)
9. UPLOAD PDF ao Desk via SFTP:
a. mkdir -p no servidor: /home/ealmeida/desk.descomplicar.pt/uploads/expenses/<id>
b. mcp__ssh-unified__sftp_upload(server:"desk", local_path, remote_path)
c. chown -R ealmeida:ealmeida
d. INSERT INTO tblfiles (rel_id, rel_type='expense', ...)
10. ARQUIVO MENSAL: Mover PDF para Contabilidade/YYYY/NN-NomeMes/
11. Confirmar criacao ao utilizador
```
## Protocolo: Criar Categoria
```
1. get_expense_categories() - listar todas
2. Verificar se existe categoria similar
3. SE existe similar: USAR ESSA, nao criar
4. SE nao existe: perguntar confirmacao ao utilizador
5. SO APOS confirmacao: criar
```
## Protocolo: Consultar Despesas
```
1. get_expenses com filtros: category, date_from/date_to, client_id, project_id, limit
2. Apresentar resumo ao utilizador
```
## Protocolo: Analise de Despesas
```
1. expense_analytics: period ("month"/"quarter"/"year"), breakdown_by ("category"/"client"/"project")
2. Apresentar insights: total por categoria, tendencias, categorias mais usadas
```
## Processar Despesas de Tickets
Para protocolo completo de processamento de tickets de contabilidade: ver `references/ticket-processing.md`
**Resumo:** Obter ticket -> verificar anexos -> verificar duplicados (3 camadas) -> extrair dados -> confirmar -> criar despesa -> upload PDF -> arquivo mensal.
---
## Comandos
| Comando | Descricao |
|---------|-----------|
| `/expense create` | Registar nova despesa |
| `/expense list` | Listar despesas recentes |
| `/expense categories` | Listar categorias disponiveis |
| `/expense report [periodo]` | Relatorio de despesas |
| `/expense search [termo]` | Pesquisar despesas |
## MCP Tools
**Despesas:** `get_expenses`, `create_expense`, `update_expense`, `delete_expense`, `bill_expense_to_customer`
**Categorias:** `get_expense_categories` (usar with_stats=true)
**Analise:** `expense_analytics`
---
## Anti-Patterns (NUNCA fazer)
**Categorias:**
1. Criar categoria sem listar existentes primeiro
2. Assumir qu
@@ -0,0 +1,187 @@
# /expense - Mapeamento de Categorias e Dados Técnicos
## Categorias Activas (consolidacao 12-02-2026)
| ID | Nome | Fornecedores típicos |
|----|------|---------------------|
| 1 | Telecomunicacoes | MEO |
| 4 | Alojamento web (Hosting) | Hetzner, CWP |
| 6 | Servicos Externos | Make/Celonis, Gamma |
| 14 | Subscricoes e Servicos Digitais | YouTube Premium, BdThemes |
| 28 | Licencas Software | Canva, Cursor, Descript, GitHub, Softaculous |
| 30 | Servicos Cloud e Infraestrutura | Google One, Google Workspace, ElasticEmail |
| 37 | Dominios | PTisp, Namecheap |
| 38 | Servicos IA e APIs | Anthropic, OpenRouter, CapSolver, Replicate |
Existem ~30 categorias na BD mas apenas 8 são usadas regularmente. SEMPRE usar `get_expense_categories()` para lista completa.
---
## Mapeamento Fornecedor → Categoria
| Fornecedor | Categoria ID | Nome |
|-----------|-------------|------|
| Anthropic, OpenRouter, CapSolver, Replicate | 38 | Servicos IA e APIs |
| Canva, Cursor, Descript, GitHub, Softaculous, CWP | 28 | Licencas Software |
| Google One, Google Workspace, ElasticEmail | 30 | Servicos Cloud e Infraestrutura |
| Hetzner | 4 | Alojamento web (Hosting) |
| MEO | 1 | Telecomunicacoes |
| PTisp, Namecheap | 37 | Dominios |
| Make/Celonis, Gamma | 6 | Servicos Externos |
| YouTube Premium, BdThemes | 14 | Subscricoes e Servicos Digitais |
---
## Mapeamento Email → Categoria
| Dominio Email | Categoria ID | Fornecedor |
|---------------|--------------|------------|
| anthropic.com | 38 | Anthropic |
| openrouter.ai | 38 | OpenRouter |
| payproglobal.com | 38 | CapSolver |
| replicate.com | 38 | Replicate |
| cursor.com, anysphere.dev | 28 | Cursor |
| canva.com | 28 | Canva |
| descript.com | 28 | Descript |
| github.com | 28 | GitHub |
| softaculous.com | 28 | Softaculous |
| centos-webpanel.com | 28 | CWP |
| elasticemail.com | 30 | ElasticEmail |
| google.com (One/Workspace) | 30 | Google Cloud |
| hetzner.com | 4 | Hetzner |
| meoempresas.pt | 1 | MEO |
| namecheap.com | 37 | Namecheap |
| ptisp.pt | 37 | PTisp |
| make.com, celonis.com | 6 | Make/Celonis |
| gamma.app | 6 | Gamma |
> `moloni.com` NAO incluido - é plataforma de facturação.
---
## Mapeamento Padrão PDF → Categoria
| Padrão no PDF | Fornecedor | Categoria ID |
|---------------|-----------|--------------|
| `Gondooffice`, `Cubic Choices` | Gondooffice | 21 Contabilidade |
| `Autoridade Tributaria`, `emiteDoc`, `AT -` | AT | 15 Planos Prestacionais |
| `Staples`, `STP_ECOFACTURA` | Staples | 3 Material Escritorio |
| `MEO`, `meoempresas` | MEO | 1 Telecomunicacoes |
| `TOConline`, `Recibo de Vencimento` | Salario | 22 Salarios |
| `Seguranca Social` | SS | 25 Contribuicoes SS |
| `Cursor`, `Anysphere` | Cursor | 28 Licencas Software |
| `Anthropic` | Anthropic | 38 Servicos IA e APIs |
| `Hetzner` | Hetzner | 4 Alojamento web |
| `ElasticEmail` | ElasticEmail | 30 Servicos Cloud |
---
## Campos create_expense
| Campo | Tipo | Obrigatório | Descrição |
|-------|------|-------------|-----------|
| category_id | number | Sim | ID da categoria |
| amount | number | Sim | Valor da despesa |
| date | string | Sim | Data (YYYY-MM-DD) |
| note | string | Sim | Descrição (incluir ticket ID) |
| reference | string | Sim | Número fatura/recibo |
| tax | number | Sim | ID da taxa (1 = IVA 23%) |
| currency | number | Sim | EUR = **3**, USD = 2 |
| send_invoice_to_customer | number | Sim | Sempre **0** |
| client_id | number | Não | Cliente associado |
| project_id | number | Não | Projecto associado |
| billable | boolean | Não | Facturável (default: false) |
---
## Moedas
| ID | Nome | Símbolo | Default |
|----|------|---------|---------|
| 2 | USD | $ | Não |
| 3 | EUR | € | Sim |
> **CRITICO:** EUR = **3**, USD = **2**. `currency = 1` não existe e causa despesas invisíveis nos relatórios.
---
## Taxas de Imposto
| ID | Nome | Taxa |
|----|------|------|
| 1 | IVA Tx Normal | 23% |
---
## Comandos SQL
```sql
-- 1. VERIFICAR DUPLICADOS (EXECUTAR PRIMEIRO)
SELECT id, amount, date, note, reference_no FROM tblexpenses
WHERE reference_no LIKE '%{receipt_number}%'
OR note LIKE '%ticket #{ticket_id}%'
-- 2. Verificar anexos do ticket
SELECT id, file_name, filetype FROM tblticket_attachments WHERE ticketid = {ID}
-- 3. Actualizar nome fornecedor (obrigatorio apos criar)
UPDATE tblexpenses SET expense_name = '{Fornecedor}' WHERE id = {expense_id}
-- 4. Registar anexo na despesa
INSERT INTO tblfiles (rel_id, rel_type, file_name, filetype, visible_to_customer, staffid, contact_id, dateadded)
VALUES ({expense_id}, 'expense', '{filename}', 'application/pdf', 0, 1, 0, NOW())
```
---
## Extracção de Dados de PDFs
**Método 1: Script Python (recomendado)**
```bash
python3 /home/ealmeida/scripts/extract_invoice_data.py /path/to/invoice.pdf
```
Retorna JSON com: vendor, cat_id, total, date, invoice, currency, text
**Método 2: pdfplumber directo**
```bash
python3 -c "
import pdfplumber
with pdfplumber.open('/path/to/file.pdf') as pdf:
for p in pdf.pages:
t = p.extract_text()
if t: print(t)
" | grep -iE "total|iva|€"
```
**Método 3: pdftotext (fallback)**
```bash
pdftotext /path/to/file.pdf - | head -80
```
---
## Paths de Ficheiros
- Anexos ticket: `/uploads/ticket_attachments/{ticketid}/`
- Anexos despesa: `/uploads/expenses/{expenseid}/`
- Arquivo mensal: `/media/ealmeida/Dados/GDrive/Cloud/ADM_Descomplicar/Financeiro/Contabilidade/YYYY/NN-NomeMes/`
- Credenciais BD: `/home/ealmeida/desk.descomplicar.pt/application/config/app-config.php`
---
## Tickets a Saltar
| Tipo | Descrição | Acção |
|------|-----------|-------|
| Payment Receipt | Recibo de pagamento (não é fatura) | SALTAR |
| Duplicado | Mesmo nº fatura já processado | SALTAR |
| Sem anexo PDF | Apenas notificação por email | SALTAR |
---
## Campos para Rastreio de Duplicados
| Campo | Conteúdo | Exemplo |
|-------|----------|---------|
| reference | Número do recibo | `2810-3712-9577` |
| note | Incluir ticket ID | `Anthropic Max (ticket #9648)` |
@@ -0,0 +1,56 @@
# /expense - Changelog
## v2.0.0 (2026-02-12) - Sistema Robusto 2026
- **Gate PDF obrigatorio:** Despesa sem documento nao e registada (bypass explicito para AT/Salario)
- **Upload SFTP:** Substituido `cp` local por `mcp__ssh-unified__sftp_upload` (Regra #41)
- **Arquivo mensal:** PDF organizado em `Contabilidade/YYYY/NN-NomeMes/` automaticamente
- **Campo `send_invoice_to_customer`:** Documentado como obrigatorio na BD (valor 0)
- **Correccao currency:** EUR = **3** (nao 2), USD = **2**. Corrigido em toda a skill
- **Categorias alinhadas com consolidacao:** 8 categorias activas com mapeamento correcto
- Cursor/Canva/Descript/GitHub/Softaculous/CWP -> 28 (Licencas Software)
- Hetzner -> 4 (Alojamento web)
- ElasticEmail/Google -> 30 (Servicos Cloud)
- PTisp/Namecheap -> 37 (Dominios)
- YouTube/BdThemes -> 14 (Subscricoes)
- Make/Gamma -> 6 (Servicos Externos)
- **Verificacao duplicados reforcada:** Integrada no passo 5 do protocolo
- **MCP ssh-unified adicionado** a dependencias
- **Procedimento:** `06-Operacoes/Procedimentos/PROC-Skill-Expense.md`
## v1.5.0 (2026-02-05)
- Adicionado mapeamento **Cursor (Anysphere)** -> categoria 38 (Servicos IA e APIs)
## v1.4.0 (2026-02-05)
- **CORRECCAO CRITICA:** ID moeda EUR = **2** (nao 1)
- Despesas com currency=1 nao aparecem em relatorios
- Corrigidas 22 despesas existentes via `UPDATE tblexpenses SET currency = 2 WHERE currency = 1`
## v1.3.0 (2026-02-05)
- **Conversao USD -> EUR obrigatoria** (taxa ~0.92, $19.99 -> 18.39 EUR)
- **Processamento em lote** quando utilizador pede "criar todas"
- Tickets a saltar documentados (payment receipts, duplicados, sem PDF)
- 9 despesas processadas em sessao de teste: 857.73 EUR total
## v1.2.0 (2026-02-05)
- Campo `expense_name` obrigatorio com nome do fornecedor (via SQL UPDATE)
- Campo `tax` e ID da taxa de imposto (1 = IVA 23%), nao percentagem
- Coluna BD e `reference_no`, nao `reference`
- Script Python para extraccao de PDFs
- 3 metodos de extraccao PDF documentados
## v1.1.0 (2026-02-05)
- Processamento de despesas a partir de tickets de contabilidade
- Mapeamento automatico email domain -> categoria
- Workflow completo com verificacao de anexos PDF
## v1.0.0 (2026-02-05)
- Versao inicial
- Regra critica de verificacao de categorias
- Criada apos limpeza de 9 categorias duplicadas
@@ -0,0 +1,75 @@
# /expense - Processamento de Despesas de Tickets
## Regras
1. Processar tickets UM A UM com confirmacao do utilizador (ou em lote se solicitado)
2. Verificar SEMPRE se despesa ja foi lancada (prevenir duplicados)
3. NAO adicionar respostas aos tickets - apenas criar despesa e anexos
4. Manter valor original na moeda do documento (EUR=3, USD=2)
5. Saltar tickets que sao apenas recibos de pagamento (nao sao facturas)
---
## Protocolo Ticket a Ticket
```
1. Obter ticket: get_ticket(ticket_id)
2. Verificar anexos: SELECT * FROM tblticket_attachments WHERE ticketid = X
3. SE nao tem PDFs: SALTAR ticket (apenas notificacao)
4. VERIFICAR DUPLICADOS (OBRIGATORIO):
SELECT id, amount, date, note FROM tblexpenses
WHERE reference_no LIKE '%{receipt_number}%' OR note LIKE '%ticket #{ticket_id}%'
SE encontrar: PARAR e informar "Despesa ja existe: #ID"
5. Extrair dados:
- Do HTML do ticket (valor, data, referencia)
- OU usar script Python: python3 /home/ealmeida/scripts/extract_invoice_data.py {pdf_path}
6. APRESENTAR resumo ao utilizador e AGUARDAR confirmacao
7. Apos confirmacao:
a. SQL: INSERT INTO tblexpenses (..., send_invoice_to_customer, ...) VALUES (..., 0, ...)
OU create_expense via MCP (se disponivel)
b. UPDATE tblexpenses SET expense_name = '{Fornecedor}' WHERE id = {id}
c. mcp__ssh-unified__ssh_execute: mkdir -p uploads/expenses/{expenseid}
d. mcp__ssh-unified__sftp_upload: PDF para uploads/expenses/{expenseid}/
e. mcp__ssh-unified__ssh_execute: chown -R ealmeida:ealmeida uploads/expenses/{expenseid}
f. SQL: INSERT INTO tblfiles (rel_id, rel_type, file_name, filetype,
visible_to_customer, staffid, contact_id, dateadded)
VALUES ({id}, 'expense', '{file}', 'application/pdf', 0, 1, 0, NOW())
g. Mover PDF para arquivo mensal: Contabilidade/YYYY/NN-NomeMes/
8. Confirmar ao utilizador e passar ao proximo
```
---
## Processamento em Lote
Se utilizador pedir "criar todas" ou "processar em lote":
1. Obter todos os tickets pendentes em paralelo
2. Identificar duplicados e tickets a saltar
3. Criar despesas em paralelo via `create_expense`
4. Actualizar `expense_name` e `reference_no` em batch via SQL
5. Copiar PDFs em batch
6. Registar ficheiros em batch via SQL INSERT multiplo
---
## Tickets a Saltar
| Tipo | Descricao | Accao |
|------|-----------|-------|
| Payment Receipt | Recibo de pagamento (nao e fatura) | SALTAR |
| Duplicado | Mesmo numero fatura ja processado | SALTAR |
| Sem anexo PDF | Apenas notificacao por email | SALTAR |
Exemplos:
- "Invoice Payment Confirmation" (e recibo, nao fatura)
- Ticket com mesmo invoice_number de outro ja processado
---
## Credenciais Base de Dados
Localizacao: `/home/ealmeida/desk.descomplicar.pt/application/config/app-config.php`
```bash
grep -E "APP_DB" /home/ealmeida/desk.descomplicar.pt/application/config/app-config.php
```
+8
View File
@@ -0,0 +1,8 @@
# skills
## Documentação
- [README](README.md)
- [AGENTS](AGENTS.md)
- [STATUS](STATUS.md)
- [MEMORY](MEMORY.md)
+239
View File
@@ -0,0 +1,239 @@
---
name: invoice
description: Gestão de facturação Desk CRM. Criar facturas, converter estimates, facturar timesheets, registar pagamentos e listar facturas vencidas.
disable-model-invocation: true
layer: wiki
---
# /invoice v1.0 - Gestão de Facturação
Facturação completa via Desk CRM: criar, enviar, pagamentos.
---
## Comandos
| Comando | Função |
|---------|--------|
| `/invoice` | Resumo: pendentes, vencidas |
| `/invoice create <client>` | Criar factura directa |
| `/invoice from-estimate <id>` | Converter estimate aceite |
| `/invoice from-timesheets <project>` | Facturar horas |
| `/invoice send <id>` | Enviar ao cliente |
| `/invoice payment <id>` | Registar pagamento |
| `/invoice overdue` | Listar vencidas |
---
## Protocolo
### /invoice (Resumo)
```
1. mcp__desk-crm-v3__get_invoices({ status: [1,4] }) // Unpaid + Overdue
2. Calcular totais
3. Mostrar resumo
```
**Output:**
```markdown
## 💰 Facturação
### Pendentes (3)
| # | Cliente | Valor | Vencimento |
|---|---------|-------|------------|
| INV-2026-045 | TechCorp | €2.500 | 10/02 |
| INV-2026-044 | StartupX | €1.800 | 15/02 |
### Vencidas (1)
| # | Cliente | Valor | Dias |
|---|---------|-------|------|
| INV-2026-040 | OldClient | €950 | 15 dias |
### Totais
- Pendente: €4.300
- Vencido: €950
- **A receber:** €5.250
```
---
### /invoice create <client>
```
1. mcp__desk-crm-v3__search_customers({ query: client })
2. Se não encontrar: "Cliente não encontrado"
3. Perguntar itens:
- Descrição
- Quantidade
- Valor unitário
4. Calcular subtotal + IVA (23%)
5. mcp__desk-crm-v3__create_invoice({
client_id: client_id,
items: [...],
tax_id: 1, // IVA 23%
status: 1
})
6. "Factura #X criada (€Y). Enviar ao cliente? [Sim/Não]"
```
---
### /invoice from-estimate <id>
```
1. mcp__desk-crm-v3__get_estimate({ estimate_id: id })
2. Verificar status = 4 (Aceite)
- Se não aceite: "Estimate não aceite. Não é possível converter."
3. Mostrar detalhes do estimate
4. "Converter estimate #X para factura? [Sim/Não]"
5. mcp__desk-crm-v3__convert_estimate_to_invoice({ estimate_id: id })
6. "Factura #Y criada. Enviar? [Sim/Não]"
```
---
### /invoice from-timesheets <project>
```
1. mcp__desk-crm-v3__get_project({ project_id })
2. mcp__desk-crm-v3__get_timesheets_advanced({
project_id: project_id,
billed: false
})
3. Calcular total horas × rate do projecto
4. Mostrar resumo:
- Horas: Xh
- Rate: €Y/h
- Total: €Z
5. "Criar factura de €Z? [Sim/Não]"
6. mcp__desk-crm-v3__create_invoice({
client_id: project.client_id,
items: [{ description: "Horas - Projecto X", qty: hours, rate: rate }]
})
7. mcp__desk-crm-v3__bulk_mark_billed({ timesheet_ids: [...] })
8. "Factura #Y criada. Timesheets marcados como facturados."
```
---
### /invoice send <id>
```
1. mcp__desk-crm-v3__get_invoice({ invoice_id: id })
2. Verificar dados do cliente (email)
3. "Enviar factura #X para [email]? [Sim/Não]"
4. Marcar como enviada (status: 2)
5. Confirmar envio
```
---
### /invoice payment <id>
```
1. mcp__desk-crm-v3__get_invoice({ invoice_id: id })
2. Mostrar: Total €X, Pago €Y, Falta €Z
3. Perguntar:
- Valor pago
- Data pagamento
- Método (Transferência, MB, PayPal, etc.)
4. mcp__desk-crm-v3__process_payment({
invoice_id: id,
amount: valor,
payment_date: data,
payment_mode: metodo
})
5. Confirmar: "Pagamento de €V registado. Saldo: €S"
```
---
### /invoice overdue
```
1. mcp__desk-crm-v3__overdue_invoices_report()
2. Ordenar por dias de atraso
3. Mostrar lista com opções
```
**Output:**
```markdown
## ⚠️ Facturas Vencidas (3)
| # | Cliente | Valor | Dias | Contacto |
|---|---------|-------|------|----------|
| INV-040 | OldClient | €950 | 15 | joao@old.pt |
| INV-038 | SlowPay | €2.100 | 22 | maria@slow.pt |
| INV-035 | LateInc | €750 | 30 | admin@late.pt |
**Total vencido:** €3.800
Acções:
- [Enviar lembrete a todos]
- [Ver detalhes de #X]
```
---
## Status Invoices
| ID | Status |
|----|--------|
| 1 | Unpaid (não paga) |
| 2 | Paid (paga) |
| 3 | Partially Paid (parcial) |
| 4 | Overdue (vencida) |
| 5 | Cancelled (cancelada) |
---
## Workflow Completo: Estimate → Invoice → Payment
```
1. Estimate aceite pelo cliente (status: 4)
2. /invoice from-estimate <estimate_id>
3. /invoice send <invoice_id>
4. Cliente paga
5. /invoice payment <invoice_id>
6. Factura fechada (status: 2)
```
---
## Workflow: Facturar Timesheets Mensais
```
1. Final do mês
2. /invoice from-timesheets <project_id>
3. Revê horas e valores
4. Confirma criação
5. Timesheets marcados como facturados
6. /invoice send <id>
```
---
## IVA (Portugal)
| Taxa | Uso |
|------|-----|
| 23% | Serviços gerais (default) |
| 13% | Alimentação |
| 6% | Bens essenciais |
---
## Anti-Patterns
- **NUNCA** converter estimate não-aceite
- **NUNCA** criar factura sem confirmar valores
- **NUNCA** enviar factura sem verificar dados cliente
- **NUNCA** registar pagamento sem confirmar valor
---
## Integração
+1
View File
@@ -0,0 +1 @@
## 2026-06-30 init | Estrutura padrão
+151
View File
@@ -0,0 +1,151 @@
---
name: orcamento
description: Criação de orçamentos Descomplicar baseados nos itens oficiais do Desk CRM. Versão light para heartbeats.
disable-model-invocation: true
layer: wiki
---
# Orçamento — Referência Rápida
## Fonte de verdade: Desk CRM (`tblitems` + `tblitems_groups`)
651 itens em 14 grupos. Consultar SEMPRE o CRM para preços actualizados.
## Sintaxe
```
/orcamento [cliente] [tipo] [-MEN|-TRI]
```
| Código | Tipo | Grupo CRM |
|--------|------|-----------|
| `starter` | StarterWP | Websites |
| `corporate` | CorporateWP | Websites |
| `care` | CareWP | Websites |
| `ecom` | eCommerceWP | Websites |
| `mkt` | Marketing 360 | Marketing |
| `man` | Manutenção | Suporte |
| `deskcrm` | DeskCRM | DeskCRM |
| `chatbot` | Chatbot | Chatbots |
| `acceleratorx` | AcceleratorX | Tecnologia |
## Variantes de facturação
| Flag | Unit | Pesquisa CRM |
|------|------|-------------|
| (nenhum) | ano | Item base |
| `-MEN` | mensalidade | `WHERE description LIKE 'Mensalidade%...'` |
| `-TRI` | trimestral | `WHERE description LIKE 'Trimestral%...'` |
Preços das variantes são definidos no CRM (podem incluir markup). Nunca calcular por divisão simples.
## Protocolo
### 1. Identificar cliente
```
mcp__desk-crm-v3__search_customers query="[nome]" fields="company,vat"
```
### 2. Consultar preços
```bash
# Itens base (setup/pontuais)
mysql -u root ealmeida_desk24 -e "
SELECT description, rate, unit FROM tblitems
WHERE group_id = [GROUP_ID]
AND description LIKE '%[PACOTE]%'
AND unit NOT IN ('mensalidade','trimestral','anuidade')
ORDER BY description;"
# Itens recorrentes (com variante)
mysql -u root ealmeida_desk24 -e "
SELECT description, rate, unit FROM tblitems
WHERE group_id = [GROUP_ID]
AND description LIKE '[Mensalidade|Trimestral]%[PACOTE]%'
ORDER BY description;"
```
Ou via MCP:
```
mcp__desk-crm-v3__price_management action="get_pricing_insights" params={"group": "[GRUPO]"}
```
### 3. Criar estimate
```
mcp__desk-crm-v3__create_estimate
client_id=[id]
date=[hoje]
expiry_date=[hoje + 30 dias]
items=[{description, qty, rate, unit}]
terms="[termos]"
```
**Formato item:** `{"description": "...", "qty": 1, "rate": 700, "unit": "un"}`
**Unidades:** `un` (pontual), `mensalidade` (-MEN), `trimestral` (-TRI), `anuidade` (defeito)
### 4. Termos por variante
- **Sem flag:** "50% na adjudicação + 50% na entrega"
- **-MEN:** "Setup: 50%+50% | Recorrência: facturação mensal antecipada"
- **-TRI:** "Setup: 50%+50% | Recorrência: facturação trimestral antecipada"
## Preços de referência (consultar CRM para valores reais)
### Websites
| Produto | Setup | Anuidade |
|---------|-------|----------|
| StarterWP | 700 | 250 |
| CorporateWP | 900 | 299 |
| eCommerceWP | 1100 | 349 |
| CareWP | 1300 | 350 |
### DeskCRM
| Produto | Anuidade |
|---------|----------|
| Starter | 400 |
| Profissional | 800 |
| Avançado | 1500 |
| Enterprise | 3000 |
### AcceleratorX
| Produto | Setup |
|---------|-------|
| WP ProCMS | 650 |
| e-Commerce | 750 |
| Care | 750 |
| School Manager | 850 |
### Chatbots
| Produto | Setup |
|---------|-------|
| Básico | 350 |
| Avançado | 850 |
## Checklist
- [ ] Cliente identificado/criado no CRM
- [ ] Tipo seleccionado
- [ ] Preços consultados no CRM
- [ ] Valores calculados (subtotal + IVA 23%)
- [ ] Recorrência calculada
- [ ] Estimate criado (status: Draft)
- [ ] Resumo apresentado
## MCPs
```
mcp__desk-crm-v3__search_customers
mcp__desk-crm-v3__create_customer
mcp__desk-crm-v3__create_estimate
mcp__desk-crm-v3__price_management
```
---
**Versão**: 4.1.0-light | **Base**: 4.1.0
+118
View File
@@ -0,0 +1,118 @@
---
name: orcamento
description: Criação sistemática de orçamentos Descomplicar baseados nos itens oficiais do Desk CRM. Suporta StarterWP, CorporateWP, CareWP, eCommerceWP, Marketing 360, Manutenção, AcceleratorX, DeskCRM e Chatbots. Variantes -MEN (mensal) e -TRI (trimestral).
disable-model-invocation: true
layer: wiki
---
# Skill /orcamento - Criacao Sistematica de Orcamentos
Skill para criar orcamentos profissionais baseados nos itens oficiais do Desk CRM, com integracao directa ao CRM.
## Fonte de Verdade
**IMPORTANTE**: A fonte de verdade para precos e servicos e o Desk CRM (`tblitems` + `tblitems_groups`).
- **651 itens** em **14 grupos**: Websites, DeskCRM, Licencas, Tecnologia, Servicos, Chatbots, Marketing, Suporte, Comunicacao, Design, Estrategia, Mobile, IA, Alojamento
- Cada servico pode ter variantes de facturacao: Investimento, Anuidade, Trimestral, Mensalidade
- Os precos no CRM sao actualizados pela equipa e reflectem-se automaticamente nos orcamentos
### Grupos de Itens (tblitems_groups)
| ID | Grupo | Total Itens | Tipo Principal |
|----|-------|-------------|----------------|
| 1 | Websites | 183 | Pacotes WP + funcionalidades + anuidades |
| 14 | DeskCRM | 127 | Pacotes CRM + modulos |
| 8 | Licencas | 108 | Plugins WP + renovacoes |
| 3 | Tecnologia | 63 | AcceleratorX + WhatSMS |
| 2 | Servicos | 62 | Packs de horas |
| 13 | Chatbots | 46 | Chatbots + integracoes |
| 4 | Marketing | 34 | Packs SEO, Email, Ads |
| 9 | Suporte | 8 | Bancos de horas |
| 5 | Comunicacao | 5 | Packs copywriting |
| 6 | Design | 5 | Branding |
| 7 | Estrategia | 5 | Consultoria, coaching |
| 10 | Mobile | 3 | App React Native |
| 12 | IA | 2 | Agentes virtuais |
| 11 | Alojamento Web | — | Incluido nos websites |
### Como Consultar Itens
```
# Listar itens por grupo
mcp__desk-crm-v3__price_management action="get_pricing_insights" params={"group": "Websites"}
# Pesquisar item especifico via SQL (ssh server)
mysql -u root ealmeida_desk24 -e "
SELECT i.description, i.rate, i.unit, g.name as grupo
FROM tblitems i
JOIN tblitems_groups g ON i.group_id = g.id
WHERE i.description LIKE '%StarterWP%'
ORDER BY i.description;"
# Listar todos os itens de um grupo (ex: grupo 1 = Websites)
mysql -u root ealmeida_desk24 -e "
SELECT i.description, i.rate, i.unit
FROM tblitems i
WHERE i.group_id = 1
AND i.unit NOT IN ('mensalidade','trimestral','anuidade')
ORDER BY i.description;"
```
### Variantes de Facturacao
Cada servico recorrente tem 4 variantes no CRM. Por defeito, o estimate usa o **item base**. Com os flags `-MEN` ou `-TRI`, os itens recorrentes sao incluidos directamente na variante pretendida.
| Tipo | Sufixo no CRM | Flag | Quando usar |
|------|---------------|------|-------------|
| Investimento/Projeto | (sem sufixo) | (nenhum) | Projectos unicos |
| Anuidade | "Anuidade ..." | (nenhum) | Servicos com renovacao anual |
| Trimestral | "Trimestral ..." | `-TRI` | Cliente quer facturacao trimestral |
| Mensalidade | "Mensalidade ..." | `-MEN` | Cliente quer facturacao mensal |
**Regra por defeito** (sem flag): No estimate, incluir o item base. Ao converter para invoice, seleccionar a variante de facturacao acordada.
**Regra com flag `-MEN` ou `-TRI`**: Pesquisar itens recorrentes pela variante correspondente (prefixo "Mensalidade ..." ou "Trimestral ..."). Itens pontuais (setup, configuracao) mantêm-se inalterados. Apenas itens com unit "anuidade" sao substituidos pela variante equivalente.
### Mapeamento de Variantes
Ao usar `-MEN` ou `-TRI`, para cada item recorrente (unit = "anuidade"):
1. Pesquisar no CRM o item equivalente com o prefixo da variante:
- `-MEN`: `WHERE description LIKE 'Mensalidade %' AND description LIKE '%[NOME_ITEM]%'`
- `-TRI`: `WHERE description LIKE 'Trimestral %' AND description LIKE '%[NOME_ITEM]%'`
2. Se encontrado, usar o preco e unit da variante
3. Se nao encontrado, manter item base e avisar o utilizador
**Calculo de valores com variantes:**
| Flag | Unit no estimate | Qty | Calculo |
|------|-----------------|-----|---------|
| (nenhum) | `ano` | 1 | Valor anual |
| `-TRI` | `trimestral` | 1 | Valor trimestral (tipicamente anuidade / 4 * 1.05-1.10) |
| `-MEN` | `mensalidade` | 1 | Valor mensal (tipicamente anuidade / 12 * 1.10-1.15) |
**Nota**: Os precos das variantes sao definidos no CRM e podem incluir markup sobre o valor anual. Consultar SEMPRE o CRM, nunca calcular por divisao simples.
## Quando Usar
- Criar orcamento para cliente novo ou existente
- Gerar proposta comercial (estimate)
- Consultar precos oficiais de produtos/servicos
- Calcular valores com IVA e anuidades
- Integrar orcamento directamente no CRM
## Quando NAO Usar
- Para analise estrategica de lead (usar /lead-approach)
- Para operacoes CRM genericas (usar /crm-ops)
---
## Contexto NotebookLM
ANTES de executar, consultar notebooks para contexto especializado:
| Notebook | ID | Consultar quando |
|----------|-----|-----------------|
| Estratégia e Empreendedorismo | 7
@@ -0,0 +1,193 @@
# Tabela de Preços Oficial Descomplicar®
Referência oficial para orçamentação - Fonte: Orçamentador Web Sites
## 1. Websites Base
| Produto | Configuração | Anuidade | Prazo | Descrição |
|---------|--------------|----------|-------|-----------|
| **StarterWP** | 700€ | 250€ | 3-5 sem | Pequenas empresas, presença online básica |
| **CorporateWP** | 900€ | 299€ | 4-6 sem | Empresas médias/grandes, solução robusta |
| **eCommerceWP** | 1.100€ | 349€ | 7-9 sem | Loja online completa |
| **ChallengeWP** | 700€ | 250€ | 8-10 sem | Websites fora do padrão, interactivos |
| **CareWP** | 1.300€ | 350€ | 4-6 sem | Clínicas e consultórios |
## 2. Infraestrutura
| Item | Valor |
|------|-------|
| Registo de Domínio | 20€/ano |
| Alojamento Premium SSD NVMe | 100€/ano |
## 3. Importação de Conteúdos
| Tipo | De WP | Outras Fontes |
|------|-------|---------------|
| Artigos | 35€ | 75€ |
| Multimédia | 35€ | 75€ |
| Utilizadores | 35€ | 75€ |
| Produtos | 35€ | 75€ |
| Encomendas | 35€ | 75€ |
## 4. Criação de Conteúdos
| Tipo | Criar Página | Produção Conteúdo |
|------|--------------|-------------------|
| Artigos | 50€ | 50€ |
| Produtos | 50€ | 50€ |
| Serviços | 50€ | 50€ |
| Colaboradores | 50€ | 50€ |
| Parceiros | 50€ | 50€ |
| Clientes | 50€ | 50€ |
| Representantes | 50€ | 50€ |
| Portfólios | 50€ | 50€ |
| Downloads | 50€ | 50€ |
| Formulários Simples | 50€ | 50€ |
## 5. Funcionalidades de Gestão
| Funcionalidade | Instalação | Configuração | Anuidade | Notas |
|----------------|------------|--------------|----------|-------|
| Finance Control | 75€ | 125€ | 75€ | - |
| EasyAppointment | 55€ | 120€ | 50€ | Agendas |
| EasyBooking | 120€ | 30€ | 50€ | Produtos/Serviços |
| EventManager | 75€ | 90€ | 60€ | Por nº eventos |
| MemberShip | 149€ | 90€ | 100€ | Tipos de membros |
| Support | 90€ | 75€ | 90€ | Nº operadores |
## 6. Funcionalidades e-Commerce
| Funcionalidade | Instalação | Configuração | Anuidade | Notas |
|----------------|------------|--------------|----------|-------|
| CommerceMail | 50€ | 50€ | 50€ | - |
| CartRecovery | 90€ | 100€ | 90€ | - |
| MarketPlace | - | 150€ | - | Por revendedor |
| Wholesale | - | 150€ | 129€ | Tipos de clientes |
| ShopBuilder | - | 5€ | - | Por produto |
| Tratamento Imagens | - | 10€ | - | Por imagem |
| Config Pagamento | - | 50€ | - | Por gateway |
| Config Transportador | - | 50€ | - | Por transportador |
| Config Preço Transporte | - | 50€ | - | - |
| Config Tracking | - | 50€ | - | Por transportador |
| Filtros Inteligentes | - | 50€ | - | - |
## 7. Funcionalidades Marketing
| Funcionalidade | Instalação | Configuração | Anuidade | Notas |
|----------------|------------|--------------|----------|-------|
| AutoCRM | - | 60€ | - | Autoresponder |
| AutoCRM PRO | 100€ | 75€ | 90€ | Campanhas |
| SmartSEO | - | 25€ | - | Por artigo |
| Analytics | - | 75€ | - | Conversões |
| Engage | - | 60€ | - | Forms + autoresponder |
| Forms Simples | - | 35€ | - | - |
| Forms Inteligentes | - | 150€ | - | - |
## 8. Funcionalidades Conteúdo
| Funcionalidade | Instalação | Configuração | Anuidade | Notas |
|----------------|------------|--------------|----------|-------|
| AIssistant PRO | 60€ | 50€ | 60€ | Config personalizadas |
| Docs | - | 50€ | 50€ | Áreas documentação |
| PodCaster | - | 50€ | 60€ | Canais distribuição |
| ImageBanker | - | 20€ | - | Fontes imagens |
## 9. Funcionalidades Design
| Funcionalidade | Configuração | Notas |
|----------------|--------------|-------|
| MegaMenu | 50€ | Por área |
| MyLabel | 100€ | Personalização BackOffice |
## 10. Ferramentas e Segurança
| Funcionalidade | Configuração | Anuidade | Notas |
|----------------|--------------|----------|-------|
| SMTP | 50€ | - | Config envio |
| Integrator | 50€ | - | Integrações |
| Backup | 50€ | - | Regras backup |
| Defender | 50€ | - | Regras personalizadas |
| Hideout | 50€ | 50€ | Sistemas a ocultar |
## 11. Performance
| Funcionalidade | Configuração | Anuidade |
|----------------|--------------|----------|
| Speed | 50€ | 50€ |
| Compress (CloudFlare) | 35€ | - |
| PluginManager | 35€ | - |
## 12. Outras Funcionalidades
| Funcionalidade | Configuração | Anuidade |
|----------------|--------------|----------|
| Botão WhatsApp | 25€ | - |
| Chat da Página | 50€ | 50€ |
| Pixel Facebook | 25€ | - |
| GTM | 25€ | - |
| Perguntas Frequentes | 50€ | 45€ |
| Testemunhos Internos | 50€ | 45€ |
| Testemunhos Google | 50€ | - |
| Partilha Redes Sociais | 75€ | 65€ |
| Feed Redes Sociais | 50€ | - |
---
## Fórmulas de Cálculo
### Website Simples
```
Total = Base + Funcionalidades + Conteúdos
Anuidade = Anuidade_Base + Anuidades_Funcionalidades
```
### Exemplo: Website Corporativo com Agendamento
```
CorporateWP: 900€
EasyAppointment: 55€ + 120€ = 175€
Chat: 50€
Pixel + GTM: 50€
---------------------------------
Subtotal: 1.175€
IVA 23%: 270,25€
TOTAL: 1.445,25€
Anuidade: 299€ + 50€ + 50€ = 399€
```
### Exemplo: E-commerce com 50 Produtos
```
eCommerceWP: 1.100€
ShopBuilder (50 prod): 250€
Config Pagamento: 50€
Config Transportador: 50€
CartRecovery: 90€ + 100€ = 190€
---------------------------------
Subtotal: 1.640€
IVA 23%: 377,20€
TOTAL: 2.017,20€
Anuidade: 349€ + 90€ = 439€
```
---
## Notas Importantes
1. **IVA**: Todos os valores são líquidos. Acresce IVA 23%.
2. **Anuidade**: Inclui hosting, SSL, actualizações e suporte básico.
3. **Pagamento**:
- 50% na adjudicação
- 50% na entrega
4. **Validade**: Orçamentos válidos por 30 dias.
5. **Personalização**: Projectos fora do standard requerem orçamento específico.
---
**Descomplicar® Crescimento Digital**
NIF: 514 623 168 | descomplicar.pt
Última actualização: Janeiro 2025
@@ -0,0 +1,171 @@
# Template: E-commerce
## Produto Base
### eCommerceWP (1.100€ + 349€/ano)
Solução completa para lojas online.
**Incluído:**
- Sistema e-commerce completo (WooCommerce)
- Até 20 produtos iniciais
- Gestão de stock
- Pagamentos online básicos
- Gestão de entregas
- SEO e-commerce
- Hosting Premium SSD NVMe (30GB)
- SSL E-commerce dedicado
- Domínio (.pt ou .com)
- Suporte 90 dias
**Prazo:** 7-9 semanas
---
## Configuração de Produtos
| Item | Valor | Notas |
|------|-------|-------|
| ShopBuilder | 5€/produto | Inserção de produtos |
| Tratamento Imagens | 10€/imagem | Optimização imagens |
### Pacotes de Produtos
| Quantidade | Valor | Economia |
|------------|-------|----------|
| 20 produtos | Incluído | - |
| 50 produtos | 150€ | - |
| 100 produtos | 280€ | 12% |
| 200 produtos | 500€ | 17% |
| 500 produtos | 1.000€ | 20% |
---
## Funcionalidades E-commerce
| Funcionalidade | Instalação | Config | Anuidade | Notas |
|----------------|------------|--------|----------|-------|
| Config Gateway Pagamento | - | 50€ | - | MB Way, Multibanco, Visa |
| Config Transportador | - | 50€ | - | CTT, DPD, GLS, etc |
| Config Preço Transporte | - | 50€ | - | Regras de portes |
| Config Tracking | - | 50€ | - | Por transportador |
| Filtros Inteligentes | - | 50€ | - | Filtros de pesquisa |
| CommerceMail | 50€ | 50€ | 50€ | Emails automáticos |
| CartRecovery | 90€ | 100€ | 90€ | Recuperação carrinhos |
| MarketPlace | - | 150€ | - | Multi-vendedor |
| Wholesale | - | 150€ | 129€ | Preços B2B |
---
## Funcionalidades Adicionais
### Marketing E-commerce
| Funcionalidade | Instalação | Config | Anuidade |
|----------------|------------|--------|----------|
| AutoCRM PRO | 100€ | 75€ | 90€ |
| SmartSEO | - | 25€/artigo | - |
| Analytics | - | 75€ | - |
| Engage | - | 60€ | - |
### Suporte e Ferramentas
| Funcionalidade | Config | Anuidade |
|----------------|--------|----------|
| Chat da Página | 50€ | 50€ |
| Botão WhatsApp | 25€ | - |
| Pixel Facebook | 25€ | - |
| GTM | 25€ | - |
| FAQ | 50€ | 45€ |
---
## Questões de Personalização
1. **Número de produtos**: Quantos produtos iniciais?
2. **Gateways pagamento**: MB Way? Multibanco? Visa? PayPal?
3. **Transportadoras**: CTT? DPD? GLS? Outras?
4. **Funcionalidades extras**: Recuperação de carrinhos? Wholesale?
5. **Marketplace**: Multi-vendedor?
6. **Migração**: Existe loja actual? Dados a migrar?
---
## Importação de Dados
| Tipo | De WP | Outras Fontes |
|------|-------|---------------|
| Produtos | 35€ | 75€ |
| Encomendas | 35€ | 75€ |
| Utilizadores | 35€ | 75€ |
---
## Exemplos de Orçamento
### E-commerce Básico (50 produtos)
```
eCommerceWP (base): 1.100€
ShopBuilder (30 extra x 5€): 150€
Config Pagamento (MB+Visa): 100€
Config Transportador (CTT): 50€
Pixel Facebook + GTM: 50€
-----------------------------------------
Subtotal: 1.450€
IVA 23%: 333,50€
TOTAL: 1.783,50€
Anuidade: 349€/ano
```
### E-commerce Completo (100 produtos)
```
eCommerceWP (base): 1.100€
ShopBuilder (80 extra x 5€): 400€
Config Pagamento (3 gateways): 150€
Config Transportador (2): 100€
Config Tracking (2): 100€
CartRecovery (90+100): 190€
CommerceMail (50+50): 100€
Chat + WhatsApp: 75€
Pixel + GTM: 50€
-----------------------------------------
Subtotal: 2.265€
IVA 23%: 520,95€
TOTAL: 2.785,95€
Anuidade: 349€ + 90€ + 50€ = 489€/ano
```
---
## Items JSON para API
### E-commerce Básico
```json
[
{"description": "eCommerceWP - Loja Online Completa", "qty": 1, "rate": 1100, "unit": "un"},
{"description": "ShopBuilder - Inserção de Produtos (30 extra)", "qty": 30, "rate": 5, "unit": "un"},
{"description": "Configuração Gateway Pagamento (MB+Visa)", "qty": 2, "rate": 50, "unit": "un"},
{"description": "Configuração Transportador (CTT)", "qty": 1, "rate": 50, "unit": "un"},
{"description": "Pixel Facebook + GTM", "qty": 1, "rate": 50, "unit": "un"},
{"description": "Anuidade (hosting + suporte)", "qty": 1, "rate": 349, "unit": "ano"}
]
```
### E-commerce Completo
```json
[
{"description": "eCommerceWP - Loja Online Completa", "qty": 1, "rate": 1100, "unit": "un"},
{"description": "ShopBuilder - Inserção de Produtos (80 extra)", "qty": 80, "rate": 5, "unit": "un"},
{"description": "Configuração Gateways Pagamento", "qty": 3, "rate": 50, "unit": "un"},
{"description": "Configuração Transportadoras", "qty": 2, "rate": 50, "unit": "un"},
{"description": "Configuração Tracking Portes", "qty": 2, "rate": 50, "unit": "un"},
{"description": "CartRecovery - Recuperação de Carrinhos", "qty": 1, "rate": 190, "unit": "un"},
{"description": "CommerceMail - Emails Automáticos", "qty": 1, "rate": 100, "unit": "un"},
{"description": "Chat da Página + WhatsApp", "qty": 1, "rate": 75, "unit": "un"},
{"description": "Pixel Facebook + GTM", "qty": 1, "rate": 50, "unit": "un"},
{"description": "Anuidade (hosting + suporte + CartRecovery + CommerceMail)", "qty": 1, "rate": 489, "unit": "ano"}
]
```
@@ -0,0 +1,153 @@
# Template: Manutenção
## Avença Manutenção
Baseado em orçamentos reais aceites (ex: IGV IgnitionVortex).
### Manutenção Mensal (150€/mês)
**Incluído:**
- Actualizações WordPress core
- Actualizações de plugins
- Actualizações de tema
- Backups semanais
- Monitorização uptime
- Suporte técnico (2h/mês)
- Relatório mensal
**Compromisso:** 6 ou 12 meses
---
## Variantes
### Basic (100€/mês)
- Actualizações mensais
- Backup semanal
- Monitorização básica
- 1h suporte/mês
### Standard (150€/mês) - **Recomendado**
- Actualizações semanais
- Backup diário
- Monitorização uptime + performance
- Scan malware mensal
- 2h suporte/mês
### Premium (250€/mês)
- Actualizações prioritárias
- Backup diário + offsite
- Monitorização avançada
- Segurança proactiva (WAF)
- Optimização performance
- 4h suporte/mês
### Enterprise (400€/mês)
- Actualizações com staging
- Backup contínuo + DR
- Monitorização 24/7
- Segurança enterprise
- CDN incluído
- 8h suporte/mês
- SLA 4h úteis
---
## Funcionalidades de Segurança
| Funcionalidade | Config | Anuidade |
|----------------|--------|----------|
| Backup | 50€ | - |
| Defender | 50€ | - |
| Hideout | 50€ | 50€ |
| Speed | 50€ | 50€ |
---
## Funcionalidades de Performance
| Funcionalidade | Config | Anuidade |
|----------------|--------|----------|
| Speed (CDN) | 50€ | 50€ |
| Compress (CloudFlare) | 35€ | - |
| PluginManager | 35€ | - |
---
## SLA por Variante
| Variante | Tempo Resposta | Uptime Garantido |
|----------|----------------|------------------|
| Basic | 48h úteis | 99% |
| Standard | 24h úteis | 99.5% |
| Premium | 8h úteis | 99.9% |
| Enterprise | 4h úteis | 99.95% |
---
## Questões de Personalização
1. **Variante**: Basic, Standard, Premium ou Enterprise?
2. **Tipo de site**: Institucional, blog, e-commerce?
3. **Criticidade**: Tolerância a downtime?
4. **Horas suporte**: Necessidade média mensal?
5. **Segurança extra**: WAF? Scan malware?
6. **Performance**: CDN necessário?
---
## Exemplos de Orçamento
### Manutenção Standard (6 meses)
```
Manutenção Standard: 150€ x 6 = 900€
Subtotal: 900€
IVA 23%: 207€
TOTAL: 1.107€
Facturação: Mensal antecipada
```
### Website + Manutenção (combo)
```
CorporateWP (base): 900€
Manutenção 6 meses: 900€
-----------------------------------------
Subtotal: 1.800€
IVA 23%: 414€
TOTAL: 2.214€
Anuidade: 299€/ano
```
---
## Items JSON para API
### Manutenção Standard (6 meses)
```json
[
{"description": "Manutenção Standard - Website WordPress", "qty": 6, "rate": 150, "unit": "mes"}
]
```
### Website + Manutenção (combo)
```json
[
{"description": "CorporateWP - Website Corporativo", "qty": 1, "rate": 900, "unit": "un"},
{"description": "Manutenção Standard (6 meses)", "qty": 6, "rate": 150, "unit": "mes"},
{"description": "Anuidade (hosting + suporte)", "qty": 1, "rate": 299, "unit": "ano"}
]
```
---
## Notas
- Valores baseados no orçamento ORC-88 (IGV) aceite
- Compromisso mínimo recomendado: 6 meses
- Horas extra facturadas a 40€/hora
- Desenvolvimento/alterações não incluído (60€/hora)
@@ -0,0 +1,128 @@
# Template: Marketing Digital 360
## Avença Marketing 360
Baseado em orçamentos reais aceites (ex: SNT Sintricare).
### Avença Mensal (459€/mês)
**Incluído:**
- Estratégia de Marketing Digital
- Gestão de orçamento e planeamento
- Gestão Avançada de Redes Sociais (4 posts/mês)
- SEO Avançado
- Análise de Desempenho
- Relatório Mensal
- Reuniões Periódicas
- Pack Combinado 360º (até 10h/mês)
**Compromisso:** 12 meses
**Desconto compromisso:** 15% (valor original ~540€/mês)
---
## Serviços Adicionais
### Conteúdo
| Serviço | Valor |
|---------|-------|
| Podcast mensal (produção completa) | 150€/mês |
| Artigos blog (SEO optimizado) | 25€/artigo |
| Posts extra redes sociais | 15€/post |
| Copywriting (hora) | 65€/hora |
### Publicidade
| Serviço | Valor |
|---------|-------|
| Gestão Google Ads | 15% do budget (mín. 150€) |
| Gestão Meta Ads | 15% do budget (mín. 150€) |
| Setup campanhas | 100€/campanha |
### Email Marketing
| Serviço | Valor |
|---------|-------|
| AutoCRM PRO (campanhas) | 175€ setup + 90€/ano |
| Newsletter mensal | 60€/envio |
---
## Questões de Personalização
1. **Redes sociais**: Quais plataformas? (Facebook, Instagram, LinkedIn, TikTok)
2. **Frequência posts**: 4/mês incluído, mais?
3. **Conteúdo**: Podcast? Blog? Vídeos?
4. **Publicidade**: Budget para Ads?
5. **Email marketing**: Necessário?
6. **Horas extra**: Previsão de necessidades além das 10h?
---
## Variantes
### Essential (350€/mês)
- Gestão 2 redes sociais
- 4 posts/mês
- Relatório mensal básico
- 5h/mês incluídas
### Growth (459€/mês) - **Recomendado**
- Gestão 3 redes sociais
- 8 posts/mês
- SEO + Analytics
- Relatório detalhado
- 10h/mês incluídas
### Scale (750€/mês)
- Gestão omni-channel
- 16 posts/mês
- Podcast mensal incluído
- Campanhas Ads incluídas (gestão)
- 20h/mês incluídas
---
## Exemplo de Orçamento
### Marketing 360 Anual (12 meses)
```
Avença Marketing 360: 459€ x 12 = 5.508€
Subtotal: 5.508€
IVA 23%: 1.266,84€
TOTAL: 6.774,84€
Facturação: Mensal antecipada
```
---
## Items JSON para API
### Avença Marketing 360 (mensal)
```json
[
{"description": "Avença 360º Marketing e Comunicação Digital", "qty": 12, "rate": 459, "unit": "mes"}
]
```
### Marketing 360 + Website (combo)
```json
[
{"description": "CorporateWP - Website Corporativo", "qty": 1, "rate": 900, "unit": "un"},
{"description": "Avença 360º Marketing e Comunicação Digital", "qty": 12, "rate": 459, "unit": "mes"},
{"description": "Anuidade (hosting + suporte)", "qty": 1, "rate": 299, "unit": "ano"}
]
```
---
## Notas
- Valores baseados no orçamento ORC-76 (SNT Sintricare) aceite
- Compromisso mínimo 12 meses com desconto 15%
- Budget de publicidade não incluído nos valores
- Horas extra facturadas a 60€/hora (Combi rate)
@@ -0,0 +1,180 @@
# Template: Website Corporativo
## Produtos Base
### StarterWP (700€ + 250€/ano)
Para pequenas empresas ou empreendedores.
**Incluído:**
- Até 5 páginas profissionais
- Template Premium optimizado
- Design responsivo
- Formulário de contacto
- SEO básico
- Hosting Premium SSD NVMe
- SSL Let's Encrypt
- Domínio (.pt ou .com)
**Prazo:** 3-5 semanas
### CorporateWP (900€ + 299€/ano)
Para empresas médias e grandes.
**Incluído:**
- Até 10 páginas profissionais
- Template Premium personalizado
- Design responsivo avançado
- Formulários inteligentes
- SEO optimizado
- Hosting Premium SSD NVMe
- SSL Let's Encrypt
- Domínio (.pt ou .com)
**Prazo:** 4-6 semanas
### CareWP (1.300€ + 350€/ano)
Para clínicas e consultórios.
**Incluído:**
- Páginas ilimitadas
- Sistema agendamento integrado
- Gestão de pacientes
- Template especializado saúde
- Conformidade RGPD
- Hosting Premium SSD NVMe
- SSL Healthcare
**Prazo:** 4-6 semanas
### ChallengeWP (700€ + 250€/ano)
Para websites fora do padrão convencional.
**Incluído:**
- Funcionalidades interactivas
- Engajamento de audiência
- Template dinâmico
- Hosting Premium SSD NVMe
**Prazo:** 8-10 semanas
---
## Funcionalidades Adicionais
### Gestão
| Funcionalidade | Instalação | Config | Anuidade |
|----------------|------------|--------|----------|
| Finance Control | 75€ | 125€ | 75€ |
| EasyAppointment (Agendas) | 55€ | 120€ | 50€ |
| EasyBooking (Reservas) | 120€ | 30€ | 50€ |
| EventManager | 75€ | 90€ | 60€ |
| MemberShip | 149€ | 90€ | 100€ |
| Support (Tickets) | 90€ | 75€ | 90€ |
### Marketing
| Funcionalidade | Instalação | Config | Anuidade |
|----------------|------------|--------|----------|
| AutoCRM (Autoresponder) | - | 60€ | - |
| AutoCRM PRO (Campanhas) | 100€ | 75€ | 90€ |
| SmartSEO | - | 25€/artigo | - |
| Analytics | - | 75€ | - |
| Engage (Forms + auto) | - | 60€ | - |
| Forms Simples | - | 35€ | - |
| Forms Inteligentes | - | 150€ | - |
### Conteúdo
| Funcionalidade | Instalação | Config | Anuidade |
|----------------|------------|--------|----------|
| AIssistant PRO | 60€ | 50€ | 60€ |
| Docs | - | 50€ | 50€ |
| PodCaster | - | 50€ | 60€ |
| ImageBanker | - | 20€ | - |
### Design
| Funcionalidade | Config |
|----------------|--------|
| MegaMenu | 50€ |
| MyLabel (BackOffice) | 100€ |
### Outras
| Funcionalidade | Config | Anuidade |
|----------------|--------|----------|
| Botão WhatsApp | 25€ | - |
| Chat da Página | 50€ | 50€ |
| Pixel Facebook | 25€ | - |
| GTM | 25€ | - |
| FAQ | 50€ | 45€ |
| Testemunhos Internos | 50€ | 45€ |
| Testemunhos Google | 50€ | - |
| Partilha Redes | 75€ | 65€ |
| Feed Redes | 50€ | - |
---
## Criação de Conteúdos
| Tipo | Criar Página | Produção |
|------|--------------|----------|
| Artigos | 50€ | 50€ |
| Serviços | 50€ | 50€ |
| Portfólios | 50€ | 50€ |
| Downloads | 50€ | 50€ |
---
## Questões de Personalização
1. **Produto base**: StarterWP, CorporateWP, CareWP ou ChallengeWP?
2. **Número de páginas**: Quantas páginas além do incluído?
3. **Agendamento**: Precisa de sistema de marcações?
4. **Formulários**: Simples ou inteligentes?
5. **Integrações**: Redes sociais? Analytics? Chat?
6. **Conteúdo**: Cliente fornece ou produção incluída?
---
## Exemplo de Orçamento
### Website Corporativo com Agendamento
```
CorporateWP (base): 900€
EasyAppointment (55+120): 175€
Chat da Página: 50€
Pixel Facebook + GTM: 50€
Forms Inteligentes: 150€
-----------------------------------------
Subtotal: 1.325€
IVA 23%: 304,75€
TOTAL: 1.629,75€
Anuidade: 299€ + 50€ + 50€ = 399€/ano
```
---
## Items JSON para API
### StarterWP Base
```json
[
{"description": "StarterWP - Website Profissional", "qty": 1, "rate": 700, "unit": "un"},
{"description": "Anuidade (hosting + suporte)", "qty": 1, "rate": 250, "unit": "ano"}
]
```
### CorporateWP com Agendamento
```json
[
{"description": "CorporateWP - Portal Corporativo", "qty": 1, "rate": 900, "unit": "un"},
{"description": "EasyAppointment - Sistema de Agendamento", "qty": 1, "rate": 175, "unit": "un"},
{"description": "Chat da Página", "qty": 1, "rate": 50, "unit": "un"},
{"description": "Pixel Facebook + GTM", "qty": 1, "rate": 50, "unit": "un"},
{"description": "Anuidade (hosting + suporte + agendamento)", "qty": 1, "rate": 399, "unit": "ano"}
]
```
+137
View File
@@ -0,0 +1,137 @@
---
name: proposal-deck
description: Geracao de apresentacoes PPTX de propostas comerciais profissionais com branding Descomplicar. Integra dados do CRM, tabela de precos e template curado de 16 layouts.
layer: wiki
---
# Skill /proposal-deck - Apresentacoes de Propostas Comerciais
Gera apresentacoes PPTX profissionais para propostas comerciais da Descomplicar, usando um template curado com 16 layouts e branding oficial.
## Triggers
- `/proposal-deck`
- "proposta", "apresentacao cliente", "deck proposta", "proposta comercial", "apresentacao proposta"
## Quando Usar
- Preparar apresentacao visual de proposta para reuniao com cliente
- Criar deck profissional para acompanhar orcamento/estimate
- Gerar proposta completa com branding para envio por email
- Complementar `/orcamento` com material visual
## Quando NAO Usar
- Para criar orcamento sem apresentacao (usar `/orcamento`)
- Para analise estrategica de lead (usar `/lead-approach`)
- Para operacoes CRM genericas (usar `/crm-ops`)
- Para apresentacoes sem contexto comercial (usar pptx-generator directamente)
---
## Template
**Localizacao:** `/media/ealmeida/Dados/Hub/90-Templates/Comercial/descomplicar-proposal-template.pptx`
### Layouts Disponiveis (16)
| # | Nome | Funcao | Quando usar |
|---|------|--------|-------------|
| 1 | capa | Titulo da proposta + subtitulo + ano | Sempre (obrigatorio) |
| 2 | divisor-seccao | Fundo escuro com titulo centrado | Entre seccoes principais |
| 3 | sobre-nos | Card texto + imagem lateral | Sempre (quem somos) |
| 4 | objectivos | Fundo escuro + objectivos + logo cliente | Sempre (o que vamos resolver) |
| 5 | processo-3-passos | 3 colunas douradas com texto | Explicar metodologia |
| 6 | fases-3-blocos | 3 blocos numerados verticais | Fases do projecto (3 items) |
| 7 | grid-4-cards | Grid 4 cards com icones | Valores, diferenciais, pilares (4 items) |
| 8 | beneficios-6 | 6 blocos com icones e setas | Beneficios (6 items) |
| 9 | pilares-engrenagens | 4 pilares em engrenagens | Solucao completa (4 pilares) |
| 10 | detalhe-servico | Titulo + features list + foto + CTA | Detalhe de um servico/pack |
| 11 | deliverables | 4 rows dourados com bullets | Lista deliverables/escopo |
| 12 | timeline-etapas | 5 etapas coloridas horizontais | Cronograma/fases com precos |
| 13 | pack-pricing | Checklist com preco e foto | Pack/avenca mensal |
| 14 | resumo-financeiro | Timeline com precos por fase | Resumo valores total |
| 15 | contacto | Foto gestor + dados | Sempre (obrigatorio) |
| 16 | encerramento | Lobo + branding nocturno | Sempre (obrigatorio) |
### Slides Obrigatorios
Toda proposta inclui **no minimo**: capa (1) + sobre-nos (3) + objectivos (4) + contacto (15) + encerramento (16).
---
## Scripts PPTX
**Base path:** `~/.claude/plugins/marketplaces/descomplicar-plugins/design-media/skills/pptx-generator/scripts/`
| Script | Funcao |
|--------|--------|
| `office/unpack.py` | Descompactar PPTX em XML editavel |
| `office/pack.py` | Recompactar XML em PPTX valido |
| `clean.py` | Limpar XMLs (namespaces, refs orfas) |
| `add_slide.py` | Adicionar slides ao XML |
| `office/validate.py` | Validar estrutura do PPTX |
---
## Protocolo
### Sintaxe
```
/proposal-deck [cliente] [tipo]
```
**Parametros:**
- `cliente` - Nome ou ID do cliente (opcional, sera solicitado se omitido)
- `tipo` - Complexidade da proposta (opcional): `minima`, `standard`, `completa`
### Fase 1: Recolha de Informacao
1. **Identificar cliente no CRM:**
```
mcp__desk-crm-v3__search_customers query="[nome]" fields="company,vat"
mcp__desk-crm-v3__get_customer customer_id=[id]
```
2. **Verificar orcamentos existentes:**
```
mcp__desk-crm-v3__get_estimates status="draft" client_id=[id]
```
3. **Consultar tabela de precos** (complementar ao CRM):
- Ficheiro: `/media/ealmeida/Dados/GDrive/Cloud/Descomplicar/Servicos/tabela-geral.csv`
- CRM (fonte de verdade): `mcp__desk-crm-v3__price_management action="get_pricing_insights"`
4. **Solicitar dados em falta** (se nao disponiveis no CRM):
| Campo | Obrigatorio | Default |
|-------|:-----------:|---------|
| Nome do cliente | Sim | — |
| Sector/industria | Sim | — |
| Objectivos | Sim | — |
| Servicos a propor | Sim | — |
| Precos | Sim | CRM |
| Prazo estimado | Nao | "a definir" |
| Gestor de conta | Nao | Emanuel Almeida |
### Fase 2: Seleccao de Layouts
Seleccionar layouts com base na complexidade e servicos propostos.
#### Proposta Minima (8 slides)
Para projectos simples, orcamentos rapidos.
| Ordem | Layout | Conteudo |
|:-----:|--------|----------|
| 1 | capa | "Proposta [Servico]" + nome cliente + ano |
| 2 | sobre-nos | Apresentacao Descomplicar |
| 3 | objectivos | 3-5 objectivos do cliente |
| 4 | processo-3-passos | Metodologia de trabalho |
| 5 | deliverables | O que esta incluido |
| 6 | pack-pricing | Preco + o que inclui |
| 7 | contacto | Dados do gestor |
| 8 | encerramento | Branding Descomplicar |
#### Proposta Standard (12 slides)
Para projectos
+121
View File
@@ -0,0 +1,121 @@
---
name: proposta-visual
description: Criação completa de propostas comerciais visuais — página web (propostas.descomplicar.pt) + PDF exportável + PPTX editável. Recolhe dados CRM, gera JSON, renderiza condicionalmente e faz deploy.
layer: wiki
---
# Skill /proposta-visual — Propostas Comerciais Visuais
Cria propostas comerciais profissionais com 3 outputs: página web interactiva, PDF exportável e PPTX editável.
## Triggers
- `/proposta-visual`
- "proposta visual", "proposta web", "criar proposta", "nova proposta", "proposta para [cliente]"
## Quando usar
- Criar proposta comercial completa para um cliente
- Gerar página web + PDF + PPTX de uma proposta
- Actualizar proposta existente com novos dados
## Quando NÃO usar
- Apenas orçamento sem visual (usar `/orcamento`)
- Apenas PPTX sem página web (usar `/proposal-deck`)
- Análise de lead sem proposta (usar `/lead-approach`)
---
## Projecto base
| Campo | Valor |
|-------|-------|
| **Código fonte** | `/media/ealmeida/Dados/Dev/Propostas/` |
| **Stack** | React 18 + Vite + Tailwind + @react-pdf/renderer + Recharts + Framer Motion + Lucide React |
| **Live** | `propostas.descomplicar.pt/{slug}` |
| **Deploy** | Docker Swarm EasyPanel, serviço `descomplicar_propostas`, ficheiros `/opt/propostas/` |
| **DNS** | `propostas.descomplicar.pt` → 5.9.90.70 (Cloudflare proxied) |
| **Template PPTX** | `/media/ealmeida/Dados/Hub/90-Templates/Comercial/descomplicar-proposal-template.pptx` |
---
## REGRAS CRÍTICAS (ler antes de qualquer implementação)
### 1. PT-PT obrigatório — acentos em TODO o texto
Todos os textos no JSON, componentes web e componentes PDF DEVEM ter acentos PT-PT correctos:
- ✓ migração, tradução, integração, opções, condições, execução, acção
- ✗ migracao, traducao, integracao, opcoes, condicoes, execucao, accao
**Verificar no PDF:** labels hardcoded em `PDFWorkDone.jsx` e `PDFDocument.jsx` — já corrigidos mas confirmar sempre.
### 2. JSON data-driven — renderização condicional obrigatória
O `ProposalView.jsx` e o `PDFDocument.jsx` renderizam secções **condicionalmente** com base nos dados. Se um campo é `null`, `[]` ou não existe, a secção NÃO aparece.
**Regra:** NUNCA assumir que todos os campos existem. Cada proposta pode ter um subconjunto diferente de secções.
| Campo JSON | Secção web | Secção PDF | Condição |
|-----------|-----------|-----------|----------|
| `context.brandStrategy` | BrandStrategy | PageBrandStrategy | `!= null` |
| `salesData` | SalesChart | PageSales | `.length > 0` |
| `context.diagnosis` | Context | — | `.length > 0` |
| `context.scores` | ScoreGrid | PDFScores | `.length > 0` |
| `service360` | Service360 | PageService360 | `!= null` |
| `plans` | PricingCards | PDFPricing | `.length > 0` |
| `licenses` | LicensePack | PageLicenses | `!= null` |
| `workDone` | WorkDone | PDFWorkDone | `.length > 0` |
| `roadmap` | Roadmap | PDFWorkDone | `.length > 0` |
| `conditions` | Conditions | PDFWorkDone (pág. separada) | `.length > 0` |
### 3. Título dinâmico — campo `title` no JSON
O título da proposta (Hero web + capa PDF) vem do campo `title` no JSON:
- Proposta 360°: `"title": "Descomplicar 360°"`
- Migração técnica: `"title": "Migração Bookeo"`
- Website: `"title": "Website Profissional"`
- Fallback: `"Proposta Comercial"`
**NUNCA** hardcodar "Descomplicar 360°" — usar `data.title`.
### 4. Preços flexíveis — não assumir mensalidades
Os planos suportam dois formatos de preço:
**Mensalidade (avença):**
```json
{
"monthly": 459,
"hours": 8,
"originalPrice": 540,
"discount": 15
}
```
Mostra: "459 €/mês" + "8h/mês incluídas · contrato anual"
**Preço único (investimento):**
```json
{
"price": 750,
"priceLabel": "EUR + IVA",
"priceSubtitle": "Investimento único · prazo 1-2 semanas",
"monthly": null,
"hours": null
}
```
Mostra: "750 EUR + IVA" + "Investimento único · prazo 1-2 semanas"
**Campos usados:** `plan.price ?? plan.monthly` para o valor, `plan.priceLabel ?? "€/mês"` para a unidade, `plan.priceSubtitle` para a descrição abaixo.
### 5. react-pdf — bugs conhecidos e PROIBIÇÕES
| Proibição | Porquê | Alternativa |
|-----------|--------|-------------|
| `gap` + `flexWrap` juntos | Crasha silenciosamente | `marginRight` + `marginBottom` nos items |
| `borderColor` com `rgba()` | Renderiza verde | Cor sólida (ex: `#D4A020`, `#E8E8E8`) |
| Import de componentes SVG (`<Svg>`, `<Circle>`) | Crasha web worker do PDFDownloadLink | Implementar gráficos inline com `<View>` |
| `Font.register` com fontes locais/CDN em multi-página | Falha silenciosa | Usar Helvetica/Helvetica-Bold (built-in) |
| `href` vazio no PDFDownloadLink | PDF não gerou — verificar consola | Cache do browser — Ctrl+Shift+R |
| `width: "100%"` em bars/elementos dentro de flex container | Não resolve — fica invisível | Usar `alignSelf: "stretch"` no elemento e no container pai |
| Imagens com path absoluto (`/home/...`) | react-pdf não acede ao filesystem local | Colocar em `public/assets/` e referenciar como `"assets/foto.png"` (s
+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
+184
View File
@@ -0,0 +1,184 @@
---
name: ticket-triage
description: Auto-processamento de tickets abertos no Desk CRM. Fecha SPAM, identifica facturas para /auto-expense e protege notificações de sistema.
disable-model-invocation: true
layer: wiki
---
# /ticket-triage v1.0
Auto-processamento de tickets abertos no Desk CRM.
---
## Protocolo
### Passo 1: Recolher tickets abertos
```
mcp__desk-crm-v3__get_tickets({ status: 1, limit: 50 })
```
### Passo 2: Carregar tabela de fornecedores
```
Read: /media/ealmeida/Dados/Hub/06-Operacoes/Documentacao/fornecedores-recorrentes.md
Extrair dominios de fornecedores e plataformas multi-fornecedor
```
### Passo 3: Classificar cada ticket
> Aplicar por ordem de prioridade. Primeiro match ganha.
```
Para cada ticket aberto:
1. NOTIFICACAO SISTEMA? (verificar PRIMEIRO)
Subject contem padrao protegido E remetente conhecido
→ NAO fechar. Guardar para "Requer Accao" no output.
2. DESPESA? (verificar SEGUNDO)
Email do remetente contem dominio de fornecedor conhecido
Subject contem: payment, pagamento, invoice, factura, recibo, receipt, paid, renewed
→ Registar no output como factura para /auto-expense
→ Fechar ticket (status 5) com nota "Factura flagged para /auto-expense"
3. SPAM? (verificar TERCEIRO)
→ Fechar (status 5) com motivo
4. NEWSLETTER/INFORMATIVO?
→ Fechar (status 5) com motivo
5. NENHUM MATCH
→ Manter aberto para revisao
```
### Passo 4: Escrever output JSON
```
Escrever em ~/.claude-work/today-tickets-{date}.json:
{
"spam_fechados": 3,
"newsletters_fechadas": 1,
"facturas": [
{"ticket_id": 456, "fornecedor": "Anthropic", "subject": "Receipt", "sender": "..."}
],
"notificacoes": [
{"ticket_id": 789, "subject": "Security Alert", "sender": "..."}
],
"mantidos_abertos": 2,
"total_processados": 12
}
```
---
## Padroes SPAM (fechar status 5)
```
Keywords no subject (case-insensitive):
- Guest Post, SEO services, backlinks, partnership
- link building, dofollow, collaboration opportunity
- Purchase Order (de desconhecidos)
- WeTransfer (phishing), Prestige Awards
- lottery, winner, urgent money, bitcoin
```
---
## Notificacoes de Sistema (NUNCA auto-fechar)
```
Padroes protegidos no subject (case-insensitive):
- 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
- Infrastructure Change, Platform Update, Product Update
```
---
## Tickets a Saltar (NAO criar despesa)
| Tipo | Indicador | Accao |
|------|-----------|-------|
| Payment Confirmation | "Payment Confirmation" de CWP | Fechar (confirmacao, nao factura) |
| Payment Receipt | "Payment Was Successfully Processed" de elasticemail | Fechar (recibo sem dados) |
| Notificacao bancaria | "Notificacao de transferencia" de bancobpi | Fechar |
| Duplicado | Mesmo subject que ticket ja processado | Fechar como duplicado |
> **Nota:** Receipts de Anthropic e Canva contem invoice number e valor -> SAO despesas.
> "Receipt" so e motivo para saltar quando e apenas confirmacao sem dados de factura.
---
## Tickets para ELIMINAR (notificacoes sem valor)
```
Subject contem:
- "Your Elastic Email Account was successfully re-charged"
- "Account re-charged", "Auto-recharge successful"
- "Credit added to your account"
- "[BOT] Ativacao realizada com sucesso"
→ mcp__desk-crm-v3__delete_ticket({ ticket_id: ID, confirm: true })
```
---
## Remetentes Conhecidos (whitelist facturas)
> Ver tabela completa em: Hub/06-Operacoes/Documentacao/fornecedores-recorrentes.md
> Verificar pelo DOMINIO do email remetente, nao pelo departamento.
---
## Output Standalone
```markdown
## Triagem Tickets - DD-MM-YYYY
**Total: X tickets processados**
### SPAM Fechado (Y)
- #123 - "Guest Post SEO" - spam@dominio.com
### Facturas Identificadas (Z)
- #456 - "Receipt" - billing@anthropic.com -> /auto-expense
### Notificacoes Sistema (W)
- #789 - "Security Alert" - noreply@n8n.io -> requer accao
### Mantidos Abertos (N)
- #012 - "Pedido de suporte" - cliente@empresa.pt
```
---
## Anti-Patterns
- NUNCA eliminar tickets de remetentes desconhecidos com facturas
- NUNCA fechar notificacoes protegidas automaticamente
- NUNCA processar despesas directamente (delegar para /auto-expense)
- SEMPRE verificar dominio do remetente na tabela de fornecedores
- SEMPRE usar staff_id: 25 (AikTop) nos comentarios
---
*Skill v1.0.0 | 04-03-2026 | Descomplicar®*
---
## 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.*
+248
View File
@@ -0,0 +1,248 @@
---
name: ticket
description: Gestão de tickets de suporte Desk CRM. Ver, responder, fechar e escalar tickets. Inclui templates de resposta e integração com /today.
disable-model-invocation: true
layer: wiki
---
# /ticket v1.0 - Gestão de Suporte
Tickets de suporte via Desk CRM: ver, responder, fechar.
---
## Comandos
| Comando | Função |
|---------|--------|
| `/ticket` | Ver tickets abertos |
| `/ticket view <id>` | Ver detalhes |
| `/ticket reply <id>` | Responder |
| `/ticket close <id>` | Fechar com mensagem |
| `/ticket escalate <id>` | Converter em tarefa |
| `/ticket create` | Criar ticket interno |
---
## Protocolo
### /ticket (Listar Abertos)
```
1. mcp__desk-crm-v3__get_tickets({ status: [1,2,3] }) // Aberto, Em Progresso, Respondido
2. Ordenar por prioridade, depois por data
3. Mostrar lista
```
**Output:**
```markdown
## 🎫 Tickets Abertos (4)
### 🔴 Urgentes
| # | Cliente | Assunto | Há |
|---|---------|---------|-----|
| #234 | TechCorp | Erro crítico login | 2h |
### 🟠 Alta
| # | Cliente | Assunto | Há |
|---|---------|---------|-----|
| #232 | StartupX | Funcionalidade não funciona | 1d |
### 🟢 Normal
| # | Cliente | Assunto | Há |
|---|---------|---------|-----|
| #230 | ClienteY | Dúvida facturação | 2d |
| #228 | ClienteZ | Pedido alteração | 3d |
```
---
### /ticket view <id>
```
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
2. Mostrar detalhes completos:
- Cliente, contacto
- Assunto, mensagem original
- Histórico de respostas
- Anexos
```
**Output:**
```markdown
## 🎫 Ticket #234
### Detalhes
- **Cliente:** TechCorp (#45)
- **Contacto:** João Silva (joao@techcorp.pt)
- **Departamento:** Suporte Técnico
- **Prioridade:** 🔴 Urgente
- **Status:** Aberto
- **Criado:** 2026-02-05 10:30
### Mensagem
> Bom dia, desde esta manhã não consigo fazer login no sistema.
> Aparece "Credenciais inválidas" mas a password está correcta.
> Urgente pois preciso aceder hoje.
### Histórico (2)
**[2026-02-05 11:00] Staff - Emanuel:**
Olá João, vou verificar imediatamente.
**[2026-02-05 11:15] Cliente - João:**
Obrigado, aguardo.
### Acções
- [Responder] [Fechar] [Escalar para tarefa]
```
---
### /ticket reply <id>
```
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
2. Mostrar contexto (última mensagem)
3. Pedir resposta ao utilizador
4. Formatar em HTML
5. mcp__desk-crm-v3__reply_ticket({
ticket_id: id,
message: resposta_html,
status: 3 // Respondido
})
6. "Resposta enviada. Aguardar resposta cliente? [Sim] ou Fechar? [Fechar]"
```
---
### /ticket close <id>
```
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
2. Mostrar contexto
3. Pedir mensagem de fecho (opcional)
4. mcp__desk-crm-v3__close_ticket({
ticket_id: id,
message: mensagem_fecho
})
5. "Ticket #X fechado."
```
**Mensagem de fecho default:**
```html
<p>Ticket resolvido. Obrigado pelo contacto.</p>
<p>Se tiver mais questões, não hesite em abrir novo ticket.</p>
```
---
### /ticket escalate <id>
```
1. mcp__desk-crm-v3__get_ticket({ ticket_id: id })
2. Perguntar projecto destino
3. mcp__desk-crm-v3__create_task({
name: "Ticket #X: [Assunto]",
description: "<h4>Escalado de Ticket #X</h4><p>[conteúdo]</p>",
rel_type: "project",
rel_id: project_id,
priority: 3, // Alta
assignees: [25]
})
4. mcp__desk-crm-v3__reply_ticket({
ticket_id: id,
message: "<p>Escalado para tarefa interna #Y para resolução.</p>",
internal: true // Nota interna
})
5. mcp__desk-crm-v3__close_ticket({ ticket_id: id })
6. "Ticket escalado para tarefa #Y no projecto Z."
```
---
### /ticket create
```
1. Perguntar:
- Cliente (pesquisar ou ID)
- Departamento
- Prioridade
- Assunto
- Mensagem
2. mcp__desk-crm-v3__create_ticket({
client_id: client_id,
department_id: dept_id,
priority: prioridade,
subject: assunto,
message: mensagem_html
})
3. "Ticket #X criado."
```
---
## Status Tickets
| ID | Status | Descrição |
|----|--------|-----------|
| 1 | Aberto | Novo, aguarda resposta staff |
| 2 | Em Progresso | Staff a trabalhar |
| 3 | Respondido | Staff respondeu, aguarda cliente |
| 4 | Em Espera | Pausado |
| 5 | Fechado | Resolvido |
---
## Prioridades
| ID | Prioridade | SLA |
|----|------------|-----|
| 4 | 🔴 Urgente | <1h |
| 3 | 🟠 Alta | <4h |
| 2 | 🟡 Normal | <12h |
| 1 | 🟢 Baixa | <24h |
---
## Departamentos Comuns
| ID | Departamento |
|----|--------------|
| 1 | Suporte Técnico |
| 2 | Vendas |
| 3 | Facturação |
| 4 | Geral |
---
## Integração /today
No checkup diário, mostrar tickets:
```markdown
## 🎫 Tickets (3)
- 🔴 #234 - Erro login (TechCorp) - 2h
- 🟠 #232 - Bug funcionalidade (StartupX) - 1d
- 🟢 #230 - Dúvida (ClienteY) - 2d
```
---
## Templates de Resposta
### Resposta Inicial
```html
<p>Olá [Nome],</p>
<p>Obrigado pelo contacto. Vou analisar a situação e respondo em breve.</p>
<p>Cumprimentos,<br>Emanuel Almeida</p>
```
### Pedido de Informação
```html
<p>Olá [Nome],</p>
<p>Para re