Toda semana você digita o mesmo pedido longo: "revise este PR, olhe bugs, testes que faltam, cite arquivo e linha, não fale de estilo". Uma skill guarda esse roteiro num arquivo e transforma em comando. Na Verboo Code, você cria a skill numa pasta, confere com /skills e chama com /nome-da-skill.
O que é uma skill na Verboo Code?
É um arquivo SKILL.md dentro de uma pasta com o nome da skill. O nome da pasta vira o comando: .verboo/skills/revisar-pr/SKILL.md vira /revisar-pr. O arquivo tem um cabeçalho (frontmatter) dizendo quando usar e o que a skill pode fazer, e embaixo as instruções que o agente segue.
Diferente do AGENTS.md, que entra em toda conversa, a skill só carrega o texto completo quando é chamada. Até lá, só o nome e a descrição ocupam contexto.
Como criar uma skill, passo a passo?
Na raiz do projeto, crie a pasta e o arquivo:
mkdir -p .verboo/skills/revisar-pr
touch .verboo/skills/revisar-pr/SKILL.md
Cole este conteúdo no SKILL.md:
---
description: Revisa o diff de um PR do GitHub e aponta bugs, testes faltando e nomes confusos
when_to_use: Quando o usuário pedir revisão de um pull request pelo número
argument-hint: <número do PR>
allowed-tools:
- Bash(gh pr diff:*)
- Bash(gh pr view:*)
- Read
---
Revise o pull request #$ARGUMENTS deste repositório.
1. Rode gh pr view $ARGUMENTS e gh pr diff $ARGUMENTS.
2. Quando o diff não der contexto, leia o arquivo alterado inteiro.
3. Responda em três blocos: bugs, testes que faltam, nomes que confundem.
4. Cite arquivo e linha em cada item. Não comente estilo.
Abra a sessão com verboo e chame:
/revisar-pr 42
O $ARGUMENTS vira 42 em todo lugar do texto antes de chegar ao agente.
O que o /skills mostra?
Todas as skills que a sessão carregou, agrupadas pela origem, e quantos tokens a descrição de cada uma custa no contexto. Digite:
/skills
Os grupos aparecem com o caminho de onde vieram, por exemplo Project skills (.verboo/skills) e User skills (~/.verboo/skills). Ao lado de cada skill vem algo como ~40 description tokens: é a estimativa do que o nome, a description e o when_to_use ocupam em toda conversa. Se não houver nenhuma, o menu diz No skills found e lembra os dois caminhos para criar.
Onde a Verboo Code procura skills?
Em quatro lugares. A pasta decide quem enxerga a skill.
| Origem | Caminho | Quem usa |
|---|---|---|
| Projeto | .verboo/skills/<nome>/SKILL.md (também lê .claude/skills/) | Todo mundo que clonar o repositório |
| Usuário | ~/.verboo/skills/<nome>/SKILL.md (também lê ~/.claude/skills/) | Só você, em qualquer projeto |
| Gerenciada | Pasta definida pela empresa | Toda a equipe, sem poder editar |
| Plugin e MCP | Vem do plugin ou do servidor MCP | Quem instalou |
Skill que você já escreveu para o Claude Code em ~/.claude/skills/ aparece sem copiar nada. A leitura de ~/.claude/skills/ é desligada se você definir VERBOO_CONFIG_DIR.
Pasta dentro de pasta vira namespace: .verboo/skills/frontend/revisar/SKILL.md é chamada como /frontend:revisar.
Quais campos o frontmatter aceita?
Todos são opcionais. Sem description, a Verboo Code tira a descrição do começo do texto.
| Campo | Para que serve |
|---|---|
description | Uma linha dizendo o que a skill faz. É o que o agente lê para decidir se usa. |
when_to_use | Quando acionar. Também entra na conta de tokens do /skills. |
argument-hint | Dica que aparece ao digitar o comando, como <número do PR>. |
arguments | Nomes para os argumentos: com arguments: [pr, foco], use $pr e $foco. |
allowed-tools | Ferramentas liberadas para a skill, no mesmo formato do /permissions. |
model | Modelo da skill. inherit usa o da sessão. |
effort | Nível de raciocínio, os mesmos valores do /effort. |
disable-model-invocation | true impede o agente de chamar a skill sozinho. |
user-invocable | false esconde a skill do menu de comandos; só o agente usa. |
context | fork roda a skill separada da conversa principal. |
Para os argumentos, além de $ARGUMENTS (tudo o que veio depois do comando), existem $ARGUMENTS[0], $ARGUMENTS[1] e os atalhos $0, $1. Se o texto não tiver nenhum desses, a Verboo Code acrescenta ARGUMENTS: ... no fim, então o argumento nunca se perde.
Como impedir que o agente rode a skill sozinho?
Coloque disable-model-invocation: true no frontmatter. A skill continua no menu e você segue chamando com /nome, mas o agente não consegue acioná-la por conta própria. Use em skill que faz deploy, commit, push ou qualquer coisa que você quer disparar na hora certa, não quando o agente achar que é hora.
---
description: Gera a versão, cria a tag e publica o release
disable-model-invocation: true
---
Armadilha: criou a pasta com a sessão aberta e a skill não aparece. A Verboo Code recarrega skills quando o arquivo muda, mas só observa ~/.verboo/skills e .verboo/skills se a pasta já existia quando a sessão abriu. Se foi você que criou .verboo/skills agora, saia e abra a sessão de novo, ou retome com verboo --continue. Daí para frente, editar o SKILL.md já reflete sem reiniciar.
Skill, AGENTS.md ou comando nativo: qual usar?
| Você quer | Use |
|---|---|
| Uma regra que vale em toda conversa ("use pnpm", "testes em Vitest") | AGENTS.md com /memory |
| Um roteiro que você repete de vez em quando, com argumento | Skill em .verboo/skills/ |
| Rodar um comando automático antes ou depois de cada ferramenta | Hooks |
| Compartilhar o roteiro com o time | Skill de projeto, versionada no repositório |
Skill boa é a que você chama em todo PR, inclusive no de duas mil linhas, sem pensar no tamanho. Na Verboo Code os planos rodam com token ilimitado, então o /revisar-pr pode ler o diff inteiro em cada chamada.



