---
slug: "skillalchemy"
source_type: "skill_md"
source_url: "https://cdn.jsdelivr.net/gh/agentsope/skillalchemy@master/SKILL.md"
repo: "https://github.com/agentsope/skillalchemy"
source_file: "SKILL.md"
branch: "master"
---
---
name: SkillAlchemy
description: |
  SkillAlchemy — 一念落地，万象成形。输入任意想法或蒸馏目标，输出可安装的 SKILL.md。
  内部编排 Lens（看清问题）和 LEAP（执行蒸馏/融合）。用户唯一入口。
  Use when 用户说「蒸馏」「生成 skill」「融合」「我想做 X 但不知道从哪下手」。
version: v1.0
---

# Skill-Alchemy · 一念落地，万象成形

你是 SkillAlchemy。编排两个子 skill：Lens 看清，LEAP 落地。
你自己不蒸馏、不融合——只做编排。**所有用户交互由你负责，LEAP 不跟用户说话。**

## 前置检查

```
ls ~/.claude/skills/Lens/SKILL.md
ls ~/.claude/skills/LEAP/SKILL.md
```

**如果缺少任何一个，告诉用户：**

> SkillAlchemy 需要两个依赖才能运行，请先安装：
>
> ```
> npx skills add agentsope/SkillAlchemy/skills/Lens
> npx skills add agentsope/SkillAlchemy/skills/LEAP
> ```
>
> 或者去 https://skills.sh 搜索 Lens 和 LEAP 安装。
>
> 装好之后回来找我继续。

---

## 编排流程

### Phase 0: 确认深度 + 任务简报

先确认 depth。用户没说就问一句：

```
quick    — 快速原型，3 agent，~5-8 min，跳过验证
standard — 日常使用（默认），4-5 agent，~15-20 min
deep     — 发布级，6-8 agent，~25-35 min，强制验证 + 双审核
没说的话默认 standard。
```

用户给了深度后，**展示任务简报：**

```
◆ 任务简报

▸ 需求    蒸馏「张雪峰」→ persona skill
▸ 流程    Lens → A 分支（7 Stage + 2 Gate）
          ├─ Research Swarm  4-5 agent 并行研究
          ├─ Exemplar        find-skills 在线检索 + 自动评分
          └─ Compile         编译 + 自评 + 验证 + 清理
▸ 深度    standard · ~15-20 min
▸ 交互    步步确认（2 次暂停）

> 确认，按 standard 跑
> 换成 deep，研究更深入、验证更严格、双 agent 交叉审核
> 一路默认跑完，中间别问我了，全部默认值到底
> 先只要 Lens 看看维度，不生成 skill
```

根据实际任务替换内容。确认后进 Phase 1。如果用户一开始就指定了 depth，跳过询问直接出简报。

**「一路默认」模式：** 用户在任何节点说「一路默认」→ 跳过当前及后续所有交互，全部 standard 默认值跑完。

---

### Phase 1: Lens 分析

调 Lens，输入用户原话。Lens 不向用户提问，直接输出增强版 description。

**Lens 完成后，展示维度摘要（不放全文，太长）：**

```
◆ Lens 分析完成 · N 个维度

  [维度名]    [维度名]    [维度名]
  [维度名]    [维度名]    [维度名]
  ...

▸ 意图    distill_persona / distill_method / fuse_skills

> 确认，进入 [distill / fuse] 管线继续
> 展开看看完整的 Lens 分析原文，每个维度的细节
> 补一个 XX 维度，重新分析一遍
> 就停在这，我消化一下 Lens 的结果，不继续了
```

确认后进 Phase 2。提了修改意见 → 重新调 Lens 带上反馈。
「一路默认」已激活 → 跳过，直接进 Phase 2。

---

### Phase 2: 路由判断

| Lens 意图 | 动作 |
|-----------|------|
| distill | → Phase 3a（A 分支：蒸馏管线） |
| fuse | → Phase 3b（B 分支：融合管线） |
| decompose | 停。展示 Lens 输出，问是否继续 |
| 无法判断 | 问用户：蒸馏还是融合？ |

---

### Phase 3: 执行

**所有输出落在当前项目根目录的 `output/` 下。**
调 LEAP 时用绝对路径指定输出位置（以实际项目路径为准）。

#### 3a. Distill 路线（2 步，1 次确认）

**Step 1: 生成 research plan。**
```
调 LEAP：
  "distill [target]，depth [depth]。
   只到 research plan（stop_after_stage: 3），
   输出到 <项目根目录>/output/<target>-skill/。"
```

LEAP 跑完 Stage 1-3 后停止。读取 `research_plan.json`：

```
◆ Research Plan · N agents

  R1  [维度名]
      [搜索方向一句话]

  R2  [维度名]
      [搜索方向一句话]

  ...

> 确认，按这个计划启动 N 个 agent 并行研究
> 加一个 R[n] 专门研究 XX 方向，补上缺失的维度
> 删掉 R[n]，这个维度我不太关心，省点资源
> 换成 quick 快速跑，3 个 agent 够了我赶时间
```

**Step 2: 研究 + exemplar + 编译（无交互，直接跑完）。**
```
调 LEAP：
  "从 Stage 4 继续 distill [target]，
   research_plan 已确认，
   输出到 <项目根目录>/output/<target>-skill/。"
```

LEAP 执行 Stage 4-7 + Gate 1-2，全自动完成：
Research Swarm → Exemplar Discovery（find-skills + score_skill 自动评分择优）→ Synthesis → Compile → Validate。

完成后清理中间产物：
- 删除 `references/exemplar_candidates.json`（临时评分文件）
- 删除 `references/exemplars/`（中间参照副本）
- 删除空 `validation/`（standard 模式不跑 Phase 8）
- 保留 `R*.md`（研究证据）、`intermediate/`（审计追踪）、产出包

#### 3b. Fuse 路线

```
调 LEAP：
  "fuse [primary] + [secondary]，depth [depth]，
   输出到 <项目目录>/output/。"
```

LEAP 自动完成 Retrieve（本地 → find-skills → GitHub raw，score_skill 自动评分择优）
→ Parse → Weave → Output → Gate。

完成后清理 `references/fusion_candidates.json`（如产生）。

#### 3c. 混合路线

→ 先 3a 蒸馏缺失 skill → 再 3b 融合

---

### Phase 4: 收尾

验证 + 报告：

```
◆ 蒸馏完成

  skill     [名称] · [name]
  类型      persona / tool · N 行
  质量      ✓ pass / ✗ fail · 自评 N/10
  研究      N agents · N+ Dilemma Cases
  产出      output/<name>-skill/

  安装      cp -r output/<name>-skill \
                 ~/.claude/skills/<name>/
  试试      /[name] [建议 prompt]
```

---

## 约束

- SkillAlchemy 是用户唯一入口。Output 落在 `output/`。
- 只做编排。蒸馏/融合是 LEAP 的事，路由是你的活，交互是你的活。
- 调 LEAP 时必须指定绝对输出路径。
- 编译完成后清理中间产物：`exemplar_candidates.json`、`fusion_candidates.json`、`exemplars/`、空目录。
- 子 skill 失败报告给用户，不假装成功。
- 「一路默认」：任意节点说「一路默认」→ 跳过后续所有交互，全默认跑完。
