Skills
A skill is a saved playbook Lucius can load into a conversation when relevant. Teach him a workflow once (“here’s exactly how I want a monthly close done”) instead of re-explaining it every time.
Creating one
From the Skills tab, + New skill offers four ways in:
| Option | What it does |
|---|---|
| Create with Lucius | Chat with him to design the skill together |
| Write skill instructions | Author the name, body, and tool list yourself |
| Upload a skill | Install a .zip bundle (from Claude Code, or shared by someone else) |
| Browse starter skills | Pick from built-in templates and adjust |
A skill Lucius creates or edits on your behalf goes through the same confirm-style review as any other write before it’s saved.
What a skill actually is
A folder whose only required file is SKILL.md: a short YAML header (name, description
required) plus plain-Markdown instructions. Open Net Worth uses the same open Agent Skills folder
format Claude Code uses, so a skill from Claude Code mostly works here as-is, and one you build
here exports the same way.
my-skill/├── SKILL.md├── scripts/ # optional helper scripts├── references/ # optional docs Lucius reads on demand└── assets/ # optional static filesThe description is what Lucius sees at all times, for every enabled skill — enough to know when
it applies, not the full instructions. He loads the full body only when he picks the skill.
How a skill gets used
- Lucius picks it himself. Every turn, he sees name + description of every enabled skill; a match loads the full instructions.
- You pick it explicitly. Type
/for a picker, or/skill-namedirectly — deterministic, for when you want a specific playbook to run for certain. Stack up to six in one message, with trailing text as an argument (e.g./monthly-close July).
Once loaded, a skill stays loaded for that conversation
No “unload” action — no reliable way to erase instructions a model has already read. Want a clean slate? Start a new conversation. Deliberate: the app won’t show a “deactivate” control implying it can guarantee something it can’t.
What a skill can’t do
It cannot grant, hide, or pre-approve tools. Its instructions can tell Lucius what to do and
in what order, but every tool call is still subject to the exact same permission
level that tool has outside the skill. “Just always send the email without
asking” doesn’t override a tool set to needs_approval — the permission ladder is the one
authority on whether a call fires.
Running scripts from a skill
An executable script goes through the sandbox’s own kill switches, including an “unattended script runs” gate that defaults off — so a scheduled Automation can’t run a skill’s scripts headlessly until you enable that deliberately in Settings → Developer. On top of, not instead of, the ordinary permission ladder.