Skip to main content

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

ComandoO que faz
/helpMostra ajuda
/clearLimpa 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
/renameRenomeia a sessão atual
/resumeRetoma uma sessão anterior

Configuração

ComandoO que faz
/initGera um CLAUDE.md inicial baseado no projeto
/configAbre as configurações
/modelTroca o modelo (opus, sonnet, haiku)
/effortAjusta o nível de raciocínio (low, medium, high, xhigh, max)
/permissionsGerencia permissões e allowlists
/sandboxConfigura sandboxing

Observabilidade

ComandoO que faz
/costMostra uso de tokens e custo estimado da sessão
/statsPadrões de uso (para assinantes Pro/Max)
/contextMostra o que está consumindo a janela de contexto
/memoryLista CLAUDE.md, rules e auto memory carregados
/hooksBrowser dos hooks configurados
/mcpLista servidores MCP configurados

Outros úteis

ComandoO que faz
/agentsLista subagentes disponíveis
/btwPergunta lateral que não entra no histórico
/scheduleCria rotinas agendadas
/loopRepete um prompt em intervalos
/desktopMigra a sessão atual pro app desktop
/teleportPuxa 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:

SkillO que faz
/initInicializa CLAUDE.md, skills e hooks num projeto
/reviewRevisa um pull request
/security-reviewRevisão de segurança das mudanças do branch
/simplifyRevisa código alterado por reuso, qualidade e eficiência
/debugWorkflow de debugging
/loopLoop com auto-pacing
/claude-apiPara 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

LocalCaminhoEscopo
Personal~/.claude/skills/<nome>/SKILL.mdTodos seus projetos
Project.claude/skills/<nome>/SKILL.mdSó esse projeto
Plugin<plugin>/skills/<nome>/SKILL.mdOnde o plugin estiver habilitado
EnterpriseManaged settingsToda 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:

CampoO que faz
nameVira o slash command (/name). Lowercase, números, hífens, max 64 chars
descriptionO que o skill faz e quando usar. O Claude usa pra decidir invocar automaticamente
argument-hintDica de autocomplete. Ex: [issue-number] ou [filename]
argumentsArgumentos posicionais nomeados
disable-model-invocationtrue impede o Claude de invocar automático. Use pra workflows com side effects
user-invocablefalse esconde do menu /. Para conhecimento de fundo
allowed-toolsFerramentas permitidas sem perguntar permissão
modelModelo específico (sonnet, opus, haiku, inherit)
effortNível de raciocínio
context: forkRoda em subagente isolado
agentTipo de subagente quando context: fork
pathsGlob 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ávelO que é
$ARGUMENTSTudo que veio depois do nome
$ARGUMENTS[N] ou $NArgumento específico por posição
$nomeArgumento 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.md virou 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: