Skill do Claude Code com exemplos ou com regras: o que o modelo segue melhor?

Escrever uma skill do Claude Code como lista de regras ou como pares de entrada e saída muda o que o modelo consegue seguir de verdade. A documentação de autoria recomenda enunciar a regra e explicar o porquê, porque o motivo deixa o Claude generalizar pra casos que a skill não previu. Já os exemplos comunicam formato e nível de detalhe melhor que descrição solta, com 3 a 5 casos diversos e estrutura idêntica. Na prática, o combo é regra explicada mais poucos exemplos, no grau de liberdade certo, validado por A/B contra o baseline sem skill
Fala aí, beleza? Tu abre o editor pra criar o SKILL.md, escreve o frontmatter e trava exatamente na primeira linha do corpo: eu listo as regras ou eu mostro exemplos de entrada e saída?
Parece papo de estilo, mas essa escolha mexe direto no quanto o Claude acerta quando a tarefa aparece de um jeito que tu não previu
E a melhor parte: a própria documentação de autoria de skills tem posição sobre isso, com preferência declarada pra um lado e um conceito bem útil pra decidir o outro
Bora destrinchar? 🙂
Como uma skill é lida pelo Claude (e por que isso muda a escrita):
Antes de decidir regra ou exemplo, vale entender o que o modelo enxerga e QUANDO ele enxerga
Uma Skill é uma pasta com um arquivo SKILL.md na raiz. Dentro dele tem um frontmatter YAML entre marcadores ---, com name e description, e o corpo em markdown com as instruções
.claude/skills/revisando-pull-request/
└── SKILL.md
---
name: Revisando pull request
description: Revisa o diff de um pull request procurando bug e regressão. Use quando o pedido for revisar mudanças de código antes do merge.
---
# Revisando pull request
Instruções em markdown aqui
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 116 aulas
- 4 projetos
- 9h 23min
As propriedades permitidas no frontmatter são allowed-tools, compatibility, description, license, metadata e name
Skill pessoal mora em ~/.claude/skills/<nome-da-skill>/ e skill de projeto mora em .claude/skills/<nome-da-skill>/
Em plugin, as skills ficam num diretório skills/ na raiz do plugin (my-plugin/skills/<nome>/SKILL.md) e o comando sai namespaced, no formato /meu-plugin:nome
Detalhe que pega muita gente: em skill pessoal ou de projeto, o comando de invocação vem do NOME DA PASTA. O campo name é só o rótulo que aparece na listagem (em skill de plugin, o name define o último segmento do comando e o prefixo do plugin continua lá)
E o que é divulgação progressiva?
Essa é a parte que muda a redação inteira
Na inicialização do agente, só o name e a description de cada skill entram no system prompt. O corpo do SKILL.md (e os arquivos extras) só é lido depois, quando o Claude julga que aquela skill ajuda na tarefa, usando as ferramentas de leitura de arquivo
Ou seja: tem duas camadas de escrita, com trabalhos diferentes
A description é a camada de ACIONAMENTO. Ela precisa dizer o quê + quando, e a recomendação é nome em forma gerúndia (verbo + ndo)
O corpo é a camada de EXECUÇÃO. E aqui entra o princípio que a documentação bate na tecla: seja conciso, porque a janela de contexto é um bem público compartilhado
Guarda isso, porque é justamente o que faz regra e exemplo custarem coisas diferentes…
Skill com regras versus skill com exemplos: comparação direta
Os dois estilos não competem pelo mesmo trabalho, e é aí que mora a confusão
A orientação de autoria de skills prefere ENUNCIAR A REGRA E EXPLICAR O PORQUÊ, em vez de diretiva rígida em caixa alta do tipo MUST, ALWAYS ou NEVER. O motivo é bem pragmático: explicar o porquê permite ao Claude generalizar pra casos que a skill não previu
Do outro lado, a mesma documentação afirma que exemplos transmitem o estilo e o nível de detalhe desejados com mais clareza do que descrições sozinhas, e ilustra isso com pares de entrada e saída pra formato de mensagem de commit
A tabela abaixo separa quem faz o quê:
| Critério | Skill escrita como regra (com o porquê) | Skill escrita com exemplos (pares entrada e saída) |
|---|---|---|
| O que comunica melhor | O critério e a intenção por trás da decisão | O formato e o nível de detalhe da saída |
| Caso não previsto | Ponto forte: o motivo permite generalizar pro que a skill não cobriu | Ponto fraco: o que não está exemplificado fica em aberto |
| Custo de contexto | Enxuto, uma linha de regra mais a justificativa | Maior, a orientação de few-shot pede de 3 a 5 exemplos |
| Rigidez da saída | Mais solta, o modelo interpreta o critério | Mais firme, o exemplo funciona como template a copiar |
| Formato sugerido | Regra, depois o porquê, em texto corrido | Cada exemplo em <example> e o conjunto em <examples> |
| Cuidado na manutenção | Reescrever a regra e a justificativa quando o critério muda | Manter estrutura idêntica entre exemplos e cobrir casos de borda |
Repara que a coluna do meio ganha em GENERALIZAÇÃO e a da direita ganha em REPRODUTIBILIDADE
E tem mais um detalhe da orientação de few-shot que quase ninguém segue: os exemplos precisam ser relevantes, diversos e cobrir casos de borda. Cinco exemplos parecidos entre si ensinam quase a mesma coisa que um só
Em tarefa de classificação, a regra é ainda mais dura: incluir exemplos de TODAS as classes
Em que tipo de tarefa cada estilo funciona melhor
A documentação dá um conceito que resolve essa escolha muito melhor que gosto pessoal: graus de liberdade (degrees of freedom)
A ideia é casar o nível de liberdade com o tipo de tarefa, e não escrever toda skill do mesmo jeito
Alta liberdade: instruções em texto, use seu julgamento
É o caso de tarefa aberta, tipo code review
Não tem uma saída única certa. O que existe é critério: o que importa olhar, o que é grave, o que é ruído
Aqui a regra explicada domina. Tu escreve o que quer e por quê, e o modelo aplica isso em código que tu nunca viu
Exemplo demais nesse cenário faz o Claude imitar o formato do exemplo em vez de pensar no diff que chegou
Média liberdade: pseudocódigo e scripts parametrizados
É o fluxo que tu prefere, mas que aceita variação
Aqui os dois convivem bem: a regra dá o caminho, e um exemplo ou dois mostram como fica na prática quando o cenário é o comum
Baixa liberdade: script exato, sem flags, não modifique este comando
É a operação frágil, tipo migração de banco
Nesse caso o exemplo deixa de ser ilustração e vira TEMPLATE A COPIAR. Se existe um único jeito certo de rodar, mostrar o jeito certo é mais seguro que descrever o jeito certo
E o formato de saída?
A orientação é fornecer templates de formato de saída, casando o nível de rigidez com a necessidade
Requisito estrito (resposta de API, formato de dados)? Template exato, e o exemplo entrega isso melhor que qualquer descrição
Adaptação é útil? Formato padrão adaptável, com a regra explicando quando adaptar
É o mesmo raciocínio que aparece quando o assunto é regras de breakpoint que o modelo segue: quanto mais fixo o resultado esperado, mais o exemplo carrega o peso
Como descobrir qual estilo funciona na sua skill
Agora a parte que separa achismo de resposta: medir na TUA skill 🙂
A documentação recomenda um fluxo orientado a avaliação, e ele existe justamente porque a resposta muda de skill pra skill
- Monte os cenários de avaliação ANTES de escrever documentação extensa. Pega as lacunas reais, os casos em que o Claude erra hoje, e transforma cada um num cenário de teste. O erro comum deste passo: escrever o
SKILL.mdcompletão primeiro e só depois pensar em como medir se ele ajudou - Meça a linha de base sem a skill. Roda os mesmos cenários com o Claude puro e anota o resultado. O erro comum deste passo: comparar duas versões da skill sem nunca ter medido o baseline, aí tu não sabe se a skill melhorou algo ou se o modelo já acertava sozinho
- Escreva instruções mínimas. Versão curta, sem enfeite, no estilo que tu acha que resolve. O erro comum deste passo: já nascer com 300 linhas de corpo, porque aí não dá pra saber qual pedaço fez efeito
- Rode as avaliações e compare contra o baseline. É esse delta que responde a pergunta do post na TUA skill, não a opinião de ninguém
- Faça o A/B às cegas entre as duas versões. A Anthropic mantém o repositório público anthropics/skills com Agent Skills open source, incluindo a
skill-creator, que ganhou recursos de teste e medição: avaliações, benchmarks (taxa de acerto, tempo e uso de tokens) e comparator agents que fazem comparação A/B entre duas versões de skill, ou skill versus ausência de skill, julgando as saídas SEM saber qual é qual - Ajuste a
descriptionpra reduzir falso positivo e falso negativo de acionamento. Skill que não dispara não tem estilo bom nem ruim, ela simplesmente não roda. Vale a mesma investigação de quando a skill não funciona no projeto. O erro comum deste passo: mexer nonameachando que ele é o comando, quando em skill pessoal ou de projeto o comando vem do nome da pasta e onameé só o rótulo exibido na listagem - Itere com duas instâncias. Uma instância do Claude ajuda a projetar e refinar a skill, a outra usa a skill em tarefas reais. Ciclo de observar, refinar, testar, e repete
- Teste com todos os modelos que você pretende usar. O que um modelo pega pela regra, outro pode precisar ver exemplificado
Veredito: qual estilo o modelo segue melhor
Vou ser honesto no fechamento, do jeito que a evidência disponível permite
Os EXEMPLOS ganham quando o que tu quer é formato reproduzível e a saída tem forma fixa. Mensagem de commit, resposta de API, formato de dados: mostrar o par de entrada e saída comunica o nível de detalhe de um jeito que descrição nenhuma alcança
A REGRA COM JUSTIFICATIVA ganha quando a skill vai encontrar caso fora do previsto. É literalmente o argumento da documentação: explicar o motivo permite ao Claude generalizar pro que a skill não cobriu, coisa que a diretiva seca em caixa alta não faz
A combinação vencedora, então, é bem menos dramática que a pergunta do título: regra explicada + poucos exemplos bem escolhidos, dentro do grau de liberdade certo da tarefa, sem inflar o contexto
E aqui vai o aviso importante: esse veredito é a posição da documentação de autoria de skills, não resultado de teste feito por mim. Eu não tenho número de aderência comparando os dois estilos, e não vou inventar um pra fechar o post bonitinho
Quem decide de verdade é o A/B na TUA base de avaliações 😉
Conclusão
No fim, três princípios centrais de autoria seguram tudo que a gente viu: ser conciso (a janela de contexto é um bem público compartilhado), definir o grau de liberdade adequado à tarefa e testar com todos os modelos que você pretende usar
Regra explica o critério e sobrevive ao caso não previsto
Exemplo trava o formato e o nível de detalhe
O próximo passo é bem concreto e cabe hoje: escreve a versão mínima da tua skill, cria dois ou três cenários de avaliação, mede o baseline sem a skill e roda a comparação entre a versão com regras e a versão com exemplos
Só depois disso vale a pena crescer o SKILL.md
até o próximo post!
Perguntas frequentes
Onde fica a pasta de uma skill pessoal versus uma skill de projeto no Claude Code?
Skill pessoal mora em ~/.claude/skills/<nome-da-skill>/ e skill de projeto mora em .claude/skills/<nome-da-skill>/. Em ambos os casos, o comando de invocação vem do nome da pasta, não do campo name do frontmatter.
Qual a diferença entre o nome da pasta e o campo name dentro do SKILL.md?
Em skill pessoal ou de projeto, o nome da pasta define o comando de invocação, e o campo name serve só como rótulo exibido na listagem. Já em skill de plugin o name define o último segmento do comando, mantendo o prefixo do plugin antes dele.
Quantos exemplos a documentação recomenda incluir numa skill com pares entrada e saída?
A orientação de few-shot indica de 3 a 5 exemplos para melhores resultados, cada um envolvido em <example> e o conjunto inteiro em <examples>. Eles precisam ser relevantes, diversos e cobrir casos de borda, e em tarefa de classificação é preciso incluir exemplos de todas as classes.
Por que a documentação de skills evita instruções em MUST, ALWAYS e NEVER?
Porque o padrão recomendado é enunciar a regra e explicar o porquê, em vez de diretiva rígida em caixa alta. Explicar o motivo permite ao Claude generalizar o critério para casos que a skill não previu, o que uma diretiva seca não entrega.
Existe um repositório oficial com exemplos reais de Agent Skills pra estudar?
Sim, a Anthropic mantém o repositório público anthropics/skills com Agent Skills open source. Ele inclui a skill skill-creator, que também ganhou avaliações, benchmarks e comparator agents para A/B às cegas.
Como saber se a skill que eu escrevi realmente melhorou a resposta do Claude?
O fluxo recomendado é orientado a avaliação: montar cenários que testem as lacunas, medir a linha de base sem a skill, escrever instruções mínimas e comparar o resultado contra esse baseline. Depois disso, a comparação A/B às cegas entre duas versões da skill mostra qual estilo funciona melhor no seu caso.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
Bateu o limite de uso do Claude Code? Como retomar a tarefa sem refazer tudo
Bateu o limite de uso do Claude Code? Veja como retomar a tarefa de onde parou com /usage, CLAUDE.md e --continue, sem refazer nada.
Como pagar o Claude Code no Brasil: cartão, dólar, IOF e quanto fica em reais
Claude Code preço Brasil na prática: câmbio, IOF de 3,5% e quanto fica na fatura. Planos Pro e Max convertidos em reais e como pagar com cartão.
Como instalar uma skill no Claude Code: passo a passo
Saiba como instalar skill no Claude Code: use a pasta pessoal para todas as sessões ou a pasta de projeto para versionar. Frontmatter YAML é obrigatório.
