⚡ O que é um slash command
Um slash command é um atalho nomeado para um arquivo de instruções. Ao digitar /meu-comando no Claude Code, o modelo carrega o arquivo de skill associado e o executa no contexto atual — como se você tivesse colado todo o conteúdo do arquivo manualmente.
⚡ Como funciona internamente
/revisar-pr no Claude Code
.claude/skills/revisar-pr.md)
$args passados
💡 A diferença entre prompt e skill
Um prompt você digita toda vez, diferente a cada sessão. Uma skill é codificada, versionada e consistente — mesmas instruções toda vez. Use skills para processos que precisam ser repetíveis e auditáveis.
📍 Comandos locais vs globais
O escopo de um slash command determina onde ele está disponível. Comandos locais vivem no repo e são para aquele projeto. Comandos globais ficam na home e estão disponíveis em qualquer sessão Claude Code.
📁 Comandos Locais (projeto)
Arquivo: .claude/settings.json
Commitado no repo — todos os devs do projeto têm acesso aos mesmos comandos.
- ✓ Comandos específicos do domínio do projeto
- ✓ Compartilhados com o time via git
- ✓ Podem referenciar arquivos do repo
🏠 Comandos Globais (usuário)
Arquivo: ~/.claude/settings.json
Personal — apenas você tem acesso, em todos os seus projetos.
- ✓ Fluxos pessoais de trabalho
- ✓ Preferências de estilo de código
- ✓ Comandos que você usa em todo projeto
📊 Exemplo de configuração de ambos
// .claude/settings.json (local - para o projeto)
{
"commands": {
"revisar-pr": {
"description": "Revisa um PR seguindo os padrões do projeto",
"file": ".claude/skills/revisar-pr.md"
},
"gerar-migration": {
"description": "Gera SQL de migration para nova tabela",
"file": ".claude/skills/gerar-migration.md"
}
}
}
// ~/.claude/settings.json (global - para o usuário)
{
"commands": {
"commit-msg": {
"description": "Gera mensagem de commit Conventional Commits",
"file": "~/.claude/skills/commit-msg.md"
}
}
}
📜 O que é uma skill
Uma skill é um arquivo Markdown com instruções detalhadas sobre como executar uma tarefa específica. É o "manual de execução" que o Claude recebe quando você aciona um slash command — pode ter contexto, exemplos, regras, checklists e referências.
📝 Exemplo de skill completa
# Skill: Revisar Pull Request
## Objetivo
Revisar o PR atual seguindo os padrões de qualidade do projeto.
## Passos obrigatórios
1. Leia o diff completo com `git diff main...HEAD`
2. Para cada arquivo modificado:
- Verifique nomenclatura (camelCase para funções, PascalCase para classes)
- Verifique que funções públicas têm testes correspondentes
- Verifique que não há `console.log` ou `debugger` residuais
3. Verifique cobertura de testes: `npm run test:coverage`
4. Liste os problemas encontrados por prioridade: CRÍTICO, MAIOR, MENOR
## Formato do relatório
```
## Revisão do PR
### Problemas Críticos (bloqueiam merge)
- [ ] ...
### Problemas Maiores (devem ser corrigidos)
- [ ] ...
### Sugestões (opcional)
- ...
```
## Referências
- Leia `docs/CONTRIBUTING.md` para padrões detalhados
💡 Skills são código, não texto
Trate skills como você trata código: versione no git, escreva mensagens de commit descritivas, revise antes de commitar. Uma skill mal escrita é como um bug — produz resultados inconsistentes sem avisar.
🔨 Criando um comando personalizado do zero
Criar um slash command envolve três etapas: escrever o arquivo de skill, registrar no settings.json e testar no Claude Code. Vamos criar um comando /analisar-deps que analisa dependências desatualizadas.
Criar o arquivo de skill
Arquivo: .claude/skills/analisar-deps.md
# Skill: Analisar Dependências
Execute `npm outdated --json` e analise o resultado.
Para cada dependência desatualizada:
1. Identifique o tipo: patch, minor ou major
2. Verifique o CHANGELOG no npm registry
3. Classifique o risco: BAIXO (patch), MÉDIO (minor), ALTO (major)
Apresente um relatório organizado por risco.
Registrar no settings.json
{
"commands": {
"analisar-deps": {
"description": "Analisa dependências desatualizadas por risco",
"file": ".claude/skills/analisar-deps.md"
}
}
}
Testar no Claude Code
# No terminal, dentro do projeto:
claude
# No Claude Code:
/analisar-deps
O Claude vai carregar a skill e executar npm outdated automaticamente.
📨 Passando argumentos para comandos
Ao digitar /meu-comando argumento extra, o texto após o nome do comando fica disponível na skill como $args. Isso permite criar skills genéricas que se adaptam conforme o contexto de uso.
📝 Skill com $args
# Skill: Gerar Componente React
# Uso: /gerar-componente NomeDoComponente
Crie um componente React chamado **$args**.
Requisitos:
- TypeScript com tipos explícitos
- Props interface com nome `${args}Props`
- Arquivo: `src/components/$args/$args.tsx`
- Story: `src/components/$args/$args.stories.tsx`
- Teste: `src/components/$args/$args.test.tsx`
Siga os padrões em `src/components/Button/` como referência.
✓ Uso correto
/gerar-componente UserAvatar
# $args = "UserAvatar"
# Cria UserAvatar.tsx, stories, test
ℹ️ Argumentos múltiplos
/gerar-componente UserAvatar large
# $args = "UserAvatar large"
# Tudo após o comando é $args
💡 Validar argumentos na skill
Inclua instrução de validação na skill: "Se $args estiver vazio, pergunte ao usuário qual nome usar antes de prosseguir". O Claude Code não valida argumentos — é responsabilidade da skill lidar com input ausente ou inválido.
✅ Boas práticas — quando criar vs quando não criar
Criar um slash command tem custo: você precisa escrever a skill, mantê-la atualizada e garantir que ela funciona em diferentes contextos. Nem tudo precisa ser um comando — saber quando não criar é tão importante quanto saber como criar.
✓ CRIE um comando quando
- ✓A tarefa é repetida 3+ vezes por semana
- ✓As instruções têm mais de 5 linhas
- ✓Consistência entre execuções é crítica
- ✓Múltiplas pessoas precisam da mesma tarefa
- ✓O processo envolve checklist ou múltiplos passos
✗ NÃO crie quando
- ✗A tarefa é única ou raramente repetida
- ✗Um prompt de 2 linhas já resolve
- ✗As instruções mudam muito a cada uso
- ✗É apenas preferência pessoal não-crítica
- ✗Você não vai manter atualizado
📊 Regra dos 3 usos
Uma heurística simples: se você usa um prompt similar 3 vezes, escreva a skill na 4ª vez. Isso evita o overhead de criar skills que você vai usar uma vez só e garante que as skills criadas realmente valem o investimento.
✅ Resumo do Módulo 1.3
Próximo Módulo:
1.4 — Estado e Persistência — como manter dados entre sessões usando arquivos e técnicas de concorrência segura