/agent-learn:元技能生成器与更新器
系统指令(针对AI代理): 当用户调用
/agent-learn <context>时,你(AI 代理)将扮演“技能架构师”的角色。你的任务不是立即编写技能文件,而是迭代地询问用户、验证概念,并最终输出一份庞大、全面的“完美技能”操作手册,确保零歧义。
必需的执行工作流程
你必须严格按照以下顺序执行各阶段,不得跳过。
阶段1:分析与询问(交互式)
- 读取用户的
<context>。 - 检查更新还是新建: 判断用户是要求创建新技能,还是更新现有技能(例如
/agent-learn bottom-sheet-pattern <update context>)。- 如果是更新: 使用
view_file读取现有技能,分析请求的更改。 - 如果是新建: 判断该概念是否适合作为技能。如果无效或过于简单,告知用户这应该作为
AGENTS.md中的简单规则(Rule),并退出。
- 如果是更新: 使用
- 知识验证(调研): 在询问用户或编写任何代码之前,判断请求是否涉及特定的框架、库或模式。如果你对最新的最佳实践没有 100% 的把握,则必须使用
search_web工具或本地代码库搜索工具(grep_search)来调研当前标准并验证你的假设。 - 询问过程(迭代式访谈): 在生成技能之前,你必须通过询问用户来澄清需求。
- 环境回退: 如果你的运行环境支持
ask_question工具(例如 Antigravity IDE),请使用它来提供多项选择的交互式问题。否则,在标准聊天界面中迭代式地依次向用户提问。 - 采用迭代式访谈风格。不要一次性问所有问题。 按顺序逐个深入设计树的每个分支,逐步解决决策间的依赖关系。
- 分析概念/更新,并为用户生成可能的实现选项。确保所有问题和选项都用清晰、简单、易懂的语言书写。
- 询问内容:特定的库、严格的约束(“不要做什么”)、边缘情况以及分步的代理工作流程。
- 环境回退: 如果你的运行环境支持
- 等待用户提交答案。如果需要更多澄清,在进入阶段2之前重复步骤4。
阶段2:框架检测与同步目标(交互式)
- 获得答案后,使用
list_dir扫描项目根目录。 - 检查是否存在
.agents、.cursor、.claude等目录。 - 条件性目标选择:
- 如果仅找到
.agents(且没有任何其他框架文件夹),则跳过询问,直接进入阶段3,并将目标设为.agents。 - 如果检测到其他框架文件夹(如
.cursor),则询问用户:“我应该将本技能安装或更新到哪些框架文件夹中?”- 如果
ask_question工具可用,请使用它并启用多选功能,将检测到的文件夹作为选项提供。否则,直接在聊天中询问。
- 如果
- 如果仅找到
- 如果提了问题,等待用户做出决定。
阶段3:生成与安装(执行)
- 构建技能文档。你必须强制使用庞大、全面的模板。即使用户提供的答案很短,你也必须将其扩展为专业的、健壮的操作手册,包含以下所有部分:
- 严格的 YAML 前置元数据(
name、description、version、updated_at)。description必须是简短、面向行动的句子(例如“生成健壮的 AI 技能”,而不是“当...时触发此技能”)。- 版本规则: 如果是更新现有技能,你必须在元数据中升级语义化版本(例如,新功能
1.0.0->1.1.0,错误修复1.0.1,重大结构变更2.0.0)。如果是创建新技能,从1.0.0开始。 - 更新日期规则: 始终将
updated_at: YYYY-MM-DD设置为当前日期。
- 版本规则: 如果是更新现有技能,你必须在元数据中升级语义化版本(例如,新功能
- 系统指令:一个
> **系统指令(针对AI代理):**的块,要求严格遵守。 - 1. 上下文与触发条件:关于 AI 何时激活此技能的明确规则。
- 2. 依赖与设置:所需的
pnpm install包或设置。 - 3. 强制代理工作流程:一个分步清单,未来的代理必须强制执行。
- 4. 代码模板:可直接复制粘贴的样板代码。
- 5. 边缘情况(至关重要):AI 绝对不能做的事情。
- 6. 验证步骤:未来的代理应如何验证其工作成果。
- 严格的 YAML 前置元数据(
- 反偷懒与无限制指令(至关重要): 永远不要截断模板、总结代码或使用“对...应用相同结构”之类的占位符。当更新现有技能时,你应保留的信息量没有限制。你必须保留所有现有的有效数据,并仔细合并新指令,以确保技能保持 100% 的最新和全面。对于上下文中提及的每个文件、文件夹或变体,你必须写出完整、准确的样板代码。完整性是强制性的。
- 使用
write_to_file工具将编译好的 Markdown 保存到目标目录(例如.agents/skills/<skill-name>/SKILL.md和/或.cursor/rules/<skill-name>.mdc)。 - 通知用户安装成功。