Slash Commands e Skills
Slash commands são a forma de invocar funcionalidades específicas digitando / no chat. O Claude Code traz vários comandos built-in pra gerenciar a sessão e permite que você defina os seus próprios através de Skills, que são a evolução dos antigos custom commands.
Comandos Built-in Essenciais
Esses são os que você vai usar todo dia:
Gerenciamento de sessão
| Comando | O que faz |
|---|---|
/help | Mostra ajuda |
/clear | Limpa o contexto da sessão atual |
/compact [instruções] | Compacta a conversa, opcionalmente com foco específico |
/rewind (ou Esc Esc) | Volta a um checkpoint anterior |
/rename | Renomeia a sessão atual |
/resume | Retoma uma sessão anterior |
Configuração
| Comando | O que faz |
|---|---|
/init | Gera um CLAUDE.md inicial baseado no projeto |
/config | Abre as configurações |
/model | Troca o modelo (opus, sonnet, haiku) |
/effort | Ajusta o nível de raciocínio (low, medium, high, xhigh, max) |
/permissions | Gerencia permissões e allowlists |
/sandbox | Configura sandboxing |
Observabilidade
| Comando | O que faz |
|---|---|
/cost | Mostra uso de tokens e custo estimado da sessão |
/stats | Padrões de uso (para assinantes Pro/Max) |
/context | Mostra o que está consumindo a janela de contexto |
/memory | Lista CLAUDE.md, rules e auto memory carregados |
/hooks | Browser dos hooks configurados |
/mcp | Lista servidores MCP configurados |
Outros úteis
| Comando | O que faz |
|---|---|
/agents | Lista subagentes disponíveis |
/btw | Pergunta lateral que não entra no histórico |
/schedule | Cria rotinas agendadas |
/loop | Repete um prompt em intervalos |
/desktop | Migra a sessão atual pro app desktop |
/teleport | Puxa uma sessão web pro terminal local |
Bundled Skills
Diferente dos comandos built-in que executam lógica fixa, bundled skills são prompt-based: dão ao Claude um playbook detalhado que ele orquestra usando suas ferramentas. Vêm prontas em toda sessão:
| Skill | O que faz |
|---|---|
/init | Inicializa CLAUDE.md, skills e hooks num projeto |
/review | Revisa um pull request |
/security-review | Revisão de segurança das mudanças do branch |
/simplify | Revisa código alterado por reuso, qualidade e eficiência |
/debug | Workflow de debugging |
/loop | Loop com auto-pacing |
/claude-api | Para apps que usam o Anthropic SDK |
Custom Skills
Skills são onde a coisa fica interessante. Você define workflows reutilizáveis em arquivos SKILL.md que viram comandos /seu-skill.
Onde as Skills Vivem
| Local | Caminho | Escopo |
|---|---|---|
| Personal | ~/.claude/skills/<nome>/SKILL.md | Todos seus projetos |
| Project | .claude/skills/<nome>/SKILL.md | Só esse projeto |
| Plugin | <plugin>/skills/<nome>/SKILL.md | Onde o plugin estiver habilitado |
| Enterprise | Managed settings | Toda a organização |
Higher priority vence: enterprise > personal > project. Skills no projeto devem ser commitadas no git pra serem compartilhadas com o time.
Anatomia de uma Skill
Cada skill é uma pasta com um SKILL.md:
my-skill/
├── SKILL.md # Instruções principais (obrigatório)
├── reference.md # Material de referência (opcional)
├── examples/
│ └── sample.md # Exemplos
└── scripts/
└── helper.py # Scripts que o Claude pode rodar
O SKILL.md tem frontmatter YAML + corpo em markdown:
---
name: api-conventions
description: Padrões de design de APIs REST do projeto
---
Quando criar endpoints:
- Use kebab-case nos paths
- camelCase nas propriedades JSON
- Sempre paginar listagens
- Versionar via URL (/v1/, /v2/)
Frontmatter Reference
Os campos disponíveis:
| Campo | O que faz |
|---|---|
name | Vira o slash command (/name). Lowercase, números, hífens, max 64 chars |
description | O que o skill faz e quando usar. O Claude usa pra decidir invocar automaticamente |
argument-hint | Dica de autocomplete. Ex: [issue-number] ou [filename] |
arguments | Argumentos posicionais nomeados |
disable-model-invocation | true impede o Claude de invocar automático. Use pra workflows com side effects |
user-invocable | false esconde do menu /. Para conhecimento de fundo |
allowed-tools | Ferramentas permitidas sem perguntar permissão |
model | Modelo específico (sonnet, opus, haiku, inherit) |
effort | Nível de raciocínio |
context: fork | Roda em subagente isolado |
agent | Tipo de subagente quando context: fork |
paths | Glob patterns que limitam quando o skill é ativado |
Exemplo: Skill de Deploy
Workflow com side effect que você só quer disparar manualmente:
---
name: deploy
description: Deploy da aplicação para produção
disable-model-invocation: true
allowed-tools: Bash(npm test) Bash(npm run build) Bash(./deploy.sh)
---
Deploy do $ARGUMENTS para produção:
1. Roda a suíte de testes (`npm test`)
2. Faz o build (`npm run build`)
3. Push pro target de deploy (`./deploy.sh $ARGUMENTS`)
4. Verifica que o deploy funcionou
Uso: /deploy production
Exemplo: Skill de Fix Issue
Workflow que orquestra várias ações:
---
name: fix-issue
description: Resolve uma issue do GitHub
disable-model-invocation: true
---
Resolva a issue do GitHub $ARGUMENTS seguindo nossos padrões:
1. Use `gh issue view` pra pegar os detalhes
2. Entenda o problema descrito
3. Busque no codebase os arquivos relevantes
4. Implemente a correção
5. Escreva e rode os testes
6. Garanta que passa lint e typecheck
7. Crie commit descritivo
8. Push e abre o PR
Uso: /fix-issue 1234
Argumentos
Você passa argumentos depois do nome do skill:
/fix-issue 1234
/migrate-component SearchBar React Vue
E acessa no skill:
| Variável | O que é |
|---|---|
$ARGUMENTS | Tudo que veio depois do nome |
$ARGUMENTS[N] ou $N | Argumento específico por posição |
$nome | Argumento nomeado declarado em arguments: |
${CLAUDE_SESSION_ID} | ID da sessão atual |
${CLAUDE_SKILL_DIR} | Diretório onde mora o SKILL.md |
Injeção Dinâmica de Contexto
A sintaxe !`comando` no corpo do skill executa o comando shell antes do skill chegar ao Claude. O output vira parte do prompt:
---
name: pr-summary
description: Resume mudanças de um PR
context: fork
agent: Explore
allowed-tools: Bash(gh *)
---
## Contexto do PR
- Diff: !`gh pr diff`
- Comentários: !`gh pr view --comments`
- Arquivos: !`gh pr diff --name-only`
## Sua tarefa
Resuma esse pull request...
Quando o skill roda, o gh pr diff executa primeiro e o output substitui o placeholder. O Claude recebe o prompt já com os dados.
Skills com Subagente
Adicione context: fork pra rodar o skill em contexto isolado:
---
name: deep-research
description: Pesquisa um tópico a fundo
context: fork
agent: Explore
---
Pesquise $ARGUMENTS a fundo:
1. Encontre arquivos relevantes via Glob e Grep
2. Leia e analise o código
3. Resume os achados com referências específicas
O Claude principal recebe só o resumo. Sua janela fica limpa.
Custom Commands (Legado)
Arquivos em .claude/commands/<nome>.md ainda funcionam exatamente igual a .claude/skills/<nome>/SKILL.md. Skills são recomendadas porque suportam features extras (arquivos auxiliares, controle de invocação, execução em subagente). Se você tem .claude/commands/ antigos, eles continuam funcionando sem migração.
Best Practices
O que faz sentido virar skill
- Você cola o mesmo playbook ou checklist no chat repetidas vezes
- Uma seção do
CLAUDE.mdvirou um procedimento longo - Um workflow multi-step que voc ê quer padronizar pro time
O que não faz sentido virar skill
- Tarefas únicas: prompt direto resolve
- Conhecimento que precisa estar sempre presente: vai pro
CLAUDE.md - Workflows que mudam toda hora: vira ruído
Mantenha o SKILL.md focado
A documentação oficial recomenda menos de 500 linhas. Material de referência detalhado vai em arquivos auxiliares na mesma pasta, referenciados no corpo do SKILL.md. O Claude carrega só o que precisar.
Front-load a description
A description (e when_to_use) combinadas têm cap de 1.536 caracteres no listing de skills. Coloque a frase mais importante primeiro, porque o resto pode ser truncado se você tem muitas skills.
Use disable-model-invocation para side effects
Qualquer coisa que faz commit, deploy, manda mensagem, escreve em produção: marque com disable-model-invocation: true. Você não quer o Claude decidindo sozinho que está na hora de fazer deploy só porque o código parece pronto.
Conclusão
Slash commands são o ponto de entrada pros workflows da sua equipe. Skills bem escritas viram a documentação executável do projeto, padronizam o que cada dev faz e cabem em poucos kilobytes. Nos próximos capítulos vamos ver como combinar isso com subagents e hooks pra automatizar fluxos completos.
Próximo: Subagents
Referências: