Skill 管理

夜莺 v9 Skill 管理:把领域知识/操作经验封装成 Markdown 提示词包,让 AI Agent 在合适场景自动调用,输出更稳定专业的回答。

概述

Skill = 一份带描述的「提示词指令包」。每个 Skill 是一段 Markdown 写的"领域知识 + 操作指引",AI Agent 在执行任务时自动判断当前上下文是否匹配某个 Skill 的描述,匹配上就把这份提示词加载进上下文,让模型按 Skill 里写的方法行事。

侧栏路径:AI 配置 → Skill 管理,URL /ai-config/skills

形象类比:

  • LLM 配置 = 给 AI 一个大脑(大模型本身)
  • Skill = 给这个大脑一本"操作手册"或"专家备忘录"

举例:

  • 你写一个 linux-troubleshoot Skill,描述写"Linux 主机故障排查方法论",正文里列举常见的 CPU/内存/磁盘/网络问题的排查命令。下次有人问 AI 助手"我这台机器为什么慢",系统自动把这份 Skill 喂给模型,回答就会按你的方法论展开。
  • 一个 flashcat Skill 写清楚团队内"如何用 FlashCat 看告警"的标准动作,AI 帮新人排障时就会按这个规范走。

关键点:启用 Skill ≠ 每次回答都会用。 是否调用取决于模型对"用户问题 + Skill 描述"的匹配判断。所以描述(description)字段要写好 — 它就是 Skill 的"检索关键词"。

页面布局

Skill 详情页

  • 左侧:Skill 列表 + 搜索框 + + 新建按钮(点开有"在线创建"和"本地上传"两种模式)
  • 右侧:选中 Skill 的详情
    • 头部:Skill 名称 + 启用 开关 + 三点菜单(替换 / 下载 / 删除)
    • 元信息:作者用户名、最近更新时间、描述
    • 提示词指令:核心内容;右上角 👁️ / </> 切换"渲染视图(formatted)“和"原文视图(code)”

创建 Skill 的两种方式

方式一:在线创建(适合简单 Skill)

+在线创建 Skill,弹出表单:

在线创建 Skill 表单

字段 必填 说明
名称 用作 Skill 的唯一标识;建议用 kebab-case 英文,如 linux-troubleshootpromql-helperincident-runbook
启用 默认开 关掉后 Skill 不会被任何 AI 调用考虑
描述 否(但强烈建议填 AI 用来匹配上下文的依据 — 越具体、越多关键词越好,比如"Linux 主机 CPU / 内存 / 磁盘 / 网络故障排查方法论,常见命令如 top, free, iostat, ss 等"
提示词指令 Skill 的核心内容;写 Markdown,可以用标题、列表、代码块组织

方式二:本地上传(适合带资源文件的复杂 Skill)

+本地上传 Skill,上传一个 .zip.tar.gz 压缩包:

  • 压缩包根目录必须有一个 SKILL.md,包含 YAML frontmatter + Markdown 正文。
  • 同目录可以放任意辅助文件(脚本、参考数据、子文档),Skill 可以在 prompt 里通过相对路径引用。

SKILL.md 的模板:

---
name: linux-troubleshoot
description: Linux 主机 CPU / 内存 / 磁盘 / 网络故障排查方法论,附带常见排查命令
license: Apache-2.0
compatibility: 需要 shell 访问权限
allowed-tools: Bash(top:*) Bash(free:*) Bash(iostat:*) Read
---

# Linux 故障排查

## CPU 高
1. `top -c` 看 CPU 用得最多的进程
2. `pidstat -u 1 5` 看每秒 CPU 分布
...

## 内存爆
...

frontmatter 里的字段就是后面"高级设置"里的字段(许可证、兼容性、预授权工具等)。

已经写好的 Skill 可以从详情页下载为压缩包,作为团队内共享或者跨实例迁移的载体。Anthropic 的 Agent Skills 也是同一套结构,社区里很多 Skill 库可以直接拿来用。

高级设置

新建 / 编辑表单的「高级设置」里可配:

字段 作用
许可证 例如 MITApache-2.0,Skill 分享出去时让使用者明白合规边界
兼容性 描述这个 Skill 对环境的依赖,例如"需要 git、docker"、“需要联网”。AI 在没有相应能力时会跳过
预授权工具 空格分隔的工具调用白名单,例如 Bash(git:*) Bash(docker:*) Read只有列在这里的工具调用才不会再二次跟用户确认,否则 Agent 每用一次工具都会让用户点同意
元数据 自定义 key-value,给 Skill 打标签 / 写版本号 / 关联 owner 等

操作

  • 启用 / 禁用:开关一拨即可生效,无需保存。
  • 替换:在三点菜单选「替换」上传新的 .zip/.tar.gz,会完全覆盖当前 Skill 的所有内容(包括资源文件)。
  • 下载:把当前 Skill 导出成压缩包,方便备份、版本管理、分享。
  • 删除:会有二次确认,删除后无法恢复(已下载的备份还能再次上传恢复)。

写好提示词指令的建议

Skill 的提示词指令本质上是给模型读的"标准作业书",写得好不好直接决定输出质量。

  1. 开头一句话点题:用最简洁的语言说清楚这个 Skill 是干啥的、什么时候该用。
  2. 结构化:用 ## 子任务 把大任务拆开,每个子任务下再用列表/代码块写步骤。Markdown 结构越清晰,模型越容易稳定执行。
  3. 少用"我建议"、多用祈使句:模型会模仿你的语气。写"请运行 top -c 并截图前 10 行"比"建议你可以试试 top"更确定。
  4. 明确边界:写清楚"不要做什么" — 例如"不要主动修改生产环境配置,只输出建议命令"。
  5. 配示例:给一个具体的"输入 → 输出"例子,比千言万语都管用。
  6. 测试一遍:写完后开个智能问答会话试一下,看 AI 是不是按你期望的路径回答;不对就回来改描述(提升匹配率)和指令(提升执行准确度)。

常见问题

Q1:我新建了一个 Skill 并启用了,但 AI 助手回答时没用上,怎么办?

A:90% 是描述(description)写得太泛。AI 是先看描述决定调不调你的 Skill。把描述改得更具体、塞入用户可能提到的关键词,比如把"故障处理"改成"Linux 主机 CPU / 内存 / 磁盘 / 网络故障排查,含 top、free、iostat、ss 等常用排查命令"。改完再问就会优先命中。

Q2:多个 Skill 描述都很像,会同时被用上吗?

A:会。模型会把多个匹配的 Skill 一起注入上下文,但会占用上下文窗口。建议:

  • 同一主题的 Skill 合并成一个,用 ## 子章节 分隔;
  • 用「兼容性」字段写明先决条件,让 AI 在条件不满足时跳过;
  • 关掉长期不用的 Skill(启用开关)。

Q3:本地上传的 Skill 包能用 Anthropic 官方 Skills 库的吗?

A:可以。夜莺的 Skill 包格式与 Anthropic Agent Skills 规范兼容 — 根目录的 SKILL.md + frontmatter 完全一致。社区里 anthropics/skills 这种开源 Skill 库的内容可以直接打包上传。

参考资料

更新时间 2026-05-19

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云