evolve

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Evolve

Evolve

Four modes: Session (run at session end), Personalize (discover and integrate external skills), Registry (curate
skillpacks/skill_dictionary.yaml
and presets), Create (build a new skill from scratch). Skill creation and significant rewrites always go through
skill-creator
— never write to SKILL.md directly.
If
skill-creator
is unavailable in the current environment, stop and tell the user. Do not silently simulate its workflow.

四种模式:Session(会话结束时运行)、Personalize(发现并集成外部技能)、Registry(管理
skillpacks/skill_dictionary.yaml
和预设)、Create(从零开始构建新技能)。技能创建和重大重写必须通过
skill-creator
完成——绝不直接写入SKILL.md。
如果当前环境中无法使用
skill-creator
,请停止操作并告知用户。请勿静默模拟其工作流程。

Mode 1 — Session

模式1 — 会话模式

Inputs

输入

  1. Read
    RESEARCH.md
    History section and the git log (
    git log --since="24 hours ago" --oneline
    ).
  1. 读取RESEARCH.md的History章节以及git日志(
    git log --since="24 hours ago" --oneline
    )。

Identify Candidate Lessons

识别候选经验

  1. Look for: things that failed and why; unexpected experiment results; debugging insights that took significant effort; workflow improvements; decisions that were revisited or reversed.
  1. 寻找以下内容:失败的事项及原因;意外的实验结果;花费大量精力得到的调试见解;工作流程改进;被重新审视或推翻的决策。

Generalize Filter

普适性筛选

  1. 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.
  1. 针对每个候选经验,思考:“这对不同主题的其他项目有帮助吗?”
    • → 舍弃。项目专属的学习内容保留在RESEARCH.md中。
    • → 撰写经验文件。

Write Lesson Files

撰写经验文件

  1. Create
    lessons/YYYYMMDD-<slug>.md
    using
    LESSON.md.template
    . Fill in: Trigger, Lesson, Evidence, Applies to, Confidence (LOW/MED/HIGH), Status (PROPOSED).
  2. If the lesson implies a skill change, classify it:
    • Minor tweak (wording, one extra step, edge case) → write a unified diff under
      ## Proposed diff
      and a matching
      lessons/YYYYMMDD-<slug>.diff
      .
    • New skill or significant rewrite → hand off to
      skill-creator
      : describe the intent, provide the lesson as context, and follow its draft→test→iterate loop. The resulting SKILL.md lands in
      lessons/
      as a proposal — never installed directly.
  1. 使用LESSON.md.template创建
    lessons/YYYYMMDD-<slug>.md
    。填写以下内容:触发条件、经验内容、证据、适用场景、置信度(LOW/MED/HIGH)、状态(PROPOSED)。
  2. 若经验意味着需要变更技能,进行分类:
    • 小幅调整(措辞修改、新增一个步骤、边缘场景处理)→ 在
      ## Proposed diff
      下编写统一差异文件,并生成对应的
      lessons/YYYYMMDD-<slug>.diff
      文件。
    • 新增技能或重大重写 → 移交至
      skill-creator
      :描述意图,提供经验作为上下文,并遵循其「草稿→测试→迭代」流程。生成的SKILL.md将作为提案存入
      lessons/
      ——绝不直接安装。

Session Summary

会话总结

  1. Print:
    Session summary:
    - TODOs completed: N
    - Key metrics: <any that moved>
    - Lessons extracted: N
    - Skill diffs proposed: N
  2. Tell the user: "Review proposed diffs in
    lessons/
    . Merge with
    git apply
    or edit directly."

  1. 打印:
    Session summary:
    - TODOs completed: N
    - Key metrics: <any that moved>
    - Lessons extracted: N
    - Skill diffs proposed: N
  2. 告知用户:“请查看
    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 — 发现(未提供目标时)

  1. If the user gives a description rather than a path/URL, search the registry:
    bash
    npx skills find "<query>"
    Present the top results (name, description, install command) and ask the user which to integrate. Then continue with the chosen skill(s).
  1. 如果用户提供的是描述而非路径/URL,搜索注册表:
    bash
    npx skills find "<query>"
    展示排名靠前的结果(名称、描述、安装命令),并询问用户要集成哪一个。随后继续处理所选技能。

Step 1 — Read external skill(s)

步骤1 — 读取外部技能

  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)
  1. 读取目标内容:单个SKILL.md、技能目录或技能包仓库。提取以下信息:
    • 名称、描述、触发短语
    • 其引用的工具、MCP服务器和外部依赖
    • 行为模式(工作流程、任务委托、输出文件)

Step 2 — Inventory installed skills

步骤2 — 盘点已安装技能

  1. Read all SKILL.md files in
    ~/.claude/skills/
    (or the project
    .claude/skills/
    ). Build a map of:
    • Names and descriptions
    • Tools and MCP servers already in use
    • Overlapping trigger phrases
  1. 读取
    ~/.claude/skills/
    (或项目的
    .claude/skills/
    )中的所有SKILL.md文件。构建以下映射:
    • 名称和描述
    • 已在使用的工具和MCP服务器
    • 重叠的触发短语

Step 3 — Analyze

步骤3 — 分析

  1. 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.,
      alpha login
      not done)?
    • 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
  1. 针对每个外部技能,从三个维度进行评估:
    兼容性 — 是否会产生冲突?
    • 是否与已安装技能存在名称冲突?
    • 是否引用了未配置的工具/MCP(例如未执行
      alpha login
      )?
    • 是否与现有技能的行为规则相矛盾?
    范围重叠 — 是否存在重复内容?
    • 与已安装技能基本相同 → 标记为重叠,记录差异点
    • 部分重叠 → 识别新增的内容部分
    新能力 — 真正新增了什么?
    • 列出未被任何已安装技能覆盖的能力

Step 4 — Interview the user

步骤4 — 与用户沟通

  1. Ask targeted questions based on the analysis. Ask all at once, not one-by-one:
    For each overlap: > "
    <external>
    overlaps with your
    <installed>
    . It differs in:
    <delta>
    . Replace, merge, or skip?"
    For each missing dependency: > "
    <external>
    requires
    <tool/MCP>
    . Do you have it? If not, skip those parts?"
    For each behavioral conflict: > "
    <external>
    does
    <X>
    but your
    <installed>
    does
    <Y>
    . Which do you prefer?"
    Open: > "Anything from this skill you explicitly don't want?"
  1. 根据分析结果提出针对性问题。一次性全部提出,而非逐个询问:
    针对每个重叠项:> "
    <external>
    与您已安装的
    <installed>
    存在重叠。差异点为:
    <delta>
    。是否替换、合并或跳过?"
    针对每个缺失依赖:> "
    <external>
    需要
    <tool/MCP>
    。您是否已配置?若未配置,是否跳过相关部分?"
    针对每个行为冲突:> "
    <external>
    会执行
    <X>
    ,但您已安装的
    <installed>
    会执行
    <Y>
    。您偏好哪一种?"
    开放式问题:> "您明确不想要该技能中的哪些内容?"

Step 5 — Create or improve via skill-creator

步骤5 — 通过skill-creator创建或改进

  1. Based on user answers, determine the scope:
    • Additive merge (minor additions to an existing skill) → write a unified diff to
      lessons/YYYYMMDD-personalize-<slug>.diff
      with a companion
      .md
      .
    • New skill or substantial rewrite → hand off to
      skill-creator
      : 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
      lessons/
      as a proposal.
  2. Tell the user: "Ready in
    lessons/
    . Review and apply with
    git apply
    when satisfied."

  1. 根据用户的回答确定范围:
    • 增量合并(对现有技能进行小幅补充)→ 将统一差异写入
      lessons/YYYYMMDD-personalize-<slug>.diff
      ,并生成对应的
      .md
      文件。
    • 新增技能或重大重写 → 移交至
      skill-creator
      :描述所需技能,提供源材料和用户确认的偏好作为上下文,并遵循其「草稿→测试→迭代」流程。输出结果作为提案存入
      lessons/
  2. 告知用户:“已准备就绪,存于
    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
skillpacks/skill_dictionary.yaml
/ preset definitions.
当用户要求刷新跟踪的技能包目录、评估新技能包、比较技能包,或更新
skillpacks/skill_dictionary.yaml
/ 预设定义时激活。

Registry inputs

注册表输入

Read:
  • skillpacks/skill_dictionary.yaml
  • skillpacks/presets/*.yaml
  • README.md
    /
    README_CN.md
    pack comparison sections when relevant
If the user points at a new external repo, read its README and any obvious skill inventory files first.
读取:
  • skillpacks/skill_dictionary.yaml
  • skillpacks/presets/*.yaml
  • 相关的README.md / README_CN.md中的技能包比较章节
如果用户指向新的外部仓库,先读取其README和任何明显的技能清单文件。

Responsibilities

职责

  1. Maintain
    skillpacks/skill_dictionary.yaml
    as the shared curated registry.
  2. For each pack or skill being assessed, judge:
    • workflow fit
    • gap coverage
    • overlap cost
    • dependency burden
    • maintenance health
    • composability
    • supervision sensitivity
    • autonomy bias
  3. Normalize outputs into concise labels when possible:
    • necessity:
      default | recommended | optional | niche | avoid
    • compatibility:
      high | medium | low
    • role:
      base | donor | overlay | niche | experimental
  4. Recommend subsets, not bulk imports, unless the user clearly asks for a full-pack strategy.
  5. Update presets when the registry change meaningfully affects default recommendations.
  6. Keep rationales concise and decision-oriented. The registry is for recommendation and comparison, not exhaustive catalog dumps.
  1. skillpacks/skill_dictionary.yaml
    维护为共享的精选注册表。
  2. 针对每个被评估的技能包或技能,判断:
    • 工作流程适配性
    • 缺口覆盖度
    • 重叠成本
    • 依赖负担
    • 维护健康度
    • 可组合性
    • 监督敏感性
    • 自主性偏差
  3. 尽可能将输出标准化为简洁标签:
    • 必要性:
      default | recommended | optional | niche | avoid
    • 兼容性:
      high | medium | low
    • 角色:
      base | donor | overlay | niche | experimental
  4. 推荐子集,而非批量导入,除非用户明确要求全技能包策略。
  5. 当注册表变更对默认推荐产生重大影响时,更新预设。
  6. 保持理由简洁且以决策为导向。注册表用于推荐和比较,而非详尽的目录转储。

Safety boundary

安全边界

  1. Registry curation may edit
    skillpacks/skill_dictionary.yaml
    and
    skillpacks/presets/*.yaml
    , but changes to existing
    SKILL.md
    behavior still require either:
    • a minor diff proposal in
      lessons/
      , or
    • a
      skill-creator
      handoff for substantial rewrites.
  2. If a registry update would imply changing default project behavior materially, ask before proceeding.

  1. 注册表管理可编辑
    skillpacks/skill_dictionary.yaml
    skillpacks/presets/*.yaml
    ,但要变更现有SKILL.md的行为仍需:
    • lessons/
      中提交小幅差异提案,或
    • 对于重大重写,移交至
      skill-creator
      处理。
  2. 若注册表更新会实质性改变默认项目行为,需先询问用户再进行操作。

Mode 4 — Create

模式4 — 创建模式

Activate when the user says "create a skill for X" or "build a new skill".
  1. Capture intent: what should the skill do, when should it trigger, what's the expected output?
  2. Check
    npx skills find "<intent>"
    — if a close match exists, suggest integrating it instead (Mode 2).
  3. If creating from scratch, hand off to
    skill-creator
    with the captured intent. Follow its draft→test→iterate loop fully. Output lands in
    lessons/
    as a proposal.

当用户说出“create a skill for X”或“build a new skill”时激活。
  1. 捕捉意图:该技能应实现什么功能、何时触发、预期输出是什么?
  2. 执行
    npx skills find "<intent>"
    ——若存在相近匹配项,建议改为集成该技能(模式2)。
  3. 若需从零开始创建,将捕捉到的意图移交至
    skill-creator
    。完整遵循其「草稿→测试→迭代」流程。输出结果作为提案存入
    lessons/

Constraints

约束条件

  • Never write directly to any
    SKILL.md
    file. Always propose. The human merges.
  • Create
    lessons/
    if it does not exist.
  • skillpacks/skill_dictionary.yaml
    and
    skillpacks/presets/*.yaml
    are curated repo metadata and may be updated directly in Registry mode when the user asks.
  • All skill creation and significant rewrites go through
    skill-creator
    . Raw diffs are only for minor, targeted changes.
  • 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 →
lessons/20260329-seed-reproducibility.diff
. New workflow implied → hand off to
skill-creator
to draft a
reproducibility-check
skill.
Personalize mode: User says "find me a skill for LaTeX compilation" →
npx skills find "latex"
returns 3 results → user picks one → reads it, finds no conflicts → substantial enough to need skill-creator → draft→test→iterate →
lessons/20260401-personalize-latex.diff
.
Create mode: User says "create a skill for Slack notifications" →
npx skills find "slack"
finds a close match → suggests integrating it → user confirms → Mode 2 kicks in.
会话模式:实验因未设置随机种子而失败。属于小幅调整 → 生成
lessons/20260329-seed-reproducibility.diff
。若涉及新工作流程 → 移交至skill-creator以起草
reproducibility-check
技能。
个性化模式:用户说“find me a skill for LaTeX compilation” →
npx skills find "latex"
返回3个结果 → 用户选择其中一个 → 读取该技能,未发现冲突 → 内容足够复杂,需skill-creator处理 → 草稿→测试→迭代 → 生成
lessons/20260401-personalize-latex.diff
创建模式:用户说“create a skill for Slack notifications” →
npx skills find "slack"
找到相近匹配项 → 建议集成该技能 → 用户确认 → 启动模式2。