| name | criador-de-slash-command |
| description | Guia completo para criar slash commands personalizados no Claude Code e Claude Cowork. Ativar quando o usuário quer: (1) criar um novo /comando que não existe ainda, (2) automatizar uma tarefa repetitiva que pode ser chamada por /nome, (3) criar uma skill do zero com passo a passo, (4) adicionar um comando personalizado ao Claude Code ou Cowork. Exemplos de frases: 'cria um slash command', 'quero um comando /deploy', 'como faço um /nome', 'criar comando personalizado', 'novo slash command', 'fazer uma skill', 'criar um /comando que faça X'. |
| argument-hint | [nome-do-comando] [--projeto] |
| author | Rafa Marks - Founder Hackers Do Marketing & Advantage Marketing Strategy |
| allowed-tools | ["Read","Write","Bash","Glob"] |
Guiar o usuário na criação de um slash command personalizado para Claude Code e Claude Cowork — do zero até funcionar, sem precisar saber programar.
Resultado entregue: arquivo SKILL.md instalado no lugar certo, testado e pronto para usar com /nome-do-comando.
## Onde slash commands funcionam
| Plataforma | Suporte | Observação |
|---|
| Claude Code (CLI, VS Code, Desktop) | Sim, total | Foco principal desta skill |
| Claude Cowork | Sim, mesmo sistema | Mesmo formato, mesma pasta |
| Claude.ai (site normal) | Não | Não suporta comandos personalizados do usuário |
Passo 1 — Entender o que o usuário quer criar
Fazer estas perguntas antes de qualquer outra coisa:
a) Nome do comando:
- Como o usuário vai chamar? Exemplos:
/deploy, /criar-post, /resumir, /gerar-relatorio
- Regras: só letras minúsculas e hífens, sem espaços, máximo 64 caracteres
- Formato correto:
meu-comando (não: meu comando, não: MeuComando)
b) O que o comando vai fazer?
- Descrever em 1-2 frases o que deve acontecer quando o usuário digitar
/nome
- Exemplos: "envia o código atual para o servidor", "resume o conteúdo do arquivo aberto", "cria um novo post no formato padrão"
c) Vai receber texto depois do comando?
- Sim → o usuário vai digitar
/nome [algum texto] — precisamos capturar esse texto
- Não → o comando executa sozinho sem precisar de nada extra
d) Para todos os projetos ou só para este?
- Global: funciona em qualquer projeto → instalar em
~/.claude/skills/
- Projeto: só funciona nesta pasta → instalar em
.claude/skills/
Passo 2 — Criar a estrutura de pastas
Após coletar as respostas, executar:
Para escopo global (recomendado na maioria dos casos):
mkdir -p ~/.claude/skills/<nome-do-comando>
Para escopo de projeto:
mkdir -p .claude/skills/<nome-do-comando>
Verificar se criou corretamente:
ls ~/.claude/skills/<nome-do-comando>/
ls .claude/skills/<nome-do-comando>/
Passo 3 — Escrever o arquivo SKILL.md
Criar o arquivo SKILL.md dentro da pasta criada. Usar o template abaixo como base e preencher com as informações do usuário:
---
name: <nome-do-comando>
description: "<descrever O QUE faz + QUANDO usar + exemplos de frases que disparam o comando>"
argument-hint: "<dica do que vem depois do /comando, ex: [texto] | [arquivo] | --opcao>"
allowed-tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
---
## Objetivo
[O que este comando faz em 1-2 linhas claras]
## Instruções
[Passo a passo do que Claude deve fazer quando este comando é ativado]
## Argumentos recebidos
$ARGUMENTS
## Exemplo de uso
`/<nome-do-comando> [argumento opcional]`
Guia para preencher o frontmatter:
description — a parte mais importante. Deve responder:
- O que faz?
- Quando usar? (situações concretas)
- Exemplos de frases que o usuário vai digitar
Máximo 1024 caracteres. Exemplo de boa description:
"Cria um novo post formatado no padrão do projeto. Usar quando o usuário pedir
para criar um post, escrever um artigo novo, ou adicionar conteúdo ao blog.
Exemplos: 'cria um post sobre X', 'novo artigo', 'adiciona um post'."
argument-hint — só incluir se o comando recebe texto. Mostrar o formato esperado:
/resumir [texto ou arquivo] → argument-hint: "[texto ou arquivo]"
/deploy --staging → argument-hint: "[--staging] [--prod]"
allowed-tools — listar apenas as ferramentas que o comando vai usar:
| Se o comando vai... | Incluir |
|---|
| Ler arquivos | Read, Glob |
| Criar ou editar arquivos | Write, Edit |
| Rodar comandos no terminal | Bash |
| Buscar texto em arquivos | Grep |
| Pesquisar na internet | WebSearch, WebFetch |
| Fazer perguntas ao usuário | AskUserQuestion |
Passo 4 — Testar o comando
Após criar o arquivo SKILL.md:
-
Verificar que o arquivo existe:
cat ~/.claude/skills/<nome-do-comando>/SKILL.md
-
Reiniciar o Claude Code — novas skills só aparecem após reiniciar:
- Fechar a conversa atual
- Abrir uma nova conversa
-
Testar digitando:
/<nome-do-comando>
Ou com argumento:
/<nome-do-comando> meu texto aqui
-
Se não funcionar:
- Verificar que o nome no arquivo é igual ao nome da pasta
- Verificar que o arquivo se chama exatamente
SKILL.md
- Confirmar que o frontmatter começa com
--- e termina com ---
Claude Cowork — mesmo sistema
Claude Cowork usa o mesmo mecanismo de skills. O arquivo SKILL.md criado para Claude Code funciona automaticamente no Cowork também — mesmo formato, mesma pasta ~/.claude/skills/.
Não é necessário fazer nada diferente. A skill criada nos passos acima já funciona nos dois.
Erros comuns a evitar
| Erro | Problema | Solução |
|---|
| Description vaga: "faz coisas úteis" | Claude não sabe quando ativar | Incluir situações concretas e exemplos de frases |
| Esquecer ferramentas no allowed-tools | Comando trava ao tentar usar ferramenta não autorizada | Listar todas que serão usadas |
| Nome com espaços ou maiúsculas | Não funciona | Usar sempre kebab-case: meu-comando |
| SKILL.md com mais de 500 linhas | Consome muito contexto e fica lento | Mover detalhes extras para pasta references/ |
| Não reiniciar após criar | Skill não aparece | Fechar e abrir nova conversa |
Omitir $ARGUMENTS quando usa argumentos | Texto digitado pelo usuário é ignorado | Incluir $ARGUMENTS no corpo da skill |
$ARGUMENTS