agentleFS
illumi-aiillumi-ai/uazapi-mcp/skills/entender-problema/SKILL.md

entender-problema

Skill1 starsChanged 58 days agoMITView on GitHub

Transforma o relato bagunçado de um cliente no WhatsApp — áudios, prints, vídeos e texto espalhados numa conversa — em um documento PROBLEMA estruturado, com timeline, quem reportou, evidências e severidade estimada. Usar quando: "entender o problema do cliente", "o que reportaram no grupo", "analisar esse relato de bug", "processar o feedback do cliente", ou antes de abrir uma issue/triagem a partir de conversa de WhatsApp. Requer o MCP `uazapi`.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read tool para as imagens (o modelo lê print nativamente)

    line 23
  2. Distinctive:

    Imagens: Read no caminho que veio no transcript.

    line 66

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/entender-problema

Um cliente reporta um problema em cinco mensagens, dois áudios e um print. Esta skill lê tudo isso e devolve um documento único que quem for corrigir consegue ler sem voltar na conversa.

Posição no fluxo: WhatsApp → /entender-problema → PROBLEMA → triagem/issue → correção

Ferramentas

  • MCP uazapi: list_chats, get_messages, get_media
  • Read tool para as imagens (o modelo lê print nativamente)
  • Áudio não precisa de ferramenta extra: get_messages já devolve transcrito

Entrada

ParâmetroObrigatórioDefaultExemplo
Chatsim—"Empresa | Suporte", 5511..., ou o JID
Janelanão24h"48h", "3d", "ontem", "10/09..12/09"
Contextonão—"erro no login", "não emite nota"
Instânciase houver várias—nome do número que recebe as mensagens

Workflow

1. Resolver o chat

Nome parcial? list_chats(busca="<nome>") e confirme qual é antes de seguir. Se a tool devolver vários candidatos, pergunte ao usuário em vez de escolher o primeiro.

2. Coletar a conversa

get_messages(chat="<chat>", since="24h", instance="<instância>")

Áudios já vêm como texto e imagens já vêm baixadas, com o caminho na linha da mensagem.

Ajuste a janela conforme o que voltar:

  • menos de 3 mensagens relevantes → amplie para 48h, depois 3d
  • muita conversa e contexto conhecido → search_messages(termo=..., chat=...) para achar onde o assunto começa, e então uma janela fechada em volta disso
  • nada no período e o relato é antigo → sync_history(chat=...), espere ~1 min, repita

3. Separar o que importa

CategoriaO que éDestino
Relatodescreve erro, comportamento inesperado, impactoentra na timeline
Evidênciaprint, áudio, vídeo, documentovira anexo
Ruído"bom dia", "ok", "obrigado", combinados de horáriodescarta

4. Ler as evidências

  • Imagens: Read no caminho que veio no transcript. Transcreva a mensagem de erro que aparece no print — é o dado mais útil do documento.
  • Áudios: já transcritos. Se algum voltou como [falha na transcrição: ...], use transcribe_file no caminho do arquivo.
  • Vídeos: o MCP baixa mas não descreve. Use a ferramenta de análise de vídeo que você tiver, ou registre [vídeo não analisado: <caminho>] — nunca invente o conteúdo.
  • Alguma mídia expirou no WhatsApp? Registre [mídia expirada] e siga.

5. Estimar severidade

NívelIndicadores
P0"parou tudo", "ninguém consegue", tom urgente, várias pessoas reportando
P1"não funciona", "dá erro", print de erro, funcionalidade central afetada
P2"está estranho", "às vezes", função secundária, um relator
P3sugestão, ajuste visual, "seria bom se", nada bloqueado

O tom do áudio conta: transcrição não mostra irritação, mas a escolha de palavras mostra.

6. Escrever o documento

# PROBLEMA

## Metadados
- **Chat**: {nome} ({grupo ou número})
- **Instância**: {número que recebeu}
- **Período**: {início} a {fim}
- **Mensagens**: {total} ({relevantes} relevantes, {n} com mídia)
- **Severidade estimada**: {P0-P3} — {justificativa em uma linha}

## Resumo
{3 a 5 frases cobrindo texto, áudios e prints. Auto-contido: quem ler entende o
problema sem abrir a conversa.}

## Timeline
| Hora | Quem | Tipo | Conteúdo |
|---|---|---|---|
| HH:MM | nome | texto | resumo |
| HH:MM | nome | áudio | resumo [ver A1] |
| HH:MM | nome | imagem | resumo [ver I1] |

## Quem reportou
| Pessoa | Mensagens | Papel |
|---|---|---|
| nome | N | reportou / confirmou / complementou |

## Indicadores de severidade
- **Palavras usadas**: termos exatos dos relatores
- **Quantas pessoas**: relatos independentes
- **O que está bloqueado**: impacto para o usuário ou para o negócio

## Anexos

### Áudios
**[A1]** {quem}, {HH:MM} — `{caminho do arquivo}`
> {transcrição completa, não resumida}

### Imagens
**[I1]** {quem}, {HH:MM} — `{caminho do arquivo}`
> {descrição; se for print de erro, a mensagem de erro transcrita literalmente}

## Relato para triagem
{1 ou 2 parágrafos condensados: o que quebrou, quem reportou, evidências com referência
aos anexos, severidade. Suficiente para abrir uma issue sem ler o resto.}

Casos de borda

SituaçãoO que fazer
Nenhuma mídia no períodoPular anexos, anotar "nenhuma mídia no período"
Só áudiosAs transcrições são a fonte primária do resumo
Só printsAs descrições de imagem são a fonte primária
Mais de 100 mensagensFiltrar por "erro", "bug", "problema", "não funciona", "parou"
Nada no períodoAmpliar a janela; se continuar vazio, sync_history
Vários problemas na mesma conversaUm documento por problema, não um documento confuso
Transcrição falhoutranscribe_file no caminho; se falhar de novo, registrar e seguir

Regras

  1. Saída sempre em pt-BR.
  2. Nunca fabricar: tudo vem de mensagem ou mídia real. Sem evidência, a linha não existe.
  3. Transcrição de áudio vai completa no anexo, resumida só na timeline.
  4. Esta skill apenas lê. Responder ao cliente é decisão do usuário, com send_text e sua confirmação.
  5. Cada afirmação do resumo tem origem rastreável na timeline.
  6. Ao citar número, prazo ou valor que veio de áudio, sinalize que veio de transcrição.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.