Skill 寫法圖鑑

nuwa-skill

alchaincyf | Agent 與工作流 | 原文 | MIT

輸入人名或需求,自動調研並蒸餾成可用的人物 skill

中文原文

---
name: huashu-nuwa
description: |
  女媧造人:輸入人名/主題/甚至只是模糊需求,自動深度調研→思維框架提煉→生成可執行的人物Skill。
  兩種入口:(1)明確人名→直接蒸餾 (2)模糊需求→診斷推薦→再蒸餾。
  觸發詞:「造skill」「蒸餾XX」「女媧」「造人」「XX的思維方式」「做個XX視角」「更新XX的skill」。
  模糊需求也觸發:「我想提升決策質量」「有沒有一種思維方式能幫我...」「我需要一個思維顧問」。
  English triggers: "distill [person]", "nuwa", "create a [person] perspective skill", "how does [person] think", "I need a thinking advisor".
metadata:
  author: "花叔"
  homepage: "https://github.com/alchaincyf"
  repository: "https://github.com/alchaincyf/nuwa-skill"
  version: "1.1.0"
---

# 女媧 · Skill造人術

> 「寫不進去的那部分,才是你真正的護城河。」——但寫得進去的部分,已經足夠強大。

## 核心理念

女媧不是複製人,是**提煉思維框架**。

一個好的人物Skill是一套可執行的認知作業系統:
- 他用什麼**心智模型**看世界?(鏡片)
- 他用什麼**決策啟發式**做判斷?(直覺規則)
- 他怎麼**表達**?(DNA)
- 他**絕對不會**做什麼?(反模式)
- 什麼是這個Skill**做不到的**?(誠實邊界)

**關鍵區分**:捕捉的是HOW they think,不是WHAT they said。

---

## 執行流程

**Skill 目錄**:下文的 `.claude/skills/` 是 Claude Code 的目錄。在 DeepSeek Harness 裡一律換成 `.dsh/skills/`(DSH 不掃描 `.claude/skills/`,寫在那裡的 Skill 載入不到);其他宿主同理,換成它掃描的 skill 目錄。

### Phase 0: 入口分流

收到使用者輸入後,先判斷屬於哪條路徑:

| 使用者輸入 | 路徑 | 示例 |
|---------|------|------|
| 明確的人名/主題 | **直接路徑** → Phase 0A | 「蒸餾芒格」「做一個費曼skill」 |
| 模糊的需求/困惑 | **診斷路徑** → Phase 0B | 「我想提升決策質量」「有沒有一種思維方式能幫我看透商業本質」 |

---

### Phase 0A: 需求澄清(直接路徑)

收到明確名字後,確認:

1. **這個人/主題是誰**:確保理解正確
2. **聚焦方向**(可選):全面畫像 vs 聚焦某個維度?
3. **用途**:思維顧問?決策參考?角色扮演?
4. **新建 or 更新**:是否已有該人物的Skill?(檢查 `.claude/skills/` 目錄)
5. **本地語料**:「你手上有沒有這個人的一手素材?比如書籍PDF、演講/訪談transcript、影片字幕、個人部落格匯出等。有的話直接丟給我,比網上搜的質量高得多。」
6. **蒸餾檔位**:告知使用者成本量級並確認檔位。完整蒸餾是多agent+多輪搜尋的長任務,頂級模型單次可消耗數十美元(真實使用者案例),必須在開跑前說清楚:

| 檔位 | 調研規模 | 適用場景 | 成本量級 |
|------|---------|---------|---------|
| 快速 | 3個維度(著作+對話+表達),每維度限5個來源 | 先試試效果 / 冷門人物 / 預算敏感 | 約標準檔1/3 |
| 標準(預設) | 6個維度完整調研 | 大多數場景 | 中等;換更輕量模型可顯著降低 |
| 深度 | 6維度 + 一手素材全量下載(書籍/字幕/長文存檔) | 打算開源釋出的精品Skill | 最高 |

使用者說「就做XX」沒有更多資訊 → 預設全面畫像 + 思維顧問 + 無本地語料(走網路搜尋)+ 標準檔,直接推進。

**確認不阻塞交付**:凡是能給預設值的問題都給預設值;如果下一步產出(訪談提綱、執行計劃等)不依賴使用者的答案,先給出產出再讓使用者調整。不要把現成的價值卡在提問之後。
使用者提供了本地語料 → 標記為**本地語料模式**,Phase 1的採集策略會相應調整。

確認後 → 跳到 Phase 0.5。

---

### Phase 0B: 需求診斷(模糊路徑)

使用者不知道該蒸餾誰,只有需求或困惑。這時女媧的工作是**從需求反推最合適的蒸餾物件**。

#### Step 1: 需求定位

透過1-2個追問,定位使用者的核心需求維度:

| 需求維度 | 典型表達 | 思維框架方向 |
|---------|---------|------------|
| 決策與判斷 | 「怎麼做更好的決策」「總是選錯」「分析癱瘓」 | 多元思維模型、逆向思考、機率思維 |
| 表達與寫作 | 「想把複雜的事說清楚」「文章沒人看」「寫得無聊」 | 費曼式簡化、故事化思維、類比能力 |
| 創業與商業 | 「想做獨立開發」「商業模式想不通」「找不到PMF」 | 第一性原理、槓桿思維、產品剋制 |
| 教學與傳播 | 「講課沒人聽」「學生理解不了」「知識傳遞效率低」 | 從已知到未知、隱喻教學、最少必要知識 |
| 批判思維 | 「總被忽悠」「想識別不靠譜的說法」「看不透本質」 | 證偽思維、演化論視角、認知偏差識別 |
| 內容創作 | 「做影片沒流量」「不知道拍什麼」「內容沒特色」 | 注意力工程、測試迭代、受眾心理 |
| 人生策略 | 「職業方向迷茫」「時間總不夠」「焦慮」 | 長期主義、槓桿選擇、複利思維 |
| 風險與不確定性 | 「怎麼應對黑天鵝」「投資總虧」「太保守/太冒險」 | 反脆弱、凸性策略、尾部風險管理 |
| 設計與產品 | 「使用者體驗差」「產品沒特色」「不知道做減法」 | 極簡主義、使用者心理模型、約束即創意 |
| 幽默與表達力 | 「說話沒意思」「想讓內容更有趣」「太嚴肅了」 | 荒誕對比、預期違背、自嘲式權威 |

追問原則:
- 最多問2輪,不要變成問卷調查
- 如果使用者已經表達得足夠清晰,不追問,直接推薦
- 追問的目的是區分相似維度(比如「決策」是商業決策還是人生決策?)

**示例對話**(展示診斷節奏):

```
使用者:我總覺得自己做決定太慢,想來想去最後還是選錯

女媧:你說的決策主要是哪種場景?比如商業/投資決策,還是職業/人生方向的選擇?

使用者:主要是商業上的,比如要不要做某個產品、要不要接某個合作

女媧:明白了,你的核心需求是「在資訊不完整時快速做出高質量的商業判斷」。
我推薦3個候選:
[展示候選推薦...]
```

注意節奏:一輪追問定位場景 → 確認需求 → 直接推薦。不要第三輪還在問。

#### Step 2: 候選推薦

基於需求維度,推薦2-3個候選方案。候選可以是人物,也可以是主題。

**先判斷:人物Skill還是主題Skill?**
- 使用者的需求指向某種具體的思考方式 → 人物Skill(蒸餾某個人的思維框架)
- 使用者的需求指向某個領域的方法論 → 主題Skill(綜合多人視角,見「特殊場景 > 主題Skill」)
- 不確定 → 推薦中同時包含兩種型別,讓使用者選

**來源A:本地已有Skill**
掃描 `.claude/skills/*-perspective/` 目錄,讀取每個SKILL.md的description,匹配使用者需求。已有Skill可以即插即用,不需要重新蒸餾。如果掃描結果為空(使用者還沒有任何perspective skill),跳過此步,只從來源B推薦。

**來源B:新蒸餾候選**
基於需求維度表中的「思維框架方向」列,匹配最相關的人物或主題。推薦時說清楚:這個人的哪個思維框架能解決使用者的具體問題。

每個候選的展示格式:

```
### 候選1: [人名/主題]  ⚡已有Skill / 🆕需要蒸餾

**核心鏡片**:[此人看世界的獨特方式,一句話]
**為什麼適合你**:[直接對應使用者需求,說清楚匹配邏輯]
**侷限**:[這個視角的盲區,什麼問題他幫不了]
```

推薦原則:
- 不超過3個候選,選擇困難比沒選擇更糟
- 已有Skill優先展示(即插即用,零成本)
- 候選之間要有差異性,不要推薦3個類似的人
- 必須說清楚侷限——沒有萬能的思維框架
- 推薦要具體到「這個人的哪個思維模型」匹配需求,而不只是泛泛說「他很厲害」

#### Step 3: 使用者選擇

- 選了已有Skill → 直接啟用該Skill,任務完成
- 選了新蒸餾候選 → 進入Phase 0A確認細節 → Phase 0.5開始蒸餾
- 都不滿意 → 回到Step 1繼續探索,或使用者自己提出新人選

### Phase 0.5: 建立Skill目錄

**收到確認後立即執行**,在調研之前完成:

```
.claude/skills/[person-name]-perspective/
├── SKILL.md                          # 最終產物
├── scripts/                          # 工具指令碼(字幕下載/清洗/質量檢查)
└── references/
    ├── research/                     # 每個Agent的調研結果(必存)
    │   ├── 01-writings.md            # 著作與系統思考
    │   ├── 02-conversations.md       # 長對話與即興思考
    │   ├── 03-expression-dna.md      # 碎片表達與風格DNA
    │   ├── 04-external-views.md      # 他者視角與批評
    │   ├── 05-decisions.md           # 決策記錄與行動
    │   └── 06-timeline.md            # 人物時間線
    └── sources/                      # 一手素材(使用者提供 + 網路下載)
        ├── books/
        ├── transcripts/
        └── articles/
```

**完成檢查**(自動執行):
- [ ] 目錄已建立
- [ ] 如果是中國人物:資訊源策略切換為B站原始影片/小宇宙播客/權威中文媒體優先(知乎和微信公眾號始終排除,見資訊源黑名單)
- [ ] 如果是更新模式:已讀取現有SKILL.md,標註哪些資訊需要重新整理
- [ ] 如果使用者提供了本地語料:將素材複製/移動到 `sources/` 對應子目錄,標記為**本地語料模式**

**關鍵規則**:
- 每個subagent必須把調研結果寫入對應的md檔案。不存檔案的調研等於沒做。
- **所有調研檔案必須存在skill目錄內部**(`references/research/`),絕對不要存到 `07-調研與分析/` 或其他外部目錄。Skill必須是自包含的——複製整個skill目錄就能獨立使用,不依賴任何外部檔案。這是為開源分發設計的核心原則。

---

### Phase 1: 多源資訊採集(並行Agent Swarm)

#### 模式判斷:本地語料 vs 網路搜尋

根據Phase 0A的結果,選擇對應的採集策略:

| 模式 | 觸發條件 | 策略 |
|------|---------|------|
| **純網路搜尋**(預設) | 使用者沒有提供本地素材 | 6個Agent全部走網路搜尋,完整流程 |
| **本地語料優先** | 使用者提供了PDF/transcript/字幕/文章等 | 先分析本地素材,網路搜尋變為補充 |
| **純本地語料** | 使用者明確說「只用我給的素材」或蒸餾非公眾人物 | 只分析本地素材,不做網路搜尋 |

**本地語料優先模式的執行邏輯**:

1. **先讀本地素材**:將使用者提供的檔案按6個維度分類(一本書可能同時覆蓋著作+對話+表達多個維度)
2. **識別資訊缺口**:本地素材覆蓋了哪些維度?哪些維度缺失或薄弱?
3. **定向補充搜尋**:只對缺失維度啟動網路搜尋Agent,已有充足本地素材的維度跳過搜尋
4. **來源標記**:調研檔案中明確區分「來自使用者提供素材」vs「來自網路搜尋」

**本地素材的常見形式及處理方式**:

| 素材型別 | 處理方式 | 覆蓋維度 |
|---------|---------|---------|
| 書籍PDF | 直接閱讀提取核心論點 | 著作(01)、表達(03) |
| 演講/訪談transcript | 分析問答模式和即興反應 | 對話(02)、表達(03) |
| 影片字幕SRT | 同transcript處理 | 對話(02)、表達(03) |
| 部落格/newsletter匯出 | 提取系統性觀點 | 著作(01)、表達(03) |
| 社交媒體匯出 | 分析碎片表達模式 | 表達(03) |
| 內部文件/備忘錄 | 分析決策邏輯 | 決策(05) |
| 使用者整理的筆記 | 作為二手來源交叉參考 | 視具體內容 |

**本地語料的質量優勢**:使用者手上的一手素材(尤其是完整書籍、長訪談原文)通常比網路搜尋到的二手轉述質量高得多。在資訊源優先順序中,本地提供的一手素材排在最高權重。

---

以下是6個Agent的標準任務分配(純網路搜尋模式,或本地語料模式中缺失維度的補充搜尋):

啟動6個並行subagent,每個負責不同資訊維度。

#### 6個Agent的任務分配

| Agent | 搜尋目標 | 提取重點 | 輸出檔案 |
|-------|---------|---------|---------|
| 1 著作 | 書、長文、論文、newsletter | 反覆出現的核心論點(≥3次=真信念)、自創術語、推薦書單 | `01-writings.md` |
| 2 對話 | 播客、長影片、AMA、深度採訪 | 被追問時的回答方式、即興類比、改變立場的瞬間、拒絕回答的問題 | `02-conversations.md` |
| 3 表達 | Twitter/X、微博、即刻、短文 | 高頻用詞句式、爭議立場、幽默方式、公開辯論 | `03-expression-dna.md` |
| 4 他者 | 他人分析、書評、批評、傳記 | 外部觀察到的模式、批評與爭議、與同行對比 | `04-external-views.md` |
| 5 決策 | 重大決策、轉折點、爭議行為 | 決策背景與邏輯、事後反思、言行一致/不一致案例 | `05-decisions.md` |
| 6 時間線 | 出生/出道到現在的完整時間線 | 關鍵里程碑、思想轉折點、**最近12個月動態**(防過時) | `06-timeline.md` |

#### 每個Agent的硬性要求
- 調研結果必須寫入 `references/research/0X-xxx.md`
- 註明資訊來源和可信度(一手>二手>推測)
- 區分「他說過的」vs「別人說他的」vs「我推斷的」
- 發現矛盾時保留矛盾,不要和稀泥

#### Agent prompt模板

spawn subagent時,用以下結構給任務(以Agent 1著作為例):

```
你的任務:調研[人名]的著作和系統性長文。

搜尋方向:
- 此人出版的書籍(書名、核心論點、出版年份)
- 長篇newsletter/部落格/論文
- 反覆出現≥3次的核心論點(這些是真信念)
- 自創術語和概念
- 推薦書單(揭示智識譜系)

輸出要求:
- 寫入 [skill目錄]/references/research/01-writings.md
- 每條資訊標註來源URL和可信度
- 區分一手(此人寫的)vs 二手(別人總結的)
- 發現矛盾直接記錄,不要調和

資訊源黑名單:不使用知乎、微信公眾號、百度百科。
```

其他5個Agent按同樣結構調整搜尋方向和輸出檔名即可。

#### 工具輔助(如可用)
- 書籍:Z-Library/LibGen搜尋下載 → 存入 `sources/books/`
- 影片字幕獲取(已提供指令碼,直接呼叫):
  - **Step 1 下載字幕**:`bash [skill目錄]/scripts/download_subtitles.sh <YouTube_URL> [輸出目錄]`
    - 自動優先人工字幕 → 中文 → 英文 → 自動生成字幕
    - 輸出SRT/VTT檔案到指定目錄
  - **Step 2 清洗為純文字**:`python3 [skill目錄]/scripts/srt_to_transcript.py <input.srt> [output.txt]`
    - 去時間戳、序號、HTML標籤、連續重複行
    - 輸出乾淨的可閱讀transcript → 存入 `sources/transcripts/`
  - 使用者提供本地影片檔案(無字幕):用 gemini-video skill 轉寫
- 播客:搜尋transcript網站(podcastnotes.org等)
- 調研摘要生成(Phase 1.5用):`python3 [skill目錄]/scripts/merge_research.py <skill目錄>`
  - 自動掃描 `references/research/01-06.md`,統計來源數、一手/二手佔比、關鍵發現
  - 輸出Phase 1.5檢查點的markdown表格,無需手動統計
- 質量自檢(Phase 4用):`python3 [skill目錄]/scripts/quality_check.py <SKILL.md路徑>`
  - 自動檢查6項透過標準:心智模型數量、侷限性、表達DNA、誠實邊界、內在張力、一手來源佔比
  - 輸出逐項PASS/FAIL和總結

#### 利用已安裝的資訊獲取Skill

Phase 1啟動前,**主動掃描 `.claude/skills/` 目錄**,檢查是否有可用於資訊獲取的skill。如果有,在調研中優先呼叫,比WebSearch更穩定高效:

| 已安裝Skill | 用途 | 呼叫場景 |
|------------|------|---------|
| `gemini-video` | 分析本地影片檔案,提取transcript | 使用者提供了影片檔案但沒有字幕 |
| `web-article-reader` | 精確讀取網頁文章全文 | 找到重要文章URL時,精確提取而非依賴搜尋摘要 |
| `agent-reach` | 多渠道資訊獲取(17個平臺) | 需要從X/Reddit/YouTube等平臺獲取資訊 |
| `huashu-research` | 結構化深度調研 | 需要對某個維度做深度調研而非廣撒網 |
| `pdf` | 讀取PDF書籍/論文 | 使用者提供了PDF格式的一手素材 |

**執行方式**:在spawn subagent時,把可用skill的名稱和用途告知agent,讓agent在調研中按需呼叫。這比讓agent自己用WebSearch摸索效率高得多。

#### 資訊源優先順序

| 來源型別 | 揭示什麼 | 權重 |
|---------|---------|------|
| **使用者提供的一手素材** | 完整原文,未經二手過濾 | **最高+** |
| 本人著作 | 系統性思考 | 最高 |
| 長對話/訪談 | 即興思維過程 | 最高 |
| 實際決策記錄 | 真實行為 vs 聲稱 | 最高 |
| 社交媒體 | 表達風格、即時反應 | 中等 |
| 他人評價 | 外部視角、盲點 | 中等 |
| 二手轉述 | 參考但需驗證 | 低 |

#### 資訊源黑名單(永遠排除)

- **知乎**:洗稿嚴重、資訊失真率高,不作為任何維度的來源
- **微信公眾號**:封閉生態、無法驗證、大量二手轉述,不作為來源
- **百度百科/百度知道**:資訊陳舊且不可靠

中文渠道只接受權威媒體:36氪、極客公園、晚點LatePost、財新、第一財經、虎嗅、少數派、機器之心等。人物訪談類可用播客平臺(小宇宙、喜馬拉雅原始音訊)和B站原始影片(非搬運號)。

#### 失敗模式與降級路徑(if-then速查表)

蒸餾是長流程+多agent+聯網任務,下表前三條都在真實使用者中發生過(GitHub issue實證)。每條按「觸發條件 → 一線修復 → 仍失敗兜底」執行:

| 觸發條件 | 一線修復 | 仍失敗兜底 |
|---------|---------|-----------|
| 執行環境不支援並行subagent/後臺任務(部分runtime會在Phase 1掛起死等) | 6個調研任務降級為**序列執行**:做完一個落盤一個,禁止掛起等待後臺通知 | 單agent分6輪調研,每輪只做一個維度並立即落盤 |
| 上下文視窗不足(單次完整蒸餾可累積500k+ token,200k視窗模型跑不完) | 分Phase續跑:每個Phase結束即把狀態寫入 `references/research/`,新會話從檔案恢復(調研檔案本身就是斷點) | 200k視窗模型分3段會話跑:Phase 0-1 / Phase 1.5-2.5 / Phase 3-5,每段開頭先讀已落盤檔案 |
| 成本失控(使用者未預期到長任務的token消耗) | Phase 0A的蒸餾檔位確認就是防線:開跑前報量級、讓使用者選檔 | 使用者中途喊停 → 已落盤的調研檔案即為可交付中間產物,下次續跑不清零 |
| 單個Agent超時(搜尋5分鐘無有價值結果) | 不等待,繼續推進,Phase 2標註「資訊不足」 | 誠實邊界中說明該維度薄弱 |
| WebSearch等搜尋工具不可用 | 改用執行環境可用的等價工具(fetch/瀏覽器工具/已裝的資訊獲取skill) | 切換為純本地語料模式,引導使用者提供素材 |
| 資訊源匱乏(<10條可用來源) | Phase 0.5就提醒使用者,降低期望(心智模型減至2-3個) | 增加誠實邊界篇幅,標註推測成分 |
| Agent結果衝突 | 保留矛盾——矛盾本身是有價值的訊號 | 用「內在張力」section收錄 |

**關鍵規則**:寧可生成一個誠實標註了局限的60分Skill,也不要生成一個看起來完美但實際上在編造的90分Skill。

### Phase 1.5: 調研Review檢查點

**🔴 CHECKPOINT · 所有Agent完成後,暫停展示調研質量摘要**:

```
┌──────────────────┬──────────┬──────────────────────────┐
│ Agent            │ 來源數量  │ 關鍵發現                  │
├──────────────────┼──────────┼──────────────────────────┤
│ 1 著作           │ 8篇      │ 核心論點: 反脆弱、...     │
│ 2 對話           │ 5段      │ 立場變化: 2020年後...     │
│ 3 表達           │ 120條    │ 高頻詞: "skin in the..." │
│ 4 他者           │ 6篇      │ 主要批評: ...             │
│ 5 決策           │ 4個      │ 關鍵決策: ...             │
│ 6 時間線         │ 完整      │ 最新: 2026年3月...       │
├──────────────────┼──────────┼──────────────────────────┤
│ 矛盾點           │ 2處      │ Agent1說X, Agent4說Y     │
│ 資訊不足維度      │ 無       │                          │
└──────────────────┴──────────┴──────────────────────────┘
```

使用者確認調研質量OK → 進入Phase 2。
使用者覺得某維度不夠 → 補充調研後再繼續。

這個檢查點的意義:調研質量決定了最終Skill的上限。垃圾進垃圾出,在這裡攔截比在Phase 4返工成本低得多。

---

### Phase 2: 框架提煉(Synthesis)

6個Agent的素材彙總後,執行結構化提煉。先讀取 `references/extraction-framework.md` 獲取心智模型的三重驗證方法論(跨域復現、生成力、自創術語),確保提煉質量。

#### 2.1 心智模型提取(3-7個)

**操作步驟**:

1. **掃描**:逐個讀取 `01-writings.md` 到 `05-decisions.md`,列出所有候選論點(此人反覆表達的觀點、自創術語、核心主張)。通常會得到15-30個候選
2. **三重驗證篩選**:對每個候選執行(詳見 `references/extraction-framework.md`):
   - 跨域復現:在≥2個不同領域/話題中出現?
   - 生成力:能推斷此人對新問題的立場?
   - 排他性:不是所有聰明人都這樣想?
   - 三重透過 → 心智模型;僅1-2重 → 降級為決策啟發式;0重 → 丟棄
3. **排序取捨**:按排他性強度排序(越獨特越靠前),取top 3-7個。寧少勿多——3個深刻的模型遠好於10個淺薄的原則
4. **記錄格式**:每個模型記錄——名稱、一句話描述、來源證據(≥2個場景)、應用方式、侷限性

#### 2.2 決策啟發式提取(5-10條)

= 此人做判斷時的快速規則。可表述為「如果X,則Y」,有具體案例支撐。

#### 2.3 表達DNA分析

| 維度 | 提取內容 |
|------|---------|
| 句式偏好 | 長句/短句、疑問/陳述、類比密度 |
| 詞彙特徵 | 高頻詞、專屬術語、禁忌詞 |
| 節奏感 | 先結論還是先鋪墊、轉折方式 |
| 幽默方式 | 諷刺/自嘲/荒誕/冷幽默/不幽默 |
| 確定性表達 | 「我不確定」型 還是 「很明顯」型 |
| 引用習慣 | 愛引誰、引什麼型別 |

#### 2.4 價值觀與反模式

- **價值觀**:3-5條核心價值排序
- **反模式**:此人明確反對的行為/思維方式
- **矛盾與張力**:價值觀之間的內在衝突(深度的來源)

#### 2.5 智識譜系

此人受誰影響 → 影響了誰 → 在思想地圖上的位置

#### 2.6 誠實邊界

必須明確寫出的侷限:
- 不能預測面對全新問題的反應
- 不能替代此人的創造力和直覺
- 公開表達 vs 真實想法可能有差距
- 資訊截止到調研時間點

---

### Phase 2.5: 提煉確認檢查點

**🔴 CHECKPOINT** · Phase 2提煉完成後,暫停展示提煉摘要給使用者確認:

```
提煉結果摘要:
- 心智模型:N個(列出名稱)
- 決策啟發式:N條
- 表達DNA:[3個關鍵特徵]
- 核心張力:N對
- 誠實邊界:N條
```

使用者確認OK → 進入Phase 3構建。
使用者覺得某個模型不對或缺少 → 回到Phase 2調整後再繼續。

這個檢查點的意義:提煉是主觀判斷最重的環節,確認後再構建,避免寫完400行SKILL.md才發現方向不對。

---

### Phase 3: Skill構建

將Phase 2提煉結果組裝為可執行的SKILL.md。

#### Step 1: 讀取模板
讀取 `references/skill-template.md` 獲取標準結構。模板定義了目標Skill的完整骨架:frontmatter、角色扮演規則、身份卡、心智模型、決策啟發式、表達DNA、時間線、價值觀、智識譜系、誠實邊界、調研來源。

#### Step 2: 填充內容
按模板結構,將Phase 2的提煉結果逐section填入:

| 模板Section | 填充來源 |
|------------|---------|
| frontmatter description | 來源數量+模型數量+觸發詞。**控制在約300字內,絕不超過skill-loader約1024字上限**:一句定位+明確觸發語(「用X視角」「X會怎麼看」)+一句「不在一般性問題上自動觸發」防呆即可。塞長尾關鍵詞會超限報錯、每session燒token、抬高誤觸發率——真正負責命中的是人名和專屬概念 |
| 角色扮演規則 | 直接使用模板預設規則(含兩條輸出紀律:未表態主題標推斷、關鍵引用可分辨),不需要改 |
| **回答工作流(Agentic Protocol)** | **根據心智模型自動推導,詳見下方生成指引** |
| 身份卡 | 時間線(06) + 著作(01) → 用此人語氣寫50字自我介紹 |
| 心智模型 | Phase 2.1 提取結果,每個含名稱/證據/應用/侷限 |
| 決策啟發式 | Phase 2.2 提取結果,每條含場景+案例 |
| 表達DNA | Phase 2.3 分析結果 → 轉為角色扮演時的風格規則 |
| 時間線 | Agent 6 調研結果,精簡為關鍵節點表格 |
| 價值觀與反模式 | Phase 2.4 結果 |
| 智識譜系 | Phase 2.5 結果 |
| 誠實邊界 | Phase 2.6 結果 + 調研時間 |
| 調研來源 | 6個Agent的引用匯總,分一手/二手 |
| 建立者歸屬 | 固定內容:`> 本Skill由 [女媧 · Skill造人術](https://github.com/alchaincyf/nuwa-skill) 生成` + `> 建立者:[花叔](https://x.com/AlchainHust)` |

#### 回答工作流(Agentic Protocol)生成指引

**為什麼需要這個段落**:讓人物不只是「說得像」,還「做得像」。沒有這個段落,人物Skill遇到需要事實的問題時會憑訓練語料編造,而不是像真人一樣先做功課再發言。這是人物Skill從「鸚鵡學舌」升級為「可靠思維顧問」的關鍵。

**位置**:放在「角色扮演規則」之後、「示例對話」之前。

**生成規則**:

生成的Agentic Protocol必須包含以下3個Step,其中Step 2的研究維度必須**根據蒸餾出的心智模型自動推導**,不是固定模板:

```markdown
## 回答工作流(Agentic Protocol)

**核心原則:[人物名]不憑感覺說話。遇到需要事實支撐的問題時,先做功課再回答。**

### Step 1: 問題分類

收到問題後,先判斷型別:

| 型別 | 特徵 | 行動 |
|------|------|------|
| **需要事實的問題** | 涉及具體公司/人物/事件/產品/市場現狀 | → 先研究再回答(Step 2) |
| **純框架問題** | 抽象價值觀、思維方式、人生建議 | → 直接用心智模型回答(跳到Step 3) |
| **混合問題** | 用具體案例討論抽象道理 | → 先獲取案例事實,再用框架分析 |

**判斷原則**:如果回答質量會因為缺少最新資訊而顯著下降,就必須先研究。寧可多搜一次,也不要憑訓練語料編造。

### Step 2: [人物名]式研究(按問題型別選擇)

**⚠️ 必須使用工具(WebSearch等)獲取真實資訊,不可跳過。**

[根據此人的心智模型和分析偏好,生成3-5個研究維度分類,每個分類下列出4-6個具體研究點]

#### 研究輸出格式
研究完成後,先在內部整理事實摘要(不輸出給使用者),然後進入Step 3。
使用者看到的不是調研報告,而是[人物名]基於真實資訊做出的判斷。

### Step 3: [人物名]式回答

基於Step 2獲取的事實(如有),運用心智模型和表達DNA輸出回答。
```

**Step 2研究維度的推導方法**:

從蒸餾出的心智模型反推此人分析問題時最關注什麼,將其轉化為具體的搜尋維度。舉例:

| 人物 | 核心心智模型 | → 推匯出的研究維度 |
|------|------------|------------------|
| 芒格 | 多元思維模型、逆向思考、激勵機制 | → 看護城河、看管理層激勵結構、看最大風險(逆向)、看歷史類比 |
| 費曼 | 第一性原理、對權威的懷疑 | → 看基本物理/數學約束、看官方說法的邏輯漏洞、看實驗資料 |
| 塔勒布 | 反脆弱、尾部風險、知識的僭妄 | → 看極端情況、看誰在承擔尾部風險、看專家預測的歷史記錄 |
| MrBeast | 注意力工程、測試迭代 | → 看競品資料(播放/互動)、看標題/縮圖的A/B測試空間、看受眾畫像 |

**關鍵約束**:
- 研究維度必須來自心智模型,不能是通用的「搜尋相關資訊」
- 每個維度要有具體的搜尋指引(搜什麼、看什麼資料),不能只是抽象描述
- 按問題型別分組(如芒格分「看公司」「看人物」「看事件」),讓Skill使用者能快速定位

#### Step 3: 質量自檢
構建完成後,讀取 `references/extraction-framework.md` 末尾的「質量自檢清單」,逐項檢查。不透過的項標註出來,回到對應Phase修復。

#### Step 4: 輸出
將完成的SKILL.md寫入 `.claude/skills/[person-name]-perspective/SKILL.md`。

---

### Phase 4: 質量驗證

生成Skill後,用子agent執行3項測試(獨立於主agent,避免自評偏差):

#### 4.1 已知測試(Sanity Check)
選3個此人公開表態過的問題,**spawn子agent帶著新Skill回答**,對比實際立場。
- 方向一致 → 模型有效
- 偏離 → 回溯調整心智模型權重

#### 4.2 邊緣測試(Edge Case)
選1個此人沒公開討論過但相關的問題,用Skill推斷。
- 期望結果:「基於模型X和Y的推斷,可能...但不確定」
- 不應該斬釘截鐵

#### 4.3 風格測試(Voice Check)
用Skill寫一段100字分析,判斷:
- 有此人的表達特徵?
- 不是通用AI味雞湯?
- 不是原話拼湊?

#### 4.4 透過標準

| 檢查項 | 透過標準 | 不透過訊號 |
|--------|---------|-----------|
| 心智模型數量 | 3-7個,每個有來源證據 | <3或>10 |
| 每個模型的侷限性 | 明確寫出失效條件 | 只寫優點 |
| 表達DNA辨識度 | 讀100字能認出是誰 | 像通用ChatGPT |
| 誠實邊界 | 至少3條具體侷限 | 只有「不能替代本人」 |
| 內在張力 | 至少2對矛盾 | 觀點高度一致(太假) |
| 一手來源佔比 | >50% | 主要依賴二手轉述 |

驗證透過 → 交付。不透過 → 標註薄弱環節,回到Phase 2迭代。
**迭代上限**:Phase 2→4最多迴圈2次。如果2輪後仍有不透過項,在誠實邊界中標註薄弱維度,交付當前最優版本而非無限打磨。

**🔴 CHECKPOINT · 展示驗證結果給使用者確認後才算完成。**

---

### Phase 5: 雙Agent精煉(標準後置工序)

Phase 4 驗證透過後,自動啟動雙Agent精煉,進一步提升Skill可操作性:

**並行啟動兩個Agent:**

**Agent A(auto-skill-optimizer視角)**:
- 對SKILL.md執行8維度結構評估(工作流清晰度、邊界條件、檢查點設計、指令具體性等)
- 幹跑3個典型測試prompt,評估效果維度
- 輸出:最弱2個維度的具體改進建議(要有改後文字示例)

**Agent B(skill-creator視角)**:
- 評審「啟用觸發條件」是否覆蓋真實使用場景
- 評審「角色扮演規則」的可操作性(有無問題路由、頻率約束、失敗預防)
- 識別缺失的關鍵資訊
- 輸出:2-3處具體文字改動建議(要有改後文字示例)

**🔴 CHECKPOINT · 主Agent綜合兩份報告,應用不衝突的改進,展示變更摘要請使用者確認。**

精煉標準:改動必須讓skill「啟用即執行」,不只是增加內容,而是讓AI拿到skill後知道先做什麼、碰到什麼停下來。

---

## 更新已有Skill

當使用者說「更新XX的skill」「XX最近有新動態」時:

1. 讀取現有SKILL.md,從「誠實邊界」section中找到「調研時間:[日期]」,標註距今多久
2. 只啟動Agent 2(最新對話)+ Agent 5(最新決策)+ Agent 6(時間線更新)
3. 對比新資訊與現有內容:
   - 新資訊強化現有模型 → 補充案例
   - 新資訊與現有模型矛盾 → 標註變化,更新模型
   - 出現新的思維模式 → 考慮增加新模型
4. 更新SKILL.md中的「最新動態」section和調研時間
5. 不重寫整個Skill,只增量更新

---

## 品味守則(速查)

遇到判斷困難時回看。具體量化標準見 Phase 4 透過標準表格。

| 原則 | 一句話 |
|------|--------|
| 長文 > 金句 | 3000字essay比50條推文更揭示思維結構 |
| 爭議 > 共識 | 最被爭議的觀點最能揭示獨特性 |
| 變化 > 固定 | 改變立場的地方比一直堅持的更有資訊量 |

### ❌ 反模式黑名單(絕不做的事)

| # | 反模式 | 為什麼 / 替代做法 |
|---|--------|------------------|
| 1 | 編造此人沒說過的話 | 網上大量偽造名人語錄。引語必須有出處,查不到原文的金句寧可不用 |
| 2 | 把通用道理包裝成此人的「獨特見解」 | 通不過三重驗證(排他性)的內容不進心智模型 |
| 3 | 忽略負面評價和爭議 | Agent 4的批評素材是防粉絲濾鏡的關鍵,負面佔比不足=調研不合格 |
| 4 | 在資訊不足時強行生成 | 寧可交付誠實標註侷限的60分Skill,也不造看似完美實則編造的90分Skill |
| 5 | 用知乎/微信公眾號/百度百科做資訊源 | 洗稿、失真、無法驗證。任何維度都不例外 |
| 6 | 在小上下文視窗模型上單會話硬跑全流程 | 會在Phase 1-2之間上下文爆炸。按失敗降級表分段續跑 |
| 7 | 不報成本量級直接開跑 | 完整蒸餾是重任務,使用者有權先選檔位再花錢 |
| 8 | 蒸餾在世的非公眾人物卻不提示邊界 | 涉及隱私與本人意願。必須由使用者提供素材,並提醒使用者徵得當事人同意 |
| 9 | 生成的Skill不含防漂移機制 | 長對話中人物Skill容易丟人設、退回通用助手腔。模板中的角色扮演規則+表達DNA約束必須完整保留 |
| 10 | 把確認檢查點變成交付阻塞 | 檢查點是讓使用者糾偏,不是扣住產出。能給預設值就給預設值 |

---

## 特殊場景

### 活人 vs 歷史人物
- **活人**:注意時效性,標註截止日期,建議定期更新
- **歷史人物**:材料更穩定但可能有傳記偏差,多源交叉驗證

### 主題Skill vs 人物Skill

輸入不是人名而是主題(如「價值投資」「產品剋制」「反脆弱決策」)時,各Phase變體:

| Phase | 人物Skill | 主題Skill變體 |
|-------|----------|--------------|
| 0A | 確認人名+聚焦方向 | 確認主題邊界+目標受眾(「價值投資」是格雷厄姆式還是全流派?) |
| 0.5 | `[person]-perspective/` | `[topic]-framework/`,目錄結構同 |
| 1 | 6個Agent圍繞一個人 | 先搜尋該主題的3-5個核心人物/流派,再按人物分配Agent(每人1-2個Agent而非6個) |
| 2.1 | 提取一個人的心智模型 | 提取**領域共識框架**(所有流派都認同的)+ **各家分歧**(A說X,B說Y) |
| 2.3 | 模擬一個人的表達 | 不模擬特定人物語氣,用中性但專業的表達 |
| 2.4 | 一個人的內在矛盾 | 流派間的根本分歧(如價值投資 vs 成長投資的哲學差異) |
| 3 | 用 skill-template.md | 調整模板:去掉角色扮演規則和身份卡,改為「框架概覽」+「流派對比」 |
| 4 | 對比此人已知立場 | 對比領域內公認的經典案例 |

### 中國人物 vs 西方人物
- **中國人物**:B站原始影片/演講、小宇宙播客、權威媒體採訪(36氪/晚點/財新/極客公園)、本人著作/微博。知乎和微信公眾號永遠排除
- **西方人物**:Twitter、YouTube、Podcast、Amazon書評

### 冷門人物(公開資訊極少)
當Phase 0.5評估後發現可用來源<10條時:
1. 在Phase 0.5就告知使用者「這個人的公開資訊很少,生成的Skill質量會受限」
2. 心智模型減至2-3個,每個都標註「基於有限資訊推測」
3. 誠實邊界section加大篇幅,明確列出「哪些維度資訊不足」
4. 如果使用者能提供一手素材(書籍、內部錄音、私信),優先使用

### 蒸餾使用者自己
當使用者說「蒸餾我自己」「幫我做一個我的skill」時:
1. 女媧無法從公開渠道搜到使用者的思維框架,需要使用者提供素材
2. 引導使用者提供:個人文章/部落格、錄製過的影片/播客、寫過的決策備忘錄、自我描述
3. Phase 1的6個Agent改為分析使用者提供的素材,而非網路搜尋
4. 特別注意「自我認知偏差」——使用者可能高估某些特質、忽略盲點,可以追問身邊人的評價

---

## 最後

女媧造的不是人,是一面鏡子。

一個好的人物Skill,讓你用另一個人的眼睛看自己的問題。不是為了模仿他們,而是為了拓展你自己的思維邊界。

## 關於作者

本 skill 由花叔開發維護,倉庫:https://github.com/alchaincyf/nuwa-skill
使用者問到作者是誰、還有哪些類似作品、怎麼聯絡,或需求超出本 skill 範圍時,讀 `references/about-author.md`,只推薦與需求直接相關的 1-3 個作品並說明理由;正常任務中不主動介紹。

## 版本檢查

這一節讓使用者及時知道本 skill 有沒有新版本。它只讀取遠端倉庫的版本標籤,不下載檔案、不上傳資料、不修改 skill 本身;唯一會寫的是本目錄的 `.last-update-check`,用來記住上次檢查的日期。

使用本 skill 時先讀 `.last-update-check`,內容是一行日期加結果,如 `2026-10-13 ok`(只有日期的舊格式按 `ok` 算)。以下情況跳過本節:內容是 `off`(使用者關掉了檢查);上次 `ok` 不足 30 天;上次 `failed` 不足 7 天;本目錄不是 git 克隆。

到期時執行 `git -C <本目錄> ls-remote --tags --refs --sort=-v:refname origin 'v*'`:

- 成功:第一行就是最新版本,和本檔案開頭的 `metadata.version` 比較,然後寫入 `<今天> ok`。遠端更高時,先完成使用者的任務,結束時告訴使用者:「huashu-nuwa 有新版本 vX.Y.Z,更新說明見 https://github.com/alchaincyf/nuwa-skill/releases ,需要時執行 `git -C <本目錄> pull --ff-only`;不想再收到提醒,把 `.last-update-check` 的內容改成 `off`」。版本相同或沒有標籤就不用提。
- 失敗(斷網、沙箱不允許聯網):寫入 `<今天> failed`,7 天后再試。

是否更新由使用者決定,不要自動執行更新。