MÓDULO 1.3

⚡ Slash Commands e Skills: Automações Reutilizáveis

📚

Tópicos

6

⏱️

Minutos

40

🎯

Nível

Iniciante

🔧

Tipo

Prático

1

⚡ 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

1.Você digita /revisar-pr no Claude Code
2.Claude Code busca o comando no settings.json (local primeiro, depois global)
3.Encontra o arquivo de skill associado (ex: .claude/skills/revisar-pr.md)
4.Injeta o conteúdo do arquivo como prompt, junto com o contexto atual e os $args passados
5.Claude executa as instruções da skill como se fosse um prompt normal

💡 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.

2

📍 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"
    }
  }
}
3

📜 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.

4

🔨 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.

1

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.
2

Registrar no settings.json

{
  "commands": {
    "analisar-deps": {
      "description": "Analisa dependências desatualizadas por risco",
      "file": ".claude/skills/analisar-deps.md"
    }
  }
}
3

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.

5

📨 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.

6

✅ 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

Slash commands = atalhos para skills — /nome carrega e executa um arquivo .md de instruções
Local vs global — .claude/ para o projeto, ~/.claude/ para o usuário
Skills são Markdown versionado — trate como código, com commits e revisão
$args passa parâmetros — tudo após o nome do comando fica disponível como $args
Regra dos 3 usos — crie a skill na 4ª vez que usar o mesmo prompt

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