What Is a Capability?
A capability is a self-contained folder inbrain/cerebellum/ that gives Wolffish a new ability. Capabilities are how Wolffish learns to do things — run shell commands, read files, interact with git, search the web, send messages.
Two Types of Capabilities
Pure Skills
A SKILL.md file only. The markdown body contains instructions the LLM follows using its existing abilities. No code needed. Example:
git/ — the LLM uses shell commands to run git operations based on the SKILL.md instructions.Plugin Capabilities
A SKILL.md file plus a
plugin/ folder with executable code. The plugin exports tools that the LLM can call directly. Example: shell/ — the plugin wraps child_process to provide a shell_exec tool.Capability Folder Structure
How Capabilities Are Loaded
On startup,cerebellum.ts scans brain/cerebellum/ and for each folder:
- Reads and parses the SKILL.md frontmatter (YAML)
- Extracts tool definitions, danger patterns, confirm patterns, and triggers
- If a
plugin/folder exists, dynamic-importsplugin/index.mjs - Calls
init(context)on the plugin, passingpluginDirandworkspaceRoot - Registers all tools with the agent’s tool definitions
How Capabilities Are Selected
Plugin capabilities (with tools) are always included in the<tools> section — the LLM needs to know what tools it can call regardless of the message topic.
Pure skills (no tools) are injected into a <skills> section only when the user’s message matches their trigger keywords. The cerebellum scores each skill by how many trigger keywords appear in the message and injects the top 3 matches.
A trigger of "*" (wildcard) makes a pure skill always-on — it’s injected on every message without keyword matching and doesn’t count against the top-3 limit. Use this for skills that define agent-wide behaviour like planning discipline or output formatting.
Built-In Capabilities
Wolffish ships with these capabilities in the default workspace:| Capability | Type | Description |
|---|---|---|
shell | Plugin | Execute shell commands via shell_exec |
filesystem | Plugin | Read, write, and patch files |
git | Pure Skill | Git operations via shell commands |
introspect | Plugin | Self-awareness: status, channel connectivity, performance, memory |
ask | Plugin | Ask you a multiple-choice question and wait for your pick |
skills | Plugin | Manage and author Wolffish’s own capabilities at runtime |
Adding and Removing Capabilities
You can add your own capabilities two ways:- Drop them onto Settings → Cellebrum — a single
SKILL.md, a folder, or a.zip. Each drop is validated before anything is written, then loaded immediately. Imported capabilities show an Unknown badge (they’re yours, not bundled) and can be removed with the trash icon, which cleanly deletes their folder. - Create the folder by hand under
brain/cerebellum/, then click Resync in the panel (or restart Wolffish) to load it.
Create Your Own
Learn how to build a new capability from scratch.