Skills (Slash Commands)
Crie comandos /custom para automatizar tarefas repetitivas. Skills são prompts reutilizáveis que ficam disponíveis em qualquer sessão do Claude Code.
Skills são atalhos para prompts que você usa com frequência. Em vez de digitar o mesmo prompt detalhado toda vez, você cria um arquivo SKILL.md e chama com /nome-do-skill.
Estrutura de diretórios
Skills podem ser globais (disponíveis em todos os projetos) ou específicas de um projeto:
~/.claude/skills/
└── review-pr/
└── SKILL.md
.claude/skills/ ← específico do projeto
└── daily-review/
└── SKILL.mdFormato do SKILL.md
Cada skill é um arquivo Markdown com um frontmatter YAML. Os campos principais são name, description e user-invocable:
---
name: review-pr
description: Review a pull request for code quality, security, and best practices
user-invocable: true
argument-hint: "[PR number] (opcional)"
---
# Review PR
Analise o PR atual ou o número fornecido: $ARGUMENTS
Verifique:
1. Qualidade do código (clean code, SOLID)
2. Possíveis bugs ou edge cases
3. Segurança (SQL injection, XSS, secrets)
4. Performance
5. Testes adequados
6. Documentação
Formate a revisão com severidade: CRITICAL, MAJOR, MINOR, INFO.trigger: não existe na API de skills. O nome da pasta define o comando — ~/.claude/skills/review-pr/SKILL.md vira /review-pr. Use user-invocable: true para tornar a skill invocável pelo usuário.
Como usar skills no terminal
Uma vez criada, a skill fica disponível como slash command no REPL do Claude Code:
/review-pr # review PR atual
/review-pr 123 # review PR #123
/review-pr --security # foco em segurançaIdeias de skills para você criar
Skills não vêm pré-instaladas. O poder está em criar as suas. Abaixo, seis ideias clássicas para começar — cada uma vira uma pasta em ~/.claude/skills/ com um SKILL.md dentro.
Skill com $ARGUMENTS e variáveis
Use $ARGUMENTS para capturar o que o usuário digitar após o trigger. Isso torna suas skills dinâmicas:
---
name: add-tests
description: Adiciona testes para o arquivo especificado
---
Leia o arquivo: $ARGUMENTS
Crie testes unitários completos:
- Happy path
- Edge cases
- Error handling
Use Jest/Vitest. Salve em __tests__/[filename].test.tsRestringindo ferramentas com allowed-tools
O campo allowed-tools limita quais ferramentas o Claude pode usar durante a execução da skill. Isso aumenta a segurança e evita efeitos colaterais indesejados:
---
name: review-pr
description: Revisa pull requests sem modificar nenhum arquivo
user-invocable: true
allowed-tools: Bash(gh pr view *), Bash(git diff *), WebFetch, Read
---
# Review PR
Analise o PR $ARGUMENTS...
# O Claude só pode usar as ferramentas listadas — não pode editar arquivosBash(git *) permite qualquer comando git. Bash(gh pr *) permite somente comandos gh pr. Sem allowed-tools, a skill herda todas as permissões da sessão atual.Skills globais vs. de projeto
| Caminho | Escopo | Disponível em |
|---|---|---|
~/.claude/skills/ |
Global | Todos os projetos |
.claude/skills/ |
Projeto | Apenas este projeto (pode ser commitado) |
Exercício: criar skill /daily-review
Objetivo
Criar uma skill /daily-review que:
- Lê os últimos commits do dia
- Lista arquivos modificados
- Gera um resumo do que foi feito
Solução
---
name: daily-review
description: Gera resumo das atividades do dia
user-invocable: true
---
# Daily Review
Execute os seguintes passos:
1. Rode `git log --since='00:00' --oneline --author=$(git config user.email)` para listar commits de hoje
2. Rode `git diff --name-only HEAD~$(git log --since='00:00' --oneline | wc -l | tr -d ' ') HEAD` para ver arquivos modificados
3. Com base nos commits e arquivos, gere um resumo executivo de:
- O que foi implementado hoje
- Quantos commits foram feitos
- Quais áreas do código foram afetadas
- Possíveis pendências ou próximos passos