# Learning Pack

> 阿真的「学习包生成器」。给一个想学的主题，一站式产出系统学习包：学习路径思维导图图 + 系统资料整理 + 优质视频清单（带博主粉丝量/互动量/关注理由，按学习路径排）+ 电子书风格的学习笔记。当用户说"学习包"、"做个学习包"、"帮我搜一份 XX 的学习包"、"我想系统学 XX"、"系统了解一下 XX"、"XX 怎么入门 / 从零学 XX"、"给我整理一份 XX 的学习资料"、"learning-pack"时触发。脱胎于 deep-researcher，但方向是"帮我把一个主题学明白"，不是写稿情报、不是选题决策。边界：写论文 / 文献综述 / 要引用格式 → 让位 student-researcher；选题调研 / 市场竞品 → 让位 deep-researcher；写成文章 → 让位 irene-content-engine。

- Skill: `irenerachel/learning-pack` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add irenerachel/learning-pack`
- Raw SKILL.md: https://api.skillmd.com/api/skills/irenerachel/learning-pack/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: irenerachel (https://skillmd.com/u/irenerachel)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/irenerachel/learning-pack

---


# Learning Pack · 学习包生成器

把"我想系统学会一个主题"这件事，一次性变成一套能照着走的学习包。给一个主题（如 Loop Engineer、Prompt 工程、剪辑、咖啡冲煮），产出**学习路径 + 系统资料 + 优质视频清单 + 学习笔记**，全部落盘到 `~/Downloads/学习包/`。

## 定位与边界（关键）

- 脱胎于 `deep-researcher`，继承它的并行调研、真实信源、不编造、子文件夹不覆盖这套底线，但**方向完全不同**：deep-researcher 是为阿真写稿做选题决策的情报引擎；本 skill 是"帮我把一个主题学明白"的学习工具。
- 让位场景：
  - **写论文 / 文献综述 / 要 GB/T 7714 或 APA 引用 / 要交 Word** → `student-researcher`
  - **选题调研 / 市场格局 / 竞品分析 / 这事最近怎样了** → `deep-researcher`
  - **把学习包写成公众号 / 小红书文章** → `irene-content-engine`
  - **只要视频逐字稿** → `video-transcriber` / `youtube-transcript-local`
- 命中上述需求直接让位，不要硬接。
- **四份产物全部由本 skill 自己产出**，不外挂任何下游 skill。学习笔记是本 skill 内置能力，直接生成，不调 ebook-maker。

## 配置文件

| 文件 | 职责 |
|---|---|
| `SKILL.md`（本文件）| 阶段流程、参数协商、交付规范、铁律 |
| `references/学习包模板.md` | 4 份交付物的完整模板（00 思维导图 HTML 模板，01/02/03 Markdown）|
| `scripts/html2png.sh` | 把思维导图 HTML 截成高清 PNG（00 用）|
| `scripts/md2pdf.sh` | 把 01/02/03 的 MD 转电子书排版 PDF（超链接保留、含 Mermaid 渲染）|
| `references/派单模板.md` | Stage 2 三路并行 Agent 的 prompt 模板 |

---

# Stage 1：需求确认（开跑前一次问齐所有偏好）

**所有需要用户拍板的点，必须在派任何 Agent、动手生成之前一次问齐**。前 5 项能从指令/记忆推断就用默认，但学习包难度必须出现在确认项里；后 3 项（视频平台、笔记详细度、是否转 PDF）要明确呈现给用户拿主意：

> **收到，准备做「{主题}」的学习包。开跑前确认几件事（不改的就用默认）：**
>
> 1. **学习包难度**：入门级 / 中级 / 进阶级（默认：入门级，普通人友好）
> 2. **学到什么程度**：入门玩玩 / 能上手做事 / 系统精通（默认：能上手做事）
> 3. **你的基础**：纯零基础 / 有一点 / 已有相关经验（默认：纯零基础）
> 4. **每天能投入**：碎片 20 分钟 / 半小时到 1 小时 / 大块时间（默认：半小时到 1 小时）
> 5. **中英文资料**：只要中文 / 中英都要 / 优先英文一手（默认：中英都要，中文优先）
> 6. **视频要哪个平台**（必须你来定）：优先 YouTube / YouTube 和 Bilibili 都要 / 只要 Bilibili
> 7. **学习笔记详细度**：适中加厚（默认）/ 详细教程版
> 8. **要不要把 01/02/03 转成 PDF**（套电子书排版、超链接可点）：不用 / 要
>
> 回我就开跑。**产出 4 份：学习路径(思维导图图) + 系统资料 + 优质视频清单 + 学习笔记，落到 `~/Downloads/学习包/YYYYMMDD-[主题]/`。**

## 难度控制 + 三个必须明确呈现的选项

- **学习包难度（必须列在 Stage 1 确认里）**：默认**入门级**。难度控制的是"怎么讲、筛多深、术语密度多高"，不是学习目标本身。
  - **入门级**：给普通人看的第一版，少术语、先讲直觉和场景，每次只引入少量新概念；资料优先中文/视频/官方入门，03 每章先用人话解释再补专业名词。
  - **中级**：适合已有一点基础的人，保留核心术语和方法框架，加入少量一手资料、练习项目和对比分析。
  - **进阶级**：适合已有相关经验的人，可纳入官方深文档、论文、源码、复杂案例和行业讨论，但仍要按阶段解释清楚。
- **视频平台（必问，不可默认替用户拍板）**：优先 YouTube / YT+B站都要 / 只要 B站。直接决定 Stage 2 视频 Agent 的搜索范围。用户没说就必须问到，问到了才派视频 Agent。
- **笔记详细度**：默认**适中加厚**（每章 2 到 3 个概念小节各带例子 + 一个场景示范 + 常见坑 1 到 2 条 + 小结）；用户要**详细教程版**则升级（每章拆更多小节、概念讲透、带可运行代码走读、常见报错排查、章末小练习，篇幅约适中版的 1.5 到 2 倍）。两档都不要插画。
- **是否转 PDF**：开跑前就问清。用户要 → Stage 5 收尾时用 md2pdf.sh 自动转；用户说不用 → 不转。

用户指令里已明说的（如"入门级、只要B站、要详细版、最后转PDF"）视为已答，不重复问。用户没有说明难度时，按**入门级**执行。

## 快捷模式（必须显式宣告）

用户信息已足够时可跳过逐条问答，**但派 Agent 前必须发"推断回执"**给 1 秒打断窗口；**回执里学习包难度必须列明，视频平台 / 笔记详细度 / 是否转PDF 三项用户没明说时不能擅自填默认就跑，要先问**：

```
**Stage 1 确认**
- 主题：xxx
- 学习包难度：入门级 / 中级 / 进阶级（默认入门级）
- 目标程度 / 基础 / 每天投入 / 中英文：xxx（可推断默认）
- 视频平台：xxx（必问）
- 笔记详细度：适中加厚 / 详细教程版
- 是否转 PDF：不用 / 要
- 产物路径：~/Downloads/学习包/YYYYMMDD-[主题]/
```

没有回执就派 Agent = 违规；回执漏列学习包难度 = 违规；视频平台/笔记详细度/PDF 没问清就开跑 = 违规。

---

# Stage 2：三路并行调研（硬性 ≥ 3 Agent）

学习包的灵魂是"基于真实资料排出靠谱的学习路径"，所以信息采集必须并行真查，不能凭记忆编。

## 拆题骨架（默认 3 路，可加到 5 路）

```
Agent 1：系统资料 / 知识体系
  权威入门资料、官方文档 / 教程、经典书目、高质量长文与博客、术语与核心概念。
  目标：搞清这个主题"由哪些模块组成、从哪学到哪、有哪些必懂概念"。

Agent 2：优质视频 / 创作者
  按 Stage 1 拿到的「视频平台偏好」决定搜索范围：
    · 优先 YouTube → 主搜 YouTube，B站 仅补缺
    · YouTube 和 Bilibili 都要 → 两平台都认真覆盖
    · 只要 Bilibili → 只搜 B站，不收 YouTube
  每个必带：视频标题 + 链接 + 博主名 + 粉丝量/订阅量 + 该视频互动量（赞/播放/评论）+ 一句"为什么值得关注"。
  目标：给出按"先看谁、再看谁"排序的视频学习线。

Agent 3：学习路径 / 过来人经验
  社区里"怎么入门 XX""学习路线""新手避坑"的真实讨论（Reddit / 知乎 / V2EX / 即刻 / 论坛）。
  目标：真实的阶段划分、常见卡点、不值得花时间的弯路、怎么验证学会了。

Agent 4（可选）：实战项目 / 练手清单
  这个主题适合拿什么小项目 / 练习题 / 数据集 / 工具来上手。

Agent 5（可选）：用户特别在意的角度
  比如只想要免费资源、只想中文、只想最快上手接活。
```

**完整 Agent prompt 模板见 `references/派单模板.md`。**

## 并行调用

必须同一条消息里多工具并行发。每个 Agent prompt 传齐：主题、Angle、学习包难度、目标程度与基础（共同影响资料深浅）、搜索词、必覆盖问题、Return format。

## 信源要求（继承 deep-researcher 底线）

- **资料 / 视频 / 路径三桶各至少 1 个独立真实来源**；关键判断（如"这是入门首选"）尽量 ≥ 2 源印证。
- **视频链接必须是真实可访问的链接**，博主粉丝量/互动量按 Agent 查到的真实数据填，查不到就写"未获取"，**绝不编**。
- 不把单一匿名帖当权威路径，多人推荐才标"公认入门首选"。

---

# Stage 3：汇总、排路径、识别续作

## 合并 Agent 结果

- 按"资料 / 视频 / 路径"三桶归档原始发现，去重（同一资源多源 → 合并）。
- 先按 Stage 1 的**学习包难度**筛掉不合适的深度：入门级只保留学习者第一阶段用得上的概念和资源；中级保留方法框架和代表案例；进阶级再纳入深文档、论文、源码或复杂争议。
- **排学习路径是本阶段的核心动作**：综合 Agent 1 的知识模块 + Agent 3 的过来人阶段划分，排出"第一周 / 第一个月 / 进阶"的阶段线；再把 Agent 2 的视频**挂到对应阶段**，让视频清单和路径对齐，避免变成零散链接堆放。
- 资源有冲突（A 说先学这、B 说先学那）→ 在学习路径里标"两种主流路线"，都给出来，不替用户硬选。

## 续作识别

Stage 3 前检查 `~/Downloads/学习包/` 下是否已有同主题子文件夹（前缀匹配）：
- 有 → 读旧目录里的 01/02/03 纳入比对，新目录加 `-v2` / `-v3`，新学习笔记补一段"和上次比补了什么"。
- 无 → 跳过。

---

# Stage 4：学习包落盘（默认 4 份）

## 产物结构（按"学习者用的顺序"排）

```
~/Downloads/学习包/YYYYMMDD-[主题]/
  ├── 00-学习路径.png      管「怎么走」：一页式思维导图图片（根节点 + 分阶段分支），看一眼就懂全局
  ├── 01-系统资料.md       管「用什么料」：权威资料清单(标题+URL+推荐理由) + 术语速查表，索引用
  ├── 02-优质视频清单.md   管「看什么视频」：按学习路径排的视频，带博主数据/关注理由/链接
  └── 03-学习笔记.md       管「知识本身」：电子书式正文，把核心知识用例子讲透，阅读用
```

00 是**一页 PNG 思维导图图片**（用 HTML 排版 + Chrome 截图生成）；01/02/03 是 Markdown，可在 Stage 5 按需转 PDF（套电子书排版）。

**完整模板见 `references/学习包模板.md`，不要在 SKILL.md 里重复模板。**

## 四份产物的分工（互不重叠，这是本 skill 的核心约束）

四份各有唯一倾向，**同一块内容只在它的主场出现一次**，别在多份里重复讲：

| 文档 | 唯一倾向 | 只放 | 严禁放（那是别人的主场）|
|---|---|---|---|
| **00 学习路径** | 怎么走（导航，一页思维导图图片）| 阶段划分、顺序、每阶段概念关键词 + 过关标准（做成一页 PNG 思维导图）| ❌ 不展开概念讲解（→03）❌ 不堆资源 URL（→01）❌ 不写大段文字 |
| **01 系统资料** | 用什么料（资料库/索引）| 知识模块一句话拆分、每模块权威资料清单(标题+URL+类型+推荐理由)、术语速查表(每条一行定义) | ❌ 不讲透概念（→03）❌ 不排时间线/阶段规划（→00）|
| **02 优质视频清单** | 看什么视频 | 视频目录（字段见下）| ❌ 不重复文字资料/概念 |
| **03 学习笔记** | 知识本身（讲透）| 电子书式正文，用人话+例子把每个核心知识讲明白，关键处引权威原话(双语) | ❌ 不列资源库（→01）❌ 不做路线规划（→00）|

**判重口诀**：概念深入解释 → 只在 03；术语一行速查 → 只在 01；资源 URL 库 → 只在 01；阶段顺序与节奏 → 只在 00。00 出现概念时只写「这阶段要搞懂 X」这一句导航级提示，不展开；03 出现资源时只在引用原话处挂那一条 URL，不另起资源清单。

## 四份产物各自的硬要求

- **00-学习路径.png**：**一页式思维导图图片**（Irene 明确要：不要纯文字、不要 Mermaid 默认那种丑框，要一张好看的一页思维导图图）。做法是**自己用 HTML + 内联 CSS 排一张思维导图，再用 `scripts/html2png.sh` 截成高清 PNG**，不是写 Markdown、不调 Mermaid。
  - 版式：**左侧根节点（主题）+ 曲线连到右侧分阶段卡片**（横向思维导图）。每个阶段卡片含：阶段名 + 时长 + 这阶段要搞懂的概念 chips（3 个左右关键词）+ 一行「过关」标准。阶段分色（棕褐/青/琥珀/玫瑰一类协调色），根节点棕褐色渐变，整体走 ebook 棕褐主色调。
  - 用 SVG 画根到各卡片的贝塞尔曲线连接（先定画布尺寸再定坐标），画布约 1180×1040，`html2png.sh` 默认按此尺寸出 2 倍高清图。
  - **只放导航信息**：学习包难度 + 阶段名 + 概念关键词 + 过关标准。**不展开概念解释**（看 03），**不铺资源 URL**（看 01）。要点：一页装下、不拥挤、好看 > 信息全。入门级每阶段概念 chips 控制在 2 到 3 个，避免一屏塞满术语。
  - 完整 HTML 模板见 `references/学习包模板.md`。生成命令：`bash {SKILL_DIR}/scripts/html2png.sh 思维导图.html "00-学习路径.png" 1180 1040`。
- **01-系统资料**：定位是**资料库 + 术语速查**。把主题拆成知识模块（每模块一句话），每模块挂权威资料清单（标题 + 真实 URL + 类型 + 一句推荐理由）；末尾一张术语速查表，**每条一行定义**（快查用，不展开成段落，展开是 03 的事）。资料具体到名字，查不到就说查不到。**不写阶段时间线、不写大段概念讲解。**入门级每模块只放 2 到 4 条最值得看的资料，优先入门友好，不堆专家资料。
- **02-优质视频清单**：每条必含 `视频标题 / 链接 / 博主 / 粉丝量(订阅量) / 该视频互动量 / 关注理由 / 对应学习阶段`。按学习路径顺序排列，链接真实可点。
- **03-学习笔记.md**：**由本 skill 直接产出的 Markdown 文档，不外挂 ebook-maker**。定位是**把知识讲透的电子书式正文**：内容优先，用人话 + 具体例子把每个核心知识讲明白，有前言/分章/结语，每章至少一个例子，关键处引权威原话（双语）并就地挂那一条 URL，能脱离原始链接独立读懂。
  - 形态：**Markdown**（`.md`）。版式不写在 MD 里，**电子书排版在转 PDF 时套用**（见 Stage 5，参考 ebook-maker 的 layout.md：A4 / 正文 680px / 棕褐主色 #8B5A2B + 橙强调 #D35400 / 衬线标题）。
  - **不要插画 / 不生成图片 / 不留图片占位。**
  - **Markdown 写法要克制竖条**：提示框/引用块只在引权威原话时用 `>`（每章最多一处），每章小结直接用一句正文不要套框；别把例子、要点、引用都套成块，否则 PDF 里会变成一排竖线（这是 Irene 明确否过的）。例子用正文 + 有序列表呈现即可。
  - 章节用知识模块当骨架（前言 → 各核心知识块分章 → 结语）。
  - **难度按 Stage 1 的学习包难度执行**：入门级先讲生活场景和直觉，再给术语，少用缩写；中级可以直接使用核心术语，但每章仍要配例子；进阶级可以讨论复杂机制、源码/论文/行业分歧。
  - **详细度按 Stage 1 的选择**（默认适中加厚）：
    - **适中加厚（默认）**：每章 = 2 到 3 个概念小节（`###`，各带一个例子）+ 一个场景示范 + 常见坑 1 到 2 条 + 一句本章小结。
    - **详细教程版**：在适中加厚基础上每章拆更多小节、概念讲透、加可运行代码走读、常见报错与排查、章末小练习（自测），篇幅约 1.5 到 2 倍。
  - **不另起资源清单、不做阶段规划**（那是 01 和 00 的事）。

## 全中文 + 双语原文

- 所有叙事段落**全部中文**。
- 引用英文官方/原文时双语：英文原句 + 紧跟中文翻译。
- 可复用的命令 / 代码 / prompt 保留原始语言，紧跟中文解释。

## 子文件夹冲突处理（自动）

- 不存在 → 直接建
- 存在 → 续作加 `-v2` / `-v3`；同日重跑加 `-重跑HHMM`
- **严禁覆盖旧产物**

## 命名规则

- 主题名：中文或英文均可，空格替换为连字符
- 日期：`date +%Y%m%d` 实时取，不从 memory 读
- 路径固定 `~/Downloads/学习包/`

---

# Stage 5：按开跑前决定转 PDF（可选）

是否转 PDF 在 Stage 1 已经问过，这里**按当时的决定执行**：

- 用户开跑前说**要转** → 落盘后直接转，转完告诉用户路径。
- 用户开跑前说**不用** → 不转，收尾。
- 万一 Stage 1 漏问了（不该发生），这里补一句问，要才转。
- 00 已是图片不用转，只转 01/02/03 里用户要的那几份。
- 转换用本 skill 自带脚本（中文渲染正确、**超链接保留可点**、套电子书排版，pandoc → 内联 CSS HTML → headless Chrome 打印）：
  ```bash
  bash {SKILL_DIR}/scripts/md2pdf.sh "01-系统资料.md" "02-优质视频清单.md" "03-学习笔记.md"
  ```
  PDF 落在同目录、同名 `.pdf`。
- 脚本要点：用 `--headless=new` 打印，Chrome 会把 `<a>` 写成 PDF 的 `/Link /URI` 注解（已实测保留超链接）；CSS 内联了 ebook 风格（A4 / 680px / 棕褐主色 / 衬线标题 / 克制提示框），中文用系统字体兜底离线可用。
- **不外挂别的 skill**，转换是本 skill 内置能力。

---

# Stage 6：交付自检（必须做完再收尾）

交付前做一次轻量自检，发现不合格就返工，不把半成品交给用户：

- **文件齐全**：目录里必须有 `00-学习路径.png`、`01-系统资料.md`、`02-优质视频清单.md`、`03-学习笔记.md`。00 是 PNG 图片，01/02/03 是 Markdown，不再要求 4 份 Markdown。
- **00 图片可读**：PNG 文件非空，画布内容一页装下；只放学习包难度、阶段名、时长、概念关键词、过关标准，不放 URL 和大段概念解释。
- **01/02/03 不串场**：01 只做资料库和术语速查，02 只做视频目录，03 只讲知识正文，不另起资源清单，不做学习路线表。
- **视频字段完整**：02 每条视频必须有标题、真实链接、博主、粉丝量或订阅量、互动量、关注理由、对应阶段、平台、数据状态、数据获取时间。查不到写"未获取"，数据是平台约数就标"平台约数"，不把约数写成精确值。
- **难度一致**：00/01/02/03 都要标明并遵守 Stage 1 的学习包难度。入门级不能堆专家术语、论文、源码和高级路线；中级/进阶级也要保持阶段清晰。
- **PDF 决策一致**：Stage 1 选择要转 PDF 才生成 01/02/03 的 PDF；选择不用就不转。若 Stage 1 漏问，收尾前补问后再执行。
- **命名与覆盖**：新目录不能覆盖旧目录，同主题续作必须加 `-v2` / `-v3` 或 `-重跑HHMM`。

---

# 硬铁律（违反即不合格，必须返工）

1. **视频清单每条必带博主粉丝量/互动量/关注理由 + 真实链接**，查不到的数据写"未获取"不许编
2. **学习路径必须分阶段且每阶段有"怎么验证学会了"**，不能只堆资源
2.5. **00 是一页思维导图 PNG 图片（HTML 排版 + html2png.sh 截图），01/02/03 是 Markdown**，全部由本 skill 直接产出、不外挂下游 skill。01/02/03 转 PDF 时套电子书排版（参考 ebook-maker layout.md），Markdown 里提示框/引用块要克制（别排成一堆竖线）。00 思维导图要好看、一页装下、不拥挤
2.55. **四份产物互不重叠**：概念深入解释只在 03、术语一行速查只在 01、资源 URL 库只在 01、阶段顺序节奏只在 00。00 不展开讲概念也不铺 URL 清单，03 不另起资源清单也不做路线规划。发现同一内容在两份里重复 = 不合格，按分工表归位。
2.6. **开跑前一次问齐所有偏好**：派任何 Agent 前，必须已明确列明 ① 学习包难度（入门级/中级/进阶级，默认入门级）② 视频平台（优先YouTube/YT+B站都要/只要B站，不可默认替用户拍板）③ 笔记详细度（适中加厚 默认 / 详细教程版）④ 是否转 PDF。用户已明说的免问，没说的要在 Stage 1 问清，问到了才开跑。没问清就开跑 = 违规。
3. **每条关键资料挂真实 URL**，不幻觉链接、不编造书名/教程名
4. **Agent 下限**：Stage 2 并行 Agent < 3 → 补派
5. **视频必须挂到学习路径对应阶段**，不能和路径脱节列流水账
5.5. **PDF 只在用户要时才转**：Stage 1 必须问清是否转 PDF，Stage 5 按当时决定执行；不需要就不转、不自作主张。
6. **子文件夹**：Stage 4 必建子文件夹 + 1 张 PNG 图片 + 3 份 Markdown 产物，冲突加后缀不覆盖
7. **Stage 1 回执**：快捷模式也必须在派 Agent 前发推断回执
8. **资源克制**：每阶段只给最少够用的资源，不甩一堆链接吃灰
8.5. **难度必须落地**：Stage 1 必须列出学习包难度；默认入门级。生成时所有资料、视频、路径和学习笔记都要按该难度取舍，入门级必须让普通人能读懂。
9. **交付自检**：Stage 6 自检必须通过，尤其检查 00 是否真是 PNG、02 视频字段是否完整、03 是否没有路线表和资源清单

---

# 全局禁止

- ❌ 不编造视频链接 / 博主数据 / 书名教程名 / URL
- ❌ 不把单一匿名帖当"公认学习路径"
- ❌ 不堆一堆资源不排序（必须按阶段排、视频挂阶段）
- ❌ 不为"看起来完整"补写不存在的资料
- ❌ 不在 SKILL.md 里重复 references 的内容
- ❌ 不覆盖旧产物（冲突必加后缀）
- ❌ 不抢 student-researcher（论文/文献综述/引用格式/交 Word）、deep-researcher（选题/竞品）、irene-content-engine（写文章）的活
- ❌ 叙事正文避免破折号式写法，也不滥用破折号类符号；URL、代码、命令、Markdown 表格语法、文件名、英文专有名词保留原样
- ❌ **杜绝否定转折对举句型**：不要先否定再转向肯定，改成直说结论的正面陈述。这是 Irene 反复点的写作毛病，所有产物（尤其 03 学习笔记）都要避开

---

# 快速开始

```text
"帮我搜一份 Loop Engineer 的学习包，零基础想系统了解"
→ Stage 1 快捷模式 + 推断回执 → 三路并行调研 → 落 4 份产物到 ~/Downloads/学习包/20260615-Loop-Engineer/

"我想系统学 Prompt 工程"
→ Stage 1 问 4 个参数（或推断回执）→ 落 4 份产物

"做个咖啡手冲的学习包，只要中文资料，碎片时间学"
→ 跳问答，按"中文 / 碎片 20 分钟"调资源 → 落 4 份产物

"帮我学 XX 写成一篇公众号"
→ 命中 irene-content-engine 边界 → 让位
```

