Skills
A skill is a playbook written in Markdown: how to produce a weekly report, the structure of a customer reply, your team’s deck outline. A skill joins an answer when you call it by name (type / in the chat box), when the assistant picks it because your request fits its description, or when your message matches one of its trigger phrases. Up to three skills apply at once, and the answer says which ones it used.
Open Skills from the sidebar to manage them. There are two kinds:
| Standard skills | Your own skills | |
|---|---|---|
| Where they come from | Written by the Olyvr team, offered under Standard skills | Written or uploaded by you |
| Updates | Update by themselves until you edit them | Change only when you change them |
| Where they live | Downloaded to your computer when you install them | Only on your computer; never uploaded |
Standard skills
Section titled “Standard skills”The Standard skills section lists curated playbooks, such as an executive deck, a weekly report, meeting minutes, a risk register and a customer reply. Each card shows the skill’s category, version and tag. Choose a card to read the full playbook before installing it, or choose Install.
Standard skills are published in releases of their own, each with a changelog at olyvr.ai/skills/v1/CHANGELOG.md. Every skill in a release passed the same check your computer runs on a skill of your own.
The exec-deck skill comes installed. Like any standard skill, you can turn it off or uninstall it, and an uninstalled skill stays uninstalled.
Updates
Section titled “Updates”Olyvr checks for a newer list of standard skills when it starts, once a day, and when you open Skills:
- A skill you haven’t edited updates to the new version by itself. If you had turned it off, it stays off.
- A skill you’ve edited keeps your version. It’s marked update with the new version number, and its page shows Update to v…. Updating replaces your edits with the new standard version, so copy anything you want to keep first.
- A skill that is withdrawn stays installed and is marked no longer offered.
Before installing or updating a skill, Olyvr checks that the download matches the size and fingerprint published for it, and refuses it otherwise.
Without a connection
Section titled “Without a connection”Olyvr keeps the last list it downloaded and shows that while it’s offline. Before its first successful check, it shows the standard skills that came with the app, and installs them from that copy. A message under Standard skills tells you when the list isn’t current.
Verification
Section titled “Verification”Olyvr reads every skill before it can be switched on and gives it one of three tags:
- Verified by CDL — a skill from Olyvr’s list, installed as published, that the check on your computer also found clean. Edit it and it becomes Safe or Unverified like any skill of your own.
- Safe — a skill you wrote or imported, and the check found nothing to worry about: no credential reads, nothing sent anywhere, no instructions aimed at the assistant, nothing encoded or hidden.
- Unverified — the check found something to read, or hasn’t run yet. The skill’s page lists each finding with the file and line it came from. If the findings are what you expect from this skill, choose I’ve read them — switch on; it stays off until you do, and editing it asks again.
Olyvr never runs a script that a skill ships. A script is text the assistant may read, nothing more, so the tag is about what the skill’s words can do. Verify again on a skill’s page repeats the check.
Call a skill from the chat
Section titled “Call a skill from the chat”There are three ways a skill joins an answer, and the answer always says which were used:
- By name. Type
/at the start of your message. A picker lists the skills you can use (switched on, and tagged Verified by CDL, Safe, or Unverified after you read its findings); pick one with the arrow keys and Enter, or keep typing its name./weekly-report what moved this weekapplies that skill whatever the message says, and a bare/weekly-reportasks the assistant to apply it. You can name more than one. - Chosen by the assistant. The assistant sees one line per skill you could use (its name, what it is for, and its trigger words as hints) and loads one when your request fits it, without you naming it.
- By trigger words. A message that contains one of a skill’s trigger phrases as a whole word brings it in, as before.
Up to three skills apply to one answer. Under the answer, a Skills line shows a chip per skill with its tag and how it was chosen: you asked for it, the assistant chose it, or matched your words. The skill’s own page keeps Where it went: the last twenty times it was used, with the request, what was made, and the Olyvr Code sessions it was given to. Nothing is recorded for a skill that wasn’t used.
A skill that is switched off, or Unverified until you’ve read its findings, is never loaded, listed or chosen.
Write your own skill
Section titled “Write your own skill”A skill is a SKILL.md file with a short YAML header:
---name: board-updatedescription: Monthly board update, two pages.triggers: - board update - board pack---
Write a two-page board update with these sections, in order:
1. **Headline:** one sentence on the month.2. **Progress:** three to five bullets, each tied to a goal.3. **Risks:** anything blocked, with an owner.4. **Asks:** decisions the board needs to make.
Keep it under 600 words. Use the tone in `example.md`.| Field | Required | Rules |
|---|---|---|
name |
Yes | Lowercase letters, digits and hyphens, up to 64 characters. Must be unique, and can’t be the name of a standard skill. |
description |
Yes | What the skill does and when it applies, up to 2,000 characters |
triggers |
No | A list (or comma-separated text) of up to 100 words or phrases, each at least two characters long. Matching is by whole word (plurals included), ignoring case; in languages written without spaces a trigger matches anywhere. |
title, category, version |
No | Shown in Skills; version looks like 1.0.0 |
license, compatibility, metadata |
No | As in the Agent Skills format, so the same file works in Claude Code, Codex and OpenCode |
A trigger matches whole words, ignoring case, and also matches its plural: board deck matches “the board deck” and “two board decks”, and board never matches “onboarding” or “dashboard”. In Chinese, Japanese, Korean, Thai and other languages written without spaces between words, a trigger matches anywhere in the message.
Without triggers, a skill never applies automatically, so give each skill a few phrases you naturally use. Prefer phrases to single common words: meeting minutes brings a skill in when you want minutes, while minutes also brings it in for “call me back in 5 minutes”.
Olyvr checks the header when you install or save a skill and tells you exactly what to fix: a name in the wrong form, a missing description, or a field that isn’t text.
Declare what a skill may do
Section titled “Declare what a skill may do”A skill that ships scripts declares them under metadata.olyvr: each script’s path inside the
folder and its runtime (node or sh), the domains it may reach, the environment variables it
needs and the folders it may write. Olyvr never runs them: the declaration tells the check what
to expect, and the skill’s page lists it, so a script the skill didn’t declare is a finding.
metadata: olyvr: scripts: - path: scripts/build.mjs runtime: node inputs: [csv] outputs: [xlsx] network: [] env: []Some Claude Code conveniences give a skill the shell without saying so, so Olyvr refuses them:
!`…` command blocks in the text, hooks, and allowed-tools entries that don’t run one of the
declared scripts.
To start from a standard skill, install it and edit it. It stops updating by itself once you do, and you can still take a newer version later.
Package a skill with assets
Section titled “Package a skill with assets”To include examples or templates, put them next to SKILL.md and zip the folder:
Directoryboard-update/
- SKILL.md
- example.md
Directorytemplates/
- outline.md
A skill archive must contain exactly one SKILL.md, have at most 200 files and 30 MB in total, and keep every file inside the skill’s folder. A zip made with Finder’s Compress or Windows’ Compressed (zipped) folder works as it is: hidden files (names starting with .), Python caches, and what zip tools add (macOS’s __MACOSX folder, .DS_Store, Thumbs.db) are left out.
Install and manage
Section titled “Install and manage”-
In Skills, choose Install on a standard skill, choose Upload .zip for a packaged skill, or choose Write your own.
-
The skill appears under Installed, switched on, with its triggers and assets.
-
Use the switch to turn a skill off, open it to read or edit its playbook, or uninstall it.
You can’t rename a skill by editing it; create a new one instead. If one of your own skills already uses a name the standard skills later take, the standard one shows name in use and can’t be installed until you rename or remove yours.