Uma Claude Skill que pega um batch de respostas abertas de NPS exportadas do Delighted e devolve três coisas sobre as quais um lead de CS Ops pode agir na mesma tarde: uma lista de temas agrupados com uma contagem e citações representativas para cada um, um rótulo de sentimento por resposta cruzado contra o bucket de NPS (promoter / passive / detractor), e uma lista priorizada de ações que amarra os temas mais barulhentos a um dono e a um próximo passo. O ponto é transformar a coluna de verbatims que ninguém lê na parte da pesquisa que de fato move uma conversa de roadmap. O bundle do artifact inclui SKILL.md mais dois arquivos de referência que o time adapta uma vez e reusa a cada ciclo de pesquisa.
O bundle fica em apps/web/public/artifacts/nps-verbatim-triage-skill/. Contém SKILL.md, references/1-theme-taxonomy.md (a lista semente de temas que você ajusta ao seu produto), e references/2-output-format.md (o Markdown literal que a Skill emite). Leia os dois antes da primeira execução.
Quando usar
Você é um lead de CS Ops ou um CSM que acabou de fechar um ciclo de NPS no Delighted e tem entre 50 e 2.000 respostas abertas num CSV. Você quer temas, não uma nuvem de palavras —uma lista que você possa levar a uma reunião de roadmap dizendo “47 detractors mencionam fricção de onboarding, aqui estão cinco das palavras exatas deles, o dono é o time de onboarding”. A Skill foi feita para a leitura recorrente trimestral ou mensal, onde o valor é a consistência: a mesma taxonomia aplicada do mesmo jeito a cada ciclo para que as tendências sejam comparáveis entre pesquisas.
Funciona melhor quando as respostas estão num único idioma, a pergunta da pesquisa é estável entre ciclos, e você tem pelo menos 30 verbatims —abaixo disso, leia você mesmo; agrupar 12 comentários é trabalho de preenchimento que o modelo disfarça de análise. É uma Skill de nível beginner de propósito: sem warehouse, sem wiring de API além de uma exportação do Delighted, sem orquestração. Você cola um path de CSV e um rótulo de pergunta e recebe Markdown de volta.
Quando NÃO usar
Não use esta Skill como sistema de registro para fechar o ciclo com detractors individuais. Ela agrupa e prioriza; não rastreia para quem você respondeu. O inbox e as tags próprias do Delighted são donos desse workflow —a Skill lê a exportação, não escreve de volta. Se você precisa de rastreamento de follow-up por resposta, faça isso no Delighted ou no seu CRM e use esta Skill para a leitura agregada por cima.
Não use em menos de 30 respostas. As contagens de temas não são significativas em amostra pequena, e um “tema” sustentado por dois comentários convida você a girar demais em cima de ruído. A Skill recusa abaixo de 30 por default e te diz para ler as respostas diretamente.
Não use em batches de idioma misto sem separá-los primeiro. A qualidade do clustering cai forte quando se pede ao modelo agrupar um comentário em português e um em inglês sob um mesmo tema, e o passo de citação representativa vai trazer à tona uma citação que metade dos seus stakeholders não consegue ler. Exporte por idioma, rode a Skill por idioma, junte as tabelas de temas você mesmo.
Não leia o rótulo de sentimento como substituto do próprio score de NPS. Um 9 com um comentário levemente crítico ainda é um promoter. A Skill cruza o sentimento contra o bucket do score justamente para você ver os descompassos (o detractor cujo comentário é neutro, o promoter que está caladamente furioso por uma única feature) —esses descompassos são o sinal, não uma razão para reetiquetar o score.
Setup
Aproximadamente 20 a 40 minutos na primeira vez, quase tudo gasto ajustando a taxonomia semente ao vocabulário do seu produto.
- Instale a Skill. Coloque o bundle de
apps/web/public/artifacts/nps-verbatim-triage-skill/em~/.claude/skills/nps-verbatim-triage/. A Skill expõe um único comando,triage_nps(csv_path, question_label, nps_column, comment_column), mais helpers internos para parse de CSV, o pipeline de clustering de duas passadas, e o cruzamento. - Exporte do Delighted. No Delighted, vá até sua pesquisa, Export → CSV. Você precisa no mínimo da coluna do score e da coluna do comentário; mantenha a data da resposta e qualquer campo de segmento (plan tier, CSM, região) pelo qual você queira que a Skill quebre os temas. Anote os headers de coluna exatos —você os passa como
nps_columnecomment_columnpara que a Skill nunca adivinhe qual coluna é qual. - Ajuste a taxonomia semente. Abra
references/1-theme-taxonomy.mde substitua os temas placeholder pelas 8 a 15 categorias que combinam com seu produto —onboarding,pricing,performance,support-responsiveness,feature-gap:reporting, e assim por diante. A lista semente não é um filtro duro; ela inicializa a primeira passada de clustering para que os temas sejam nomeados de forma consistente entre ciclos. A Skill ainda traz à tona um bucketothere propõe temas novos quando um cluster não encaixa na lista semente, então você não fica cego para feedback genuinamente novo. - Adapte o formato de output. Abra
references/2-output-format.mde confirme que o layout de Markdown combina com o que sua reunião de roadmap espera —tabela de temas, tabela de cruzamento, lista priorizada de ações. Se seu time cola no Notion, deixe como Markdown; se cola num Google Doc, o formato sobrevive ao paste mesmo assim. - Rode para uma pesquisa.
triage_nps(csv_path="q2-2026-nps.csv", question_label="What is the primary reason for your score?", nps_column="Score", comment_column="Comment"). A Skill escreve um arquivo Markdown com as três seções. Leia-o contra dez ou quinze dos comentários crus para confirmar que o clustering bate com sua leitura antes de levar à reunião.
O que a Skill faz de verdade
A Skill roda duas passadas de Claude, não uma, e a divisão é a decisão de engenharia que importa. Uma única passada que ao mesmo tempo inventa temas e atribui cada comentário a eles produz nomes de temas que derivam —o modelo cunha “problemas de ativação” no comentário 4 e “fricção de onboarding” no comentário 80 para a mesma reclamação subjacente, e suas contagens se fraturam entre rótulos quase-duplicados.
A passada um é resolução de taxonomia. Claude lê o batch completo (ou uma amostra representativa de 200 se o batch for maior, para controlar o custo de tokens) junto com a taxonomia semente de references/1-theme-taxonomy.md, e devolve uma lista consolidada de temas: os temas semente que de fato aparecem, mais quaisquer temas novos que ele proponha para clusters que a lista semente não cobre, cada um com uma definição de uma linha. Essa passada fixa o vocabulário antes de atribuir qualquer comentário, então os rótulos ficam estáveis.
A passada dois é atribuição e sentimento. Claude pega a lista congelada de temas e percorre cada comentário, atribuindo um tema primário (e até dois temas secundários), um rótulo de sentimento (positivo / neutro / negativo), e o bucket de NPS existente do comentário. É instruído a atribuir other em vez de forçar um comentário num tema com o qual ele não combina, e a devolver o comentário verbatim como candidato a citação representativa. Fazer a atribuição depois de congelar a taxonomia é o que mantém as contagens honestas —cada comentário é avaliado contra a mesma lista fixa.
A Skill então calcula de forma determinística, em código, não no modelo: contagens de temas, o cruzamento de sentimento-por-bucket-de-NPS, e a lista priorizada de ações. A priorização é por volume ponderado por detractors —um tema mencionado por 40 detractors prioriza acima de um mencionado por 40 promoters, porque o tema dos detractors é o que está te custando renewals. A contagem é feita em código porque pedir ao modelo para somar o próprio output é a fonte mais comum de um número confiantemente errado.
O output é um arquivo Markdown: uma tabela de temas (tema, definição, contagem total, contagem de detractors, três citações representativas), uma tabela de cruzamento (sentimento × bucket de NPS), e uma lista priorizada de ações (tema, contagem de detractors, um dono sugerido tirado de um mapeamento que você define no arquivo de taxonomia, e um próximo passo placeholder que você preenche). O dono e o próximo passo são andaime —a Skill sugere, o humano decide.
Realidade de custos
Uma execução sobre 300 verbatims custa aproximadamente 12.000 a 20.000 tokens de input e 3.000 a 5.000 tokens de output com Claude Sonnet —chame de 5 a 9 centavos por pesquisa a preços atuais de Sonnet. Para batches acima de 200 comentários, a passada um amostra em vez de ler tudo, então o custo cresce com a passada de atribuição (linear na contagem de comentários) em vez de quadraticamente. Um batch de 1.000 comentários aterrissa perto de 25 a 35 centavos. O tempo de relógio é um a três minutos, dominado pela passada de atribuição.
O custo alternativo é o que isso substitui: um analista de CS Ops lendo e etiquetando 300 comentários à mão leva 3 a 5 horas e produz uma taxonomia que deriva a cada trimestre porque uma pessoa diferente a etiqueta cada vez. A Skill leva isso a uns 20 minutos incluindo a passada de revisão, e a taxonomia fica fixa em references/1-theme-taxonomy.md então a comparação ciclo-a-ciclo é real em vez de um artefato de quem fez o etiquetamento.
Como é o sucesso
Acompanhe a proporção de comentários de detractors que aterrissam num tema nomeado em vez de em other. Mire em menos de 20% em other depois de dois ciclos de ajuste de taxonomia. Uma taxa de other persistentemente alta significa que a taxonomia semente está perdendo uma categoria real —isso é um sinal para adicionar um tema, não para ignorar o bucket. Segundo, acompanhe se o tema mais priorizado de cada ciclo de fato produziu uma mudança de roadmap ou de playbook; uma classificação que nunca muda uma decisão é um relatório que ninguém precisava. Terceiro, acompanhe os deltas de contagem de temas ciclo-a-ciclo —toda a razão de uma taxonomia fixa é que “fricção de onboarding subiu 60% neste trimestre” só é uma afirmação real quando o rótulo significou a mesma coisa no trimestre passado.
vs alternativas
vs Trends e tagging integrados do Delighted. O Delighted vem com tagging baseado em keywords e uma visão de tendências, e se seus verbatims forem curtos e seus temas mapearem de forma limpa para keywords, isso é menos trabalho e fica dentro da ferramenta que você já paga. O trade-off: tags de keyword perdem o comentário que descreve fricção de onboarding sem usar a palavra “onboarding”, e não conseguem ponderar por volume de detractors nem cruzar sentimento contra o score. Use as tags do Delighted para a triagem always-on do inbox e esta Skill para a leitura agregada trimestral onde a qualidade dos temas e a ponderação por detractors importam.
vs um produto dedicado de text-analytics (Thematic, Chattermill, ou similar). Esses são genuinamente mais fortes em escala —dezenas de milhares de respostas, feedback multi-fonte, dashboards longitudinais. Se a análise de feedback é uma função permanente com dono e orçamento dedicados, compre um desses. Esta Skill é para o lead de CS Ops que tem uma leitura trimestral de NPS e não tem uma linha de cinco dígitos de text-analytics; ela cobre o caso dos 80% ao custo de uma chamada de API do Claude.
vs ler você mesmo. Para menos de ~50 comentários, ler você mesmo é mais rápido e você retém contexto que a Skill achata (o sarcasmo, o único comentário que nomeia uma conta específica prestes a dar churn). A Skill se paga em volume e ao longo de ciclos, onde a consistência ganha da profundidade que uma leitura humana dá a um único batch. Use a leitura manual para pesquisas pequenas e os detractors individuais de alto risco; use a Skill para o agregado.
A vigiar
- Deriva de temas entre ciclos. Se você reajustar a taxonomia pesadamente a cada trimestre, seus números de tendência entre ciclos ficam sem sentido porque os rótulos não significam mais a mesma coisa. Guarda: trate
references/1-theme-taxonomy.mdcomo versionado. Adicione temas quando o bucketotherjustificar, mas não renomeie nem junte temas existentes sem anotar, e nunca compare uma contagem através de um ciclo onde a definição mudou. - Temas de amostra pequena lidos como sinal. Um “tema” com três menções convida a um argumento de roadmap que ele não consegue sustentar. Guarda: a Skill recusa rodar abaixo de 30 respostas totais, e a lista priorizada de ações suprime qualquer tema com menos de 5 menções para uma nota de rodapé de “menções de baixo volume” em vez de priorizá-lo ao lado de temas reais.
- Sarcasmo e negação invertendo o sentimento. “Ah ótimo, mais uma queda” se lê positivo para um classificador ingênuo. Guarda: a passada dois é instruída a rotular o sentimento pela intenção evidente do comentarista e a cair para
neutralquando a intenção é genuinamente ambígua em vez de adivinhar positivo; o cruzamento de sentimento-por-NPS então traz à tona os descompassos (um detractor rotulado positivo) para que um humano confira os casos-limite que o modelo errou. - O modelo somando as próprias contagens. Pedir ao Claude para reportar “37 comentários mencionam pricing” produz um número que muitas vezes está errado por vários e parece autoritário. Guarda: todas as contagens são calculadas em código a partir da tabela de atribuição por comentário, nunca reportadas pelo modelo. O trabalho do modelo termina em rotular cada comentário; a aritmética é determinística.
- Citações representativas que expõem um cliente. Um verbatim pode nomear uma pessoa, uma conta, ou uma cifra em reais que você não quer num slide que sai do prédio. Guarda: o formato de output marca qualquer citação que contenha um nome próprio capitalizado de várias palavras, um handle
@, ou uma cifra de moeda com um marcador[REVIEW: may identify customer]para você limpar antes de o deck ir longe.
Stack
- Delighted —entrega da pesquisa de NPS e a exportação de CSV que a Skill lê (coluna de score + coluna de comentário obrigatórias)
- Claude —pipeline de duas passadas: resolução de taxonomia, depois atribuição por comentário e sentimento (Sonnet recomendado por custo)
- Sua superfície de roadmap (Notion, Google Docs, uma ferramenta de planejamento) —onde a lista de ações em Markdown aterrissa para a conversa de roadmap