- name
- master-skill
- description
- 大师.skill — 输入「我做的细分行业」,自动完成行业大佬调研 / 工具地图 / 工作流 / 知识正典 / 信息源 / 术语标准 六轨深度调研,提炼为可运行的「行业 Master OS」skill。
生成的 {industry}.master skill 是自包含目录,所有 hermit agent / Claude Code agent / OpenClaw / Codex 都能安装,让 AI 立刻进入「这行的资深人」模式。
触发词:「造大师」「做个 X 的 master skill」「我是 X 行业」「让 agent 变成 X 大师」「update 大师 X」「大师 X」「我做 X,帮我蒸一个」。
- allowed-tools
- Read, Write, Edit, Bash, WebSearch, WebFetch
# 大师 · 行业蒸馏术
> 「同事.skill 蒸馏一个人,女娲.skill 蒸馏一种思维方式,大师.skill 蒸馏一整个行业的 OS。」
## 核心理念
一个好的行业 master skill **不是行业百科**,是**可运行的行业认知操作系统**:
- 这行的人用什么**心智模型**看问题?(镜片)
- 这行的标准**playbook** 是什么?(决策启发式)
- 这行的人怎么**沟通**?(行业表达 DNA)
- 什么算**好工作**?(质量基准)
- 外行才会犯什么错?(反模式)
- 这行的工具栈和工作流今年怎么变的?(时效层)
**关键区分**:捕捉的是 HOW the field thinks,不是 WHAT happens to be in the news this week。
---
## 范围约束(重要)
- **粒度**:一个 master skill 覆盖**一个细分领域**(例:「LLM agent 基础设施」「跨境电商运营」「足踝外科」),不要试图覆盖整个泛行业(「软件」「医疗」会让 OS 稀薄到没用)
- **目标用户**:行业内 / 想入行 / 服务这行的人。不是给完全外行做扫盲
- **不替代实操工具**:master skill 是「思维顾问」,不是 RPA。不要在里面塞「自动操作 X 后台」之类
- **版权安全**:不存全本书 / 完整字幕 / 长段原文。只保留结构化摘要 + 来源元数据 + 极短引用
---
## 路径占位符 (iter 24 重要)
prompts 里两个不同的目录占位符:
| 占位符 | 含义 | 例子 |
|--------|------|------|
| `{master_skill_dir}` | master-skill 仓库 (本仓库) 的 `skill/` 目录, 工具脚本住在这里 | `~/master-skill/skill/` 或 `/Users/foo/master-skill/skill/` |
| `{skill_dir}` | 当前正在生成 / 更新 的**行业** skill 目录, 调研笔记 / SKILL.md / sub-skills 都写到这里 | `~/.claude/skills/llm-agent-infra-master/` |
工具脚本 (source_verifier.py / cold_detector.py / quality_check.py / collectors / ingest / transcribe) **不复制**到生成的行业 skill 目录, agent 直接调 `{master_skill_dir}/tools/...`. 行业 skill 只装载 prompts + research notes + SKILL.md + sub-skills + cli/.
如果运行环境的 master-skill 路径变了, agent 替换占位符即可; 不需要改任何工具源代码.
---
## 执行流程
### Phase 0: 入口分流
收到用户输入后判断路径:
| 用户输入 | 路径 | 示例 |
|---------|------|------|
| 明确的细分行业 | **直接路径** → Phase 0A | 「我做跨境电商,给我做一个 master skill」 |
| 模糊的需求 | **诊断路径** → Phase 0B | 「我想转 AI 行业,但不知道哪个细分」 |
| 已存在的 skill | **更新路径** → Phase 0C | 「update 大师 LLM-agent-infra」 |
---
### Phase 0A: 行业澄清(直接路径)
确认 6 个维度(用户没主动提的字段就问,主动给的就不要重问):
1. **行业 / 细分领域**(必填)— 例:`LLM agent infra`,不是 `AI`;`跨境电商运营`,不是 `电商`
2. **聚焦方向**(可选)— 全景画像 vs 某个角度优先(例:技术视角 vs 商业视角)
3. **地域 / 语言区**(可选)— global / 中文圈 / 美国 / 欧洲。影响信源选择
4. **用户身份**(可选)— 从业者 / 学习者 / 投资人 / 咨询。影响 master skill 的语气与决策视角
5. **本地素材**(强烈推荐询问)— 「你手上有这行的一手素材吗?行业报告 PDF / 内部文档 / 你写过的文章 / 长访谈 transcript / 视频字幕?有的话直接丢给我,比网上搜到的二手转述质量高得多」
6. **新建 or 更新**(可选)— 检查 `~/.claude/skills/{slug}-master/` 是否已存在
用户没主动给 → 默认全景 + global + 从业者视角 + 无本地素材,确认后推进。
用户提供了本地素材 → 标记为**本地语料模式**,Phase 1 采集策略相应调整。
确认后 → Phase 0.5。
---
### Phase 0B: 需求诊断(模糊路径)
用户不确定要蒸哪个细分时,反推合适的范围。
#### Step 1: 锚定核心目标
最多 1-2 轮追问,定位用户真正的需求维度:
| 维度 | 典型表达 | 反推方向 |
|------|---------|---------|
| 谋生 / 转行 | 「想入行 X」「做这个能赚钱吗」 | 商业生态视角的 master skill |
| 提效 | 「这行的工作流我搞不清」「文档堆成山」 | 工作流视角的 master skill |
| 决策 | 「不知道该选 A 还是 B」 | 工具选型 + 标准 playbook |
| 学习 | 「想系统学这行」 | 知识正典视角 |
| 创业 | 「想做 X 方向的产品」 | 行业 OS + 信息源(找未被满足的需求) |
#### Step 2: 反推候选
基于用户表达,提议 2-3 个具体的细分领域。每个候选要回答:
- 这个细分**目前真有可调研的公开材料吗**?(冷门领域的 master skill 质量必差)
- 它跟用户的需求多对齐?
- 它跟其他候选的差异在哪?
用户选定后 → Phase 0A 补全 6 个维度 → Phase 0.5。
---
### Phase 0C: 更新路径
读取已存在的 `{slug}-master/SKILL.md`,从 frontmatter 找到 `last_research_date`。基于距今多久决定刷新强度:
| 距今 | 刷新策略 |
|------|---------|
| < 1 月 | 拒绝刷新,告知用户最近刚更新过 |
| 1-3 月 | 仅 Track B(工具)+ Track C(工作流)+ Track E 中的「最新动态」节 |
| 3-6 月 | 加上 Track A(看 top figures 是否有大动作)+ Track F(标准是否有新版) |
| > 6 月 | 全部 6 轨重跑,但保留旧版 archive |
不要每次都重写整个 skill — 行业的**核心 OS** 通常 1-2 年才动一次,**工具 / 工作流**才是高频变量。
---
### Phase 0.5: 创建 Skill 目录
在调研开始之前完成:
```
{HOST_SKILLS_ROOT}/{slug}-master/
├── SKILL.md # 最终产物
├── meta.json # 元数据 (industry, locale, profile, last_research_date, source_count)
├── scripts/ # 工具脚本(继承自 master-skill 仓库 + 行业特化)
└── references/
├── research/ # 6 轨调研结果(必存)
│ ├── 01-figures.md # 行业大佬
│ ├── 02-tools.md # 工具地图
│ ├── 03-workflows.md # 工作流 / SOP
│ ├── 04-canon.md # 知识正典(书 / 论文 / 课)
│ ├── 05-sources.md # 信息源(newsletter / podcast / 会议 / 社区)
│ └── 06-glossary.md # 术语 + 标准 + 法规
├── synthesis.md # Phase 2 提炼结果(行业 OS)
└── sources/ # 一手素材(用户提供 + 网络下载的字幕等)
├── books/
├── transcripts/
└── articles/
```
**HOST_SKILLS_ROOT 解析**:
- Claude Code: `~/.claude/skills`
- OpenClaw: `~/.openclaw/skills`
- Codex: `~/.codex/skills`
- Hermes: `~/.hermes/skills`
- 其他 / 不确定:在当前 cwd 下创建 `./{slug}-master/`,最后让用户决定装到哪
**目录创建后立即检查**:
- [ ] 目录已创建
- [ ] 如果 locale 是中文圈:信源策略切换为 B 站原始视频 / 小宇宙播客 / 36氪 / 极客公园 / 晚点 / 财新优先(**永远排除知乎、微信公众号、百度百科**)
- [ ] 如果 locale 是英文圈:默认 Twitter/X / YouTube / Substack / arXiv / 行业 podcast 优先
- [ ] 如果是更新模式:已读取现有 `SKILL.md` 和 `references/research/*.md`,标注哪些信息要刷
- [ ] 如果用户提供了本地素材:复制到 `sources/` 对应子目录,标记为**本地语料模式**
**关键规则(开源分发的核心)**:
- 所有调研文件必须存在 skill 目录内部 `references/research/`,**绝不存到外部目录**
- skill 必须自包含:clone 整个目录就能用
- 每个 subagent 必须把调研写入对应文件。不存文件的调研等于没做
---
### Phase 1: 多源信息采集(六轨 Agent Swarm,wave 结构)
#### 模式判断
| 模式 | 触发 | 策略 |
|------|------|------|
| **纯网络搜索**(默认) | 用户没给本地素材 | 6 个 Agent 全部走网络 |
| **本地语料优先** | 用户提供了 PDF / 行业报告 / transcript | 先按 6 轨分类本地素材,识别缺口,定向网络补充 |
| **纯本地语料** | 用户明确说「只用我给的」 | 只分析本地,不联网 |
#### Wave 结构(重要 — 不是纯并行)
iter 4 figures 跑通后发现:6 轨之间互相是 bootstrap 输入。Track 01 (figures) 的「最大几家公司创始人」依赖 Track 02 (tools) 找到的「关键工具」;Track 02 的「业内人吐槽过哪些工具」反过来依赖 Track 01 找到的人。强行纯并行 → 各轨都凭空猜起点。
执行结构:
**Wave 1(并行)— 「广撒网」轨**:
- Track 04 (canon) — 必读书 / 论文 / 课,搜索路径最独立(看 Goodreads / arXiv / 大学课程页就行)
- Track 05 (sources) — newsletter / podcast / 会议,搜索路径独立(搜「{industry} podcast」「{industry} newsletter」)
- Track 06 (glossary) — 术语 + 标准,从行业入门书 / 维基 / 标准化机构 page 抓
**Wave 1 加速器:先跑 collectors 拉机械 seed (iter 24)**
Wave 1 启动前 2 分钟跑这 4 个 collector, 拉到结构化 seeds.jsonl, 让 web search 不再凭空猜:
```bash
mkdir -p {skill_dir}/references/research/seeds
# 用户主 industry slug 对应的 GitHub topic / arXiv 类目 / 行业核心 RSS
python3 {master_skill_dir}/tools/collectors/github_topics.py --topic {topic} \
--limit 30 --output {skill_dir}/references/research/seeds/github_repos.jsonl
python3 {master_skill_dir}/tools/collectors/arxiv_collect.py --query "cat:cs.AI AND all:agent" \
--max 30 --output {skill_dir}/references/research/seeds/arxiv_papers.jsonl
python3 {master_skill_dir}/tools/collectors/rss_collect.py --feed-list {skill_dir}/intake.feeds.txt \
--max 20 --output {skill_dir}/references/research/seeds/rss_items.jsonl
python3 {master_skill_dir}/tools/collectors/podcast_rss.py --apple-id {N} \
--max 30 --output {skill_dir}/references/research/seeds/podcast_episodes.jsonl
```
Wave 1 subagent 必须**先 cat 这些 jsonl** 再启动 web search. 例如 Track 05 (sources) 看 podcast_episodes.jsonl 里反复出现的 host / show 直接进 retain 候选; Track 04 (canon) 看 arxiv_papers.jsonl 的 author 网络. 这把「凭直觉撒网」换成「从机械 seed 撒网」, 漏掉的高密度一手少很多.
**Seeds JSONL 通用 schema** (collectors 都遵守):
- `type`: `github_repo` / `arxiv_paper` / `rss_item` / `podcast_episode` (必填, agent 根据它路由)
- `name` / `title`: 实体名
- `url`: 一手 URL (跑 source_verifier classify 取 bucket)
- `author` / `host` / `show_host`: 主创
- `published` / `pushed_at` / `last_activity`: ISO 时间戳 (用于 freshness)
- 类型特有字段: stars/forks (github), authors/abstract (arxiv), guests/duration_sec (podcast), summary (rss)
- 任何 collector 输出都可作 seed; agent 在合并时用 `url` 去重
**Wave 2(并行,用 Wave 1 的产出做 seed)— 「人 + 工具」轨**:
- Track 01 (figures) — 用 Wave 1 的 canon 作者 + sources 嘉宾名单作为初始候选
- Track 02 (tools) — 用 Wave 1 的 sources 中频繁讨论的工具 + canon 中点名的工具作为初始候选
**Wave 3(用前两 wave 的产出做 seed)— 「整合」轨**:
- Track 03 (workflows) — 综合 figures 怎么干活 + tools 怎么用 + canon 中描述的流程,提炼当前 SOP
每个 wave 内可并行启动 subagent。Wave 之间串行,但每 wave 跑完不阻塞用户 —— 模型并行 swarm 的内部时间预算 ≤ 3 min / wave,整体 Phase 1 应在 10-15 min 内拿到完整 6 个 research note 文件。
**Wave seed fallback 统一规则**(findings iter 7+8 unified):
| 上 wave 总产出 seed 数 | 下 wave 启动策略 |
|---------------------|----------------|
| ≥ 8 seeds | 正常启动,按 seed 撒大网 |
| 5-7 seeds | 警告但启动,subagent 模板被指示「seed 偏少,加权 web search 兜底」 |
| 1-4 seeds | 启动前先回头检查上 wave subagent 是否还在跑 / 是否失败;如确定失败 → 启动当前 wave 但**降级**为「半 seeded 半 web search」 |
| 0 seeds | **STOP**,向用户报告:「上 wave 信号 0,可能行业极冷僻 / 闭源主导 / 输入有误。要继续吗?」用户决定 (a) 等待重试 (b) 切纯 web search 模式 (c) 收回 industry 重新选 |
如果某 wave 内某 track 失败(5 min 没产出有效 source),不阻塞下一 wave,但 seed 总数减少。子 wave 自动按上表表行降级。
启动 wave 1 的 3 个 subagent;Wave 1 完成后启动 wave 2 的 2 个;Wave 2 完成后启动 Wave 3 的 1 个。每个 subagent 任务模板(以 Track A 为例):
```
你的任务:调研「{industry}」行业的 {track_topic}。
{track-specific 搜索方向}
强制约束:
- 调研结果必须写入 {skill_dir}/references/research/{NN-track}.md
- 每条信息标注来源 URL 和可信度(一手 > 二手 > 推测)
- 区分一手(行业人自己说的)vs 二手(别人转述的)vs 推断(你的判断)
- 发现矛盾保留,不和稀泥
- 不要存全本书 / 长字幕 / 大段原文 — 只存结构化摘要 + 来源
- 信源黑名单:{locale-specific blacklist}
- 信源优先级:用户本地一手素材 > 行业人本人输出 > 长访谈 > 行业经典著作 > 权威媒体长稿 > 社交媒体短稿 > 二手转述
```
#### 6 个 Agent 的任务分配
| Agent | Track | 搜索目标 | 提取重点 | 输出 |
|-------|-------|---------|---------|------|
| 1 | **Figures** | top 10-15 thought leaders | 各自的「核心一句话」、代表作品、值得读 / 听 / 看的 3 件事、争议、最近 12 个月动态 | `01-figures.md` |
| 2 | **Tools** | canonical 工具 + 新兴工具 | 用什么场景、相对优劣、近 12 个月有没有出现颠覆性新工具、选型决策树 | `02-tools.md` |
| 3 | **Workflows** | SOP / 方法论 / pipeline | 入门人怎么走完一个完整任务、资深人怎么走、近期工作流变化(AI / 工具升级带来的) | `03-workflows.md` |
| 4 | **Canon** | 必读书 / 论文 / 课 / 核心概念 | 「这行的人都读过」的清单(≥3 个独立来源都点过)、核心 20-30 个概念 | `04-canon.md` |
| 5 | **Sources** | 信息源 | newsletter(前 5)、podcast(前 5)、会议(前 3-5)、社区(前 3-5)、dataset(如适用)、定期更新频率 | `05-sources.md` |
| 6 | **Glossary** | 术语 + 标准 | 高频黑话 / 缩写、合规框架、认证、最近一次行业标准更新 | `06-glossary.md` |
#### 音视频转文本(必备能力)
行业素材大量是访谈、conference talk、podcast。优先级:
1. **YouTube / B 站官方字幕**:`yt-dlp --write-subs --skip-download`,优先人工字幕 → 中文 → 英文 → 自动字幕
2. **podcast transcript 网站**:podcastnotes.org、transcriber.io 等,搜「{podcast name} transcript」
3. **本地 whisper fallback**:仅当用户明确提供音频文件且没有公开 transcript 时使用
4. **转写后存** `sources/transcripts/{slug}.txt`
注意:调研笔记中**不要 paste 完整 transcript**,只提取观点 + 引用极短句子。
#### 信源黑名单(按 locale)
| Locale | 永远排除 |
|--------|---------|
| zh-CN | 知乎、微信公众号、百度百科、百度知道、CSDN(除非是作者本人原文) |
| en | Quora answers(除非作者认证)、ChatGPT-generated blog spam、内容农场 |
| 通用 | AI summaries 站(无原文链接的)、SEO 农场 |
#### 利用已安装的辅助 skill
Phase 1 启动前扫描 `~/.claude/skills/`(或宿主对应路径),如果有以下 skill 可调用,告知 subagent:
| Skill | 用途 |
|------|------|
| `agent-reach` | 多平台信息获取(X / Reddit / YouTube / Bilibili / 小红书等) |
| `web-article-reader` | 精读网页全文 |
| `pdf` | 读 PDF 行业报告 |
| `gemini-video` | 用户提供本地视频文件无字幕时转写 |
| `nuwa-skill` | **关键**:Phase 3 时调用它生成 top 3 figures 的 sub-skill |
#### Agent 失败 / 信息不足处理
- 单 Agent 跑 5 分钟无有价值结果 → 不等,继续推进,在诚实边界中标注
- 总来源 < 30 条 → 冷门领域协议:
- 心智模型限制为 2-3 个
- 工作流模块标注「基于有限信息」
- 扩大诚实边界
- 告知用户:「这个细分目前公开材料偏少,{N} 条来源。如果你能提供以下材料质量会显著提升:[列出关键缺口]」
---
### Phase 1.5: 调研 Review 检查点
所有 Agent 完成后**强制暂停**,向用户展示结构化摘要:
```
┌──────────────────┬──────────┬─────────────────────────────────┐
│ Track │ 来源数 │ 关键发现 │
├──────────────────┼──────────┼─────────────────────────────────┤
│ 1 Figures │ N │ top: A / B / C;最近动态: ... │
│ 2 Tools │ N │ canonical: X / Y;新出: Z │
│ 3 Workflows │ N │ 当前 SOP: ...;近期变化: ... │
│ 4 Canon │ N │ 必读 top 3: ... │
│ 5 Sources │ N │ newsletter / podcast / 社区 │
│ 6 Glossary │ N │ 关键术语 N 个 │
├──────────────────┼──────────┼─────────────────────────────────┤
│ 矛盾点 │ N 处 │ Track1 说 X, Track4 说 Y │
│ 信息不足维度 │ [列表] │ 补充计划: ... │
│ 一手 / 二手比例 │ a:b │ 一手占比 X% │
│ 冷门领域? │ 是 / 否 │ │
└──────────────────┴──────────┴─────────────────────────────────┘
```
用户确认 OK → Phase 2。
用户觉得某轨不够 → 补完再继续,不能跳过。
**这一关挡住的是**:调研垃圾导致后续提炼全部失真。垃圾进垃圾出,在这里返工成本最低。
---
### Phase 2: 框架提炼(Synthesis)
读取 6 轨 research 笔记,提炼行业 OS。
#### 2.1 行业心智模型(3-7 个)
= 这行的人看问题的独特镜片。
**三重验证筛选**:
- **跨场景复现**:在 ≥ 2 个不同案例 / 子领域 / 经典著作中出现?
- **生成力**:能用它推断这行人对一个新问题的立场?
- **排他性**:不是所有聪明人都会这样想?只有这行的人这样想?
三重通过 → 心智模型;仅 1-2 重 → 降级为决策启发式;0 重 → 丢弃。
每个模型记录:名称、一句话描述、≥ 2 处来源证据、应用方式、局限。
#### 2.2 标准 playbook(5-10 条决策启发式)
= 这行的人面对 X 类问题时的快速规则。表述为「如果 {场景},则 {决策方向}」,每条配 1-2 个具体案例。
#### 2.3 工具栈与选型决策树
从 Track 02 提炼:
- **必备工具**(≥ 80% 从业者用)
- **场景特化**(不同子方向用不同的)
عرض على GitHub