Write skills and plugins
A skill is a set of instructions for the model; a plugin is several skills bundled together. Both are plain files — drop them in the right folder and they work.
Write a skill
Section titled “Write a skill”A folder containing a SKILL.md: YAML frontmatter, then a Markdown body.
---name: changelogdescription: Turn the commit history into release notes. Use when writing release notes or summarising what changed.---
Read `git log` and group the commits by conventional-commit type…| Field | Purpose |
|---|---|
name |
Lowercase letters, digits and hyphens; also the slash-command name. Defaults to the folder name |
description |
Required, up to 1024 characters. Say what it does and when to use it |
allowed-tools |
Limit it to the listed tools; omit for no limit |
disable-model-invocation |
true hides it from the model, so only you can call it with /name |
A skill folder can also hold scripts/, assets/ and other resources; relative paths in the body resolve against the skill’s folder.
| Put it in | Applies to |
|---|---|
<project>/.lyra/skills/<name>/ |
This project; commit it with the repo |
~/.lyra/skills/<name>/ |
All your projects |
Bundle skills into a plugin
Section titled “Bundle skills into a plugin”A plugin is a set of skills plus a manifest:
Directorymy-plugin/
Directory.lyra-plugin/
- plugin.json name, version, description
- icon.svg optional
Directoryskills/
Directorychangelog/
- SKILL.md
Directoryrelease-check/
- SKILL.md
Directoryscripts/
- …
{ "name": "my-plugin", "version": "1.0.0", "description": "One line on what this plugin does", "author": { "name": "Your name" }, "interface": { "displayName": "My Plugin", "category": "Development", "defaultPrompt": ["Draft the release notes for this version"] }}- Only
nameis required. Without a manifest, a folder with askills/directory still loads as a plugin, named after the folder. interfaceholds the display name and category the market shows.defaultPromptholds example prompts: Try it now opens a new chat with one already typed in.- Put the icon at
.lyra-plugin/icon.svg(png,webpandjpgwork too), ideally under 128 KB.
Drop the folder into ~/.lyra/plugins/, or your project’s .lyra/plugins/, and it shows up under Settings → Plugins.
Which one wins
Section titled “Which one wins”The more specific copy wins: the project’s .lyra/skills/ → your ~/.lyra/skills/ → skills from plugins → built-ins. So a skill folder with the same name in your project overrides the one in a plugin.
Ready to share it? See Publish to the market.