Comandos de barra integrados

ComandoPropósito
/add-dirAdicionar diretórios de trabalho adicionais
/agentsGerenciar subagentos de IA personalizados para tarefas especializadas
/bugRelatar bugs (envia conversa para Anthropic)
/clearLimpar histórico de conversa
/compact [instructions]Compactar conversa com instruções de foco opcionais
/configAbrir a interface de Configurações (aba Config)
/costMostrar estatísticas de uso de tokens (veja guia de rastreamento de custos para detalhes específicos de assinatura)
/doctorVerifica a saúde da sua instalação do Claude Code
/helpObter ajuda de uso
/initInicializar projeto com guia CLAUDE.md
/loginAlternar contas Anthropic
/logoutSair da sua conta Anthropic
/mcpGerenciar conexões de servidor MCP e autenticação OAuth
/memoryEditar arquivos de memória CLAUDE.md
/modelSelecionar ou alterar o modelo de IA
/permissionsVisualizar ou atualizar permissões
/pr_commentsVisualizar comentários de solicitação de pull
/reviewSolicitar revisão de código
/sandboxAtivar ferramenta bash em sandbox com isolamento de sistema de arquivos e rede para execução mais segura e autônoma
/rewindRetroceder a conversa e/ou código
/statusAbrir a interface de Configurações (aba Status) mostrando versão, modelo, conta e conectividade
/terminal-setupInstalar vinculação de tecla Shift+Enter para novas linhas (apenas iTerm2 e VSCode)
/usageMostrar limites de uso do plano e status de limite de taxa (apenas planos de assinatura)
/vimEntrar no modo vim para alternar entre modos de inserção e comando

Comandos de barra personalizados

Comandos de barra personalizados permitem que você defina prompts frequentemente usados como arquivos Markdown que o Claude Code pode executar. Os comandos são organizados por escopo (específico do projeto ou pessoal) e suportam namespacing através de estruturas de diretórios.

Sintaxe

/<command-name> [arguments]

Parâmetros

ParâmetroDescrição
<command-name>Nome derivado do nome do arquivo Markdown (sem extensão .md)
[arguments]Argumentos opcionais passados para o comando

Tipos de comando

Comandos de projeto

Comandos armazenados em seu repositório e compartilhados com sua equipe. Quando listados em /help, esses comandos mostram “(project)” após sua descrição. Localização: .claude/commands/ No exemplo a seguir, criamos o comando /optimize:
# Criar um comando de projeto
mkdir -p .claude/commands
echo "Analyze this code for performance issues and suggest optimizations:" > .claude/commands/optimize.md

Comandos pessoais

Comandos disponíveis em todos os seus projetos. Quando listados em /help, esses comandos mostram “(user)” após sua descrição. Localização: ~/.claude/commands/ No exemplo a seguir, criamos o comando /security-review:
# Criar um comando pessoal
mkdir -p ~/.claude/commands
echo "Review this code for security vulnerabilities:" > ~/.claude/commands/security-review.md

Recursos

Namespacing

Organize comandos em subdiretórios. Os subdiretórios são usados para organização e aparecem na descrição do comando, mas não afetam o nome do comando em si. A descrição mostrará se o comando vem do diretório do projeto (.claude/commands) ou do diretório de nível de usuário (~/.claude/commands), junto com o nome do subdiretório. Conflitos entre comandos de nível de usuário e projeto não são suportados. Caso contrário, múltiplos comandos com o mesmo nome de arquivo base podem coexistir. Por exemplo, um arquivo em .claude/commands/frontend/component.md cria o comando /component com descrição mostrando “(project:frontend)”. Enquanto isso, um arquivo em ~/.claude/commands/component.md cria o comando /component com descrição mostrando “(user)”.

Argumentos

Passe valores dinâmicos para comandos usando placeholders de argumentos:
Todos os argumentos com $ARGUMENTS
O placeholder $ARGUMENTS captura todos os argumentos passados para o comando:
# Definição do comando
echo 'Fix issue #$ARGUMENTS following our coding standards' > .claude/commands/fix-issue.md

# Uso
> /fix-issue 123 high-priority
# $ARGUMENTS se torna: "123 high-priority"
Argumentos individuais com $1, $2, etc.
Acesse argumentos específicos individualmente usando parâmetros posicionais (semelhante a scripts de shell):
# Definição do comando  
echo 'Review PR #$1 with priority $2 and assign to $3' > .claude/commands/review-pr.md

# Uso
> /review-pr 456 high alice
# $1 se torna "456", $2 se torna "high", $3 se torna "alice"
Use argumentos posicionais quando você precisar:
  • Acessar argumentos individualmente em diferentes partes do seu comando
  • Fornecer padrões para argumentos ausentes
  • Construir comandos mais estruturados com funções de parâmetro específicas

Execução de comando bash

Execute comandos bash antes do comando de barra ser executado usando o prefixo !. A saída é incluída no contexto do comando. Você deve incluir allowed-tools com a ferramenta Bash, mas pode escolher os comandos bash específicos a permitir. Por exemplo:
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
description: Create a git commit
---

## Context

- Current git status: !`git status`
- Current git diff (staged and unstaged changes): !`git diff HEAD`
- Current branch: !`git branch --show-current`
- Recent commits: !`git log --oneline -10`

## Your task

Based on the above changes, create a single git commit.

Referências de arquivo

Inclua conteúdos de arquivo em comandos usando o prefixo @ para referenciar arquivos. Por exemplo:
# Reference a specific file

Review the implementation in @src/utils/helpers.js

# Reference multiple files

Compare @src/old-version.js with @src/new-version.js

Modo de pensamento

Comandos de barra podem ativar pensamento estendido incluindo palavras-chave de pensamento estendido.

Frontmatter

Arquivos de comando suportam frontmatter, útil para especificar metadados sobre o comando:
FrontmatterPropósitoPadrão
allowed-toolsLista de ferramentas que o comando pode usarHerda da conversa
argument-hintOs argumentos esperados para o comando de barra. Exemplo: argument-hint: add [tagId] | remove [tagId] | list. Esta dica é mostrada ao usuário ao autocompletar o comando de barra.Nenhum
descriptionBreve descrição do comandoUsa a primeira linha do prompt
modelString de modelo específica (veja Visão geral de modelos)Herda da conversa
disable-model-invocationSe deve impedir que a ferramenta SlashCommand chame este comandofalse
Por exemplo:
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [message]
description: Create a git commit
model: claude-3-5-haiku-20241022
---

Create a git commit with message: $ARGUMENTS
Exemplo usando argumentos posicionais:
---
argument-hint: [pr-number] [priority] [assignee]
description: Review pull request
---

Review PR #$1 with priority $2 and assign to $3.
Focus on security, performance, and code style.

Comandos de plugin

Plugins podem fornecer comandos de barra personalizados que se integram perfeitamente com Claude Code. Os comandos de plugin funcionam exatamente como comandos definidos pelo usuário, mas são distribuídos através de marketplaces de plugins.

Como funcionam os comandos de plugin

Os comandos de plugin são:
  • Namespaced: Os comandos podem usar o formato /plugin-name:command-name para evitar conflitos (o prefixo do plugin é opcional, a menos que haja colisões de nomes)
  • Automaticamente disponíveis: Uma vez que um plugin é instalado e habilitado, seus comandos aparecem em /help
  • Totalmente integrados: Suportam todos os recursos de comando (argumentos, frontmatter, execução bash, referências de arquivo)

Estrutura de comando de plugin

Localização: Diretório commands/ na raiz do plugin Formato de arquivo: Arquivos Markdown com frontmatter Estrutura básica de comando:
---
description: Brief description of what the command does
---

# Command Name

Detailed instructions for Claude on how to execute this command.
Include specific guidance on parameters, expected outcomes, and any special considerations.
Recursos avançados de comando:
  • Argumentos: Use placeholders como {arg1} em descrições de comando
  • Subdiretórios: Organize comandos em subdiretórios para namespacing
  • Integração Bash: Os comandos podem executar scripts de shell e programas
  • Referências de arquivo: Os comandos podem referenciar e modificar arquivos do projeto

Padrões de invocação

Comando direto (quando não há conflitos)
/command-name
Com prefixo de plugin (quando necessário para desambiguação)
/plugin-name:command-name
Com argumentos (se o comando os suportar)
/command-name arg1 arg2

Comandos de barra MCP

Servidores MCP podem expor prompts como comandos de barra que se tornam disponíveis no Claude Code. Esses comandos são descobertos dinamicamente de servidores MCP conectados.

Formato de comando

Os comandos MCP seguem o padrão:
/mcp__<server-name>__<prompt-name> [arguments]

Recursos

Descoberta dinâmica

Os comandos MCP estão automaticamente disponíveis quando:
  • Um servidor MCP está conectado e ativo
  • O servidor expõe prompts através do protocolo MCP
  • Os prompts são recuperados com sucesso durante a conexão

Argumentos

Os prompts MCP podem aceitar argumentos definidos pelo servidor:
# Sem argumentos
> /mcp__github__list_prs

# Com argumentos
> /mcp__github__pr_review 456
> /mcp__jira__create_issue "Bug title" high

Convenções de nomenclatura

  • Os nomes do servidor e do prompt são normalizados
  • Espaços e caracteres especiais se tornam underscores
  • Os nomes são minúsculos para consistência

Gerenciando conexões MCP

Use o comando /mcp para:
  • Visualizar todos os servidores MCP configurados
  • Verificar status de conexão
  • Autenticar com servidores habilitados para OAuth
  • Limpar tokens de autenticação
  • Visualizar ferramentas e prompts disponíveis de cada servidor

Permissões MCP e wildcards

Ao configurar permissões para ferramentas MCP, observe que wildcards não são suportados:
  • Correto: mcp__github (aprova TODAS as ferramentas do servidor github)
  • Correto: mcp__github__get_issue (aprova ferramenta específica)
  • Incorreto: mcp__github__* (wildcards não suportados)
Para aprovar todas as ferramentas de um servidor MCP, use apenas o nome do servidor: mcp__servername. Para aprovar apenas ferramentas específicas, liste cada ferramenta individualmente.

Ferramenta SlashCommand

A ferramenta SlashCommand permite que Claude execute comandos de barra personalizados programaticamente durante uma conversa. Isso dá ao Claude a capacidade de invocar comandos personalizados em seu nome quando apropriado. Para encorajar Claude a ativar a ferramenta SlashCommand, suas instruções (prompts, CLAUDE.md, etc.) geralmente precisam referenciar o comando pelo nome com sua barra. Exemplo:
> Run /write-unit-test when you are about to start writing tests.
Esta ferramenta coloca os metadados de cada comando de barra personalizado disponível no contexto até o limite de orçamento de caracteres. Você pode usar /context para monitorar o uso de tokens e seguir as operações abaixo para gerenciar o contexto.

Comandos suportados pela ferramenta SlashCommand

A ferramenta SlashCommand suporta apenas comandos de barra personalizados que:
  • São definidos pelo usuário. Comandos integrados como /compact e /init não são suportados.
  • Têm o campo frontmatter description preenchido. Usamos a description no contexto.
Para versões do Claude Code >= 1.0.124, você pode ver quais comandos de barra personalizados a ferramenta SlashCommand pode invocar executando claude --debug e acionando uma consulta.

Desabilitar ferramenta SlashCommand

Para impedir que Claude execute qualquer comando de barra através da ferramenta:
/permissions
# Add to deny rules: SlashCommand
Isso também removerá a ferramenta SlashCommand (e as descrições de comando de barra) do contexto.

Desabilitar apenas comandos específicos

Para impedir que um comando de barra específico fique disponível, adicione disable-model-invocation: true ao frontmatter do comando de barra. Isso também removerá os metadados do comando do contexto.

Regras de permissão SlashCommand

As regras de permissão suportam:
  • Correspondência exata: SlashCommand:/commit (permite apenas /commit sem argumentos)
  • Correspondência de prefixo: SlashCommand:/review-pr:* (permite /review-pr com quaisquer argumentos)

Limite de orçamento de caracteres

A ferramenta SlashCommand inclui um orçamento de caracteres para limitar o tamanho das descrições de comando mostradas ao Claude. Isso evita overflow de tokens quando muitos comandos estão disponíveis. O orçamento inclui o nome, argumentos e descrição de cada comando de barra personalizado.
  • Limite padrão: 15.000 caracteres
  • Limite personalizado: Defina via variável de ambiente SLASH_COMMAND_TOOL_CHAR_BUDGET
Quando o orçamento de caracteres é excedido, Claude verá apenas um subconjunto dos comandos disponíveis. Em /context, um aviso será mostrado com “M of N commands”.

Skills vs comandos de barra

Comandos de barra e Agent Skills servem propósitos diferentes no Claude Code:

Use comandos de barra para

Prompts rápidos e frequentemente usados:
  • Snippets de prompt simples que você usa frequentemente
  • Lembretes rápidos ou templates
  • Instruções frequentemente usadas que cabem em um arquivo
Exemplos:
  • /review → “Review this code for bugs and suggest improvements”
  • /explain → “Explain this code in simple terms”
  • /optimize → “Analyze this code for performance issues”

Use Skills para

Capacidades abrangentes com estrutura:
  • Fluxos de trabalho complexos com múltiplas etapas
  • Capacidades que exigem scripts ou utilitários
  • Conhecimento organizado em múltiplos arquivos
  • Fluxos de trabalho de equipe que você deseja padronizar
Exemplos:
  • Skill de processamento de PDF com scripts de preenchimento de formulário e validação
  • Skill de análise de dados com documentos de referência para diferentes tipos de dados
  • Skill de documentação com guias de estilo e templates

Diferenças principais

AspectoComandos de BarraAgent Skills
ComplexidadePrompts simplesCapacidades complexas
EstruturaArquivo .md únicoDiretório com SKILL.md + recursos
DescobertaInvocação explícita (/command)Automática (baseada no contexto)
ArquivosUm arquivo apenasMúltiplos arquivos, scripts, templates
EscopoProjeto ou pessoalProjeto ou pessoal
CompartilhamentoVia gitVia git

Comparação de exemplo

Como um comando de barra:
# .claude/commands/review.md
Review this code for:
- Security vulnerabilities
- Performance issues
- Code style violations
Uso: /review (invocação manual) Como uma Skill:
.claude/skills/code-review/
├── SKILL.md (overview and workflows)
├── SECURITY.md (security checklist)
├── PERFORMANCE.md (performance patterns)
├── STYLE.md (style guide reference)
└── scripts/
    └── run-linters.sh
Uso: “Can you review this code?” (descoberta automática) A Skill fornece contexto mais rico, scripts de validação e material de referência organizado.

Quando usar cada uma

Use comandos de barra:
  • Você invoca o mesmo prompt repetidamente
  • O prompt cabe em um arquivo único
  • Você quer controle explícito sobre quando ele é executado
Use Skills:
  • Claude deve descobrir a capacidade automaticamente
  • Múltiplos arquivos ou scripts são necessários
  • Fluxos de trabalho complexos com etapas de validação
  • A equipe precisa de orientação detalhada e padronizada
Tanto comandos de barra quanto Skills podem coexistir. Use a abordagem que se adequa às suas necessidades. Saiba mais sobre Agent Skills.

Veja também