Auto Skill Extractor
从当前对话中识别并提炼可复用的工作流、标准或偏好,写入 ~/.cursor/skills/ 供后续会话自动调用。
触发场景
- 用户说"把这个做成 skill / 保存这个流程 / 下次自动执行"
- 对话中出现重复性操作步骤(3 步以上)
- 用户明确了某个偏好或标准(格式、命名、工具选择等)
- 用户演示了一个完整的处理流程
提炼流程
第一步:识别可提炼内容
从对话历史中找出以下任一类型:
| 类型 | 判断依据 | 示例 |
|---|---|---|
| 工作流 | 有明确的执行顺序和步骤 | "先跑测试,再提 PR,再通知" |
| 标准/规范 | 有判断条件和约束规则 | "SQL 禁止超过 4 张表关联" |
| 偏好 | 用户反复选择同一方式 | "总是用 DECIMAL 不用 FLOAT" |
| 模板 | 有固定输出格式 | 特定的 commit message 格式 |
第二步:确认 skill 范围
提问用户(如有 AskQuestion 工具则使用):
- Skill 名称:简短、小写、连字符(如
pr-review-flow) - 触发条件:什么时候应该自动用这个 skill?
- 存储位置:个人(
~/.cursor/skills/)还是项目(.cursor/skills/) - 是否需要示例:是否有具体输入/输出示例
第三步:生成 SKILL.md
按以下结构生成,保持简洁(< 200 行):
---
name: <skill-name>
description: <第三人称描述,包含 WHAT 和 WHEN,不超过 200 字>
---
# <Skill 标题>
## 核心规则 / 步骤
[提炼自对话的核心内容]
## 示例(可选)
[具体的输入→输出示例]
第四步:写入文件
- 个人 skill:
C:\Users\<user>\.cursor\skills\<skill-name>\SKILL.md - 项目 skill:
<project-root>\.cursor\skills\<skill-name>\SKILL.md
使用 Write 工具创建文件,不要用终端命令写文件内容。
质量检查
写入后验证:
-
name字段:小写字母、数字、连字符,最多 64 字符 -
description字段:第三人称,包含触发关键词,非空 - 内容简洁:只写 agent 不已知的信息
- 无时效性内容(如"截止 2025 年"之类)
- 无 Windows 风格路径(内容中统一用
/)
反模式
- 不要把通用常识写进 skill(agent 已知的不需要重复)
- 不要在一个 skill 里塞太多不相关内容,宁可拆成多个
- 不要直接复制对话原文,要提炼成结构化指令