SuperAPI AI 工具集

extract-skill

智能体与模型

查看项目

更新于 10-16 04:04

技能介绍

用途

extract-skill 用于把当前对话中产生的知识、模式和工作流提取出来,并持久化为可复用的技能。它适合在以下情况使用:用户明确表示“extract a skill”“extract this as a skill”或“save this for next time”;对话中出现了有用的工作流、模式或领域知识;用户希望用新的经验更新已有技能;对话中发现了非显而易见的步骤、坑点或值得保留的最佳实践。

主要能力

该技能围绕一个分阶段的提取流程展开:

  • 阶段一:识别可提取内容。回顾对话,寻找通过试错得出的多步骤工作流、非显而易见的事实或配置约束、遇到的问题及其解决方案、有效的代码模式或命令序列、以及选择某种方案而非其他方案的理由。在继续之前,先总结计划提取的内容并与用户确认。
  • 阶段二:确定目标。如果用户已指定技能或目标从上下文显而易见,则直接进行;否则通过 AskQuestion 工具或对话方式澄清:是新建还是更新已有技能;若更新,更新哪个技能(从 ~/.cursor/skills/ 和 .cursor/skills/ 中列出相关技能);若新建,命名是什么;新技能的存储位置是个人级(~/.cursor/skills/,跨所有项目可用)还是项目级(.cursor/skills/,与仓库共享)。
  • 阶段三:起草技能内容。新建技能时:选择描述性名称(小写、连字符、最多 64 字符);编写包含 WHAT 和 WHEN 的具体描述(第三人称);把对话蒸馏为简洁、可执行的指令;加入来自对话的具体示例;添加使用过的实用脚本或命令。更新已有技能时:阅读现有 SKILL.md;确定新经验适合放在哪里(新章节、更新步骤、补充示例);整合而不重复已有内容;保留现有结构与语气。
  • 阶段四:蒸馏准则。目标是把杂乱的对话转化为干净、可复用的指令。应当:提取最终可用的方案而非失败尝试(除非坑点有教育意义);从具体案例泛化(用占位符替换硬编码值);包含非显而易见步骤背后的“为什么”;补充智能体没有这段对话就不会知道的上下文;保持在 500 行以内。不应:包含对话痕迹(如“正如我们讨论的”“你提到”);重复智能体已知的信息;包含无法迁移到其他场景的过度具体细节;在代码示例足够时添加冗长解释。
  • 阶段五:写入并验证。创建或更新技能文件;验证 SKILL.md 在 500 行以内;检查描述是否具体并包含触发词;与用户确认捕获内容准确。

使用方式

该技能以 SKILL.md 文件形式存在,包含 name 和 description 的 frontmatter,以及正文指令。示例中展示了一个从调试部署问题对话中提取出的技能,其结构包括诊断步骤(如 kubectl 命令序列)和常见问题(如 CrashLoopBackOff、ImagePullBackOff 的排查与解决),且不包含任何对话痕迹。

适用场景

适用于把对话中临时摸索出的工作流、领域知识、坑点修复、代码模式、决策理由等沉淀为可复用技能,尤其适合需要跨项目或个人长期复用的经验保存。

限制与边界情况

  • 对话涉及多个主题时:询问要提取哪个具体学习点,或建议为不同主题分别创建技能。
  • 学习点太小不足以成为技能时:建议改为创建 Cursor 规则(.cursor/rules/),更适合单行或简短指南。
  • 已有技能需要大幅重写时:与用户确认是重构现有技能,还是创建取代它的新技能。
  • 技能内容应保持在 500 行以内。

关于该技能的收费、价格、平台支持范围等具体信息,资料中暂未提供。