# Auto Skill Extractor

> 从对话中自动提炼工作流程、编码标准和个人偏好，生成可复用的 SKILL.md 文件。当用户说"把这个提炼成 skill"、"记住这个流程"、"下次自动做"、"保存为 skill"，或对话中出现可复用的操作模式时使用。

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

---


# Auto Skill Extractor

从当前对话中识别并提炼可复用的工作流、标准或偏好，写入 `~/.cursor/skills/` 供后续会话自动调用。

## 触发场景

- 用户说"把这个做成 skill / 保存这个流程 / 下次自动执行"
- 对话中出现重复性操作步骤（3 步以上）
- 用户明确了某个偏好或标准（格式、命名、工具选择等）
- 用户演示了一个完整的处理流程

## 提炼流程

### 第一步：识别可提炼内容

从对话历史中找出以下任一类型：

| 类型 | 判断依据 | 示例 |
|------|---------|------|
| **工作流** | 有明确的执行顺序和步骤 | "先跑测试，再提 PR，再通知" |
| **标准/规范** | 有判断条件和约束规则 | "SQL 禁止超过 4 张表关联" |
| **偏好** | 用户反复选择同一方式 | "总是用 DECIMAL 不用 FLOAT" |
| **模板** | 有固定输出格式 | 特定的 commit message 格式 |

### 第二步：确认 skill 范围

提问用户（如有 AskQuestion 工具则使用）：

1. **Skill 名称**：简短、小写、连字符（如 `pr-review-flow`）
2. **触发条件**：什么时候应该自动用这个 skill？
3. **存储位置**：个人（`~/.cursor/skills/`）还是项目（`.cursor/skills/`）
4. **是否需要示例**：是否有具体输入/输出示例

### 第三步：生成 SKILL.md

按以下结构生成，保持简洁（< 200 行）：

```markdown
---
name: <skill-name>
description: <第三人称描述，包含 WHAT 和 WHEN，不超过 200 字>
---

# <Skill 标题>

## 核心规则 / 步骤
[提炼自对话的核心内容]

## 示例（可选）
[具体的输入→输出示例]
```

### 第四步：写入文件

- 个人 skill：`C:\Users\<user>\.cursor\skills\<skill-name>\SKILL.md`
- 项目 skill：`<project-root>\.cursor\skills\<skill-name>\SKILL.md`

使用 Write 工具创建文件，不要用终端命令写文件内容。

## 质量检查

写入后验证：
- [ ] `name` 字段：小写字母、数字、连字符，最多 64 字符
- [ ] `description` 字段：第三人称，包含触发关键词，非空
- [ ] 内容简洁：只写 agent 不已知的信息
- [ ] 无时效性内容（如"截止 2025 年"之类）
- [ ] 无 Windows 风格路径（内容中统一用 `/`）

## 反模式

- 不要把通用常识写进 skill（agent 已知的不需要重复）
- 不要在一个 skill 里塞太多不相关内容，宁可拆成多个
- 不要直接复制对话原文，要提炼成结构化指令

