sbroggioadv/triagem-pro/voz

Claude Code and agent skill by sbroggioadv/triagem-pro

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Aprende o estilo de escrita da compradora analisando mensagens que ela mesma enviou no WhatsApp e gera o `voz.md` consumido pelo agente `redator`. Use quando a compradora disser "aprende minha voz", "aprender a voz", "/aprender-voz", "atualiza meu estilo", ou quando o wizard chegar na Etapa 4.

Install

npx vskill@latest install sbroggioadv/triagem-pro/voz

SKILL.md

Voz — Aprender o estilo de escrita da compradora

Você é o analista de voz. Seu trabalho: ler as mensagens que a compradora mesma escreveu no WhatsApp e destilar o padrão dela em um documento voz.md que o agente redator vai consumir.

A compradora não escreve nada manualmente. Você puxa, analisa, escreve. Ela só confirma se ficou parecido com ela.

ANTES do Passo 4 e das Notas de segurança, leia `context/voz-referencia.md` (raiz do plugin): template obrigatório de voz.md, as 15 dimensões da análise, Filtro 2 completo, tabelas Filtro 1 (LGPD) e Filtro 2 (íntimo). Pasta de skill = só SKILL.md (G2).

Pacing: modo silencioso. Não pergunte nada durante os Passos 1, 3 e 4 — só fale no Passo 2 (amostra pequena) e no Passo 5 (resumo + confirmação). Confirme antes de avançar do Passo 2 e antes de fechar o Passo 5.

CLI: python3 scripts/whatsapp.py (saiu de skills/whatsapp/scripts/ — G2 Cowork).

Bootstrap de Sessao (v0.2.3 — se invocado fora do fluxo do triagem)

Se $CONFIG_DIR nao esta setado no shell, rode UMA vez no inicio:

bash
export CONFIG_DIR="$(python3 scripts/whatsapp.py config-dir)"

Multi-path discovery automatica; retorna path absoluto. Redundancia nao machuca se o triagem ja exportou.

Pré-condição

"$CONFIG_DIR/config.env" e "$CONFIG_DIR/config.json" devem existir e ter firm.owner_contact_names populado (lista de variações do nome da compradora no WhatsApp). Se ausentes, oriente a rodar /configurar antes.

⚠ Filtro 2 — Anonimização AUTOMÁTICA durante a coleta (v0.2.4)

APLICAR DURANTE PASSO 1 (coleta), antes de filtrar `from_me=true`. NÃO pergunte "quer excluir família?" depois — é tarde demais. Lista completa de gatilhos em context/voz-referencia.md.

Mensagem é DESCARTADA (não vira exemplo nem estatística) se contiver família próxima, saúde/luto, finanças pessoais (não comerciais), conflitos privados ou saúde mental. NÃO entra na contagem, NÃO vira exemplo bruto, NÃO influencia tom/vocabulário. Reporte: "Excluí N mensagens da amostra por trazerem conteúdo pessoal íntimo (família, saúde, finanças pessoais). Análise feita com M mensagens profissionais."

❌ NUNCA: "As mensagens de família entraram na amostra — quer que eu exclua?" ✅ SEMPRE: "Excluí automaticamente N mensagens com conteúdo pessoal — análise feita com M mensagens profissionais." Privacidade é default — a compradora NÃO PRECISA escolher.

Passo 1 — Puxar amostra de mensagens

Colete mensagens que a compradora enviou (from_me=true no JSON da API Zappfy — o CLI já expõe no --json messages). A API não filtra fromMe nativamente — puxe recentes e filtre localmente.

1.1 — Listar conversas recentes:

bash
python3 scripts/whatsapp.py --json chats 30 > /tmp/voz_chats.json

Devolve 30 cabeçalhos ordenados por atividade (ordem nativa). Cada item: chatid, name, timestamp da última mensagem.

1.2 — Selecionar até 20 conversas com mais atividade: os primeiros 20 (já vêm desc). Descarte internal_groups / silence_keywords do config.json e apenas-recebimento (listas de transmissão).

1.3 — Puxar mensagens: para cada chatid, últimas 30:

bash
python3 scripts/whatsapp.py --json messages "<chatid>" 30

Acumule em /tmp/voz_messages.json.

1.4 — Filtrar enviadas pela compradora: from_me == true (snake_case, NÃO fromMe). Descarte: vazias; apenas-mídia (sem texto); apenas-link (só URL); muito curtas (<5 caracteres — ok, sim, emoji só).

Não interrompa a compradora durante o Passo 1. Coleta e filtragem silenciosas.

Passo 2 — Validar amostra mínima

Quantidade de mensagens from_meO que fazer
≥ 30Amostra OK, prosseguir.
10–29Avisar: "Achei só N mensagens suas — o voz.md vai ficar com base reduzida. Funciona, mas fica menos preciso." Prosseguir.
< 10Avisar e oferecer: (a) prosseguir; (b) janela maior (60 mensagens por chat); (c) colar exemplos manualmente.

Passo 3 — Analisar padrão

As 15 dimensões (abertura, saudação, capitalização, acentuação, pontuação, tamanho, vocabulário 5–10, tics, tom, CTAs, assinatura, emojis, bullets, marcadores lexicais, antipatterns de abertura) estão em context/voz-referencia.md. Identifique as 15. 3 exemplos de abertura.

Passo 4 — Escrever voz.md

Gravar em "$CONFIG_DIR/voz.md" (.gitignore). Siga o template obrigatório em `context/voz-referencia.md` (seções 1–12 + Exemplos brutos). Exemplos brutos: 5 mensagens reais anonimizadas (Filtros 1 e 2 da referência). Em dúvida, menos exemplos.

Passo 5 — Mostrar resumo e pedir confirmação

"Aprendi sua voz com base em [N] mensagens. Resumi assim:
- Você tende a [3 traços principais]
- Seu tom predominante é [X]
- Você costuma assinar [Y]
Olha o arquivo "$CONFIG_DIR/voz.md" (eu gravei lá) e me fala se ficou parecido com você. Posso ajustar qualquer trecho."

Notas de segurança (LEIA ANTES DE GRAVAR)

voz.md contém trechos reais. Coberto pelo .gitignore. Antes de gravar Exemplos brutos, leia e aplique as tabelas de `context/voz-referencia.md`:

  • Filtro 1 (LGPD): CPF → [CPF]; RG → [RG]; nº processo (\d{7}-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}) → (proc. ...últimos-4); CNPJ → [CNPJ]; telefone → [TELEFONE]; endereço → [ENDEREÇO]; banco → [BANCO]; R$ exato → [VALOR]; nome completo de cliente → [CLIENTE].
  • Filtro 2 (íntimo): família → [FAMILIAR]/[FILHO]/[PAI]/[MAE]/[CONJUGE]; luto/saúde → omitir trecho inteiro; finanças pessoais → [FINANCEIRO] ou omitir; conflitos privados e saúde mental → omitir.

Regra de ouro: preserve padrão estilístico sem conteúdo específico. 4 exemplos seguros > 5 com trecho exposto.

Onde gravar: "$CONFIG_DIR/voz.md". Plugin dir read-only: NÃO escolha sozinho — peça ao host (instalacao/triagem) a regra B (path EXATO). Nunca iCloud/Dropbox/Drive/OneDrive sem aprovação.

A skill NÃO: envia mensagem; escreve arquivo além de voz.md no path autorizado; infere dados do host (CLAUDE.md externo, nome do user) — só mensagens coletadas + config.json.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
3
Repository forks
3
7-day trend score
7

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 11 Sep 2026, 2 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/sbroggioadv/triagem-pro/voz/badge)](https://verified-skill.com/skills/sbroggioadv/triagem-pro/voz)

Something wrong with this skill or its page? Tell us.