写技能和插件
技能是一段写给模型的说明,插件是几个技能打成的包。两者都是普通文件,放进对应目录就能用。
一个目录,里面一个 SKILL.md:开头是 YAML,后面是 Markdown 正文。
---name: changelogdescription: 从提交记录整理一份更新说明。要写 release notes,或者总结这一轮改了什么时用。---
读 `git log`,按 conventional commit 的类型分组……| 字段 | 作用 |
|---|---|
name |
小写字母、数字和短横线,也是斜杠命令的名字。省略则用目录名 |
description |
必填,最多 1024 个字符。写清楚做什么、什么时候用 |
allowed-tools |
只让它用列出的工具,省略则不限制 |
disable-model-invocation |
设为 true 后模型看不到它,只能你用 /名字 调用 |
技能目录里可以放 scripts/、assets/ 之类的资源,正文里的相对路径按技能目录解析。
| 放在 | 作用范围 |
|---|---|
<项目>/.lyra/skills/<名字>/ |
这个项目,可以跟着仓库提交 |
~/.lyra/skills/<名字>/ |
你所有的项目 |
插件就是一组技能,外加一个清单:
文件夹my-plugin/
文件夹.lyra-plugin/
- plugin.json 名字、版本、描述
- icon.svg 可选
文件夹skills/
文件夹changelog/
- SKILL.md
文件夹release-check/
- SKILL.md
文件夹scripts/
- …
{ "name": "my-plugin", "version": "1.0.0", "description": "一句话说清这个插件做什么", "author": { "name": "你的名字" }, "interface": { "displayName": "My Plugin", "category": "开发", "defaultPrompt": ["帮我整理这一版的更新说明"] }}- 只有
name必填。没有清单时,带skills/的目录也会被当成插件,名字取目录名。 interface是给市场展示用的显示名和分类。defaultPrompt是示例提问,「立即试用」会开一个新对话,把它填进输入框。- 图标放在
.lyra-plugin/icon.svg,也认png、webp、jpg,最好在 128 KB 以内。
写好后放进 ~/.lyra/plugins/,或者项目的 .lyra/plugins/,就能在「设置 → 插件」里看到它。
同名时谁生效
Section titled “同名时谁生效”越具体的越优先:项目的 .lyra/skills/ → 用户的 ~/.lyra/skills/ → 插件带的 → 内置的。所以在项目里放一个同名技能目录,就能盖过插件里的那个。
写好了想分享给别人,见发布到插件市场。