# Skills Evolve

> 经验沉淀与 Skill 进化工具 — 从会话经验中提取知识并更新对应 Skill，支持架构认知、代码定位、排障方法、踩坑记录等经验的自动分类和注入。触发词：总结经验、更新 skill、经验沉淀、把经验写到 skill、skill 进化、evolve。

- Skill: `jeandoom/skills-evolve` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jeandoom/skills-evolve`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jeandoom/skills-evolve/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Jeandoom (https://skillmd.com/u/jeandoom)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/jeandoom/skills-evolve

---


# Skills Evolve（经验沉淀与 Skill 进化）

从用户对话或会话上下文中提取关键经验，识别受影响的 Skill，将知识注入到对应 SKILL.md 中，实现 Skill 的持续进化。

## 触发条件

- 用户说"总结经验"、"更新 skill"、"经验沉淀"、"把经验写到 skill"
- 用户说"更新 XX skill"、"给 skill 补充知识"
- 用户说"skill 进化"、"evolve"
- 会话结束时用户要求归档本次学到的东西

## 输入

- **必须**: 经验描述（至少包含以下之一）：
  - 具体的经验内容（"审核系统用的是 aix-py 不是 maycur-ai-audit"）
  - "基于当前会话"（隐式引用整个对话上下文）
  - 指向具体文件/代码的定位经验
- **可选**: 目标 skill 名称（不指定则自动识别）

## 经验分类体系

从输入中提取的经验按以下四类分类：

| 类别 | 特征 | 典型注入位置 |
|------|------|-------------|
| **架构知识** | 系统间关系、项目结构、数据流、多项目架构 | `## 已知{领域}知识` section |
| **代码定位** | 观察名→代码映射、关键文件路径、项目 ID | `## {资源}速查` section 或表格 |
| **排障方法论** | 调试步骤、根因分析模式、五步法 | `## 已知{领域}知识` 或 `## {场景}排障指南` |
| **踩坑记录** | 常见错误、注意事项、误判案例 | `## 常见错误与注意事项` section |

## 执行流程（4 阶段）

### 阶段 1: 经验提取

- [ ] 分析用户提供的信息或当前会话上下文
- [ ] 提取关键经验点，每条经验应包含：
  - **事实**: 具体的知识内容（如"审核代码在 aix-py 的 audit_graph.py"）
  - **Why**: 为什么这条经验重要（如"避免在错误项目中搜索"）
  - **场景**: 什么情况下会用到这条经验
- [ ] 将每条经验归入上述四类之一
- [ ] 向用户展示提取结果，确认无遗漏：
  ```
  📋 提取到以下经验：

  【架构知识】
  1. 审核系统三层架构：ai-dispatcher → aix-py → maycur-ai-audit
  2. 当前生产使用 aix-py，不是 maycur-ai-audit

  【代码定位】
  3. 审核 pipeline 核心文件: aix-py/app/graphs/ai_audit/audit_graph.py
  4. 常用项目 ID: aix-py=281452, ai-dispatcher=233017, maycur-ai-audit=338301

  【排障方法论】
  5. Trace→代码五步法：获取trace→定位节点→映射代码→分析数据流→定位根因
  6. 大多数"审核错误"是数据准备问题，不是审核逻辑问题

  是否需要补充或修改？
  ```

---

### 阶段 2: 目标识别

- [ ] 扫描 `skills/` 目录下所有 SKILL.md，读取 name 和 description
- [ ] 根据经验内容的关键词匹配相关 skill：
  - 经验中提到具体 skill 名 → 直接匹配
  - 经验涉及某个工具/平台（SLS、Langfuse、GitLab、Ops）→ 匹配对应 skill
  - 经验涉及排障/分析流程 → 匹配 maycur-ai-{log,code,root-cause}-analyzer
  - 无法匹配 → 列出所有 skill 供用户选择
- [ ] 向用户展示匹配结果，确认更新目标：
  ```
  📋 识别到以下 skill 需要更新：

  1. maycur-ai-root-cause-analyzer — 匹配原因：审核系统架构知识 + 排障方法论
  2. gitlaber — 匹配原因：项目 ID 速查表 + 代码搜索技巧

  是否全部更新？或选择特定 skill？
  ```
- [ ] 用户确认后，读取目标 SKILL.md 全文

---

### 阶段 3: 知识注入

- [ ] 分析目标 SKILL.md 的现有结构，确定注入策略

#### 注入策略判断

| 目标 SKILL.md 现状 | 注入策略 |
|-------------------|---------|
| 已有 `## 已知{领域}知识` section | 追加到该 section 末尾 |
| 已有 `## 常见错误与注意事项` section | 追加踩坑记录到该 section |
| 已有相关速查表格 | 追加行到已有表格 |
| 无相关知识 section | 在 `## 依赖` section **之前** 新增 section |

#### Section 命名规范

- 架构知识: `## 已知{领域}知识`（如 `## 已知系统架构知识`、`## 已知审核系统架构`）
- 速查表: `## 常用{资源}速查`（如 `## 常用项目速查`、`## 常用 API 速查`）
- 排障方法: `## {场景}排障指南`（如 `## Langfuse Trace 排障指南`）
- 踩坑记录: 追加到 `## 常见错误与注意事项`

#### 内容规范

- 使用表格呈现映射关系（观察名→函数、项目名→ID）
- 使用代码块呈现架构图和数据流
- 每条知识附 **关键认知**（加粗的一句话总结）
- 避免冗余：不重复 skill 已有的内容

- [ ] 向用户展示拟更新的 diff（变更位置 + 新增内容摘要）
- [ ] 用户确认后，执行 Edit 更新 SKILL.md

---

### 阶段 4: 验证与收尾

- [ ] 确认所有 SKILL.md 更新成功，无语法错误
- [ ] 可选：询问用户是否同步写入 memory 文件
- [ ] 输出变更摘要

---

## 输出格式

```markdown
## 📝 Skills Evolve 变更摘要

**经验来源**: [来源描述]

### 变更清单

| Skill | 变更类型 | 变更内容 |
|-------|---------|---------|
| maycur-ai-root-cause-analyzer | 新增 section | 「已知审核系统架构」含三层架构图+节点映射表 |
| gitlaber | 新增 section | 「常用项目速查」含 6 个项目 ID |

### 经验归档

| 类别 | 经验点 |
|------|-------|
| 架构认知 | 审核系统使用 aix-py 而非 maycur-ai-audit |
| 排障方法 | Trace→代码五步法 |
```

## 通用规则

1. **增量更新**: 只追加新知识，不删除已有内容
2. **确认后执行**: 每个 skill 的更新都需用户确认 diff 后再执行 Edit
3. **保持一致**: 新增 section 的风格（表格、代码块、加粗）与目标 SKILL.md 现有风格一致
4. **不过度注入**: 一条经验只注入到最相关的 1-2 个 skill，不要到处塞
5. **memory 同步**: 如果用户开启了 memory，同步写入一份到 memory 目录作为备份

## 与其他 Skill 的关系

- **skills-collect**: skills-collect 管理文件的集成和更新，skills-evolve 管理内容的进化和沉淀。两者互补。
- 所有其他 skill: skills-evolve 的操作对象

## 依赖

- 工具: Read、Edit、Glob（读取和修改 SKILL.md 文件）
- 前置: 至少有一个已安装的 skill 可供更新

