--- name: update aliases: [up] description: 收集用户反馈并更新最近使用的 skill。可通过 /update 或 /up 调用。在用完某个 skill 后调用此命令来优化该 skill。 disable-model-invocation: true argument-hint: [skill-name] --- # Skill 更新助手 当用户调用 `/up` 或 `/up ` 时,执行以下步骤: ## 1. 识别目标 Skill **如果用户提供了参数 `$ARGUMENTS`**: - 直接使用指定的 skill 名称作为更新目标 **如果没有提供参数**: 分析当前对话历史,找出最近使用的 skill: - 搜索对话中的 `` 标签,识别调用过的 skill - 如果找到多个 skill,让用户确认要更新哪一个 - 如果没有找到任何 skill 调用记录,提示用户先使用一个 skill ## 2. 收集用户反馈 向用户询问以下问题(使用 AskUserQuestion 工具): **问题 1:这次使用体验如何?** - 很好,skill 完全满足需求 - 基本满足,但有改进空间 - 不太满意,需要较大调整 **问题 2:具体需要改进的方面?**(多选) - 执行步骤不够清晰 - 缺少某些功能 - 输出格式需要调整 - 提示词需要优化 - 其他(用户自定义输入) ## 3. 分析优化点 基于用户反馈和本次 skill 使用过程,分析以下方面: 1. **执行流程**:哪些步骤可以简化或合并? 2. **指令清晰度**:哪些指令描述不够明确? 3. **遗漏功能**:有哪些场景没有覆盖到? 4. **输出质量**:输出格式是否符合用户预期? ## 4. 定位 Skill 文件 按以下优先级搜索 skill 文件: 1. 项目级:`.claude/skills//SKILL.md` 2. 用户级:`~/.claude/skills//SKILL.md` ## 5. 更新 Skill 读取现有的 SKILL.md 文件内容,根据分析结果进行更新: - 保持 frontmatter 格式不变(除非需要修改 description) - 优化执行步骤的描述 - 添加缺失的功能说明 - 改进提示词的表达方式 - 添加必要的注意事项或边界情况处理 ## 6. 确认更新 在更新前,向用户展示: - 修改前后的对比(diff 格式) - 说明每处修改的原因 用户确认后才执行实际的文件更新。 ## 注意事项 - 如果 skill 文件不存在或路径无法确定,提示用户手动指定路径 - 更新时保持 skill 的原有风格和结构 - 重大修改需要用户明确确认 - 保留原有的有效内容,只做增量优化