Skills (Slash Commands)
Skills are user-invoked slash commands you type into Agent Chat — /draft-a-prd, /iterate, /convene, /plan-sprint — that trigger a predefined, repeatable workflow on the agent that received them.
How It Works
Section titled “How It Works”A skill is a packaged prompt-and-procedure that an agent already knows how to run. When you type / at the start of the composer, the agent’s autocomplete menu shows every skill it can invoke; picking one inserts the command, and pressing Enter sends it. The agent then follows that skill’s playbook — drafting a document, kicking off a loop, talking to other agents, calling tools — and returns the result in the transcript like any other reply.
Skills are not magic prompts. Each one is a small bundle on disk with its own instructions, optional helper scripts, and a metadata file that names the skill and describes when to use it. The agent’s CLI provider (Claude, Codex, or Gemini) loads the bundle and follows its instructions, so a skill is portable across providers as long as the underlying model can read its body.
Skills live at three scope levels, and a skill must be enabled at every level above it before an agent can use it:
- User scope — installed once into your home directory. These are the skills available across every project, every building, and every agent in your world.
- Building scope — picked per building from the user-scope list. Skills not picked at the building level are hidden from agents inside it.
- Agent scope — overridden per agent. By default an agent inherits its building’s list, but you can narrow or extend it from the agent’s own settings.
This three-layer model lets you install a skill once and then control where it appears: ship /plan-sprint to Linear buildings only, hide /commit from documentation agents, or enable an experimental skill on a single agent without exposing it project-wide.
Where skills live on disk
Section titled “Where skills live on disk”Skills install to ~/.viberia/skills/<name>/. Each skill is a folder; inside it sit a SKILL.md file (the instructions and metadata) and any supporting assets the skill needs — example files, prompts, scripts. Viberia loads the folder, indexes the skill by its declared name, and surfaces it in the slash menu.
You don’t normally edit these folders by hand — installation and removal happen through /learn-skill and the Skills settings panel — but you can open the folder to inspect a skill’s source or copy it as a template for a new one.
Plugin bundle naming
Section titled “Plugin bundle naming”Some skills ship as part of a plugin bundle that groups related skills together. When a plugin is installed, its skills are flattened into the user-scope skills directory using <plugin-name>--<leaf-name> as the on-disk folder and the slash-command name. For example, a document-skills plugin that contains an xlsx leaf installs as document-skills--xlsx, and you invoke it as /document-skills--xlsx.
Two rules apply:
- The
--separator is reserved for the boundary between the plugin name and the leaf name. - Neither the plugin name nor the leaf name may contain
--themselves.
If a skill’s name contains --, you’re looking at a plugin-flattened skill — the part before -- tells you which bundle it came from.
Managing Skills in Settings
Section titled “Managing Skills in Settings”Open Settings → Skills to see every skill currently installed at the user scope. The panel lists each skill by name with its description, a toggle to enable or disable it, and a “Reload definitions” button that re-scans the skills directory after you add or change a folder by hand.
Disabling a skill hides it from the slash menu everywhere — buildings and agents can’t override that. Enabling it makes the skill available; downstream scopes still control whether each building or agent actually offers it.
To enable or disable a skill for a specific building, open the building’s window and use the Skills picker in Building Window. To override per agent, open the agent’s gear menu in Agent Chat and go to the Skills tab. See Settings Overview for the full settings tour.
Installing New Skills with /learn-skill
Section titled “Installing New Skills with /learn-skill”The fastest way to install a new skill is to invoke /learn-skill on any agent. The skill knows how to:
- Pull a skill from a public GitHub URL (the URL of a skill repo or a folder inside one).
- Resolve a bundle name (for skills published in known indexes).
- Validate the
SKILL.mdmetadata. - Drop the result into
~/.viberia/skills/<name>/. - Reload Viberia’s skill registry so the new skill shows up immediately.
A typical install looks like this:
/learn-skill https://github.com/some-author/awesome-prd-skillThe agent will fetch, read, and confirm before writing anything. If the skill is part of a plugin bundle, the agent applies the <plugin>--<leaf> naming rule when it lays the files down.
Note: Skills are arbitrary code paths and prompts. Only install skills from sources you trust — the same caution you apply to any third-party agent extension.
Common Skills by Category
Section titled “Common Skills by Category”This table groups the skills shipped with Viberia by the area they cover. The exact set available to a given agent depends on the building it lives in and that building’s role.
| Category | Skill | What it does |
|---|---|---|
| Engineering | /draft-a-prd | Turn a goal into an implementation-ready PRD. |
| Engineering | /handoff-prd-to-developer | Hand an approved PRD to a Developer agent. |
| Engineering | /implement-the-prd | Implement a PRD in the current working tree. |
| Engineering | /implement-the-prd-in-worktree | Implement a PRD in an isolated git worktree. |
| Engineering | /send-to-review | Send work to a Reviewer agent for a quality pass. |
| Engineering | /review-pr | Run a PR review with the standard checklist. |
| Engineering | /review-comments | Address review comments on a PR. |
| Engineering | /run-code-review | Run a local code review without a PR. |
| Engineering | /peer-review | Request a peer review from another developer agent. |
| Engineering | /commit | Stage, message, and commit changes following repo conventions. |
| Engineering | /handoff-frontend-lanes | Split work across the Frontend building’s design and code lanes. |
| Research | /start-research | Kick off a market or technical research pipeline. |
| Research | /handoff-research-to-presenters | Pass research findings to a Presenter for slides. |
| Linear | /plan-sprint | Plan an upcoming sprint from the Linear backlog. |
| Linear | /backlog-review | Triage and groom the Linear backlog. |
| Linear | /whats-next | Surface the next-best issue to work on. |
| Linear | /add-issue | Create a Linear issue from a short description. |
| Linear | /add-issue-advanced | Create a Linear issue with full field control. |
| Linear | /analyze-issue | Analyze an existing Linear issue and propose a plan. |
| Linear | /resolve-issue | Move a Linear issue toward Done. |
| Linear | /fix-issue | Fix a bug report tracked as a Linear issue. |
| Loops | /iterate | Run a drafter-reviewer loop on the current artifact. |
| Loops | /convene | Open a council and run a parallel multi-model deliberation. |
| Status | /status-check | Ask an agent for a structured status update. |
| Status | /project-status | Get a project-wide status roll-up from the Dean. |
| Housekeeping | /commit | Commit changes (also listed under Engineering). |
| Housekeeping | /compact | Summarize the current chat and continue with the summary as primer. |
| Housekeeping | /memory | Read, write, or reorganize the agent’s persistent memory. |
| Housekeeping | /cleanup-worktree | Remove a finished worktree. |
| Housekeeping | /merge-worktree | Merge a worktree back into the main branch. |
| Setup | /onboarding | Run the first-time onboarding flow with the Chief of Staff. |
| Setup | /create-project | Create a new project from a short description. |
| Setup | /setup-building | Configure a freshly-placed building’s agents and skills. |
| Extension | /learn-skill | Install a new skill from a GitHub URL or bundle name. |
| Extension | /learn-mcp | Install a new MCP server. See MCP Servers. |
Not every skill is offered by every agent. A Planner in CodeForge will see /draft-a-prd and /handoff-prd-to-developer but not /plan-sprint; the Backlog Planner in a Linear building has it the other way around. The slash menu in Agent Chat is the authoritative list for any given moment.
Skill vs MCP — What’s the Difference?
Section titled “Skill vs MCP — What’s the Difference?”Skills and MCP Servers both extend what an agent can do, but they sit in different layers of the stack. Use this comparison when you’re unsure which one you need.
| Skill | MCP Server | |
|---|---|---|
| What it is | A packaged workflow the agent runs end-to-end. | A set of callable tools the agent can invoke during any workflow. |
| Who invokes it | You, with /<name> in chat. | The agent, automatically, as part of solving a task. |
| Scope of work | Multi-step, opinionated procedure (draft a PRD, run a loop). | A single capability (read a file, query a database, fetch a URL). |
| Configuration | A SKILL.md bundle in ~/.viberia/skills/. | A command + args + env block; runs as a sidecar process. |
| Where to install | Settings → Skills (user); building/agent picker (scope). | Settings → MCP Servers (user); building MCP section; agent MCP tab. |
| How to install | /learn-skill or drop into the skills folder. | /learn-mcp or add manually in Settings → MCP Servers. |
| Typical example | /draft-a-prd — produces a PRD.md. | linear MCP — exposes create_issue, list_issues. |
A useful intuition: a skill is a recipe, an MCP server is a tool in the kitchen. A skill might call several MCP tools as part of its recipe, and an MCP server might be used by many different skills.
Use Cases
Section titled “Use Cases”- Run a multi-step workflow with one command. Type
/draft-a-prdon the Planner to produce a fully-structured PRD instead of free-typing the request. - Hand off cleanly between agents. Use
/handoff-prd-to-developerafter PRD approval so the Developer picks up with full context. - Kick off a loop or council.
/iterateopens a drafter-reviewer loop on the current artifact;/convenestarts a parallel multi-model deliberation. - Triage a Linear backlog. Send the Backlog Planner
/plan-sprintand let it produce a sprint candidate list. - Tame growing context. Type
/compactwhen an agent’s context badge nears full, and continue in the same window with a summarized primer. - Install a community skill. Drop a GitHub URL into
/learn-skillto add a new workflow without leaving the chat.
Limitations
Section titled “Limitations”- Skills are scoped through three layers (user, building, agent). A skill enabled at the user level still won’t appear if it’s not picked at the building level — check both before assuming a skill is missing.
- Disabling a skill in Settings → Skills hides it everywhere. Buildings and agents can’t re-enable a skill that’s been turned off at the user level.
- Plugin-bundled skills always carry the
<plugin>--<leaf>naming. Don’t rename their folders manually — Viberia indexes by the on-disk path, and renames break the link. - Skills run with the host agent’s permissions. A skill that wants to write files inherits the agent’s permission mode and any per-tool allowlist; it doesn’t bypass approval.
- Installing a skill via
/learn-skillfrom an untrusted source runs that author’s prompts on your agent. Review theSKILL.mdbody before enabling. - Skills are loaded at startup and after explicit reload. After editing a skill folder by hand, click Reload definitions in Settings → Skills or restart the app.