Skills: Expertise Sob Demanda
- Definir o que é uma Skill e como ela difere de enfiar tudo no CLAUDE.md
- Ler e escrever um SKILL.md — frontmatter mais instruções — e entender por que a description é o gatilho
- Explicar a divulgação progressiva e por que ela permite escalar muitas skills sem inchar o contexto
- Conhecer os três lugares onde as skills ficam: pessoal, projeto e empacotada em um plugin
- Escolher corretamente entre Skill, comando slash, subagente e MCP
- Evitar os quatro erros comuns que impedem as skills de serem acionadas
Uma Skill empacota expertise — instruções mais scripts e recursos opcionais — que o Claude carrega apenas quando relevante. Em vez de enfiar tudo no CLAUDE.md, você dá ao Claude uma biblioteca de capacidades que ele puxa sob demanda.
Anatomia
Uma skill é uma pasta com um SKILL.md: frontmatter YAML + instruções.
---
name: pdf-forms
description: Use when the user needs to fill, read, or generate PDF forms.
---
# PDF Forms
Steps and rules for working with PDF forms…
(optionally reference scripts/ or resources/ in this folder)
- A description é o gatilho — o Claude a lê para decidir quando ativar a skill. Escreva-a como "Use when…", específica o suficiente para que ela carregue no momento certo e não em outros casos.
Divulgação progressiva (por que as skills escalam)
O Claude não carrega o corpo completo de cada skill de antemão — ele vê o leve name + description e só puxa as instruções completas (e roda scripts) quando uma solicitação corresponde. Isso mantém o contexto enxuto mesmo com muitas skills instaladas.
Onde elas ficam
- ~/.claude/skills/<name>/SKILL.md — permanece sua, disponível em todos os seus projetos.
- .claude/skills/<name>/SKILL.md — faça o commit no git e toda a equipe ganha a capacidade.
- Empacote skills dentro de um plugin para distribuição na equipe. Veja Plugins e Marketplaces.
O AILmanac fornece 7 pacotes de skills prontos — copie um para experimentar.
Exemplo prático: uma skill que aciona a si mesma
Crie ~/.claude/skills/release-notes/SKILL.md:
---
name: release-notes
description: Use when the user asks to write release notes or a changelog from git history.
---
# Release Notes
1. Run `git log <last-tag>..HEAD --oneline` to get the commits.
2. Group them into Features / Fixes / Breaking changes.
3. Write user-facing notes — what changed for *users*, not commit messages.
4. Output Markdown ready to paste into a GitHub release.
Mais tarde você digita o prompt abaixo. O Claude nunca teve essas etapas no contexto — mas a solicitação corresponde à description, então ele puxa o SKILL.md completo, roda o git log e produz notas agrupadas. Você não invocou nada pelo nome; a description fez o roteamento. Adicione um arquivo scripts/ na mesma pasta e a skill pode executá-lo como parte do passo 1.
Acione a skill por intenção — sem precisar de nome
Draft release notes since v1.4.
Skill vs comando vs subagente vs MCP
| Ferramenta | O que é | Quem aciona: você vs Claude |
|---|---|---|
| Comando slash | Um prompt salvo | Você o invoca |
| Skill | Expertise sob demanda + scripts | O Claude a carrega quando relevante |
| Subagente | Um agente delegado com seu próprio contexto | O Claude delega |
| MCP | Uma conexão com ferramentas/dados externos | Fornece ferramentas para chamar |
- Você quer dispará-la sob demanda → comando slash.
- O Claude deve conhecer o procedimento e aplicá-lo quando relevante → skill.
- O trabalho deve acontecer em um contexto separado → subagente.
- Você precisa alcançar um sistema externo → MCP.
Erros comuns
- Uma descrição que não aciona. "Helps with PDFs" é vago demais; "Use when the user needs to fill, read, or generate PDF forms" diz ao Claude exatamente quando carregá-la. A descrição é todo o mecanismo de ativação — escreva-a para correspondência, não para humanos.
- Colocar tudo no CLAUDE.md em vez disso. O CLAUDE.md carrega em toda sessão e custa contexto sempre; uma skill carrega apenas quando relevante. Mova procedimentos situacionais para skills e mantenha o CLAUDE.md para regras de projeto que são sempre verdadeiras.
- Uma única skill gigante. Muitas skills pequenas e descritas com precisão roteiam melhor do que uma que tenta abarcar tudo — a divulgação progressiva só ajuda se cada descrição for específica.
- Esquecer que é compartilhável. Uma skill de projeto em .claude/skills/ com commit no git dá a capacidade a toda a equipe; uma pessoal em ~/.claude/skills/ permanece sua.