feat: refactor 30+ skills to Anthropic progressive disclosure pattern
- All SKILL.md files now <500 lines (avg reduction 69%) - Detailed content extracted to references/ subdirectories - Frontmatter standardised: only name + description (Anthropic standard) - New skills: brand-guidelines, spec-coauthor, report-templates, skill-creator - Design skills: anti-slop guidelines, premium-proposals reference - Removed non-standard frontmatter fields (triggers, version, author, category) Plugins affected: infraestrutura, marketing, dev-tools, crm-ops, gestao, core-tools, negocio, perfex-dev, wordpress, design-media Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
367
crm-ops/skills/proposal-deck/SKILL.md
Normal file
367
crm-ops/skills/proposal-deck/SKILL.md
Normal file
@@ -0,0 +1,367 @@
|
||||
---
|
||||
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.
|
||||
---
|
||||
|
||||
# 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 de media complexidade (websites, marketing).
|
||||
|
||||
| Ordem | Layout | Conteudo |
|
||||
|:-----:|--------|----------|
|
||||
| 1 | capa | Titulo + cliente + ano |
|
||||
| 2 | sobre-nos | Apresentacao Descomplicar |
|
||||
| 3 | divisor-seccao | "Desafio" |
|
||||
| 4 | objectivos | Objectivos do cliente |
|
||||
| 5 | processo-3-passos | Metodologia |
|
||||
| 6 | fases-3-blocos | Fases do projecto |
|
||||
| 7 | divisor-seccao | "Solucao" |
|
||||
| 8 | beneficios-6 | Beneficios da solucao |
|
||||
| 9 | deliverables | Escopo detalhado |
|
||||
| 10 | timeline-etapas | Cronograma com precos |
|
||||
| 11 | contacto | Dados do gestor |
|
||||
| 12 | encerramento | Branding Descomplicar |
|
||||
|
||||
#### Proposta Completa (16 slides)
|
||||
Para projectos complexos, concursos, clientes enterprise.
|
||||
|
||||
Usa todos os 16 layouts na ordem numerica original.
|
||||
|
||||
### Fase 3: Geracao do PPTX
|
||||
|
||||
**Directorio de trabalho:** `~/.claude-work/proposal-[cliente-slug]/`
|
||||
|
||||
```bash
|
||||
# 1. Criar directorio e copiar template
|
||||
mkdir -p ~/.claude-work/proposal-[slug]/
|
||||
cp "/media/ealmeida/Dados/Hub/90-Templates/Comercial/descomplicar-proposal-template.pptx" \
|
||||
~/.claude-work/proposal-[slug]/template.pptx
|
||||
|
||||
# 2. Descompactar template
|
||||
python3 ~/.claude/plugins/marketplaces/descomplicar-plugins/design-media/skills/pptx-generator/scripts/office/unpack.py \
|
||||
~/.claude-work/proposal-[slug]/template.pptx \
|
||||
~/.claude-work/proposal-[slug]/unpacked/
|
||||
|
||||
# 3. Editar slides XML (ver seccao "Edicao de Conteudo XML")
|
||||
|
||||
# 4. Remover slides nao necessarios de presentation.xml
|
||||
# (alterar rIdX refs e apagar ficheiros slideN.xml correspondentes)
|
||||
|
||||
# 5. Limpar XMLs
|
||||
python3 ~/.claude/plugins/marketplaces/descomplicar-plugins/design-media/skills/pptx-generator/scripts/clean.py \
|
||||
~/.claude-work/proposal-[slug]/unpacked/
|
||||
|
||||
# 6. Recompactar
|
||||
python3 ~/.claude/plugins/marketplaces/descomplicar-plugins/design-media/skills/pptx-generator/scripts/office/pack.py \
|
||||
~/.claude-work/proposal-[slug]/unpacked/ \
|
||||
~/.claude-work/proposal-[slug]/proposta-[slug].pptx \
|
||||
--original ~/.claude-work/proposal-[slug]/template.pptx
|
||||
```
|
||||
|
||||
### Edicao de Conteudo XML
|
||||
|
||||
Cada slide e um ficheiro `ppt/slides/slideN.xml`. Localizar placeholders pelo texto visivel e substituir:
|
||||
|
||||
| Placeholder | Substituir por | Exemplo |
|
||||
|-------------|----------------|---------|
|
||||
| `[TITULO_PROPOSTA]` | Nome do servico proposto | "Website Corporativo" |
|
||||
| `[SUBTITULO]` | Nome do cliente | "Para Empresa XYZ" |
|
||||
| `[ANO]` | Ano corrente | "2026" |
|
||||
| `[OBJECTIVO_N]` | Objectivo N do cliente | "Aumentar presenca online" |
|
||||
| `[FASE_N_TITULO]` | Titulo da fase N | "Fase 1: Descoberta" |
|
||||
| `[FASE_N_DESC]` | Descricao da fase N | "Analise de requisitos..." |
|
||||
| `[DELIVERABLE_N]` | Item do escopo | "Website responsivo" |
|
||||
| `[PRECO]` | Valor formatado | "1.200 EUR" |
|
||||
| `[PRECO_TOTAL]` | Valor total | "2.500 EUR + IVA" |
|
||||
| `[TIMELINE_N]` | Etapa do cronograma | "Semana 1-2" |
|
||||
| `[GESTOR_NOME]` | Nome do gestor | "Emanuel Almeida" |
|
||||
| `[GESTOR_EMAIL]` | Email do gestor | "emanuel@descomplicar.pt" |
|
||||
| `[GESTOR_TEL]` | Telefone | "911 510 005" |
|
||||
|
||||
**Tecnica XML:** Localizar `<a:t>` tags dentro de `<a:r>` runs. Substituir texto preservando formatacao:
|
||||
|
||||
```python
|
||||
# Exemplo: substituir texto num slide
|
||||
import re
|
||||
|
||||
def replace_placeholder(xml_content, placeholder, value):
|
||||
"""Substituir placeholder preservando formatacao XML."""
|
||||
# Placeholders podem estar fragmentados em multiplos <a:t> tags
|
||||
# Usar regex para localizar e substituir
|
||||
return xml_content.replace(placeholder, value)
|
||||
```
|
||||
|
||||
**Regra critica:** Nunca alterar atributos de formatacao (`<a:rPr>`, `<a:pPr>`). Apenas substituir conteudo textual dentro de `<a:t>`.
|
||||
|
||||
### Fase 4: Entrega
|
||||
|
||||
1. **Guardar PPTX final:**
|
||||
```
|
||||
Hub/03-Propostas/[cliente]/proposta-[servico]-[data].pptx
|
||||
```
|
||||
|
||||
2. **Upload para Google Drive** (opcional):
|
||||
```
|
||||
mcp__google-workspace__drive_upload_file
|
||||
file_path="~/.claude-work/proposal-[slug]/proposta-[slug].pptx"
|
||||
folder_id="[pasta-cliente-drive]"
|
||||
```
|
||||
|
||||
3. **Registar no CRM** (se nao existir estimate):
|
||||
```
|
||||
mcp__desk-crm-v3__create_estimate
|
||||
client_id=[id]
|
||||
date=[hoje]
|
||||
expiry_date=[hoje + 30 dias]
|
||||
items=[items]
|
||||
```
|
||||
|
||||
4. **Limpar temporarios:**
|
||||
```bash
|
||||
rm -rf ~/.claude-work/proposal-[slug]/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Exemplos de Propostas Tipicas
|
||||
|
||||
### Website Corporativo (CorporateWP)
|
||||
|
||||
**Tipo:** Standard (12 slides)
|
||||
**Servico:** CorporateWP
|
||||
**Slides seleccionados:** capa, sobre-nos, divisor, objectivos, processo-3-passos, fases-3-blocos, divisor, beneficios-6, deliverables, timeline-etapas, contacto, encerramento
|
||||
|
||||
**Conteudo tipico:**
|
||||
- **Objectivos:** Presenca profissional online, geracao de leads, credibilidade digital
|
||||
- **3 Passos:** Descoberta -> Desenvolvimento -> Lancamento
|
||||
- **3 Fases:** Analise e Conteudo (S1-2) -> Design e Desenvolvimento (S3-5) -> Testes e Lancamento (S6)
|
||||
- **6 Beneficios:** Design responsivo, SEO optimizado, painel intuitivo, SSL incluido, suporte dedicado, performance rapida
|
||||
- **Deliverables:** Website responsivo, 5-8 paginas, formularios, integracao redes sociais, Google Analytics, formacao
|
||||
- **Timeline:** 4-6 semanas, 900 EUR + IVA, anuidade 299 EUR
|
||||
|
||||
### Marketing 360
|
||||
|
||||
**Tipo:** Completa (16 slides)
|
||||
**Servico:** Marketing Digital 360
|
||||
**Slides seleccionados:** todos os 16
|
||||
|
||||
**Conteudo tipico:**
|
||||
- **Objectivos:** Aumentar visibilidade, gerar leads qualificados, ROI mensuravel, posicionamento digital
|
||||
- **4 Pilares (engrenagens):** SEO, Redes Sociais, Publicidade Online, Email Marketing
|
||||
- **Processo:** Auditoria -> Estrategia -> Execucao
|
||||
- **6 Beneficios:** Mais trafego, leads qualificados, brand awareness, ROI mensuravel, relatorios mensais, equipa dedicada
|
||||
- **Deliverables:** Auditoria inicial, plano estrategico, gestao redes sociais, campanhas Ads, relatorios mensais, reunioes quinzenais
|
||||
- **Timeline:** Ongoing, setup 500-1500 EUR, mensalidade 300-800 EUR
|
||||
|
||||
### SEO / Optimizacao
|
||||
|
||||
**Tipo:** Standard (12 slides)
|
||||
**Servico:** Pack SEO
|
||||
**Slides seleccionados:** capa, sobre-nos, divisor, objectivos, processo-3-passos, grid-4-cards, divisor, detalhe-servico, deliverables, pack-pricing, contacto, encerramento
|
||||
|
||||
**Conteudo tipico:**
|
||||
- **Objectivos:** Melhorar posicionamento Google, aumentar trafego organico, ultrapassar concorrencia
|
||||
- **3 Passos:** Auditoria Tecnica -> Optimizacao On-Page -> Link Building
|
||||
- **4 Cards:** Pesquisa Keywords, SEO Tecnico, Conteudo Optimizado, Relatorios Mensais
|
||||
- **Deliverables:** Auditoria inicial, optimizacao 10-20 paginas, blog mensal, relatorio posicoes, Google Search Console
|
||||
- **Pricing:** Mensalidade 300-600 EUR conforme pack
|
||||
|
||||
---
|
||||
|
||||
## MCPs Utilizados
|
||||
|
||||
```
|
||||
mcp__desk-crm-v3__search_customers - Pesquisar cliente
|
||||
mcp__desk-crm-v3__get_customer - Obter detalhes cliente
|
||||
mcp__desk-crm-v3__get_estimates - Verificar orcamentos existentes
|
||||
mcp__desk-crm-v3__create_estimate - Registar estimate no CRM
|
||||
mcp__desk-crm-v3__price_management - Consultar precos oficiais
|
||||
mcp__google-workspace__drive_upload_file - Upload para Google Drive
|
||||
mcp__mcp-time__current_time - Data/hora actual
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Checklist de Execucao
|
||||
|
||||
- [ ] Cliente identificado no CRM
|
||||
- [ ] Dados recolhidos (objectivos, servicos, precos)
|
||||
- [ ] Tipo de proposta seleccionado (minima/standard/completa)
|
||||
- [ ] Layouts seleccionados e conteudo definido
|
||||
- [ ] Template copiado para ~/.claude-work/
|
||||
- [ ] PPTX descompactado
|
||||
- [ ] Slides editados com dados do cliente
|
||||
- [ ] Slides desnecessarios removidos
|
||||
- [ ] XMLs limpos (clean.py)
|
||||
- [ ] PPTX recompactado e validado
|
||||
- [ ] Ficheiro guardado em Hub/03-Propostas/[cliente]/
|
||||
- [ ] Temporarios limpos
|
||||
- [ ] Estimate registado no CRM (se aplicavel)
|
||||
|
||||
---
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
| Fazer | NAO Fazer |
|
||||
|-------|-----------|
|
||||
| Personalizar cada slide com dados reais do cliente | Usar placeholders genericos ou "Lorem ipsum" |
|
||||
| Consultar CRM para precos actualizados | Inventar precos de memoria |
|
||||
| Seleccionar layouts relevantes para o servico | Incluir todos os 16 slides quando 8 bastam |
|
||||
| Manter branding Descomplicar (cores, fontes, logo) | Alterar formatacao XML (cores, tamanhos, posicoes) |
|
||||
| Guardar em Hub/03-Propostas/ com nome descritivo | Deixar ficheiros em ~/.claude-work/ |
|
||||
| Usar slug sem espacos no nome do ficheiro | Espacos ou caracteres especiais no nome |
|
||||
| Verificar PPTX abre correctamente apos geracao | Entregar sem validar |
|
||||
| Adaptar objectivos ao sector do cliente | Copiar objectivos genericos entre propostas |
|
||||
| Incluir dados de contacto do gestor real | Dados de contacto ficticios |
|
||||
|
||||
---
|
||||
|
||||
## Procedimentos Relacionados
|
||||
|
||||
- `PROC-Catalogo-Codificacao-Produtos.md` - Codificacao e catalogo de produtos
|
||||
- `PROC-CRM-Operacoes.md` - Operacoes CRM padrao
|
||||
|
||||
---
|
||||
|
||||
## Changelog
|
||||
|
||||
### v1.0.0 (2026-03-06)
|
||||
- Versao inicial da skill /proposal-deck
|
||||
- 16 layouts mapeados do template PPTX curado
|
||||
- 3 niveis de complexidade: minima (8), standard (12), completa (16)
|
||||
- Integracao CRM (cliente, estimates, precos)
|
||||
- Workflow completo: recolha -> seleccao -> geracao -> entrega
|
||||
- Exemplos para website, marketing 360, SEO
|
||||
- Anti-patterns documentados
|
||||
|
||||
---
|
||||
|
||||
**Versao**: 1.0.0 | **Data**: 2026-03-06 | **Template**: descomplicar-proposal-template.pptx
|
||||
Reference in New Issue
Block a user