Capture HOW they think, not WHAT they said.
Navigation
- Methodology →
references/extraction-framework.md - Output templates →
references/skill-template.md - Search scripts →
scripts/search.sh(fallback when Tavily is unavailable)
Phase 0: Entry routing
| Input type | Path |
|---|---|
| Explicit name ("distill Munger") | → Phase 1 |
| Vague need ("improve decision quality") | → Search and recommend 1-3 candidates, choose the best autonomously → Phase 1 |
| Topic ("X operations methodology") | → Phase 1 (topic mode, see methodology) |
Phase 1: Six-way parallel research
Create output directory {outputDir}/research/, use sessions_spawn to launch 6 subagents in parallel:
| # | Dimension | Output | Example search terms |
|---|---|---|---|
| 1 | Books/long-form writing | 01-writings.md |
"[name] book/著作/essay" |
| 2 | Podcasts/interviews | 02-interviews.md |
"[name] interview/podcast/演讲" |
| 3 | Social media | 03-social.md |
"[name] twitter/X/知乎/公众号" |
| 4 | Critics' perspective | 04-critics.md |
"[name] criticism/争议/wrong" |
| 5 | Key decisions | 05-decisions.md |
"[name] decision/为什么[事件]" |
| 6 | Life timeline | 06-timeline.md |
"[name] biography/经历/timeline" |
Four-level search tool fallback(written into each subagent's task):
- tavily_search + tavily_extract — first choice, fastest, AI-optimized summaries
- scripts/search.sh(ddgs + trafilatura) — automatically switches when tavily errors
- Search:
bash {skillDir}/scripts/search.sh "查询词" - Search + extract:
bash {skillDir}/scripts/search.sh "查询词" --extract 3 - Single URL extraction:
bash {skillDir}/scripts/search.sh --extract "https://..." - Free and unlimited, no API key dependency
- Search:
- browser tool(navigate + snapshot) — use when dynamic rendering/login state/JS pages are needed
- Platforms requiring a real browser, such as Xiaohongshu, WeChat Official Accounts, and Bilibili
- Can also be used for Google/Bing search as a fallback
- Last resort: when all of the above fail, use the model's own knowledge + explicitly mark "no external source verification"
Fallback trigger rules: try each tool once; on error/timeout/empty result → automatically fall back to the next level. Do not retry more than once at the same level.
Output standards for each subagent:
- At least 5 high-quality sources, with URLs noted
- For original quotes use the
>format - Mark primary (produced by the person themselves) vs secondary (analysis by others)
- At the end of the file: source list + information richness self-assessment (abundant/average/scarce)
After Phase 1 endsautomatically generate research/00-summary.md:
- Total number of sources (primary vs secondary)
- Information richness for each dimension
- Information gaps
- Deduplicated URL list
- Fame assessment: judge based on the number and quality of sources
- Well-known figure(Primary sources ≥10, Wikipedia/numerous books) → Standard mode
- Niche figure(Primary sources <10, no Wikipedia) → Deep mode, Phase 3 automatically embeds original text
Phase 2: Dual-track distillation (cross-validation)
Read references/extraction-framework.md。
Launch 2 independent subagents (A and B), each reads all 6 research materials and distills independently:
Each subagent distills:
- Mental models(3-7) — Triple validation: cross-domain recurrence + generative power + exclusivity
- Decision heuristics(5-10) — "If X then Y", with cases
- Expression DNA — Sentence patterns/vocabulary/rhythm/humor/certainty/quoting habits
- Values and anti-patterns — Pursuits/rejections/internal contradictions
- Intellectual lineage — Influencers → this person → those influenced
- Honesty boundaries — What cannot be done, dimensions with insufficient information
Output:research/synthesis-A.md and research/synthesis-B.md
Cross-comparison(executed by main agent):
| Situation | Handling |
|---|---|
| Mental models identified by both A and B | ✅ Included with high confidence |
| Identified by only one side | ⚠️ Marked as "speculative", downgraded to heuristic or footnote |
| A and B contradict | Present both interpretations side by side, mark the disagreement |
Write comparison results to research/cross-validation.md。
Phase 3: Build Skill
Read references/skill-template.md, fill in the results after Phase 2 cross-validation.
Source-tracing lock rule: Every mental model and heuristic in the Skill must be accompanied by a source citation number from research/ . Views without source support → delete or mark as speculative.
Fame-adaptive(based on the fame assessment of 00-summary.md ):
- Well-known figure: Standard Skill (~4,500 tokens)
- Niche figure: Extended Skill + key original text archive (~8,000-10,000 tokens), ensuring the model can accurately simulate this person even if it does not know them.
Output:{outputDir}/SKILL.md + complete references/research/ directory
Phase 4: Adversarial validation
Launch an independent subagent (validator), read the generated SKILL.md, and execute:
4.1 Direction consistency test
Find 3 questions this person haspublicly answered(extracted from research materials), answer them using the Skill, and compare with the real stance.
- Direction consistent → ✅
- Direction deviates → ❌ Mark the specific deviation
4.2 Reverse induction test
Use viewpoints this person isknown to opposeto ask questions (extracted from 04-critics.md), and see whether the Skill goes along with them.
- Refuses/rebuts → ✅
- Goes along with it → ❌ Mental model distillation is flawed
4.3 Boundary test
Use domains this person hasnever touchedto ask questions, and see whether the Skill shows uncertainty.
- Expresses hesitation/admits lack of knowledge → ✅
- Forcibly fabricates a stance → ❌ Honesty boundary failed
4.4 Distinctiveness test
An anonymized answer from the Skill, to see whether it can be identified who it is.
- Can be identified → ✅ Expression DNA is effective
- Like a generic AI → ❌ Expression DNA is too weak
4.5 Quality Self-Check Checklist
Check item by item against the checklist at the end of references/extraction-framework.md .
Output research/validation-report.md:
## 验证报告
- 方向一致性:3/3 ✅
- 反向诱导:通过/未通过 + 详情
- 边界测试:通过/未通过 + 详情
- 辨识度:通过/未通过 + 详情
- 自检清单:N/M 项通过
- **总评**:✅ 通过 / ❌ 需修复(列出具体问题)
Fail → automatically return to Phase 2 for fixes, retry at most 2 times. Fail 3 times → output the current best version + verification report, marking unresolved issues.
Notes
- Chinese figures: add Chinese keywords when searching, pay attention to Zhihu/Bilibili/WeChat Official Accounts
- English-speaking figures: search in English, podcasts/Twitter are important sources
- All research materials are kept in
research/, a complete traceability chain - Estimated time: 30-60 minutes (depending on search speed and number of retries)