Lição 4: Testes e depuração: garantindo que sua Skill se comporte
Objetivos de aprendizado:
- Conhecer as formas básicas de testar uma Skill
- Diagnosticar as falhas que você vai realmente encontrar
- Entender o ciclo de iteração
- Saber como avaliar se uma Skill vale mesmo a pena manter
Pré-requisitos: << Lição 3 | Próxima: Lição 5 >>
Sua primeira Skill não vai sair certa
Você escreveu sua primeira Skill, executou e percebeu coisas assim:
- Algumas tarefas não foram reconhecidas de jeito nenhum
- As prioridades saíram erradas
- O formato de saída ficou uma bagunça
- Ou o Claude nem chegou a carregar a Skill
Isso é normal.
Skills são como código: fazer rodar uma vez é a linha de largada, não a chegada. Toda Skill realmente útil chegou lá depois de várias rodadas de revisão.1
Esta lição te dá um jeito repetível de encontrar e corrigir esses problemas.
Método de teste 1: invocar diretamente
O teste mais simples é a invocação direta: chame uma vez com /skill-name e observe o que sai.2
Prepare seus casos de teste
Antes de invocar qualquer coisa, escreva de três a cinco entradas.
Casos normais:
Casos-limite:
Casos de lixo:
Rode os testes
No Claude Code, forneça uma de cada vez:
Observe três coisas:
- O Claude chegou a carregar a Skill? (Se não, o problema está na description.)
- O formato de saída está correto? (Se estiver bagunçado, o problema está na sua seção de formato de saída.)
- O conteúdo é o que você esperava? (Se as categorias estiverem erradas, o problema está nos seus passos de processamento.)
Anote o que aconteceu
Uma tabela pequena já basta:
Método de teste 2: observar o comportamento de carregamento
Às vezes o problema não está nas instruções — está no frontmatter.
Problema: o Claude não carrega a Skill sozinho
O que você vê: você diz “me ajuda a organizar essas tarefas” e o Claude ignora sua Skill task-organizer.
Causas prováveis:
-
A description é genérica demais
Correção: coloque as palavras-gatilho ali.
-
A description não contém as palavras que você realmente usa
Se você diz “me ajuda a organizar esses to-dos” mas “to-do” não aparece em lugar nenhum da description, o Claude pode nunca se lembrar da Skill.3
Correção: escreva na description as palavras que um usuário plausivelmente diria.
Problema: o Claude carrega a Skill errada
O que você vê: você queria a task-organizer, mas o Claude pegou outra coisa.
Causa provável: a description da outra Skill combina melhor com a sua entrada.
Correção: force a chamada com /task-organizer, ou afie sua description para que ela fique mais específica que a da concorrente.
Diagnosticando falhas comuns
Problema 1: o formato de saída está errado
O que você vê: a Skill roda, mas a formatação sai errada.
Exemplo:
Você queria seções agrupadas com emoji e títulos; o Claude te deu uma lista de texto plana.
Causa: a seção de formato de saída não é específica o bastante, ou não tem exemplo.
Correção: coloque um exemplo completo na seção “Formato de saída” do seu SKILL.md:
Diga “deve seguir exatamente este formato” e depois mostre a coisa inteira.
Problema 2: o reconhecimento é impreciso
O que você vê: algumas tarefas passam batido, ou caem na categoria errada.
Exemplo:
Entrada:
Saída:
As duas têm prazo claro, e as duas foram marcadas como se não tivessem.
Causa: as regras de reconhecimento de tempo nos seus passos de processamento não cobrem casos suficientes.
Correção: complete-as.
A ideia: explicite todas as formulações em que você conseguir pensar.
Problema 3: casos-limite escapam
O que você vê: entradas normais funcionam, mas entradas incomuns fazem a Skill se comportar de forma estranha.
Exemplo:
Entrada: uma string vazia
Saída: o Claude trava, ou produz um monte de texto sem sentido.
Causa: sua seção “Observações” nunca disse o que fazer com entrada vazia.
Correção:
O ciclo de iteração
Boas Skills não são escritas de uma vez. Elas saem de um ciclo testar-corrigir-testar:1
Não espere que a versão um esteja certa. Faça rodar, depois faça funcionar direito, depois faça ficar bom.
A Skill é realmente útil?
Depois que ela roda corretamente, resta uma pergunta maior: essa Skill está mesmo economizando seu tempo?1
Faça um A/B
A comparação é simples: rode a mesma tarefa várias vezes com e sem a Skill, e cronometre as duas.
Sem a Skill:
Cronometre. Você explica o processo na mão, o Claude executa — quanto tempo isso leva em média?
Com a Skill:
Cronometre. Você invoca a Skill, o Claude executa — quanto tempo em média?
Se a versão com Skill não for mais rápida, ou a qualidade for pior, a Skill ainda precisa de trabalho.
Use por uma semana
O teste de verdade é o uso de verdade.4
Acompanhe estes números:
- Quantas vezes você a invocou
- Quantas vezes o resultado foi usável como estava, sem edições manuais
- Quantas vezes você teve que rodar de novo ou corrigir a saída na mão
- Quanto tempo ela economizou
Se você a invocou menos de três vezes em uma semana, a tarefa provavelmente não é repetitiva o bastante para justificar uma Skill.
Guia rápido de depuração
Quando uma Skill não funciona, comece por uma checagem de falha de carregamento — percorra a tabela abaixo e descarte o caminho do arquivo, o formato do frontmatter e as palavras-gatilho nessa ordem.
Recapitulação
- Sua primeira Skill não vai sair certa — chegar lá exige um ciclo testar-corrigir-testar
- Métodos de teste: invocar diretamente, observar o comportamento de carregamento, preparar casos de teste antes
- Falhas comuns: description genérica demais, formato de saída pouco especificado, regras de reconhecimento incompletas, casos-limite sem tratamento
- Fluxo de depuração: registre esperado vs. real, diagnostique, edite o SKILL.md, reteste
- Provando que vale a pena: compare tempo, qualidade e consistência com e sem a Skill, depois use por uma semana e conte as invocações
Na próxima lição vamos percorrer uma Skill completa de code review e ver como lidar com um fluxo de trabalho mais elaborado.
>> Lição 5: Estudo de caso: construindo uma Skill de code review