evolve
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseEvolve
Evolve
Four modes: Session (run at session end), Personalize (discover and integrate external skills), Registry (curate and presets), Create (build a new skill from scratch). Skill creation and significant rewrites always go through — never write to SKILL.md directly.
skillpacks/skill_dictionary.yamlskill-creatorIf is unavailable in the current environment, stop and tell the user. Do not silently simulate its workflow.
skill-creator四种模式:Session(会话结束时运行)、Personalize(发现并集成外部技能)、Registry(管理和预设)、Create(从零开始构建新技能)。技能创建和重大重写必须通过完成——绝不直接写入SKILL.md。
skillpacks/skill_dictionary.yamlskill-creator如果当前环境中无法使用,请停止操作并告知用户。请勿静默模拟其工作流程。
skill-creatorMode 1 — Session
模式1 — 会话模式
Inputs
输入
- Read History section and the git log (
RESEARCH.md).git log --since="24 hours ago" --oneline
- 读取RESEARCH.md的History章节以及git日志()。
git log --since="24 hours ago" --oneline
Identify Candidate Lessons
识别候选经验
- Look for: things that failed and why; unexpected experiment results; debugging insights that took significant effort; workflow improvements; decisions that were revisited or reversed.
- 寻找以下内容:失败的事项及原因;意外的实验结果;花费大量精力得到的调试见解;工作流程改进;被重新审视或推翻的决策。
Generalize Filter
普适性筛选
- For each candidate: "Would this help in a different project on a different topic?"
- No → discard. Project-specific learnings stay in .
RESEARCH.md - Yes → write a lesson file.
- No → discard. Project-specific learnings stay in
- 针对每个候选经验,思考:“这对不同主题的其他项目有帮助吗?”
- 否 → 舍弃。项目专属的学习内容保留在RESEARCH.md中。
- 是 → 撰写经验文件。
Write Lesson Files
撰写经验文件
-
Createusing
lessons/YYYYMMDD-<slug>.md. Fill in: Trigger, Lesson, Evidence, Applies to, Confidence (LOW/MED/HIGH), Status (PROPOSED).LESSON.md.template -
If the lesson implies a skill change, classify it:
- Minor tweak (wording, one extra step, edge case) → write a unified diff under and a matching
## Proposed diff.lessons/YYYYMMDD-<slug>.diff - New skill or significant rewrite → hand off to : describe the intent, provide the lesson as context, and follow its draft→test→iterate loop. The resulting SKILL.md lands in
skill-creatoras a proposal — never installed directly.lessons/
- Minor tweak (wording, one extra step, edge case) → write a unified diff under
-
使用LESSON.md.template创建。填写以下内容:触发条件、经验内容、证据、适用场景、置信度(LOW/MED/HIGH)、状态(PROPOSED)。
lessons/YYYYMMDD-<slug>.md -
若经验意味着需要变更技能,进行分类:
- 小幅调整(措辞修改、新增一个步骤、边缘场景处理)→ 在下编写统一差异文件,并生成对应的
## Proposed diff文件。lessons/YYYYMMDD-<slug>.diff - 新增技能或重大重写 → 移交至:描述意图,提供经验作为上下文,并遵循其「草稿→测试→迭代」流程。生成的SKILL.md将作为提案存入
skill-creator——绝不直接安装。lessons/
- 小幅调整(措辞修改、新增一个步骤、边缘场景处理)→ 在
Session Summary
会话总结
- Print:
Session summary: - TODOs completed: N - Key metrics: <any that moved> - Lessons extracted: N - Skill diffs proposed: N - Tell the user: "Review proposed diffs in . Merge with
lessons/or edit directly."git apply
- 打印:
Session summary: - TODOs completed: N - Key metrics: <any that moved> - Lessons extracted: N - Skill diffs proposed: N - 告知用户:“请查看中的提案差异。可使用
lessons/合并或直接编辑。”git apply
Mode 2 — Personalize
模式2 — 个性化模式
Activate when the user says "personalize", "integrate this skill", "find a skill for", or provides an external SKILL.md path or URL.
当用户说出“personalize”、“integrate this skill”、“find a skill for”,或提供外部SKILL.md的路径或URL时激活。
Step 0 — Discover (if no target provided)
步骤0 — 发现(未提供目标时)
- If the user gives a description rather than a path/URL, search the registry:
Present the top results (name, description, install command) and ask the user which to integrate. Then continue with the chosen skill(s).bash
npx skills find "<query>"
- 如果用户提供的是描述而非路径/URL,搜索注册表:
展示排名靠前的结果(名称、描述、安装命令),并询问用户要集成哪一个。随后继续处理所选技能。bash
npx skills find "<query>"
Step 1 — Read external skill(s)
步骤1 — 读取外部技能
- Read the target: a single SKILL.md, a skills directory, or a skill pack repo. Extract:
- Name, description, trigger phrases
- Tools, MCP servers, and external dependencies it references
- Behavioral patterns (workflows, delegation, output files)
- 读取目标内容:单个SKILL.md、技能目录或技能包仓库。提取以下信息:
- 名称、描述、触发短语
- 其引用的工具、MCP服务器和外部依赖
- 行为模式(工作流程、任务委托、输出文件)
Step 2 — Inventory installed skills
步骤2 — 盘点已安装技能
- Read all SKILL.md files in (or the project
~/.claude/skills/). Build a map of:.claude/skills/- Names and descriptions
- Tools and MCP servers already in use
- Overlapping trigger phrases
- 读取(或项目的
~/.claude/skills/)中的所有SKILL.md文件。构建以下映射:.claude/skills/- 名称和描述
- 已在使用的工具和MCP服务器
- 重叠的触发短语
Step 3 — Analyze
步骤3 — 分析
-
For each external skill, assess three dimensions:Compatibility — will it conflict?
- Name collision with an installed skill?
- References a tool/MCP not configured (e.g., not done)?
alpha login - Contradicts a behavioral rule in an existing skill?
Scope overlap — does it duplicate something?- Substantially the same as an installed skill → flag as overlap, note the delta
- Partially overlapping → identify which parts are additive
New capability — what does it genuinely add?- List capabilities not covered by any installed skill
-
针对每个外部技能,从三个维度进行评估:兼容性 — 是否会产生冲突?
- 是否与已安装技能存在名称冲突?
- 是否引用了未配置的工具/MCP(例如未执行)?
alpha login - 是否与现有技能的行为规则相矛盾?
范围重叠 — 是否存在重复内容?- 与已安装技能基本相同 → 标记为重叠,记录差异点
- 部分重叠 → 识别新增的内容部分
新能力 — 真正新增了什么?- 列出未被任何已安装技能覆盖的能力
Step 4 — Interview the user
步骤4 — 与用户沟通
-
Ask targeted questions based on the analysis. Ask all at once, not one-by-one:For each overlap: > "overlaps with your
<external>. It differs in:<installed>. Replace, merge, or skip?"<delta>For each missing dependency: > "requires<external>. Do you have it? If not, skip those parts?"<tool/MCP>For each behavioral conflict: > "does<external>but your<X>does<installed>. Which do you prefer?"<Y>Open: > "Anything from this skill you explicitly don't want?"
-
根据分析结果提出针对性问题。一次性全部提出,而非逐个询问:针对每个重叠项:> "与您已安装的
<external>存在重叠。差异点为:<installed>。是否替换、合并或跳过?"<delta>针对每个缺失依赖:> "需要<external>。您是否已配置?若未配置,是否跳过相关部分?"<tool/MCP>针对每个行为冲突:> "会执行<external>,但您已安装的<X>会执行<installed>。您偏好哪一种?"<Y>开放式问题:> "您明确不想要该技能中的哪些内容?"
Step 5 — Create or improve via skill-creator
步骤5 — 通过skill-creator创建或改进
-
Based on user answers, determine the scope:
- Additive merge (minor additions to an existing skill) → write a unified diff to with a companion
lessons/YYYYMMDD-personalize-<slug>.diff..md - New skill or substantial rewrite → hand off to : describe the desired skill, provide the source material and user's confirmed preferences as context, and follow its draft→test→iterate loop. Output lands in
skill-creatoras a proposal.lessons/
- Additive merge (minor additions to an existing skill) → write a unified diff to
-
Tell the user: "Ready in. Review and apply with
lessons/when satisfied."git apply
-
根据用户的回答确定范围:
- 增量合并(对现有技能进行小幅补充)→ 将统一差异写入,并生成对应的
lessons/YYYYMMDD-personalize-<slug>.diff文件。.md - 新增技能或重大重写 → 移交至:描述所需技能,提供源材料和用户确认的偏好作为上下文,并遵循其「草稿→测试→迭代」流程。输出结果作为提案存入
skill-creator。lessons/
- 增量合并(对现有技能进行小幅补充)→ 将统一差异写入
-
告知用户:“已准备就绪,存于中。满意后可使用
lessons/应用变更。”git apply
Mode 3 — Registry
模式3 — 注册表模式
Activate when the user asks to refresh the tracked skill-pack catalog, assess a new pack, compare packs, or update / preset definitions.
skillpacks/skill_dictionary.yaml当用户要求刷新跟踪的技能包目录、评估新技能包、比较技能包,或更新 / 预设定义时激活。
skillpacks/skill_dictionary.yamlRegistry inputs
注册表输入
Read:
skillpacks/skill_dictionary.yamlskillpacks/presets/*.yaml- /
README.mdpack comparison sections when relevantREADME_CN.md
If the user points at a new external repo, read its README and any obvious skill inventory files first.
读取:
skillpacks/skill_dictionary.yamlskillpacks/presets/*.yaml- 相关的README.md / README_CN.md中的技能包比较章节
如果用户指向新的外部仓库,先读取其README和任何明显的技能清单文件。
Responsibilities
职责
-
Maintainas the shared curated registry.
skillpacks/skill_dictionary.yaml -
For each pack or skill being assessed, judge:
- workflow fit
- gap coverage
- overlap cost
- dependency burden
- maintenance health
- composability
- supervision sensitivity
- autonomy bias
-
Normalize outputs into concise labels when possible:
- necessity:
default | recommended | optional | niche | avoid - compatibility:
high | medium | low - role:
base | donor | overlay | niche | experimental
- necessity:
-
Recommend subsets, not bulk imports, unless the user clearly asks for a full-pack strategy.
-
Update presets when the registry change meaningfully affects default recommendations.
-
Keep rationales concise and decision-oriented. The registry is for recommendation and comparison, not exhaustive catalog dumps.
-
将维护为共享的精选注册表。
skillpacks/skill_dictionary.yaml -
针对每个被评估的技能包或技能,判断:
- 工作流程适配性
- 缺口覆盖度
- 重叠成本
- 依赖负担
- 维护健康度
- 可组合性
- 监督敏感性
- 自主性偏差
-
尽可能将输出标准化为简洁标签:
- 必要性:
default | recommended | optional | niche | avoid - 兼容性:
high | medium | low - 角色:
base | donor | overlay | niche | experimental
- 必要性:
-
推荐子集,而非批量导入,除非用户明确要求全技能包策略。
-
当注册表变更对默认推荐产生重大影响时,更新预设。
-
保持理由简洁且以决策为导向。注册表用于推荐和比较,而非详尽的目录转储。
Safety boundary
安全边界
-
Registry curation may editand
skillpacks/skill_dictionary.yaml, but changes to existingskillpacks/presets/*.yamlbehavior still require either:SKILL.md- a minor diff proposal in , or
lessons/ - a handoff for substantial rewrites.
skill-creator
- a minor diff proposal in
-
If a registry update would imply changing default project behavior materially, ask before proceeding.
-
注册表管理可编辑和
skillpacks/skill_dictionary.yaml,但要变更现有SKILL.md的行为仍需:skillpacks/presets/*.yaml- 在中提交小幅差异提案,或
lessons/ - 对于重大重写,移交至处理。
skill-creator
- 在
-
若注册表更新会实质性改变默认项目行为,需先询问用户再进行操作。
Mode 4 — Create
模式4 — 创建模式
Activate when the user says "create a skill for X" or "build a new skill".
- Capture intent: what should the skill do, when should it trigger, what's the expected output?
- Check — if a close match exists, suggest integrating it instead (Mode 2).
npx skills find "<intent>" - If creating from scratch, hand off to with the captured intent. Follow its draft→test→iterate loop fully. Output lands in
skill-creatoras a proposal.lessons/
当用户说出“create a skill for X”或“build a new skill”时激活。
- 捕捉意图:该技能应实现什么功能、何时触发、预期输出是什么?
- 执行——若存在相近匹配项,建议改为集成该技能(模式2)。
npx skills find "<intent>" - 若需从零开始创建,将捕捉到的意图移交至。完整遵循其「草稿→测试→迭代」流程。输出结果作为提案存入
skill-creator。lessons/
Constraints
约束条件
- Never write directly to any file. Always propose. The human merges.
SKILL.md - Create if it does not exist.
lessons/ - and
skillpacks/skill_dictionary.yamlare curated repo metadata and may be updated directly in Registry mode when the user asks.skillpacks/presets/*.yaml - All skill creation and significant rewrites go through . Raw diffs are only for minor, targeted changes.
skill-creator - Err toward asking rather than assuming. One unanswered question beats a wrong assumption baked into a diff.
- 绝不直接写入任何SKILL.md文件。始终以提案形式提交,由人工合并。
- 若目录不存在则创建。
lessons/ - 和
skillpacks/skill_dictionary.yaml是精选的仓库元数据,当用户要求时,可在注册表模式下直接更新。skillpacks/presets/*.yaml - 所有技能创建和重大重写均需通过完成。仅针对小幅、定向变更使用原始差异文件。
skill-creator - 优先询问而非假设。一个未解答的问题好过一个错误假设被写入差异文件。
Example
示例
Session mode: Experiment failed due to unset random seed. Minor → . New workflow implied → hand off to to draft a skill.
lessons/20260329-seed-reproducibility.diffskill-creatorreproducibility-checkPersonalize mode: User says "find me a skill for LaTeX compilation" → returns 3 results → user picks one → reads it, finds no conflicts → substantial enough to need skill-creator → draft→test→iterate → .
npx skills find "latex"lessons/20260401-personalize-latex.diffCreate mode: User says "create a skill for Slack notifications" → finds a close match → suggests integrating it → user confirms → Mode 2 kicks in.
npx skills find "slack"会话模式:实验因未设置随机种子而失败。属于小幅调整 → 生成。若涉及新工作流程 → 移交至skill-creator以起草技能。
lessons/20260329-seed-reproducibility.diffreproducibility-check个性化模式:用户说“find me a skill for LaTeX compilation” → 返回3个结果 → 用户选择其中一个 → 读取该技能,未发现冲突 → 内容足够复杂,需skill-creator处理 → 草稿→测试→迭代 → 生成。
npx skills find "latex"lessons/20260401-personalize-latex.diff创建模式:用户说“create a skill for Slack notifications” → 找到相近匹配项 → 建议集成该技能 → 用户确认 → 启动模式2。
npx skills find "slack"