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 个维度(用户没主动提的字段就问,主动给的就不要重问):
- 行业 / 细分领域(必填)— 例:
LLM agent infra,不是AI;跨境电商运营,不是电商 - 聚焦方向(可选)— 全景画像 vs 某个角度优先(例:技术视角 vs 商业视角)
- 地域 / 语言区(可选)— global / 中文圈 / 美国 / 欧洲。影响信源选择
- 用户身份(可选)— 从业者 / 学习者 / 投资人 / 咨询。影响 master skill 的语气与决策视角
- 本地素材(强烈推荐询问)— 「你手上有这行的一手素材吗?行业报告 PDF / 内部文档 / 你写过的文章 / 长访谈 transcript / 视频字幕?有的话直接丢给我,比网上搜到的二手转述质量高得多」
- 新建 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 不再凭空猜:
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。优先级:
- YouTube / B 站官方字幕:
yt-dlp --write-subs --skip-download,优先人工字幕 → 中文 → 英文 → 自动字幕 - podcast transcript 网站:podcastnotes.org、transcriber.io 等,搜「{podcast name} transcript」
- 本地 whisper fallback:仅当用户明确提供音频文件且没有公开 transcript 时使用
- 转写后存
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% 从业者用)
- 场景特化(不同子方向用不同的)
- 新兴 / 实验(近 12 个月出现,未必稳定)
- 避坑清单(外行容易选错的)
2.4 工作流 / pipeline
从 Track 03 提炼:
- 入门 SOP:完成一个最小完整任务的最少步骤
- 资深路径:跳过 / 优化哪些步骤
- 近期变化:AI / 新工具 / 法规变化带来的工作流改写
2.5 行业表达 DNA
从 Track 01 / 03 / 06 提炼:
- 这行人的高频用语 / 黑话
- 严肃讨论 vs 轻松吐槽的 register 差别
- 内部 vs 外部沟通时的差异
- 一个外行读起来「不像这行的」的常见破绽
2.6 质量基准 + 反模式
- 什么算「好」:3-5 条具体可验证的基准
- 什么是反模式:外行 / 入门常犯的 5-10 条错误
2.7 智识谱系
这个行业的几个主要流派 / 学派 → 各自的奠基人 → 当前代表人物 → 核心分歧。
2.8 诚实边界
必须明确写出的局限:
- 信息截止
{research_date},工具 / 工作流模块衰减最快 - master skill 不能替代行业实操经验
- 公开信息有偏差(成功者发声多,失败者沉默)
- 这次调研的薄弱维度(如有)
2.9 Agentic Protocol 种子
为 Phase 3 准备:从 2.1 / 2.3 / 2.4 推导出「这行人面对一个新问题时,会按什么维度去做功课」。例如:
- 「跨境电商运营」 master 拿到「我要在德国上线一个新品类」 → 默认会研究:竞品定价(看 Helium 10)、目标市场习惯、税务(VAT / 一站式申报)、物流(FBA / 海外仓选型)、合规(CE / GS / 包装法)
写下 3-10 个(按行业复杂度调整)这行人面对新问题时的标准研究维度,每个维度配 1-2 个具体的搜索 / 查询动作。简单行业(窄 + 工具少)3-5 个;标准行业 5-7 个;复杂行业(宽 + 工具栈多 + 流派多)7-10 个。
Phase 2.5: 提炼确认检查点
向用户展示提炼摘要:
{industry} Master OS 提炼结果
─────────────────────────────────
心智模型:N 个
1. {名称} - {一句话}
2. ...
标准 playbook:N 条
工具栈:必备 N / 场景化 N / 新兴 N
工作流:入门 / 资深 / 近期变化
表达 DNA:{3-4 个关键特征}
质量基准:N 条
反模式:N 条
智识谱系:{N 个流派}
诚实边界:N 条
Agentic Protocol:N 个研究维度
─────────────────────────────────
确认进入 Skill 构建?还是某项要调?
用户确认 OK → Phase 3。 用户觉得某项不准 → 回到 Phase 2 调整。
Phase 3: Skill 构建
将 Phase 2 提炼组装为可运行的 SKILL.md。
Step 1: 读取生成模板
读取 references/skill-template.md(master-skill 仓库自带)获取标准结构。模板定义:
- frontmatter(name / description / triggers / industry / locale / last_research_date)
- 角色扮演规则
- Agentic Protocol(按行业研究维度做功课再答)
- 行业 OS 模块(心智模型 / playbook / 表达 DNA / 质量基准 / 反模式 / 智识谱系 / 诚实边界)
- 知识模块(figures / tools / workflows / canon / sources / glossary)
- 调研来源汇总
Step 2: 填充
按模板逐 section 填入 Phase 2 结果。
| 模板 Section | 填充来源 |
|------------|---------|
| frontmatter | meta.json + research summary |
| 角色扮演规则 | 直接用模板 default |
| Agentic Protocol | Phase 2.9 推导的研究维度 |
| 心智模型 | Phase 2.1 |
| 标准 playbook | Phase 2.2 |
| 工具栈 | Phase 2.3 |
| 工作流 | Phase 2.4 |
| 表达 DNA | Phase 2.5 |
| 质量基准 + 反模式 | Phase 2.6 |
| 智识谱系 | Phase 2.7 |
| 诚实边界 | Phase 2.8 |
| Figures / Tools / Workflows / Canon / Sources / Glossary | Track 01-06 整理后摘要 + 链接到 references/research/ |
| 调研来源 | 6 轨引用汇总 |
Step 3: Top Figures Sub-skill — cross-skill composition (v1.x)
大师.skill 调女娲.skill 蒸馏 top figures, 生成的 person sub-skill 嵌入
sub-skills/. 这是 cross-skill composition 的核心 — 大师不重新发明 person 蒸馏, 它委托给女娲.
3.0 先决条件
- 用户在 Phase 0A 选了「全景画像」或明确要求 sub-skill
- Track 01 (figures) 至少有 3 个 figures 已被多源认可(≥ 2 endorsement-evidence per figure)
- nuwa-skill 已安装 (
~/.claude/skills/nuwa-skill/或~/.openclaw/skills/nuwa-skill/); 没有则告知用户「装一下女娲.skill 才能展开 sub-skill 步骤」
如果用户选了「聚焦」或时间紧 → 跳过本步, 只在主 skill 中保留 figures 摘要 (Track 01 输出已足够).
3.1 选 Top 3 figures
读 references/research/01-figures.md, 按以下排序选 top 3:
| 优先级 | 标准 | |------|------| | 1 | endorsement count (≥ 3 个独立来源点过为优先) | | 2 | long-form material 量 (有 ≥ 2 hour podcast / multiple book chapters / ≥ 5 long-form blog) | | 3 | 思维方式独特度 (figures 之间观点重叠度低, 同一行业 3 个一样的 figure 没意义) | | 4 | 当前活跃度 (最近 12 月有公开发声) |
反模式: 选「业内最有名」(可能只是 PR 强), 而忽略「思维最锐利」.
3.2 准备每个 figure 的素材包
为每个 top figure 准备:
- 基础事实: 姓名 / 公司 / 角色 / 主要观点 (从 01-figures.md 的「核心一句话」字段)
- 长素材: ≥ 2 个 long-form material 的 transcript / 长文 (优先用
tools/transcribe/youtube.sh处理 podcast / talk) - 代表作品: 文章 / 演讲题目 / 书 (URL 可)
- 争议立场: figure 的非 mainstream 观点 (这部分通常最能体现思维方式)
把这些写到一个临时 prompt blob, 用 prompts/sub-skill-figures.md 模板填充.
3.3 spawn subagent 调用 nuwa-skill
spawn subagent (general-purpose):
prompt: 「{prompts/sub-skill-figures.md 填充后的内容}」
working_directory: {slug}-master/sub-skills/{figure-slug}/
subagent 拿到任务后:
- 读
~/.claude/skills/nuwa-skill/SKILL.md(或者其他 host 的 nuwa 安装路径) - 走 nuwa-skill 的 5 步流程 (intake → 思维素材采集 → 三轨提炼 → 生成 → 验证)
- 把生成的 person sub-skill 写到
{slug}-master/sub-skills/{figure-slug}/ - subagent 完成后回主 agent, 报告写入文件清单
主 agent 跑 3 个 subagent 并行 (3 个 figures 互不依赖, 可并发).
3.4 在主 SKILL.md 中绑定 sub-skill
主 SKILL.md 「智识谱系」节末尾自动插入:
### Sub-skills (女娲蒸馏的 top figures)
需要某位 figure 的视角时, 加载对应 sub-skill:
| Figure | Sub-skill 路径 | 何时调用 |
|--------|--------------|---------|
| {figure-1} | `sub-skills/{slug-1}/SKILL.md` | 当问题涉及 {topic-1} 时 |
| {figure-2} | `sub-skills/{slug-2}/SKILL.md` | 当问题涉及 {topic-2} 时 |
| {figure-3} | `sub-skills/{slug-3}/SKILL.md` | 当问题涉及 {topic-3} 时 |
skill_writer.py 的 meta.json 同步更新 sub_skills 字段 (slug + path 列表).
3.5 失败模式
| 失败场景 | 应对 | |---------|------| | nuwa-skill 没装 | 告知用户安装 + 暂时跳过 sub-skill 步骤, 完整大师 skill 仍能交付 | | figure 的 long-form material 不够 | 跳过这个 figure, 选第 4 名顶上, 或降级为只在 01-figures.md 中保留摘要 | | nuwa-skill subagent 超时 | 30 min 没完成单个 figure → 标记 timeout, 主 agent 决定是否等; 不阻塞 Step 4 写入主 skill | | 三个 figures 思维高度重叠 | 选 2 个差异大的, 第 3 个换成持反对立场的 figure (即使排名靠后) |
Step 4: 写入
调 tools/skill_writer.py create(v0.3+),它会:
- 写
{skill_dir}/SKILL.md(自动注入 synthesis body) - 写
{skill_dir}/meta.json(自动算 source ratio + decay registry) - 复制 6 个
references/research/0X-*.md到 skill 内部 - 复制
references/synthesis.md(自包含)
python3 tools/skill_writer.py create \
--skill-dir <output> \
--intake <intake.json> \
--synthesis <synthesis.md> \
--template references/skill-template.md \
--research-dir <research/>
Step 5: CLI 工具流子树 (v0.6+)
skill_writer.py 在写完 SKILL.md / meta.json 后,自动调 tools/cli_writer.py emit 生成 cli/ 子树:
| 脚本类别 | 来源 | 输出 |
|---------|------|------|
| cli/protocol/agentic.sh | synthesis Section 9 (Agentic Protocol) | 拿到新问题时按 N 维度做功课的交互脚本 |
| cli/decision/{cluster}.sh | synthesis Section 2 (Playbook 规则聚类) | 决策树(每个聚类 ≥ 1 条规则) |
| cli/workflow/{wf-slug}.sh | research/03-workflows.md | SOP 走查 + 失败模式自检 |
每个生成脚本支持 --help / --explain / --dry-run / --json 标准接口。完整 spec: references/cli-spec.md。
如果用户不要 CLI(例如纯演示):skill_writer.py create --no-cli.
Phase 4: 质量验证
生成后用子 agent 独立测试(避免自评偏差):
4.1 已知测试(Sanity Check)
挑 3 个这行有共识答案的问题,spawn 子 agent 带着新 skill 回答。对比业内共识:
- 方向一致 → PASS
- 偏离 → 回 Phase 2 调整
4.2 边缘测试(Edge Case)
挑 1 个这行人没特别讨论过但相关的问题,让 skill 推断。
- 期望:「基于 {心智模型 X} 和 {playbook Y} 推断,可能 ...; 但需要 {具体来源} 确认」
- 不应该斩钉截铁
4.3 风格测试(Voice Check)
让 skill 写 100 字行业短评。盲测能否被识别为「这行的人写的」。
4.4 通过标准
| 检查项 | 通过 | 不通过 | |------|------|--------| | 心智模型数 | 3-7 | < 3 或 > 10 | | 每个模型有局限 | ✓ | 只写优点 | | 表达 DNA 辨识度 | ✓ | 像通用 ChatGPT | | 诚实边界 | ≥ 3 条具体 | 只有「不能替代真人」 | | 一手来源占比 | ≥ 50% | 主要二手转述 | | Agentic Protocol | ≥ 5 个研究维度 | < 3 | | 时效性标注 | ≥ 1 处 last_updated | 无 |
不通过 → 标注薄弱维度回 Phase 2 迭代。最多 2 轮,仍不通过则在诚实边界中明确标注,交付当前最优版本。
Phase 5: 双 Agent 精炼(标准后置)
Phase 4 通过后,并行启动两个评审 agent:
Agent A(auto-skill-optimizer 视角):
- 评 SKILL.md 的工作流清晰度、边界条件、检查点设计、指令具体性
- 干跑 3 个典型 prompt,评估有效性
- 输出最弱 2 个维度的具体改进建议(带改后文本示例)
Agent B(skill-creator 视角):
- 评激活触发条件是否覆盖真实场景
- 评角色扮演规则的可操作性
- 识别缺失的关键信息
- 输出 2-3 处具体改动建议(带改后文本示例)
主 agent 综合两份报告,应用不冲突的改进,向用户展示变更摘要请求确认。
精炼标准:让 skill「激活即执行」,不是「内容更多」。
更新已有 Skill
走 Phase 0C 路径。重点:
- 读
meta.json中last_research_date - 按距今时长决定哪几轨重跑
- 旧的
references/research/文件移到references/research/archive/{date}/ - 重跑选定的 track,但保留旧版本可参考
- Phase 2 重新提炼时,明确对比新 vs 旧:
- 新信息加强现有模型 → 补充案例
- 新信息与旧模型矛盾 → 标记 changed,更新模型,在诚实边界写「{date} 起 {模型 X} 改为 ...」
- 出现新模型 → 加入
- 旧模型彻底过时 → 标记 deprecated,移到「历史模型」节
- 写
CHANGELOG.md记录这次更新动了什么 - 不重写整个 skill,只增量更新
品味守则(速查)
| 原则 | 一句话 | |------|--------| | 长访谈 > 金句 | 1 小时 podcast 比 50 条推文更揭示行业 OS | | 争议 > 共识 | 流派分歧最能揭示行业的真问题 | | 工具栈年更 vs OS 年更 | Phase 3 的工具 / 工作流模块每 3-6 月可衰减;心智模型 1-2 年才动 | | 一手 > 二手 | 行业人本人发的内容 > 别人写他的 | | 本地素材 > 网络搜索 | 用户手上的行业报告 PDF / 内部文档 > 任何网络爬来的 |
绝不做的事
- 编造行业 figures 没说过的话 / 没写过的书
- 把通用商业道理包装成「{X 行业的} 独特见解」
- 忽略行业的真实争议、骗局、黑历史
- 在公开材料 < 30 条时强行生成「全维度 master skill」
与其他 skill 的关系
| Skill | 用途 | |------|------| | 同事.skill (dot-skill) | 蒸馏一个具体的人(同事 / 合作方) | | 女娲.skill | 蒸馏一种思维方式 / 名人 OS。大师.skill 在 Phase 3 调用它生成 top figures 的 sub-skill | | 大师.skill(本 repo) | 蒸馏一个细分行业的 OS |
层级:dot < nuwa < master,覆盖范围一层比一层大,调研深度逐层下降。
Task Prioritizer
Productivity
Prioritizes your tasks using Eisenhower, ICE, and RICE frameworks.
Weekly Status Report Generator
Productivity
Generate structured and concise weekly status reports.
Daily Standup Report
Productivity
Generates structured and concise daily standup reports.