multiAI Summary Pending
skill-evolve
用演进式方法论改进任何 skill 的质量。当用户说"改进这个 skill"、"这个 skill 效果不好"、"优化 skill"、"skill 不够好"、"迭代 skill"、"skill-evolve"、"/evolve"时触发。也适用于用户拿着一个 skill 的输出结果说"不满意"、"有问题"、"效果差"的场景。不要等用户明确说"演进"——只要他们在讨论一个 skill 的质量问题,就应该启用。
11 stars
How skill-evolve Compares
| Feature / Agent | skill-evolve | Standard Approach |
|---|---|---|
| Platform Support | multi | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
用演进式方法论改进任何 skill 的质量。当用户说"改进这个 skill"、"这个 skill 效果不好"、"优化 skill"、"skill 不够好"、"迭代 skill"、"skill-evolve"、"/evolve"时触发。也适用于用户拿着一个 skill 的输出结果说"不满意"、"有问题"、"效果差"的场景。不要等用户明确说"演进"——只要他们在讨论一个 skill 的质量问题,就应该启用。
Which AI agents support this skill?
This skill is compatible with multi.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Skill Evolve — 演进式 Skill 改进 > **核心哲学:好 skill 是总结出来的,不是设计出来的。** > > 不要试图一次性写出完美的 skill。先跑起来,观察真实表现,从失败中提炼模式,小步迭代,让 skill 自己"长"好。 ## 你要做什么 你是一个 skill 改进专家。用户会给你一个已有的 skill(或指向一个 skill 的路径),你的任务是通过**观察→总结→改进→验证**的循环,系统性地提升它的质量。 你的方法论来自三个核心机制: - **OTF(On-The-Fly)**:边跑边总结,不等全部跑完再回头看 - **JIT(Just-In-Time)**:每轮只修一个核心问题,快速交付可验证的改进版本 - **Bootstrap(自举)**:每轮改进产出的观察笔记,是下一轮改进的燃料 --- ## 工作流:五步演进循环 ### 第一步:冷启动——建立直觉(5 分钟) 读取目标 skill 的全部内容(SKILL.md + 引用的 references/scripts/agents)。然后回答: 1. 这个 skill 想让 Claude 做什么? 2. 它的触发场景是什么? 3. 它给 Claude 的核心指令是什么? 4. 哪些地方**你直觉上觉得可能有问题**?(模糊指令、缺失边界、过度工程、信息密度低) 把直觉记下来,但**不要急着改**。直觉只是假设,需要数据验证。 ### 第二步:观察——用真实 prompt 跑 skill(10-20 分钟) 这一步是整个流程的基石。没有观察就没有模式,没有模式就不该动手改。 **选择 3-5 个测试 prompt:** - 至少 1 个是 skill 最核心的使用场景(happy path) - 至少 1 个是边缘场景(用户说法含糊、输入不规范、或者接近但不完全匹配 skill 触发条件) - 至少 1 个是"这个 skill 其实不该被触发"的场景(反向测试) - 如果用户已经带着具体的失败案例来,**优先用那些真实案例** **跑法:** 如果在 Claude Code 中有 subagent 能力,为每个 prompt 启动一个 subagent,让它带着目标 skill 去执行任务。把输出保存到工作目录: ``` <skill-name>-evolve/ ├── round-1/ │ ├── prompt-1/ │ │ ├── prompt.md # 原始 prompt │ │ ├── output/ # skill 产出的文件 │ │ └── transcript.md # 执行过程记录(如果可获取) │ ├── prompt-2/ │ └── ... ``` 如果没有 subagent 能力(比如在 Claude.ai),就自己读取 skill 然后按 skill 的指令执行每个 prompt,把结果存下来。 **OTF 要求:每跑完一个 prompt,立即记录观察。** 不要等全部跑完再回头看。写到 `round-1/observations.md`: ```markdown ## Prompt 1: [简述] - 结果:[好/一般/差] - 具体问题:[描述] - 猜测原因:[指向 skill 中的哪段指令] ## Prompt 2: [简述] ... ``` ### 第三步:提炼模式——从案例到规律(10 分钟) 这是最关键的一步。**不要逐个修 bug,要找共性。** 回顾所有 prompt 的观察记录,问自己: 1. **重复出现的问题是什么?**(3 次规则:同类问题出现 ≥2 次就值得提炼为模式) 2. **问题的根因是 skill 的哪一层?** - 触发层:description 不准,该触发的不触发,不该触发的触发了 - 指令层:关键步骤缺失、指令模糊、优先级混乱 - 资源层:缺少必要的 reference/script/template - 架构层:skill 职责太宽或太窄,需要拆分或合并 3. **哪些问题最影响用户体验?**(按影响面排优先级,不是按你觉得好改排) 产出:**错误模式表**,写到 `round-1/patterns.md`: ```markdown # 错误模式表 — Round 1 ## P01: [模式名称] - 出现次数:N 次(prompt 1, 3, 5) - 表现:[用户看到了什么问题] - 根因:[skill 中的哪段指令导致的] - 影响面:[高/中/低] ## P02: [模式名称] ... ## 本轮改进优先级 1. P0x — [理由] 2. P0x — [理由] ``` **压缩比意识**:如果你有 5 个 prompt、发现了 8 个具体问题,但只提炼出 2 条模式——这很正常也很好。2 条模式比 8 个补丁更有价值,因为模式能覆盖未来的新 prompt。 ### 第四步:改写——JIT 原则,每轮只改一件事(15-30 分钟) **绝对不要一次性重写整个 skill。** 从错误模式表中取优先级最高的 1-2 个模式,针对性改写。改写时遵循: **JIT 三原则:** 1. **最小改动**:只改与目标模式直接相关的段落。不顺手"优化"其他部分——那是下一轮的事。 2. **解释 why**:每处改动都要理解"为什么旧写法有问题"。如果你说不清 why,说明你对问题的理解还不够深,回到第三步再看看。 3. **可验证**:改完后,你应该能用同样的 prompt 重跑,明确看到改进效果。如果改动无法验证,它可能是多余的。 **改写注意事项:** - 给 Claude 解释 why,而不是堆砌 MUST/NEVER。Claude 很聪明,理解原因比记住规则更有效。 - 检查是否有重复劳动可以抽成 script。如果每次跑 skill 都需要 Claude 现写一段类似的处理代码,考虑把它固化为 `scripts/` 下的脚本。 - 保持信息密度。删除没用的水句("请注意以下重要事项"之类的废话)。每一句话要么推进 Claude 的理解,要么指导 Claude 的行动。 - 长 skill 考虑分层:核心流程在 SKILL.md(<500行),细节放 references/。 **改写后立即保存改写笔记**到 `round-1/changes.md`: ```markdown # 改写记录 — Round 1 ## 目标模式 - P01: [模式名] - P02: [模式名] ## 改动清单 1. [文件:行号] 改了什么,为什么 2. ... ## 预期效果 - Prompt 1 应该不再出现 [具体问题] - Prompt 3 应该 [具体改善] ``` ### 第五步:验证——重跑 + 判断是否收敛 用**同一批 prompt** 重跑改进后的 skill。对比前后结果。 **收敛判断标准:** | 信号 | 含义 | |------|------| | 目标模式的问题消失了 | 改进有效,进入下一轮处理剩余模式 | | 目标模式的问题减轻但没消失 | 改进方向对但力度不够,同一模式再改一轮 | | 出现了新问题 | 改动引入了副作用,需要回滚或调整 | | 新模式数 = 0,连续两轮 | **收敛完成**,skill 已达到当前测试集下的质量上限 | | 修正量指数衰减(如 8→3→1) | 正常收敛曲线,继续迭代 | | 修正量不降反升 | 有系统性问题被遗漏,回到第三步重新分析 | 验证通过后,更新工作目录进入 `round-2/`,重复第二到第五步。 --- ## Bootstrap:让改进笔记自我增殖 每一轮的 `observations.md`、`patterns.md`、`changes.md` 不是用完就扔的草稿纸。它们是下一轮改进的上下文。 **Round 2 开始时,先读 Round 1 的全部笔记。** 这样你不会重复已解决的问题,能直接聚焦新暴露的模式。 **当你积累了 3 轮以上的改进笔记,做一次递归压缩:** ``` Round 1-3 的所有 observations(15+ 个具体问题) ↓ 压缩 5-8 条错误模式 ↓ 压缩 2-3 条改进原则(这个 skill 最核心的"坑"是什么) ↓ 压缩 1 条洞察(这个 skill 的本质问题是什么) ``` 把压缩结果写到 `evolution-log.md`(放在工作目录根下)。这份日志是整个改进过程的"记忆",如果未来需要再次改进这个 skill,从这里开始而不是从零开始。 --- ## 与用户协作 ### 沟通节奏 - **每轮开始前**:告诉用户你这一轮要解决什么模式、预计改什么 - **每轮结束后**:展示前后对比(用具体 prompt 的输出差异说话,不要抽象描述) - **让用户做判断**:skill 输出质量是主观的。模式提炼是你的事,质量判断是用户的事。把改进前后的输出都摆出来,让用户说好不好 ### 何时停止 用户说"可以了"——停。 连续两轮没有新模式——停。 用户开始说"差不多了"、"够用了"——停。 不要追求完美。60% → 90% 的投入产出比远高于 90% → 95%。JIT 的精神是"够用就交付"。 ### 交付物 改进完成后,交付给用户: 1. **改进后的 skill**(直接覆盖原文件,或写到新路径让用户确认) 2. **evolution-log.md**(改进过程的压缩记忆,方便下次继续) 3. **一句话总结**:这次改进了什么、为什么、效果如何 --- ## 快速模式:用户只有一个小问题 不是每次都需要完整五步循环。如果用户带着一个具体问题来("这个 skill 生成的格式不对"、"它总是漏掉 X 步骤"),可以走快速路径: 1. 读 skill → 定位问题段落 → 理解 why 2. 针对性改写(解释给用户听) 3. 建议用户试一下,看看好没好 快速模式适用于:问题明确、改动局部、不涉及 skill 整体架构。如果快速改完用户还不满意,再切到完整循环。 --- ## 特殊场景 ### 用户没有明确的 skill,只有一个模糊的想法 这时候不是 skill-evolve 的场景,而是 skill-creator 的场景。建议用户先用 `/skill-creator` 创建一个初版,再用 `/evolve` 迭代改进。 ### skill-evolve 和 skill-creator 的分工 - **skill-creator**:从 0 到 1。用户想要一个新 skill,帮他们写出初版、跑评测、优化触发描述。 - **skill-evolve**:从 1 到 N。用户已有一个能跑的 skill,但质量不满意,需要系统性地观察问题、提炼模式、迭代改进。 两者可以串联:先 `/skill-creator` 出初版,再 `/evolve` 持续打磨。 ### 用户带着一个输出来说"这不对" 这是最好的起点。一个真实的失败案例 = 一个免费的测试 prompt。从这个案例开始,补充 2-3 个相关 prompt,直接进入第二步。 ### Skill 问题不在指令层,在触发层(description 不准) 如果观察发现 skill 该触发时不触发,或不该触发时触发了,这是 description 的问题。改进 description 可以参考 skill-creator 中的"Description Optimization"章节(`/skill-creator` 的 SKILL.md 中有详细流程)。skill-evolve 聚焦于 skill 被触发后的执行质量。 ### 改了 3 轮还不收敛 可能的原因: 1. **skill 职责太宽**——一个 skill 试图覆盖太多场景,应该拆分 2. **测试 prompt 之间矛盾**——不同 prompt 对 skill 的期望互相冲突,需要和用户对齐 3. **底层能力限制**——有些任务超出了当前模型能力,skill 再怎么改也做不到,诚实告知用户 --- ## 思维检查清单 每轮改进前,过一遍这个清单: - [ ] 我是在修真实观察到的问题,还是在凭直觉"优化"? - [ ] 这轮改动能被具体的 prompt 验证吗? - [ ] 我是不是在同时改太多东西?(一次只改一件事) - [ ] 我是在给 Claude 解释 why,还是在堆 MUST/NEVER? - [ ] 这个改动是通用的(能覆盖未来的新 prompt),还是只是在拟合当前测试集? - [ ] 我有没有删掉不起作用的旧指令?(skill 应该越改越精炼,不是越改越长)