Dual-value learning system - extracts reusable mental models from books, writes individual pattern files (patterns/{id}.md) with YAML frontmatter for building compound thinking ability. Each run produces: (1) F.A.C.E.T. analysis for user learning, (2) permanent knowledge base entry for AI's decision framework library. Supports breadth/depth modes, configurable topic mapping, multi-source book selection, and brief/full output.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add LeoYeAI/openclaw-master-skills --skill cognitive-forge --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cognitive Forge?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/leoyeai-cognitive-forge)More formats (shields.io, HTML) on the badges page.
---
name: cognitive-forge
description: "Dual-value learning system - extracts reusable mental models from books, writes individual pattern files (patterns/{id}.md) with YAML frontmatter for building compound thinking ability. Each run produces: (1) F.A.C.E.T. analysis for user learning, (2) permanent knowledge base entry for AI's decision framework library. Supports breadth/depth modes, configurable topic mapping, multi-source book selection, and brief/full output."
dependencies:
- book-scout # Step 1: called to search and recommend books via web search
- mental-model-forge # Step 2: called to perform F.A.C.E.T. analysis on selected book
permissions:
filesystem:
read:
- USER.md # Personalize [T] Transfer dimension with user's profession/projects/challenges
- memory/reading-history.json # Load previously analyzed books for deduplication (book titles only)
- HEARTBEAT-reading.md # Optional: read schedule config, topic mapping, and Feishu credentials
write:
- memory/knowledge-base/patterns/*.md # Write individual model files with YAML frontmatter
- memory/knowledge-base/concepts.md # Append domain-specific concepts
- memory/reading-history.json # Record newly analyzed book + model for future deduplication
env:
- FEISHU_APP_TOKEN # Optional: write analysis records to Feishu Bitable for external tracking
- FEISHU_TABLE_ID # Optional: target table in Feishu Bitable (used with FEISHU_APP_TOKEN)
- NOTION_API_KEY # Optional: alternative to Feishu, write to Notion database
- NOTION_DATABASE_ID # Optional: target database in Notion (used with NOTION_API_KEY)
config:
reads:
- USER.md
- memory/reading-history.json
- HEARTBEAT-reading.md
writes:
- memory/knowledge-base/patterns/*.md
- memory/knowledge-base/concepts.md
- memory/reading-history.json
env:
- FEISHU_APP_TOKEN
- FEISHU_TABLE_ID
- NOTION_API_KEY
- NOTION_DATABASE_ID
---
# Cognitive Forge (认知锻造)
**One run, dual value** — 每次运行同时产出两个价值:
1. **用户获得** F.A.C.E.T. 深度分析,提取可立即应用的思维模型
2. **AI 获得** 永久写入 `patterns/{id}.md` 的决策框架(带 YAML frontmatter),构建可复用的思维模型库
随时间积累,你的 AI 拥有一个不断增长的决策框架库(类似 Charlie Munger 的 "latticework of mental models"),在未来任何领域的提问中都可以引用。
---
## Path Convention
> 所有路径均相对于 OpenClaw workspace 根目录(通常为 `~/.openclaw/workspace/`)。
> 如用户 workspace 位于其他位置,请将文档中的路径替换为实际 workspace 路径。
| 用途 | 相对路径 |
|------|---------|
| 阅读记录 | `memory/reading-history.json` |
| 思维框架库 | `memory/knowledge-base/patterns/*.md` (每个模型一个文件) |
| 概念库 | `memory/knowledge-base/concepts.md` |
| 用户画像 | `USER.md` |
| 调度配置 | `HEARTBEAT-reading.md` |
---
## Routing (路由分支)
根据用户意图,选择不同的执行路径:
| 用户意图 | 路由 | 说明 |
|---------|------|------|
| "生成今日读书简报" / 默认 | → **Main Workflow** (breadth) | 完整选书→分析→写入流程,提取 1 个模型 |
| "深度分析《XXX》" / "depth_mode: depth" | → **Main Workflow** (depth) | 对指定书籍连续提取多个模型,合并输出 |
| "cognitive-forge status" / "认知锻造 状态" | → **Status Branch** | 输出知识库统计 |
| "cognitive-forge review" / 周日自动触发 | → **Review Branch** | 间隔复习本周模型 |
| "分析《XXX》这本书" | → **Main Workflow** (breadth, 跳过选书) | 用户直接指定书籍,提取 1 个核心模型 |
**Depth mode 触发方式**:
1. **手动触发**:用户说"深度分析《XXX》"或传入 `depth_mode: depth`
2. **定时触发**:HEARTBEAT-reading.md 中可配置 `depth: true`,调度时传入该参数则自动走 depth mode
---
## Status Branch (知识库统计)
当用户请求查看知识库状态时:
1. 统计 `memory/knowledge-base/patterns/` 目录下 `.md` 文件数 = 模型总数
2. 读取 `memory/reading-history.json`,统计:
- 已读书籍总数(`used_models` 数组长度)
- 各领域分布(按 `category` 分组计数)
- 最近 5 条记录
3. 输出格式:
```markdown
## 📊 认知锻造 · 知识库状态
**模型总数**: XX 个思维框架
**已读书籍**: XX 本
**知识库大小**: XX KB
### 领域分布
| 领域 | 模型数 | 占比 |
|------|--------|------|
| Business Strategy | 5 | 25% |
| Psychology | 3 | 15% |
| ... | ... | ... |
### 最近 5 条
1. 2026-03-27 | 《反脆弱》 | 反脆弱三元组
2. ...
### 覆盖薄弱领域
⚠️ Philosophy (0), Biography (0) — 建议补充
```
---
## Review Branch (间隔复习)
**触发方式**:
- 用户手动说 "cognitive-forge review"
- 当 HEARTBEAT-reading.md 配置了周日时段时,自动在周日 briefing 中插入复习环节
**执行逻辑**:
1. 读取 `memory/reading-history.json`,筛选最近 7 天的 `used_models` 记录
2. 随机抽取 2-3 个模型
3. 输出复习问答:
```markdown
## 🔄 本周复习:你还记得这些模型吗?
**1.「逃离机制」来自《逃离不平等》**
- 核心框架是什么?(回忆 [F])
- 什么时候会失效?(回忆 [E])
**2.「双系统理论」来自《思考,快与慢》**
- 它摧毁了什么常识?(回忆 [C])
- 你上周在工作中用到了吗?
> 回复你的答案,我帮你查漏补缺。
```
---
## Main Workflow
### Step 0. Environment Check (首次使用自检)
每次运行开始时执行,静默完成(不打断用户):
1. **检查 `memory/reading-history.json`** 是否存在
- 不存在 → 自动创建初始文件:
```json
{
"schema_version": 1,
"last_attempted": null,
"queue": [],
"used_models": []
}
```
2. **检查 `memory/knowledge-base/` 目录** 是否存在
- 不存在 → 自动创建目录
3. **检查 `memory/knowledge-base/patterns/` 目录** 是否存在
- 不存在 → 自动创建目录
4. **检查 `memory/knowledge-base/concepts.md`** 是否存在
- 不存在 → 创建带标题的空文件
5. **检查 `USER.md`** 是否存在
- 不存在 → 输出提示:`💡 建议创建 USER.md(职业、兴趣、当前挑战),以获得个性化的 [T] Transfer 分析。`
- 存在 → 静默读取,提取用户画像
6. **检查依赖 skill** 是否可用
- `book-scout` 和 `mental-model-forge` 必须可调用
- 不可用 → 报错并停止
7. **检查 `last_attempted` 字段**
- 如果 `status == "failed"` → 提示用户:
```
⚠️ 上次运行在「{step}」步骤失败(书籍: {book})。
是否要恢复上次操作?回复"是"恢复,或"否"跳过。
```
### Step 1. Select Book (选书)
**选书来源优先级**(从高到低):
#### 来源 1: 用户直接指定
如果用户明确说了 "分析《XXX》by YYY",直接使用该书,跳过选书流程。
- 标记 `source: "user_specified"`
#### 来源 2: 预排队列
检查 `memory/reading-history.json` 的 `queue` 数组:
```json
{
"queue": [
{"title": "《穷查理宝典》", "author": "彼得·考夫曼", "topic": "决策科学"}
]
}
```
- 如果 `queue` 非空 → 取第一项,从 queue 中移除
- 标记 `source: "queue"`
#### 来源 3: book-scout 网络搜索
当 queue 为空且用户未指定时,调用 `book-scout` skill。
**确定搜索主题**:
1. 检查 `HEARTBEAT-reading.md` 是否有自定义主题映射(`## 主题映射` section)
- 如有 → 使用自定义映射
2. 否则使用**默认星期-主题映射**:
| 星期 | 默认主题 |
|------|---------|
| Monday | Business Strategy |
| Tuesday | Psychology |
| Wednesday | Technology |
| Thursday | Economics |
| Friday | Innovation |
| Saturday | Philosophy |
| Sunday | Biography |
> **可配置**: 用户可在 `HEARTBEAT-reading.md` 中添加 `## 主题映射` section 覆盖默认值。
> 也可以按时段细分(参考 HEARTBEAT-reading.md 中的 21 主题轮转配置)。
**加载去重列表**(书名去重):
从 `memory/reading-history.json` 提取所有 `book_title` 字段值,去重后作为已读书名列表。
> **重要**:不读取 `thinking-patterns.md` 或 `patterns/*.md`。去重只需要书名,不需要模型内容。
**调用 book-scout**:
```
主题: {topic}
已读书籍:
- 《精益创业》
- 《从0到1》
- 《影响力》
执行 book-scout skill,搜索符合主题的经典书籍。
```
**重试机制**:
- Attempt 1 失败 → 等 2s → 重试
- Attempt 2 失败 → 等 3s → 重试
- Attempt 3 失败 → 返回错误给用户:
```
⚠️ 选书失败:{error}
已尝试 3 次。你可以直接指定书籍:"分析《书名》by 作者"
```
**book-scout 成功返回**:
```json
{
"book_title": "《增长黑客》",
"author": "肖恩·埃利斯",
"author_nationality": "美国",
"publish_date": "2015-04",
"rating": 8.5,
"review_count": 10000,
"score": 74.4,
"summary": "增长黑客方法论...",
"reasoning": "评分8.5且有1万真实评价..."
}
```
标记 `source: "web_search"`,进入 Step 2。
**更新 last_attempted**:
```json
"last_attempted": {
"date": "YYYY-MM-DD",
"book": "《增长黑客》",
"step": "book_selection",
"status": "success"
}
```
### Step 2. Extract Mental Model (提取思维模型)
#### Breadth Mode (默认)
调用 `mental-model-forge` skill,对选中的书进行 F.A.C.E.T. 分析,提取 **1 个核心思维模型**。
#### Depth Mode
当用户指定 `depth_mode: depth` 时,对同一本书**连续提取多个思维模型**:
**工作流**:
1. 第 1 次调用 `mental-model-forge`,提取书中最核心的思维模型
2. 将已提取的模型名称作为 `exclude_models` 参数,再次调用:
```
这本书是《反脆弱》。
exclude_models: ["反脆弱三元组"]
请提取这本书中另一个独立的、不同的思维框架。
```
3. 重复直到**三重退出条件**任一触发:
| 退出条件 | 判断方式 |
|---------|---------|
| **模型数上限** | 该书已提取 5 个模型 → 停止 |
| **语义去重** | AI 判断新模型与已提取模型本质相同(同一思想的变体或换皮)→ 停止 |
| **AI 自评** | 提取后自问 "这本书还有独立的、值得提取的思维框架吗?" → No → 停止 |
4. 每提取一个模型,立即执行 Step 4-5(写入知识库 + 更新记录)
5. 所有模型提取完毕后,**合并为一份报告**执行 Step 3 + Step 6(生成简报 + 写入外部数据库)
### Step 2.5. F.A.C.E.T. Quality Verification (结构化验证)
`mental-model-forge` 返回后,执行以下自检:
- [ ] **完整性**: 5 个维度 [F][A][C][E][T] 是否都有实质内容(非空、非占位符文本)
- [ ] **[F] 字数**: Framework 是否 ≤ 80 字(中文)或 ≤ 50 words(英文)
- [ ] **[T] 个性化**: Transfer 是否引用了 USER.md 中的具体信息(职业、项目、挑战)
- 如果 USER.md 存在但 [T] 未引用任何用户上下文 → 验证失败
- [ ] **质量自评**: 整体分析质量 1-10 分
**处理**:
- 自评 ≥ 7 分且全部检查通过 → 进入 Step 3
- 自评 < 7 分或任一检查失败 → 重新调用 `mental-model-forge`(最多重试 **1 次**)
- 重试后仍不合格 → 使用当前版本但在输出中标注 `⚠️ 本次分析质量未达标,建议后续深入阅读`
### Step 3. Generate Briefing (生成简报)
**输出模式**(默认 `full`):
#### Full Mode (默认)
创建完整结构化简报,**必须适配用户上下文**:
**[强制步骤] 读取 USER.md**:
- Path: `USER.md`(相对于 workspace 根)
- 如果存在,提取:
- 工作经历 / 现在 → profession
- 兴趣 / 爱好 → interests
- 当前焦虑 / 未来规划 → current challenges
- 如果不存在 → 使用通用第二人称("你"),可追问用户背景
**输出结构**:
```markdown
## 📖 今日思维锚点
**书籍**: 《XXX》 - 作者
**核心一句话**: [今日思维锚点,一句话总结]
---
## 🧠 F.A.C.E.T. 认知穿透
### [F] Framework (核心框架)
[核心机制,≤80字中文]
### [A] Anchor Case (锚定案例)
[最经典的真实案例,生动讲述]
### [C] Contradiction (反共识摧毁)
❌ 被摧毁的常识: "..."
✅ 真相: ...
### [E] Edge (隐性边界)
失效条件:
1. ...
2. ...
### [T] Transfer (跨界迁移)
[映射到用户的实际上下文:职业、项目、挑战]
---
## 🎯 应用场景
| 场景 | 如何应用 | 预期效果 |
|------|---------|---------|
| [场景1:映射用户职业] | ... | ... |
| [场景2:映射用户项目] | ... | ... |
| [场景3:映射用户挑战] | ... | ... |
## 🔴 反面案例
[违反该原则的真实或假设案例]
## 🤔 战略拷问
[尖锐、具体、可行动的问题,引用用户实际上下文]
- Bad: "企业家应该怎么做?"
- Good: "你在爱康国宾的 AI 产品,是在避免失败还是利用失败?"
## 🔄 认知模式更新
**思维框架**: 看到XX → 想到XX
**决策原则**: 在XX场景下,应该XX而非XX
**盲区警告**: 小心XX情况
**反射弧**: 看到XX信号 → 联想到这个模型 → 判断/行动
---
> 💬 这个模型让你想到工作中的哪个具体场景?回复我,我帮你深入分析。
```
**个性化规则**:
- 始终用第二人称("你的"、"你在")
- [T] Transfer 必须引用用户具体信息(职业、项目名、公司名)
- 战略拷问必须具体到用户当前处境,不可泛泛而谈
- 应用场景 ≥ 3 个,分别映射用户的不同维度
#### Brief Mode
当用户指定 `output: brief` 时,输出精简版:
```markdown
## 📖 《书名》 - 作者
**核心框架**: [F] 一句话总结核心机制
**破除常识**: [C] 被摧毁的常识信念
**应用到你**: [T] 一个具体行动项(映射用户上下文)
**盲区**: [E] 何时失效
💡 想看完整分析?说 "展开" 即可。
```
- brief 模式同样执行完整的知识库写入流程(Step 4-6),只是输出给用户的部分精简
- 用户说 "展开" 后,输出完整 full 模式内容
#### Depth Mode Output (合并报告)
当 depth mode 提取了多个模型时,**合并为一份报告**输出:
```markdown
## 📖 深度解析:《书名》 - 作者
**提取模型数**: N 个 | **模式**: Depth
---
### 💎 模型 1: [Model Name]
**[F] 核心框架**: [一句话,≤80字]
**[A] 锚定案例**: [最经典案例,2-3句]
**[C] 破除常识**: ❌ "..." → ✅ ...
**[E] 失效边界**: [何时失效]
**[T] 迁移应用**: [映射用户上下文]
---
### 💎 模型 2: [Model Name]
(同上结构)
---
### 💎 模型 3: [Model Name]
(同上结构)
---
## 🔗 模型关联分析
| 模型 | 核心逻辑 | 适用场景 | 与其他模型的关系 |
|------|---------|---------|----------------|
| 模型1 | ... | ... | 与模型2互补 / 与模型3矛盾 |
| 模型2 | ... | ... | ... |
| 模型3 | ... | ... | ... |
## 🤔 综合战略拷问
[基于所有模型的综合视角,提出一个更深层的战略问题]
```
**关键区别**:
- 每个模型的 F.A.C.E.T. 用精简格式(各维度 1-3 句,不展开)
- 新增「模型关联分析」表格 — 展示模型间的互补/矛盾/递进关系
- 战略拷问基于所有模型的综合视角,而非单个模型
### Step 4. Update Knowledge Base (更新知识库)
**分类并存储提取的模型**。
#### 分类决策树
```
提取的知识
├─ 能否在不同领域复用为决策工具? → YES → Thinking Pattern
├─ 是否是高度抽象的通用指导原则? → YES → Principle
├─ 是否是领域特定的知识/术语? → YES → Concept
└─ 边界模糊 → 标记多个 tags
```
**三种分类**:
| 类型 | 定义 | 示例 | 写入位置 |
|------|------|------|---------|
| **Thinking Pattern** | 可复用决策框架 | 颠覆性创新框架、逃离机制 | `patterns/{id}.md` |
| **Principle** | 高度抽象指导原则 | 二八法则、奥卡姆剃刀 | `patterns/{id}.md` |
| **Concept** | 领域特定知识 | 种痘术、能量密度天花板 | `concepts.md` |
> 一个条目可以同时标记多个类型(如 "杠铃策略" 既是 Thinking Pattern 又有 Concept 成分)。
**写入格式**:
**For Thinking Patterns / Principles** (写入 `memory/knowledge-base/patterns/{id}.md`):
从 `mental-model-forge` 返回的 `KB_META` 块提取 frontmatter 字段,从 FACET 维度映射正文字段:
```markdown
---
id: {from KB_META}
name_zh: {from KB_META}
name_en: {from KB_META}
source: {book_title}, {author}
category: {from KB_META}
tags: {from KB_META}
scenarios: {from KB_META}
related_models: {from KB_META}
difficulty: {from KB_META}
date: YYYY-MM-DD
---
**核心逻辑**:
{从 [F] Core Framework 提炼的一段话,比 Framework 更完整}
**思维框架**:
{直接使用 [F] Core Framework 内容}
**决策原则**:
{从 [F] + [E] 推导,格式:在XX场景下,应该XX而非XX}
**盲区警告**:
{直接使用 [E] Hidden Boundaries 内容}
**反射弧**:
{从 scenarios 推导,格式:看到XX信号 → 联想到模型 → 判断/行动}
**锚定案例**:
{直接使用 [A] Anchor Case 内容}
**反共识**:
{from KB_META contradiction field,格式:❌ "旧常识" → ✅ 新真相}
```
**FACET → 知识库字段映射表**:
| FACET 维度 | 知识库字段 | 映射方式 |
|-----------|-----------|---------|
| [F] Framework | 核心逻辑 + 思维框架 | 核心逻辑=扩展版,思维框架=原文 |
| [A] Anchor Case | 锚定案例 | 直接使用 |
| [C] Contradiction | 反共识 | 直接使用 |
| [E] Edge | 盲区警告 | 直接使用 |
| [T] Transfer | **不写入知识库** | 仅用于用户简报 |
| — | 决策原则 | 从 [F]+[E] 提炼 |
| — | 反射弧 | 从 scenarios 推导 |
> **重要**:[T] Transfer 是用户简报专用维度,包含个性化上下文(职业、项目、挑战),不写入知识库。每次生成简报时根据 USER.md 实时生成。
**For Concepts** (写入 `concepts.md`):
```markdown
## [Concept Name] - [Book Title]
**定义 (Definition)**:
- [简洁定义]
**上下文 (Context)**:
- 这个概念在什么领域/场景重要?
**关联理论 (Related Theories)**:
- 与哪些思维框架相关?
**来源**: [Book Title] - [Author]
**日期**: YYYY-MM-DD
```
**更新 last_attempted**:
```json
"last_attempted": {
"date": "YYYY-MM-DD",
"book": "《XXX》",
"step": "knowledge_base_write",
"status": "success"
}
```
### Step 4.5. Verify Knowledge Base Write (写入验证,必须执行)
**验证逻辑**:
```bash
# 验证: 检查文件是否存在
ls ~/.openclaw/workspace/memory/knowledge-base/patterns/{id}.md
```
**自检清单**:
- □ `patterns/{id}.md` 文件存在?
- □ 文件包含完整 YAML frontmatter(`---` 开头和结尾)?
- □ frontmatter 中 `date` 为当天?
- □ 正文包含所有 7 个字段(核心逻辑、思维框架、决策原则、盲区警告、反射弧、锚定案例、反共识)?
**如果验证失败** → 立即重新写入,再次验证。验证通过后才能继续 Step 5。
### Step 5. Update Reading Records (更新阅读记录)
向 `memory/reading-history.json` 的 `used_models` 数组追加新条目:
```json
{
"date": "YYYY-MM-DD",
"book": "书名",
"author": "作者",
"model": "提取的思维模型名称",
"category": "主题分类",
"source": "web_search | queue | user_specified",
"applied_count": 0,
"tags": ["thinking-pattern"]
}
```
同时更新 `last_attempted`:
```json
"last_attempted": {
"date": "YYYY-MM-DD",
"book": "《XXX》",
"step": "reading_history_update",
"status": "success"
}
```
**错误恢复策略**:
- 如果 Step 4(写入知识库)失败 → 不更新 reading-history,下次运行会重试同一本书
- 如果 Step 5(本步骤)失败 → 知识库已写入但记录未更新,`last_attempted` 标记为 failed,下次运行时提醒用户手动补录
### Step 6. Write to External Database (写入外部数据库)
**[检查] 读取 HEARTBEAT-reading.md 获取数据库配置**:
- Path: `HEARTBEAT-reading.md`
- 寻找 `## 环境配置` section
- 提取 Feishu App Token 和 Table ID
- 如未找到 → 跳过本步骤(local-only mode)
**如果配置存在,写入 Feishu Bitable**:
```javascript
feishu_bitable_create_record({
app_token: "{from HEARTBEAT-reading.md}",
table_id: "{from HEARTBEAT-reading.md}",
fields: {
"日期": Date.now(),
"书名": "《反脆弱》",
"作者": "Nassim Nicholas Taleb",
"模型名称": "反脆弱三元组",
"分类": "Innovation",
"核心框架(F)": "系统分三类:脆弱、坚韧、反脆弱...",
"应用场景": "产品迭代、技能学习、风险管理",
"战略拷问": "你的产品是在避免失败还是利用失败?"
}
})
```
**Notion Database** (alternative):
- Required: `NOTION_API_KEY`, `NOTION_DATABASE_ID`
- Map fields accordingly
**如果无凭证** → 跳过(skill 仍可本地使用)
---
## reading-history.json Schema (v1)
统一 schema 定义:
```json
{
"schema_version": 1,
"last_attempted": {
"date": "2026-03-27",
"book": "《反脆弱》",
"step": "knowledge_base_write",
"status": "success"
},
"queue": [
{
"title": "《穷查理宝典》",
"author": "彼得·考夫曼",
"topic": "决策科学"
}
],
"used_models": [
{
"date": "2026-03-24",
"book": "《上瘾》",
"author": "尼尔·埃亚尔",
"model": "上瘾模型(Hook Model)",
"category": "用户增长",
"source": "web_search",
"applied_count": 0,
"tags": ["thinking-pattern"]
}
]
}
```
**字段说明**:
- `schema_version`: 当前为 1,用于未来格式升级时的迁移判断
- `last_attempted`: 上次运行的状态快照,用于错误恢复
- `queue`: 用户预排的待读书籍队列(FIFO)
- `used_models`: 已处理的所有模型记录(追加式,不可删除)
- `source`: 标记选书来源(`web_search` | `queue` | `user_specified`)
- `applied_count`: 该模型被 AI 在后续对话中引用的次数(未来追踪用,初始为 0)
- `tags`: 分类标签数组(`thinking-pattern` | `principle` | `concept`)
**迁移指引**:
如果你已有旧格式的 `reading-history.json`(只有 `used_models` 数组,无 `schema_version`),只需手动添加以下顶层字段:
```json
{
"schema_version": 1,
"last_attempted": null,
"queue": [],
"used_models": [... 保留原有数据 ...]
}
```
---
## Depth Mode Configuration
**默认**: `breadth`(每次运行处理一本新书,提取 1 个模型)
**切换方式**: 用户在对话中指定 `depth_mode: depth` 或说 "深度分析这本书"
**depth 模式详细流程**:
```
选中书籍: 《反脆弱》
│
├─ Round 1: 提取 "反脆弱三元组" → 写入 patterns/antifragility.md + reading-history
├─ Round 2: 提取 "杠铃策略" → 写入 patterns/barbell-strategy.md + reading-history
├─ Round 3: 提取 "林迪效应" → 写入 patterns/lindy-effect.md + reading-history
├─ Round 4: AI 自评 "无更多独立框架" → 停止
│
├─ 合并输出: 一份报告包含 3 个模型(精简 F/A/C/E + 🎯迁移 + 关联分析)
└─ 写入飞书: 每个模型一条记录
```
**三重退出条件**(任一触发即停止):
1. **模型数上限**: 该书已提取 ≥ 5 个模型
2. **语义去重**: AI 判断新提取的模型与该书已提取模型本质相同(同一思想的变体或换皮表达)
3. **AI 自评**: 提取后自问 "这本书还有独立的、值得提取的思维框架吗?",回答 No 则停止
---
## Quality Standards
**禁止**:
- 书籍摘要或作者传记
- 泛泛之谈("这很重要"、"值得学习")
- 重复已提取的模型(书名和模型名双重检查)
- 文学评论式语言
**要求**:
- 尖锐、可行动的语言
- 具体案例(不是抽象概念)
- 直接映射到用户上下文(不可脱离 USER.md)
- 反书评口吻(不是"推荐阅读",而是"拿走就能用")
---
## Configuration
**配置来源优先级**:
### 1. HEARTBEAT-reading.md (推荐)
- Path: `HEARTBEAT-reading.md`
- 可配置内容:
- 主题映射覆盖
- Feishu/Notion 凭证
- 调度时间段
### 2. 环境变量 (备选)
- `FEISHU_APP_TOKEN`, `FEISHU_TABLE_ID`
- `NOTION_API_KEY`, `NOTION_DATABASE_ID`
### 3. 默认值 (兜底)
- 使用默认星期-主题映射
- 无外部数据库集成(local-only mode)
**用户上下文** (可选但强烈推荐):
- Path: `USER.md`
- 用于: 个性化 [T] Transfer、应用场景、战略拷问
- 缺失时: 使用通用第二人称,可能追问用户背景
**知识库路径** (自动创建):
- Thinking Patterns: `memory/knowledge-base/patterns/*.md` (每个模型一个文件)
- Concepts: `memory/knowledge-base/concepts.md`
---
## References
- See [example-output.md](references/example-output.md) for full and brief output format examples
- See [book-selection.md](references/book-selection.md) for multi-source selection logic and configurable topic mapping
- See [knowledge-classification.md](references/knowledge-classification.md) for three-type classification with tag system
---
*Version: 3.0.0*
*Last updated: 2026-03-28*
*Changes: Knowledge base restructure — single-file-per-model with YAML frontmatter (patterns/{id}.md), dedup via reading-history.json only (no longer reads thinking-patterns.md), FACET→KB field mapping table, KB_META extraction from mental-model-forge output, contradiction field added*
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!