Os comandos slash fornecem uma maneira de controlar sessões do Claude Code com comandos especiais que começam com /. Esses comandos podem ser enviados através do SDK para realizar ações como limpar o histórico de conversas, compactar mensagens ou obter ajuda.
O Claude Agent SDK fornece informações sobre comandos slash disponíveis na mensagem de inicialização do sistema. Acesse essas informações quando sua sessão iniciar:
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "Olá Claude",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "init") {
console.log("Comandos slash disponíveis:", message.slash_commands);
// Exemplo de saída: ["/compact", "/clear", "/help"]
}
}Envie comandos slash incluindo-os em sua string de prompt, assim como texto regular:
import { query } from "@anthropic-ai/claude-agent-sdk";
// Enviar um comando slash
for await (const message of query({
prompt: "/compact",
options: { maxTurns: 1 }
})) {
if (message.type === "result") {
console.log("Comando executado:", message.result);
}
}/compact - Compactar Histórico de ConversaO comando /compact reduz o tamanho do seu histórico de conversa resumindo mensagens mais antigas enquanto preserva contexto importante:
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "/compact",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "compact_boundary") {
console.log("Compactação concluída");
console.log("Tokens pré-compactação:", message.compact_metadata.pre_tokens);
console.log("Gatilho:", message.compact_metadata.trigger);
}
}/clear - Limpar ConversaO comando /clear inicia uma conversa nova limpando todo o histórico anterior:
import { query } from "@anthropic-ai/claude-agent-sdk";
// Limpar conversa e começar do zero
for await (const message of query({
prompt: "/clear",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "init") {
console.log("Conversa limpa, nova sessão iniciada");
console.log("ID da sessão:", message.session_id);
}
}Além de usar comandos slash integrados, você pode criar seus próprios comandos personalizados que estão disponíveis através do SDK. Comandos personalizados são definidos como arquivos markdown em diretórios específicos, similar a como subagentes são configurados.
Comandos slash personalizados são armazenados em diretórios designados baseados em seu escopo:
.claude/commands/ - Disponíveis apenas no projeto atual~/.claude/commands/ - Disponíveis em todos os seus projetosCada comando personalizado é um arquivo markdown onde:
.md) torna-se o nome do comandoCrie .claude/commands/refactor.md:
Refatore o código selecionado para melhorar legibilidade e manutenibilidade.
Foque em princípios de código limpo e melhores práticas.Isso cria o comando /refactor que você pode usar através do SDK.
Crie .claude/commands/security-check.md:
---
allowed-tools: Read, Grep, Glob
description: Executar verificação de vulnerabilidades de segurança
model: claude-3-5-sonnet-20241022
---
Analise a base de código para vulnerabilidades de segurança incluindo:
- Riscos de injeção SQL
- Vulnerabilidades XSS
- Credenciais expostas
- Configurações insegurasUma vez definidos no sistema de arquivos, comandos personalizados ficam automaticamente disponíveis através do SDK:
import { query } from "@anthropic-ai/claude-agent-sdk";
// Usar um comando personalizado
for await (const message of query({
prompt: "/refactor src/auth/login.ts",
options: { maxTurns: 3 }
})) {
if (message.type === "assistant") {
console.log("Sugestões de refatoração:", message.message);
}
}
// Comandos personalizados aparecem na lista slash_commands
for await (const message of query({
prompt: "Olá",
options: { maxTurns: 1 }
})) {
if (message.type === "system" && message.subtype === "init") {
// Incluirá tanto comandos integrados quanto personalizados
console.log("Comandos disponíveis:", message.slash_commands);
// Exemplo: ["/compact", "/clear", "/help", "/refactor", "/security-check"]
}
}Comandos personalizados suportam argumentos dinâmicos usando placeholders:
Crie .claude/commands/fix-issue.md:
---
argument-hint: [issue-number] [priority]
description: Corrigir uma issue do GitHub
---
Corrija a issue #$1 com prioridade $2.
Verifique a descrição da issue e implemente as mudanças necessárias.Use no SDK:
import { query } from "@anthropic-ai/claude-agent-sdk";
// Passar argumentos para comando personalizado
for await (const message of query({
prompt: "/fix-issue 123 high",
options: { maxTurns: 5 }
})) {
// Comando processará com $1="123" e $2="high"
if (message.type === "result") {
console.log("Issue corrigida:", message.result);
}
}Comandos personalizados podem executar comandos bash e incluir sua saída:
Crie .claude/commands/git-commit.md:
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
description: Criar um commit git
---
## Contexto
- Status atual: !`git status`
- Diff atual: !`git diff HEAD`
## Tarefa
Crie um commit git com mensagem apropriada baseada nas mudanças.Inclua conteúdos de arquivos usando o prefixo @:
Crie .claude/commands/review-config.md:
---
description: Revisar arquivos de configuração
---
Revise os seguintes arquivos de configuração para problemas:
- Configuração do pacote: @package.json
- Configuração TypeScript: @tsconfig.json
- Configuração de ambiente: @.env
Verifique problemas de segurança, dependências desatualizadas e configurações incorretas.Organize comandos em subdiretórios para melhor estrutura:
.claude/commands/
├── frontend/
│ ├── component.md # Cria /component (project:frontend)
│ └── style-check.md # Cria /style-check (project:frontend)
├── backend/
│ ├── api-test.md # Cria /api-test (project:backend)
│ └── db-migrate.md # Cria /db-migrate (project:backend)
└── review.md # Cria /review (project)O subdiretório aparece na descrição do comando mas não afeta o nome do comando em si.
Crie .claude/commands/code-review.md:
---
allowed-tools: Read, Grep, Glob, Bash(git diff:*)
description: Revisão abrangente de código
---
## Arquivos Alterados
!`git diff --name-only HEAD~1`
## Mudanças Detalhadas
!`git diff HEAD~1`
## Lista de Verificação da Revisão
Revise as mudanças acima para:
1. Qualidade e legibilidade do código
2. Vulnerabilidades de segurança
3. Implicações de performance
4. Cobertura de testes
5. Completude da documentação
Forneça feedback específico e acionável organizado por prioridade.Crie .claude/commands/test.md:
---
allowed-tools: Bash, Read, Edit
argument-hint: [test-pattern]
description: Executar testes com padrão opcional
---
Execute testes correspondendo ao padrão: $ARGUMENTS
1. Detecte o framework de teste (Jest, pytest, etc.)
2. Execute testes com o padrão fornecido
3. Se os testes falharem, analise e corrija-os
4. Execute novamente para verificar as correçõesUse esses comandos através do SDK:
import { query } from "@anthropic-ai/claude-agent-sdk";
// Executar revisão de código
for await (const message of query({
prompt: "/code-review",
options: { maxTurns: 3 }
})) {
// Processar feedback da revisão
}
// Executar testes específicos
for await (const message of query({
prompt: "/test auth",
options: { maxTurns: 5 }
})) {
// Lidar com resultados dos testes
}