ooligo
claude-skill

Detectar sinais de expansão em calls de CSM e uso

Dificuldade
intermediário
Tempo de setup
45min
Para
revops · csm
RevOps

Stack

Uma Claude Skill que escaneia os últimos sete dias de calls de CSM, anomalias de uso e tickets de suporte em todo o seu portfólio de clientes e emite um digest ranqueado por CSM de contas com intenção concreta de expansão. Cada conta exibida nomeia o SKU de upsell, as evidências verbatim que a sustentam e uma única next-best action que o CSM pode tomar nessa semana. O bundle é entregue em apps/web/public/artifacts/expansion-signal-detection-claude/ e contém SKILL.md mais três arquivos de referência que a equipe edita para corresponder ao próprio lineup de SKUs, baselines de segmento e playbook de ações de CSM.

Quando usar

Use esta skill quando sua equipe de CS gerencia mais contas do que qualquer humano consegue escanear manualmente toda semana, e você tem pelo menos duas fontes de dados sobrepostas para combinar — tipicamente calls de CSM gravadas no Gong mais anomalias de uso do Gainsight (ou emitidas pelo warehouse). A skill foi projetada para equipes de três ou mais CSMs com um portfólio de pelo menos 100 contas; abaixo dessa escala, um líder de CSM lendo cada call manualmente supera qualquer digest automatizado, porque o humano vê contexto que o arquivo de taxonomia não codifica.

A cadência certa é semanal — tipicamente na segunda-feira de manhã, antes da reunião de revisão de contas da equipe — e a saída certa é um Slack DM pessoal por CSM, limitado a três sinais fortes cada. O limite importa: em pilotos, um digest de CSM com 10 ou mais “contas engajadas” é lido por duas semanas e depois ignorado permanentemente. Três pedidos concretos por semana, repetidos toda segunda-feira, é a cadência que a equipe realmente internaliza.

Quando NÃO usar

  • Você quer alertas em tempo real sobre eventos individuais. Pings por evento inundam os CSMs e destroem a confiança no canal em duas semanas. A cadência semanal é deliberada. Se o seu CRO insiste em tempo real, espere o digest ser silenciado até o Q2.
  • Você ainda não tem anomalias de uso em um feed estruturado. A skill consome eventos de anomalia pré-emitidos; ela não os detecta de streams de eventos brutos. Se o Gainsight não está disparando eventos seat_count_spike, feature_first_use e tier_gated_feature_attempt, corrija esse pipeline primeiro — a skill em cima de um feed vazio produz um digest com apenas calls, o que colapsa cada sinal para fraco.
  • Os CSMs não estão registrando calls. Se menos de 60 por cento das contas têm uma call registrada na janela de análise, a metade de conversa de cada conjunto de sinais está vazia e a maioria dos sinais colapsa para fraco. Audite a adoção do Gong antes de depender disso. A skill aborta a execução com um erro de cobertura se a taxa cair abaixo de 40 por cento, em vez de emitir um digest de meio sinal.
  • Você quer criar CTAs no Gainsight automaticamente ou enviar e-mails a clientes automaticamente. Esta skill é sinal read-only. A saída foi projetada como preparação pré-reunião do CSM, não como trigger de workflow. Conectar uma camada de ação automática downstream é a forma mais rápida de enviar ao CFO um e-mail “notamos que você se beneficiaria do nosso tier enterprise” na semana depois que o champion deles acabou de sair.
  • Você quer uma previsão de expansion-ARR. A saída é sinal de intenção por conta, não um número para inserir em uma previsão financeira. A previsão de expansion-ARR requer calibração de taxa de fechamento que a skill não tem.

Setup

O bundle de artefatos é entregue em apps/web/public/artifacts/expansion-signal-detection-claude/. Faça o download, edite os três arquivos de referência para corresponder à sua realidade e instale a Skill.

  1. Baixe e descompacte o bundle. Coloque expansion-signal-detection-claude/ em ~/.claude/skills/. O layout é SKILL.md mais references/1-expansion-signal-taxonomy.md, references/2-segment-baseline-config.md e references/3-action-library.md.
  2. Construa a taxonomia de sinais. Edite references/1-expansion-signal-taxonomy.md com seus SKUs de upsell reais e as frases de trigger de call, tipos de evento de uso e tags de ticket de suporte que mapeiam para cada um. Seja específico: não “mais usuários”, mas “perguntou sobre preços para 50 ou mais assentos” ou “mencionou requisitos de compliance”. A seção de exemplos negativos captura frases condicionais (“se você suportasse X”) que parecem intenção, mas são na verdade relatórios de gap de feature — mantenha-a calibrada, porque uma lista de exemplos negativos desatualizada é a causa mais comum de inundação de falsos positivos.
  3. Calibre as baselines de segmento. Edite references/2-segment-baseline-config.md com valores calculados em uma janela de 90 dias sobre seu warehouse de uso. Por segmento, liste o delta semanal mediano e a banda de ruído de dois sigmas para cada métrica. A skill rejeita eventos cujo delta_pct cai dentro da banda de ruído mesmo quando cruzaram o limite global do emissor — isso é o que impede o ruído de contagem de assentos de PMEs de sufocar expansão genuína de enterprise.
  4. Preencha a biblioteca de ações. Edite references/3-action-library.md com uma ou mais next-best actions por SKU. Cada entrada deve seguir o formato verbo mais artefato nomeado (uma reunião, uma pessoa, um documento, um ticket) — a skill impõe isso com um filtro de substring literal no campo Action emitido, substituindo qualquer coisa vaga por needs human review.
  5. Conecte as fontes de dados. Defina GONG_API_KEY para extração de transcrições, GAINSIGHT_TOKEN para o feed de eventos de uso e contas e seu token de API de ticket de suporte (Zendesk, Intercom ou Helpscout, conforme seu stack). A skill lê anomalias pré-calculadas do feed de uso; ela não executa detecção de anomalias por conta própria.
  6. Execute semanalmente. Invoque expansion_signal_detection(window_days=7) a partir de uma sessão agendada do Claude Code (cron ou workflow_dispatch do GitHub Actions em um trigger semanal). A saída é um arquivo Markdown por proprietário CSM, postado como Slack DM em vez de post em canal público — o objetivo é responsabilidade por CSM, não um placar público que a equipe aprende a rolar sem ver.

O que a skill realmente faz

O corpo do trabalho são seis etapas sequenciais documentadas em detalhes no SKILL.md do bundle. O formato:

  1. Coleta de evidências por conta. Reúne cada call, evento de uso e ticket na janela. Remove contas sem registros para que o silêncio não dilua a lista ranqueada.
  2. Filtragem de baseline por segmento. Para cada evento de uso, consulta a banda de ruído do segmento em references/2-segment-baseline-config.md e descarta eventos dentro da banda. O motivo para baselines por segmento em vez de um único limite global: um salto de 30 por cento semana a semana em assentos significa coisas diferentes para uma PME de 5 assentos e uma enterprise de 500 assentos. Um único limite global garante que a banda de PME sufoque a banda de enterprise.
  3. Extração de sinais de calls e tickets. Executa um prompt de extração contra cada transcrição e ticket usando as frases de trigger em references/1-expansion-signal-taxonomy.md, com a camada de exemplos negativos classificando explicitamente frases condicionais como not_signal.
  4. Classificação forte vs fraco. Um sinal é forte apenas quando pelo menos uma menção em call E pelo menos um evento de uso incidem no mesmo SKU dentro da janela. Qualquer outra coisa é fraco. O motivo para a divisão em vez de uma única pontuação e ranqueamento: o roteamento difere. Sinais fortes justificam o CSM enviar um convite de reunião nessa semana; sinais fracos justificam uma olhada durante a revisão normal de conta. Colocar sinais fracos na lista ranqueada treina o CSM a ignorar a lista ranqueada.
  5. Roteamento e priorização por CSM. Agrupa sinais fortes por owner_email, ordena por ARR decrescente depois renewal_date crescente, aplica cap_per_csm (padrão três).
  6. Mapeamento de ações e emissão. Consulta cada sinal exibido em references/3-action-library.md e anexa a next-best action correspondente. Se nenhuma entrada corresponde, exibe needs human review em vez de sintetizar uma — ações vagas são o modo de falha que desgasta a confiança mais rapidamente.

Realidade de custos

O custo dominante de tokens é a etapa de extração de calls. Uma execução semanal típica para um portfólio de 200 contas com uma call de CSM por conta por semana roda aproximadamente:

  • 200 transcrições com uma média de 6.000 tokens cada = 1,2M tokens de input para extração.
  • 200 resumos de corpo de ticket com cerca de 800 tokens cada = 0,16M tokens de input.
  • Síntese por conta (200 contas, cerca de 2.000 input + 500 output tokens cada) = 0,4M input + 0,1M output.
  • Total por execução semanal: aproximadamente 1,76M tokens de input, 0,1M tokens de output.

No preço do Claude Sonnet (cerca de $3 por milhão de input, $15 por milhão de output até o Q1 de 2026), isso dá cerca de $5,30 + $1,50 = menos de $7 por execução semanal. Anualizado: menos de $400 por ano por portfólio de 200 contas. Em um portfólio de 1.000 contas com cobertura de calls similar, escale linearmente para menos de $2.000 por ano. O piso de custo é a etapa de extração de calls; se seus CSMs registram poucas calls, a conta cai proporcionalmente e a qualidade do sinal também.

O custo oculto é a manutenção da taxonomia. Espere que um líder de CSM gaste cerca de 30 minutos por trimestre editando references/1-expansion-signal-taxonomy.md e a biblioteca de ações, e uma sessão ad-hoc mais longa sempre que um novo SKU é lançado. Pular essa manutenção é o que faz o digest ficar obsoleto — a skill continua emitindo saída confiante contra um lineup de SKUs que não existe mais.

Métricas de sucesso

A métrica a acompanhar é a taxa de conversão de sinais fortes confirmada pelo CSM em conversas de expansão dentro de 14 dias. Acompanhe em uma janela de 30 dias consecutivos. Baselines iniciais de equipes piloto ficam na faixa de 25-40 por cento — significando que cerca de um em três sinais fortes leva a uma conversa real que o CSM não teria tido de outra forma naquele mês. Abaixo de 20 por cento por dois meses consecutivos significa que o corte forte vs fraco está muito frouxo ou a biblioteca de ações está muito vaga; ajuste a taxonomia ou reescreva metade das ações antes de continuar.

Métrica de lagging: contribuição de expansion-ARR atribuída ao digest, acompanhada no fechamento trimestral. Isso é mais difícil de medir de forma limpa porque conversas de expansão têm muitas causas, mas um campo de pesquisa com o CSM em cada expansão ganha (“o digest exibiu essa conta antes de você abrir a conversa?”) é um proxy bom o suficiente.

vs alternativas

  • vs Gainsight Expansion Management. O módulo nativo do Gainsight ranqueia contas em uma única pontuação composta e roteia via CTAs. Funciona, mas é opaco — quando um CSM discorda do ranqueamento, não pode editar um arquivo de configuração, apenas abrir um ticket com o admin. Esta skill mantém a lógica de ranqueamento em três arquivos de texto simples que o líder de CSM possui e edita diretamente. Escolha Gainsight quando sua equipe de CS-Ops quer um sistema fechado; escolha esta quando eles querem que a equipe seja dona das regras.
  • vs QBRs manuais conduzidos pelo CSM. Um CSM sênior rodando uma revisão pessoal no Notion de seu book of business supera qualquer digest na escala abaixo de 50 contas porque ele tem contexto que a taxonomia não consegue codificar. Em 100+ contas por CSM a matemática vira: ninguém consegue escanear tantas transcrições semanalmente. O digest é um multiplicador de força, não uma substituição, e a biblioteca de ações foi intencionalmente moldada para encorajar o CSM a fazer a conversa, não a skill.
  • vs dashboards genéricos de BI. Um dashboard Looker de “contas com picos de uso” produz uma lista toda semana que ninguém age porque não há SKU nomeado, nenhuma evidência verbal de call e nenhuma próxima ação. O valor do digest é a fusão mais a ação, não o ranqueamento — sem o mapa de SKU e a biblioteca de ações, você acaba com uma versão mais lenta do dashboard.

Pontos de atenção

  • Inundação de falsos positivos. Quando o prompt de extração de calls está frouxo, a lista de sinais fortes incha para 10 ou mais por CSM por semana. Proteção: imponha cap_per_csm estritamente, e se a lista forte de qualquer CSM único exceder o limite em três execuções consecutivas, adicione um aviso de que o corte forte vs fraco está muito frouxo e link para references/1-expansion-signal-taxonomy.md para ajuste. Não trunce silenciosamente.
  • Má interpretação de sinal — armadilha de saída do champion. Um pico de uso logo após o champion nomeado sair é um sinal de risco de expansão, não de intenção de expansão — o novo responsável está explorando antes de decidir se mantém o contrato. Proteção: cruze cada sinal forte com stakeholder_changes. Se um champion na conta saiu nos últimos 30 dias, rebaixe para fraco e marque com champion-departure suppressed: investigate before pursuing. A skill nunca deve rotear um pedido de expansão para uma conta que acabou de perder seu champion.
  • Deriva de threshold. Frases de trigger e mapeamentos de SKU ficam obsoletos conforme o produto muda. Um novo SKU lançado há dois meses tem zero entradas na taxonomia até alguém adicioná-las, e cada sinal para ele é silenciosamente roteado de forma errada. Proteção: inclua o SHA-256 (primeiros sete caracteres) de references/1-expansion-signal-taxonomy.md no rodapé de diagnósticos. Se o arquivo não foi tocado em 90 dias, adicione um aviso de que a taxonomia está obsoleta e link para o arquivo para recalibração.
  • Má classificação de menções condicionais. “Consideraríamos expandir se você suportasse X” parece intenção de expansão à primeira vista, mas é na verdade um relatório de gap de feature. Proteção: a camada de exemplos negativos na etapa de extração classifica explicitamente frases condicionais (“se”, “consideraria”, “pensando em”) como not_signal. O diagnóstico expõe com que frequência isso dispara — se nunca dispara, a camada está quebrada; se dispara constantemente, o mapeamento de SKU precisa de reformulação.
  • Colapso de especificidade de ação. Sob carga, o modelo vai para sugestões do tipo “fazer follow-up na oportunidade”. Proteção: o filtro de pós-processamento na etapa 6 rejeita qualquer campo Action contendo verbos vagos (follow up, reach out, touch base, align, socialize, engage) sem uma pessoa, reunião ou documento nomeado, substituindo por needs human review. Melhor silêncio do que ruído.

Stack

  • Gong — corpus de calls de CSM e API de transcrição
  • Gainsight — fonte de anomalias de uso e feed de contas
  • Zendesk / Intercom / Helpscout — fonte de tickets de suporte para sinais de perguntas de integração
  • Claude — extração de sinais, filtragem de baseline por segmento, classificação forte vs fraco, mapeamento de ações

Arquivos deste artefato

Baixar tudo (.zip)