Este guia mostra como criar, usar e gerenciar Agent Skills no Claude Code. Skills são capacidades modulares que estendem a funcionalidade do Claude através de pastas organizadas contendo instruções, scripts e recursos.
Pré-requisitos
- Claude Code versão 1.0 ou posterior
- Familiaridade básica com Claude Code
O que são Agent Skills?
Agent Skills empacotam expertise em capacidades descobríveis. Cada Skill consiste em um arquivo SKILL.md com instruções que Claude lê quando relevante, além de arquivos de suporte opcionais como scripts e templates.
Como Skills são invocadas: Skills são invocadas pelo modelo—Claude decide autonomamente quando usá-las com base em sua solicitação e na descrição da Skill. Isso é diferente de comandos de barra, que são invocados pelo usuário (você digita explicitamente /comando para acioná-los).
Benefícios:
- Estenda as capacidades do Claude para seus fluxos de trabalho específicos
- Compartilhe expertise em sua equipe via git
- Reduza prompts repetitivos
- Componha múltiplas Skills para tarefas complexas
Saiba mais na visão geral de Agent Skills.
Crie uma Skill
Skills são armazenadas como diretórios contendo um arquivo SKILL.md.
Personal Skills
Personal Skills estão disponíveis em todos os seus projetos. Armazene-as em ~/.claude/skills/:
mkdir -p ~/.claude/skills/my-skill-name
Use Personal Skills para:
- Seus fluxos de trabalho e preferências individuais
- Skills experimentais que você está desenvolvendo
- Ferramentas de produtividade pessoal
Project Skills
Project Skills são compartilhadas com sua equipe. Armazene-as em .claude/skills/ dentro de seu projeto:
mkdir -p .claude/skills/my-skill-name
Use Project Skills para:
- Fluxos de trabalho e convenções de equipe
- Expertise específica do projeto
- Utilitários e scripts compartilhados
Project Skills são verificadas no git e automaticamente disponíveis para membros da equipe.
Plugin Skills
Skills também podem vir de plugins do Claude Code. Plugins podem agrupar Skills que estão automaticamente disponíveis quando o plugin é instalado. Essas Skills funcionam da mesma forma que Personal e Project Skills.
Escreva SKILL.md
Crie um arquivo SKILL.md com frontmatter YAML e conteúdo Markdown:
---
name: your-skill-name
description: Brief description of what this Skill does and when to use it
---
# Your Skill Name
## Instructions
Provide clear, step-by-step guidance for Claude.
## Examples
Show concrete examples of using this Skill.
Requisitos de campo:
name: Deve usar apenas letras minúsculas, números e hífens (máximo 64 caracteres)
description: Breve descrição do que a Skill faz e quando usá-la (máximo 1024 caracteres)
O campo description é crítico para Claude descobrir quando usar sua Skill. Deve incluir tanto o que a Skill faz quanto quando Claude deve usá-la.
Veja o guia de melhores práticas para orientação completa de autoria incluindo regras de validação.
Adicione arquivos de suporte
Crie arquivos adicionais ao lado de SKILL.md:
my-skill/
├── SKILL.md (required)
├── reference.md (optional documentation)
├── examples.md (optional examples)
├── scripts/
│ └── helper.py (optional utility)
└── templates/
└── template.txt (optional template)
Referencie esses arquivos de SKILL.md:
For advanced usage, see [reference.md](reference.md).
Run the helper script:
```bash
python scripts/helper.py input.txt
```
Claude lê esses arquivos apenas quando necessário, usando divulgação progressiva para gerenciar o contexto de forma eficiente.
Use o campo frontmatter allowed-tools para limitar quais ferramentas Claude pode usar quando uma Skill está ativa:
---
name: safe-file-reader
description: Read files without making changes. Use when you need read-only file access.
allowed-tools: Read, Grep, Glob
---
# Safe File Reader
This Skill provides read-only file access.
## Instructions
1. Use Read to view file contents
2. Use Grep to search within files
3. Use Glob to find files by pattern
Quando essa Skill está ativa, Claude pode usar apenas as ferramentas especificadas (Read, Grep, Glob) sem precisar pedir permissão. Isso é útil para:
- Skills somente leitura que não devem modificar arquivos
- Skills com escopo limitado (por exemplo, apenas análise de dados, sem escrita de arquivos)
- Fluxos de trabalho sensíveis à segurança onde você quer restringir capacidades
Se allowed-tools não for especificado, Claude pedirá permissão para usar ferramentas normalmente, seguindo o modelo de permissão padrão.
allowed-tools é suportado apenas para Skills no Claude Code.
Visualize Skills disponíveis
Skills são automaticamente descobertas pelo Claude de três fontes:
- Personal Skills:
~/.claude/skills/
- Project Skills:
.claude/skills/
- Plugin Skills: agrupadas com plugins instalados
Para visualizar todas as Skills disponíveis, pergunte ao Claude diretamente:
What Skills are available?
ou
List all available Skills
Isso mostrará todas as Skills de todas as fontes, incluindo Plugin Skills.
Para inspecionar uma Skill específica, você também pode verificar o sistema de arquivos:
# List personal Skills
ls ~/.claude/skills/
# List project Skills (if in a project directory)
ls .claude/skills/
# View a specific Skill's content
cat ~/.claude/skills/my-skill/SKILL.md
Teste uma Skill
Após criar uma Skill, teste-a fazendo perguntas que correspondam à sua descrição.
Exemplo: Se sua descrição menciona “arquivos PDF”:
Can you help me extract text from this PDF?
Claude decide autonomamente usar sua Skill se corresponder à solicitação—você não precisa invocá-la explicitamente. A Skill é ativada automaticamente com base no contexto de sua pergunta.
Depure uma Skill
Se Claude não usar sua Skill, verifique esses problemas comuns:
Torne a descrição específica
Muito vaga:
description: Helps with documents
Específica:
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
Inclua tanto o que a Skill faz quanto quando usá-la na descrição.
Verifique o caminho do arquivo
Personal Skills: ~/.claude/skills/skill-name/SKILL.md
Project Skills: .claude/skills/skill-name/SKILL.md
Verifique se o arquivo existe:
# Personal
ls ~/.claude/skills/my-skill/SKILL.md
# Project
ls .claude/skills/my-skill/SKILL.md
Verifique a sintaxe YAML
YAML inválido impede que a Skill seja carregada. Verifique o frontmatter:
cat SKILL.md | head -n 10
Certifique-se de:
- Abertura
--- na linha 1
- Fechamento
--- antes do conteúdo Markdown
- Sintaxe YAML válida (sem abas, indentação correta)
Visualize erros
Execute Claude Code com modo de depuração para ver erros de carregamento de Skill:
Abordagem recomendada: Distribua Skills através de plugins.
Para compartilhar Skills via plugin:
- Crie um plugin com Skills no diretório
skills/
- Adicione o plugin a um marketplace
- Membros da equipe instalam o plugin
Para instruções completas, veja Adicione Skills ao seu plugin.
Você também pode compartilhar Skills diretamente através de repositórios de projeto:
Passo 1: Adicione Skill ao seu projeto
Crie uma Project Skill:
mkdir -p .claude/skills/team-skill
# Create SKILL.md
Passo 2: Commit no git
git add .claude/skills/
git commit -m "Add team Skill for PDF processing"
git push
Passo 3: Membros da equipe obtêm Skills automaticamente
Quando membros da equipe puxam as últimas mudanças, Skills estão imediatamente disponíveis:
git pull
claude # Skills are now available
Atualize uma Skill
Edite SKILL.md diretamente:
# Personal Skill
code ~/.claude/skills/my-skill/SKILL.md
# Project Skill
code .claude/skills/my-skill/SKILL.md
As mudanças entram em vigor na próxima vez que você inicia Claude Code. Se Claude Code já está em execução, reinicie-o para carregar as atualizações.
Remova uma Skill
Delete o diretório da Skill:
# Personal
rm -rf ~/.claude/skills/my-skill
# Project
rm -rf .claude/skills/my-skill
git commit -m "Remove unused Skill"
Melhores práticas
Mantenha Skills focadas
Uma Skill deve abordar uma capacidade:
Focada:
- “PDF form filling”
- “Excel data analysis”
- “Git commit messages”
Muito ampla:
- “Document processing” (dividir em Skills separadas)
- “Data tools” (dividir por tipo de dados ou operação)
Escreva descrições claras
Ajude Claude a descobrir quando usar Skills incluindo gatilhos específicos em sua descrição:
Clara:
description: Analyze Excel spreadsheets, create pivot tables, and generate charts. Use when working with Excel files, spreadsheets, or analyzing tabular data in .xlsx format.
Vaga:
Tenha colegas de equipe usarem Skills e forneçam feedback:
- A Skill é ativada quando esperado?
- As instruções são claras?
- Há exemplos ou casos extremos faltando?
Documente versões de Skill
Você pode documentar versões de Skill em seu conteúdo SKILL.md para rastrear mudanças ao longo do tempo. Adicione uma seção de histórico de versão:
# My Skill
## Version History
- v2.0.0 (2025-10-01): Breaking changes to API
- v1.1.0 (2025-09-15): Added new features
- v1.0.0 (2025-09-01): Initial release
Isso ajuda membros da equipe a entender o que mudou entre versões.
Solução de problemas
Claude não usa minha Skill
Sintoma: Você faz uma pergunta relevante mas Claude não usa sua Skill.
Verifique: A descrição é específica o suficiente?
Descrições vagas dificultam a descoberta. Inclua tanto o que a Skill faz quanto quando usá-la, com termos-chave que usuários mencionariam.
Muito genérica:
description: Helps with data
Específica:
description: Analyze Excel spreadsheets, generate pivot tables, create charts. Use when working with Excel files, spreadsheets, or .xlsx files.
Verifique: O YAML é válido?
Execute validação para verificar erros de sintaxe:
# View frontmatter
cat .claude/skills/my-skill/SKILL.md | head -n 15
# Check for common issues
# - Missing opening or closing ---
# - Tabs instead of spaces
# - Unquoted strings with special characters
Verifique: A Skill está no local correto?
# Personal Skills
ls ~/.claude/skills/*/SKILL.md
# Project Skills
ls .claude/skills/*/SKILL.md
Skill tem erros
Sintoma: A Skill é carregada mas não funciona corretamente.
Verifique: Dependências estão disponíveis?
Claude instalará automaticamente dependências necessárias (ou pedirá permissão para instalá-las) quando precisar delas.
Verifique: Scripts têm permissões de execução?
chmod +x .claude/skills/my-skill/scripts/*.py
Verifique: Caminhos de arquivo estão corretos?
Use barras para frente (estilo Unix) em todos os caminhos:
Correto: scripts/helper.py
Errado: scripts\helper.py (estilo Windows)
Múltiplas Skills em conflito
Sintoma: Claude usa a Skill errada ou parece confuso entre Skills similares.
Seja específico em descrições: Ajude Claude a escolher a Skill certa usando termos de gatilho distintos em suas descrições.
Em vez de:
# Skill 1
description: For data analysis
# Skill 2
description: For analyzing data
Use:
# Skill 1
description: Analyze sales data in Excel files and CRM exports. Use for sales reports, pipeline analysis, and revenue tracking.
# Skill 2
description: Analyze log files and system metrics data. Use for performance monitoring, debugging, and system diagnostics.
Exemplos
Skill Simples (arquivo único)
commit-helper/
└── SKILL.md
---
name: generating-commit-messages
description: Generates clear commit messages from git diffs. Use when writing commit messages or reviewing staged changes.
---
# Generating Commit Messages
## Instructions
1. Run `git diff --staged` to see changes
2. I'll suggest a commit message with:
- Summary under 50 characters
- Detailed description
- Affected components
## Best practices
- Use present tense
- Explain what and why, not how
code-reviewer/
└── SKILL.md
---
name: code-reviewer
description: Review code for best practices and potential issues. Use when reviewing code, checking PRs, or analyzing code quality.
allowed-tools: Read, Grep, Glob
---
# Code Reviewer
## Review checklist
1. Code organization and structure
2. Error handling
3. Performance considerations
4. Security concerns
5. Test coverage
## Instructions
1. Read the target files using Read tool
2. Search for patterns using Grep
3. Find related files using Glob
4. Provide detailed feedback on code quality
pdf-processing/
├── SKILL.md
├── FORMS.md
├── REFERENCE.md
└── scripts/
├── fill_form.py
└── validate.py
SKILL.md:
---
name: pdf-processing
description: Extract text, fill forms, merge PDFs. Use when working with PDF files, forms, or document extraction. Requires pypdf and pdfplumber packages.
---
# PDF Processing
## Quick start
Extract text:
```python
import pdfplumber
with pdfplumber.open("doc.pdf") as pdf:
text = pdf.pages[0].extract_text()
```
For form filling, see [FORMS.md](FORMS.md).
For detailed API reference, see [REFERENCE.md](REFERENCE.md).
## Requirements
Packages must be installed in your environment:
```bash
pip install pypdf pdfplumber
```
Liste pacotes necessários na descrição. Pacotes devem ser instalados em seu ambiente antes de Claude poder usá-los.
Claude carrega arquivos adicionais apenas quando necessário.
Próximos passos