Skills
A skill is a reusable capability bundle for an agent. In Lobu, skills can add:
- markdown instructions
- MCP servers
- system packages
- network requirements
You declare an agent’s skills explicitly in lobu.config.ts. Bundled skills are enabled from the agent settings UI; local skills live in your project so you can commit and customize them.
Lobu Starter Skill
Section titled “Lobu Starter Skill”The bundled Lobu skill teaches an agent the project layout, lobu.config.ts, prompt files, evals, memory tools, watchers, and client setup. Two places to install it:
In your coding agent
Section titled “In your coding agent”Drop SKILL.md into Claude Code, Cursor, Codex, OpenCode, or OpenClaw with one command:
npx skills add lobu-ai/lobu --skill lobuThe vercel-labs/skills CLI auto-detects your editor and writes to the right directory. Pin one host with -a <agent> (e.g. -a claude-code, -a cursor).
In a Lobu agent
Section titled “In a Lobu agent”Enable the bundled skill from the agent settings UI in app.lobu.ai. Local skills are declared on the agent in lobu.config.ts; see Declaring Skills below.
Starter Skills
Lobu ships one starter skill. Lobu also discovers local skills from skills/<name>/SKILL.md or agents/<agent-id>/skills/<name>/SKILL.md.
| Product | Install | What it adds |
|---|---|---|
| Lobu | Enable from the agent settings UI | The Lobu starter skill in skills/lobu/ (includes memory guidance) |
| Local skill | skills/<name>/SKILL.md or agents/<agent-id>/skills/<name>/SKILL.md | A project-owned custom skill discovered automatically |
Declaring Skills
Section titled “Declaring Skills”List an agent’s skills explicitly via defineAgent({ skills: [...] }). Build each one two ways, both producing the same skill:
import { defineAgent, defineSkill, skillFromFile } from "@lobu/cli/config";
defineAgent({ id: "support", skills: [ // Inline: the body is a string, the rest is frontmatter as fields. defineSkill({ name: "greet", description: "Greet a customer.", content: "Generate a warm, personalized greeting.", }), // From a file: reads a SKILL.md (a folder holding one, or a .md path), // resolved relative to lobu.config.ts. skillFromFile("./agents/support/skills/internal-api"), ],});Share a skill across agents by referencing the same handle in more than one agent’s skills. Skills are deduped by name. There is no folder auto-discovery: a SKILL.md is loaded only when an agent references it with skillFromFile.
Minimal Example
Section titled “Minimal Example”---name: Internal APIdescription: Query our internal support APInixPackages: - jqnetwork: allow: - api.example.commcpServers: support-api: url: https://api.example.com/mcp type: sse---
# Internal API
Use the support API tools for account lookups and ticket status checks.For instruction-only skills, omit frontmatter and keep only the markdown body.
What Does Not Belong In A Skill
Section titled “What Does Not Belong In A Skill”- Tool visibility and MCP approval bypasses belong in
lobu.config.ts, not inSKILL.md - Destructive MCP tools still follow the normal approval flow unless the operator configures the agent
tools.preApprovedlist
See Tool Policy for that split.
Skills Vs Memory
Section titled “Skills Vs Memory”- Skills teach the agent how to work and what capabilities to request.
- Memory is the long-term, shared knowledge surface, enabled per-project via
defineConfig({ org })inlobu.config.ts.
Installing the Lobu starter skill teaches the workflow; the memory wiring itself lives in lobu.config.ts. See Memory.