Verboo Code: how to create a skill and list yours with /skills
Back to the blog
Articleverboo codetutorialdev toolshow toagente de programação

Verboo Code: how to create a skill and list yours with /skills

MafraOctober 19, 20265 min read

Every week you type the same long request: "review this PR, look for bugs, missing tests, cite file and line, skip style comments". A skill saves that script in a file and turns it into a command. In Verboo Code, you create the skill in a folder, check it with /skills and call it with /skill-name.

What is a skill in Verboo Code?

It is a SKILL.md file inside a folder named after the skill. The folder name becomes the command: .verboo/skills/revisar-pr/SKILL.md becomes /revisar-pr. The file has a header (frontmatter) saying when to use it and what the skill may do, and below it the instructions the agent follows.

Unlike AGENTS.md, which goes into every conversation, a skill only loads its full text when called. Until then, only the name and description take up context.

How do you create a skill, step by step?

At the project root, create the folder and the file:

mkdir -p .verboo/skills/revisar-pr
touch .verboo/skills/revisar-pr/SKILL.md

Paste this into SKILL.md:

---
description: Reviews a GitHub PR diff and flags bugs, missing tests and confusing names
when_to_use: When the user asks for a pull request review by number
argument-hint: <PR number>
allowed-tools:
  - Bash(gh pr diff:*)
  - Bash(gh pr view:*)
  - Read
---

Review pull request #$ARGUMENTS in this repository.

1. Run gh pr view $ARGUMENTS and gh pr diff $ARGUMENTS.
2. When the diff lacks context, read the whole changed file.
3. Answer in three blocks: bugs, missing tests, confusing names.
4. Cite file and line for each item. Do not comment on style.

Start a session with verboo and call:

/revisar-pr 42

$ARGUMENTS becomes 42 everywhere in the text before it reaches the agent.

Flowchart for creating a skill in Verboo Code: create the .verboo/skills/revisar-pr folder, write SKILL.md, check it with /skills and call /revisar-pr 42; with disable-model-invocation: true the agent will not trigger the skill on its own
The folder name becomes the command. With disable-model-invocation: true, only you can trigger the skill.

What does /skills show?

Every skill the session loaded, grouped by source, and how many tokens each description costs in context. Type:

/skills

Groups show the path they came from, for example Project skills (.verboo/skills) and User skills (~/.verboo/skills). Next to each skill you see something like ~40 description tokens: the estimate of what the name, description and when_to_use take up in every conversation. If there are none, the menu says No skills found and reminds you of the two paths to create one.

Where does Verboo Code look for skills?

In four places. The folder decides who sees the skill.

SourcePathWho uses it
Project.verboo/skills/<name>/SKILL.md (also reads .claude/skills/)Everyone who clones the repository
User~/.verboo/skills/<name>/SKILL.md (also reads ~/.claude/skills/)Only you, in any project
ManagedFolder set by your companyThe whole team, read only
Plugin and MCPComes from the plugin or MCP serverWhoever installed it

Skills you already wrote for Claude Code in ~/.claude/skills/ show up without copying anything. Reading ~/.claude/skills/ is turned off if you set VERBOO_CONFIG_DIR.

A folder inside a folder becomes a namespace: .verboo/skills/frontend/revisar/SKILL.md is called as /frontend:revisar.

Which frontmatter fields are supported?

All of them are optional. Without description, Verboo Code takes the description from the start of the text.

FieldWhat it does
descriptionOne line saying what the skill does. It is what the agent reads to decide whether to use it.
when_to_useWhen to trigger it. Also counts toward the /skills token estimate.
argument-hintHint shown while typing the command, like <PR number>.
argumentsNames for arguments: with arguments: [pr, focus], use $pr and $focus.
allowed-toolsTools allowed for the skill, in the same format as /permissions.
modelModel for the skill. inherit uses the session model.
effortReasoning level, same values as /effort.
disable-model-invocationtrue stops the agent from calling the skill on its own.
user-invocablefalse hides the skill from the command menu; only the agent uses it.
contextfork runs the skill apart from the main conversation.

Besides $ARGUMENTS (everything after the command), there are $ARGUMENTS[0], $ARGUMENTS[1] and the shortcuts $0, $1. If the text has none of them, Verboo Code appends ARGUMENTS: ... at the end, so the argument is never lost.

How do you stop the agent from running a skill on its own?

Add disable-model-invocation: true to the frontmatter. The skill stays in the menu and you keep calling it with /name, but the agent cannot trigger it by itself. Use it for skills that deploy, commit, push or do anything you want to fire at the right moment, not when the agent decides it is time.

---
description: Bumps the version, creates the tag and publishes the release
disable-model-invocation: true
---

Trap: you created the folder with the session open and the skill does not show up. Verboo Code reloads skills when the file changes, but it only watches ~/.verboo/skills and .verboo/skills if the folder already existed when the session started. If you just created .verboo/skills, exit and start the session again, or resume with verboo --continue. From then on, editing SKILL.md is picked up without restarting.

Skill, AGENTS.md or built-in command: which one?

You wantUse
A rule for every conversation ("use pnpm", "tests in Vitest")AGENTS.md with /memory
A script you repeat now and then, with an argumentA skill in .verboo/skills/
Run a command automatically before or after each toolHooks
Share the script with your teamA project skill, versioned in the repository

A good skill is one you call on every PR, including the two-thousand-line one, without thinking about size. On Verboo Code plans run with unlimited tokens, so /revisar-pr can read the full diff on every call.

Enjoyed this article?
Share knowledge with your network.
// Read also

Related articles