Uma skill para tudo ou várias pequenas: qual divisão funciona melhor no Claude Code?

como dividir skills no Claude Code entre uma única e várias menores
Resposta rápida

Dividir skills no Claude Code não é questão de gosto, é questão de acionamento e de contexto. Toda skill é um SKILL.md com frontmatter YAML (só name e description são obrigatórios), e o Claude carrega esses metadados de todas as skills instaladas na inicialização, deixando o corpo pra quando a tarefa combinar com a description. Skill única ganha quando o fluxo tem um caminho seguro só e as etapas sempre rodam juntas. Fatiar ganha quando os contextos são mutuamente exclusivos ou raramente usados juntos, ou quando o corpo passa das 500 linhas que a doc oficial recomenda como teto.

Fala aí, beleza? Tem uma decisão que vem ANTES de você escrever a primeira linha do seu SKILL.md, e quase ninguém para pra pensar nela: você vai empacotar o fluxo inteiro numa skill só, ou fatiar em skills menores por etapa?

Parece detalhe de organização, mas não é

Toda skill é um arquivo SKILL.md com frontmatter YAML, e só dois campos são obrigatórios ali: name e description

O name aceita no máximo 64 caracteres, só letras minúsculas, números e hifens, sem tags XML e sem as palavras reservadas anthropic ou claude

O description vai até 1024 caracteres, não pode ficar vazio, também não aceita tags XML, e precisa dizer o que a skill faz E quando usar ela

Repare no detalhe: esses dois campos são justamente o que o Claude carrega de TODAS as suas skills logo na inicialização

Ou seja, a granularidade que você escolher muda diretamente como o Claude encontra e carrega o seu arquivo 🙂

Domine o Claude Code do básico ao avançado
Pré-inscrição Formação Claude Code

Domine o Claude Code do básico ao avançado

Você vai aprender a criar sistemas completos com Claude Code, sem precisar ser programador. Inscreva-se para ter acesso a um desconto de lançamento e bônus especiais!

Skill única x skills menores: comparativo lado a lado

Antes da tabela, o mecanismo que explica quase toda linha dela: skills usam divulgação progressiva em 3 níveis

Nível 1: name + description de cada skill instalada entram no system prompt sempre

Nível 2: o corpo do SKILL.md só entra em contexto quando a tarefa combina com a description

Nível 3: arquivos extras são lidos só quando referenciados

Enquanto a skill não é acionada, ela custa em contexto apenas os metadados, o que permite manter várias skills instaladas sem estourar o contexto à toa

Se liga no comparativo:

Critério Skill única (fluxo inteiro) Skills menores (uma por etapa)
Custo de contexto parado Um par name + description carregado sempre Vários pares carregados sempre, um por skill
Custo de contexto quando aciona Entra o corpo inteiro, mesmo a parte que a tarefa não usa Entra só o corpo da etapa que casou com a description
Acionamento Uma description ampla precisa cobrir tudo que o fluxo faz Cada description é específica do seu pedaço
Tamanho do corpo Risco de passar do teto recomendado de 500 linhas Mais fácil cada corpo ficar folgado abaixo de 500 linhas
Manutenção Mexer numa etapa é mexer no arquivo que vale pro fluxo todo Mexer numa etapa não toca nas outras
Invocação direta Um /nome-da-skill só, chama o fluxo completo Um /nome-da-skill por etapa, dá pra chamar só o pedaço
Distribuição Um diretório pra versionar e distribuir Vários diretórios pra versionar e distribuir

E onde esses diretórios ficam importa tanto quanto o conteúdo deles

No Claude Code, o local define QUEM consegue usar a skill: ~/.claude/skills/<skill-name>/SKILL.md é pessoal e vale em todos os seus projetos, .claude/skills/<skill-name>/SKILL.md é do projeto e vale só ali, <plugin>/skills/<skill-name>/SKILL.md vale onde o plugin está habilitado, e o nível enterprise vem via managed settings

A skill de projeto é a que você distribui pro time: é só commitar .claude/skills/ no repositório

Tome cuidado com nome repetido! Quando skills de níveis diferentes têm o mesmo name, existe ordem de precedência: enterprise sobrescreve pessoal, e pessoal sobrescreve projeto

Ou seja, fatiar em muitas skills multiplica também as chances de colisão de nome

E vale lembrar que esse mesmo formato de arquivo aparece em outros agentes, dá pra ver o paralelo em skills em agentes de código

Quando uma skill única é a escolha certa

A doc oficial dá um critério bonito pra isso: calibrar os graus de liberdade da skill conforme a fragilidade e a variabilidade da tarefa

Baixo grau de liberdade é quando só existe UM caminho seguro: aí você escreve instruções exatas e guardrails (limites)

O exemplo citado na própria documentação é migração de banco de dados, que precisa rodar em sequência exata

E aqui o monolito ganha fácil

O fluxo tem um caminho seguro só:

Se o passo 3 sem o passo 2 quebra o banco, fatiar é convite pro Claude acionar a etapa errada sozinho

Numa skill única, a sequência inteira está no mesmo corpo, na ordem, com os avisos no lugar certo

É como uma receita de bolo: você não separa ‘bater a massa’ e ‘levar ao forno’ em dois papéis diferentes esperando que alguém adivinhe a ordem 😀

As etapas são SEMPRE usadas juntas:

O critério oficial pra dividir conteúdo é contexto mutuamente exclusivo ou raramente usado junto

Inverte a frase e você tem o critério pra NÃO dividir: se as etapas rodam sempre juntas, separar só cria três descriptions competindo pelo mesmo acionamento

O corpo cabe folgado abaixo de 500 linhas:

A recomendação oficial é manter o corpo do SKILL.md abaixo de 500 linhas

Se o seu fluxo inteiro cabe ali com sobra, você não tem problema de tamanho pra resolver

Dividir por dividir, nesse caso, é só trabalho a mais de manutenção

Quando vale fatiar em skills menores por etapa

Agora o outro lado

Os contextos são mutuamente exclusivos:

Esse é o critério mais direto da documentação: quando o conteúdo cobre situações que raramente aparecem juntas, separar reduz uso de tokens

Pensa num fluxo que atende três frentes que nunca se cruzam numa mesma tarefa

Junto tudo, toda vez que a skill aciona por causa de uma frente, o corpo das outras duas entra em contexto de carona

O corpo passou de 500 linhas:

Quando o SKILL.md fica grande demais, a orientação oficial é clara: separar o conteúdo em arquivos e referenciá-los

E aqui tem a alternativa intermediária que muita gente esquece

Você NÃO precisa ir direto de ‘uma skill gigante’ pra ‘cinco skills’

Dá pra manter uma skill só e mover o conteúdo pesado pra arquivos referenciados, que são lidos apenas quando necessários

Algo assim:

.claude/skills/
└── revisao-de-codigo/
    ├── SKILL.md
    ├── seguranca.md
    └── performance.md

O SKILL.md continua sendo a porta de entrada, e os arquivos auxiliares só entram em contexto quando o próprio fluxo mandar ler

Isso é o nível 3 da divulgação progressiva trabalhando a seu favor

A tarefa tem alto grau de liberdade:

Quando muitos caminhos levam ao sucesso, a doc recomenda dar só a direção geral

O exemplo oficial citado é code review

E tarefa de direção geral pede skill enxuta, não manual gigante tentando prever cada caso

Tem um detalhe de modelo aqui:

A documentação avisa que o nível de detalhe necessário varia por modelo

O que funciona bem no Opus pode exigir mais detalhe no Haiku

Se a sua skill vai rodar em vários modelos, escreva instruções que funcionem em todos

Isso mexe na conta do tamanho: skill que precisa ser mais explícita cresce mais rápido, e chega antes no ponto de dividir

E se você ainda tem dúvida sobre em quais ambientes esse arquivo é lido, vale entender onde uma skill roda de verdade antes de decidir a divisão

Veredito: qual divisão funciona melhor

Vou ser honesto contigo: não existe resposta única aqui, e desconfie de quem te vender uma

A granularidade não se escolhe por gosto nem por estética de pasta bonita

Ela se escolhe por DUAS coisas: acionamento e exclusividade dos contextos

Acionamento porque o Claude decide carregar o corpo comparando a tarefa com a description

Exclusividade porque o único critério oficial pra separar conteúdo é contexto mutuamente exclusivo ou raramente usado junto

Então a régua prática pra dividir skills no Claude Code cabe em três perguntas:

  1. As etapas rodam sempre juntas? Se sim, mantém numa skill só. Se cada uma aparece sozinha na maior parte do tempo, fatia
  2. O corpo passa de 500 linhas? Se passa, separa em arquivos referenciados primeiro. Só vira skill nova se as descriptions também forem diferentes de verdade
  3. Existe um caminho só ou muitos? Caminho único e frágil pede baixa liberdade e instruções exatas no mesmo arquivo. Muitos caminhos pedem direção geral e corpo enxuto

O critério deste post é o que a documentação oficial recomenda

Número de tamanho ideal por tipo de skill que circula por aí eu não vou repetir, porque não achei em fonte oficial

Acho zoado botar dado por achismo

Por onde começar a sua primeira skill

A recomendação oficial começa num lugar que não é o editor: começa na avaliação

Identifique as lacunas REAIS de capacidade do agente e construa skills de forma incremental pra cobrir essas lacunas

O que isso quer dizer na prática? Não nasça com um pacote grande

Você não precisa adivinhar a granularidade certa no dia 1: descobre onde o agente falha, escreve a skill pra aquilo, e deixa a divisão aparecer conforme os contextos se separam sozinhos

Dois lugares pra olhar antes de sair escrevendo:

  1. O repositório público de Agent Skills da Anthropic, em anthropics/skills, pra ver como skills reais estão escritas
  2. A skill oficial skill-creator, distribuída como plugin: ela vive em plugins/skill-creator/skills/skill-creator/SKILL.md, no repositório anthropics/claude-plugins-official

E fecho com uma pegadinha que pode te queimar tempo

O campo de frontmatter allowed-tools só é suportado quando você usa a CLI do Claude Code

Ele NÃO se aplica a skills via SDK, onde o acesso a ferramentas é controlado pela opção allowedTools da query

No Agent SDK ainda tem outro detalhe: quais diretórios de skills carregam depende do setting sources, com .claude/skills/ entrando quando inclui "project" e ~/.claude/skills/ quando inclui "user"

Ou seja, a mesma skill pode simplesmente não aparecer se você mudar de ambiente e esquecer disso

Decide a granularidade pelo acionamento, começa pequeno, cresce quando o contexto pedir

Até o próximo post! 😀

Perguntas frequentes

Quantas skills dá pra instalar no Claude Code sem pesar no contexto?

Dá pra instalar bastante, porque enquanto uma skill não é acionada ela custa em contexto só o par name e description. O corpo completo do SKILL.md só entra quando a tarefa combina com a description, e arquivos auxiliares só quando referenciados. É a divulgação progressiva em 3 níveis que sustenta isso.

Qual o limite de caracteres do name e da description de uma skill?

O name aceita no máximo 64 caracteres, só letras minúsculas, números e hifens, sem tags XML e sem as palavras reservadas anthropic ou claude. Já a description vai até 1024 caracteres, não pode ficar vazia, também não aceita tags XML e precisa dizer o que a skill faz e quando usar ela.

Dá pra chamar uma skill direto sem esperar o Claude decidir sozinho?

Dá sim. Digitando /nome-da-skill você invoca a skill diretamente, sem depender do Claude reconhecer o contexto pela description. Isso funciona junto com o carregamento automático: o Claude também pode acionar a mesma skill sozinho quando a conversa combinar com ela.

O que acontece se duas skills tiverem o mesmo nome em níveis diferentes no Claude Code?

Existe uma ordem de precedência fixa: enterprise sobrescreve pessoal, e pessoal sobrescreve projeto. Isso importa principalmente quando você fatia um fluxo em várias skills menores, porque multiplica as chances de um name colidir entre ~/.claude/skills e .claude/skills.

Como distribuir uma skill de projeto pro resto do time?

É só commitar a pasta .claude/skills/ no repositório do projeto. Como esse nível vale apenas naquele projeto, qualquer pessoa que clonar o repositório passa a ter a skill disponível automaticamente, sem precisar instalar nada à parte.

Quando devo dividir o SKILL.md em arquivos separados em vez de criar outra skill?

A recomendação oficial é manter o corpo do SKILL.md abaixo de 500 linhas e, quando passar disso, separar o conteúdo em arquivos referenciados. O critério pra dividir é contexto mutuamente exclusivo ou raramente usado junto. Se as etapas rodam sempre juntas, mantém uma skill só e move o conteúdo pesado pra arquivos auxiliares, que entram em contexto apenas quando referenciados.



Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares