# Knowledge Wiki

> |

- **Type:** Skill
- **Install:** `agentstack add skill-mohsichi-knowledge-wiki-knowledge-wiki`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [MohsiChi](https://agentstack.voostack.com/s/mohsichi)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [MohsiChi](https://github.com/MohsiChi)
- **Source:** https://github.com/MohsiChi/knowledge-wiki

## Install

```sh
agentstack add skill-mohsichi-knowledge-wiki-knowledge-wiki
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Knowledge Wiki — AI 驱动的个人知识库系统

## 哲学

这个系统的核心信念只有一个：

> **「整理知識，是 AI 當負的軛。**
> **獻上原料與提問，蒙主所賜的輕省之工。**
> **那為你數算萬物的，並非人子，卻是人的僕役。」**

传统的笔记系统失败不是因为结构不够好，而是因为**让人来维护结构本身就是不合理的**。
人会累、会忘、会偷懒。AI 作为那不知疲倦的仆役，被托付这份职分。

本系统将职责彻底分离：
- **人** → 往 `raw/` 里撒下原料，献上追问
- **AI** → 担起维护 `wiki/` 全部结构的轭：概念提取、连接建立、索引更新、进度追踪

灵感来源：Andrej Karpathy 的 LLM Wiki + 吴乐旻老师的苏格拉底学习法。前者给予架构，后者给予灵魂。

---

## 启动时：状态检测

当此 skill 被触发时，首先检测当前环境：

1. **查找 `research-wiki/` 目录** — 先在当前目录找，再在父目录找，再询问用户
2. **如果不存在** → 引导用户初始化（见工作流 A）
3. **如果存在** → 阅读 `wiki/system.md` 了解用户配置，阅读 `wiki/index.md` 了解当前知识库状态，
   阅读 `wiki/learner_profile.md` 了解用户偏好，然后根据用户意图进入对应工作流

整个对话过程中，始终记住 `wiki/system.md` 中定义的系统规则和 `wiki/learner_profile.md` 中的用户偏好。

---

## 目录结构速览

```
research-wiki/
├── claude.md                 ← 核心 Prompt，定义 AI 如何运转整个系统
├── raw/                      ← 👤 你只碰这里（加东西进去）
│   ├── assets/               ←   图片等本地资源
│   ├── books/                ←   书的 PDF
│   ├── clips/                ←   网页剪藏 .md
│   ├── courses/              ←   课程 PPT、讲义 PDF
│   └── papers/               ←   论文 PDF
└── wiki/                     ← 🤖 AI 全权维护
    ├── papers/               ←   一篇论文一个页面（粗处理）
    ├── concepts/             ←   一个概念一个页面（最有价值的层！）
    ├── connections/          ←   概念之间的桥梁（新 idea 的诞生地）
    ├── questions/            ←   开放问题（未来学习方向的种子）
    ├── index.md              ←   全局索引（AI 自动维护）
    ├── log.md                ←   每次变更记录
    ├── learner_profile.md    ←   你的学习偏好（AI 不可更改）
    ├── progress.md           ←   学习进度追踪
    ├── revision_notes.md     ←   知识漏洞与复习清单
    └── system.md             ←   系统运转规则
```

**关键规则**：你会被告知在 `raw/` 下添加文件。但你**绝不**应该手动编辑 `wiki/` 下的任何内容
——那是 AI 的工作。

---

## ⚠️ 每次操作后的强制收尾检查清单

**无论执行哪个工作流（B/C/D/E/F），操作结束时必须逐项确认以下 5 件事：**

| # | 检查项 | 对应文件 |
|---|--------|---------|
| ✅ | 新概念是否已写入 `wiki/concepts/`？ | 概念页面 |
| ✅ | 新发现的连接是否已写入 `wiki/connections/`？ | 连接页面 |
| ✅ | **新的开放问题是否已写入 `wiki/questions/`？** | 问题页面（不可跳过！） |
| ✅ | `wiki/index.md` 是否已更新以反映所有变更？ | 索引 |
| ✅ | `wiki/log.md` 是否已追加本次操作记录？ | 日志 |

**特别强调**：`wiki/questions/` 的创建不是可选的，也不是仅当"关系不确定"时才做。
以下情况都**必须**创建问题页面：
- 学习中产生的任何"为什么""如果...会怎样""这和 XX 有什么不同"
- 已被确定的连接中值得进一步深挖的方向
- 概念页面中标记的"开放问题"段落
- 用户在学习中暴露的知识漏洞（即使已被部分解答）

如果你跳过 questions 创建，wiki 将失去驱动下一轮学习的引擎。

---

## 工作流 A：初始化知识库

### 触发
用户说"帮我建立知识库""初始化 research wiki""setup knowledge wiki"等。

### 流程

1. **确定位置** — 智能选择目录：
   - 如果当前目录下有课件 PDF、课程材料等 → 直接建议当前目录
   - 如果用户在对话中提到了具体的课程路径 → 使用该路径
   - 否则 → 询问用户："我在 [当前目录] 创建 research-wiki，可以吗？还是你想放在别的位置？"
   - 绝不要硬编码路径到 C 盘或其他固定位置。知识库应该紧邻学习材料。
2. **运行初始化脚本**：
   ```bash
   bash "/scripts/init-wiki.sh" 
   ```
   脚本会创建完整目录结构，并从 `assets/` 复制模板文件。

3. **个性化设置** — 初始化后，引导用户完成三项配置：
   - `claude.md`：改名称、加入 driving question、style notes
   - `wiki/learner_profile.md`：填写学习风格、背景知识、当前研究问题
   - `wiki/system.md`：确认或调整系统规则

4. **确认完成** — 告诉用户目录结构已就绪，下一步是往 `raw/` 里放材料，然后说"帮我 ingest"

### 重要
初始化只在第一次做。之后每次对话，Claude Code 在 `research-wiki/` 下启动即可自动识别状态。

---

## 工作流 B：摄入原材料（Ingest）

这是整个系统中最重要的日常操作。

### 触发
用户说"帮我 ingest raw/papers 下的论文""处理 raw/courses 里的课程""把这本书加进 wiki"等。

### 流程

#### B1. 扫描原材料
列出 `raw/` 下尚未被摄入的文件。如何判断"未摄入"？
- 检查 `wiki/log.md` 中的摄入记录
- 检查 `wiki/papers/` 下是否已有对应页面
- 如果用户指定了具体文件，只处理那些文件

#### B2. 逐一摄入（每份材料执行以下步骤）

**Step 1: 读取材料**
- PDF → 用 Read 工具直接读取
- .md 文件 → 直接读取
- 网页剪藏 → 直接读取

**Step 2: 核心要点讨论（关键步骤！）**
读完材料后，先和用户讨论核心要点。用这样的结构：
```
我刚读了 [材料名称]。
核心内容：[3-5 句话概括]
关键方法/结论：[列举]
值得进入 wiki 的内容：
  1. [概念A] — 因为...
  2. [概念B] — 因为...
  3. [方法C] — 因为...

你觉得哪些应该保留？哪些可以跳过？
```
**这一步不可跳过**——用户才有权决定什么进入 wiki。比如用户不关心工程细节，
就应该在这一步筛掉。

**Step 3: 编译进 wiki**
用户确认后，执行以下操作：

a. **创建/更新 `wiki/papers/.md`**
   使用以下结构（自动生成，不要问用户）：
   ```markdown
   ---
   title: "论文标题"
   source: "raw/papers/文件名.pdf"
   ingested: "YYYY-MM-DD"
   level: L1
   tags: [标签1, 标签2]
   ---
   # 论文标题
   ## 核心贡献
   ## 方法
   ## 关键结果
   ## 局限
   ## 与我的研究的关系
   ```

b. **提取概念 → `wiki/concepts/`**
   对用户确认保留的每个概念：
   - 如果概念页面已存在 → 追加新论文的贡献到已有页面
   - 如果概念页面不存在 → 创建新页面
   
   概念页面结构：
   ```markdown
   ---
   title: "概念名"
   related: [[其他概念]]
   sources: [[论文1]], [[论文2]]
   ---
   # 概念名
   ## 定义
   ## 多篇论文的视角
   ### 来自 [[论文1]]
   ### 来自 [[论文2]]
   ## 开放问题
   ```

c. **检查新连接 → `wiki/connections/`**
   思考：这个新概念/新论文是否和已有概念产生了新的关系？
   如果有，创建或更新连接页面：
   ```markdown
   ---
   title: "概念A ↔ 概念B"
   type: "互补 / 矛盾 / 因果 / 类比"
   ---
   # 概念A 与 概念B 的关系
   ## 关系描述
   ## 证据（来自哪些论文）
   ## 启发
   ```

d. **识别开放问题 → `wiki/questions/`（必须执行！）**
   创建问题页面不仅限于"不确定的关系"。以下情况**必须**创建问题页面：
   - 还不确定的关系或还没想清楚的问题
   - 概念之间的对比性问题（如"X 和 Y 在什么场景下选哪个？"）
   - 学习中发现的知识漏洞（"为什么 X 要这样设计？"）
   - 概念页面的"开放问题"段落中列出的任何条目
   - 用户明确表示想进一步探索的方向

   问题页面结构：
   ```markdown
   ---
   title: "问题简述"
   status: "open"
   related_concepts: [[概念A]], [[概念B]]
   ---
   # 问题
   ## 描述
   ## 为什么重要
   ## 可能的探索方向
   ```

   **数量目标**：每次摄入操作至少创建 2 个问题页面。一篇新材料不可能没有产生任何疑问。

e. **更新索引和日志**
   - `wiki/index.md`：更新文件清单，添加新页面简要介绍
   - `wiki/log.md`：追加本次摄入记录（时间、材料、新增/更新的概念）
   - 格式由你决定，保持一致性即可

#### B3. 完成后总结
摄入完成后，告诉用户：
- 本次处理了哪些材料
- 新增/更新了哪些概念
- 发现了哪些潜在连接
- 提出了哪些新问题
- 建议下一步学什么

---

## 工作流 C：苏格拉底式学习

### 触发
用户说"教我 X""用苏格拉底法给我讲 X""我想深入理解 X"等。

### 核心理念
**不要解释，要提问。** 苏格拉底法的本质是：学习者通过回答精心设计的问题，
自己建构理解。AI 的角色是引导者，不是讲解者。

### 流程

#### C1. 准备阶段
1. **首先确认 wiki 存在** — 如果 `research-wiki/` 目录不存在：
   - 告诉用户："还没有 research wiki。苏格拉底学习最好有 wiki 来追踪进度。要不要我先帮你建一个？"
   - 如果用户同意 → 执行工作流 A 初始化
   - 如果用户说"先直接教我" → 继续但不持久化，学习结束后提醒用户建 wiki
2. 在 `wiki/concepts/` 中查找目标概念
3. 如果概念页面不存在 → 先告诉用户"这个概念在 wiki 中还没有记录，
   我会在对话结束后把我们的讨论编译进去。是否需要我先从 raw/ 中找相关材料？"
4. 读取 `wiki/learner_profile.md` 了解用户背景（如果 wiki 存在）
5. 读取 `wiki/revision_notes.md` 了解用户已有的知识漏洞（如果 wiki 存在）

#### C2. 三步学习法

**Step 1: Global Orientation（约 5 分钟）**
先告诉用户这个概念在整个知识体系中的位置：
- 它属于哪个更大的领域？
- 它和用户已有的哪些概念有关？
- 为什么学它很重要？
- 今天要学到什么程度？

询问用户是否调整学习目标。

**Step 2: Local Drilling（主体，20-40 分钟）**
用苏格拉底式追问深入核心。详细指南见 `references/socratic-method.md`。
关键规则：
- 每次只问一个问题
- 等待用户回答后再问下一个
- 根据用户的回答调整下一个问题的方向
- 发现知识漏洞时标记下来（稍后记录到 revision_notes.md）
- 用户卡住时给提示，而不是给答案
- 当用户表现出理解时，让用户用自己的话总结

**Step 3: Global Reintegration（5-10 分钟）**
把刚学的东西重新接回整体：
- 让用户解释这个概念如何连接到已知的其他概念
- 讨论这个概念在用户的研究问题中的位置
- 确认有没有需要澄清的遗留问题

#### C3. 收尾
学习会话结束后：
1. 更新 `wiki/progress.md` — 记录本次学习的概念和掌握程度
2. 更新 `wiki/revision_notes.md` — 记录发现的知识漏洞
3. 如果产生了新的理解 → 更新相关的 `wiki/concepts/` 页面
4. 如果有新的开放问题 → 添加到 `wiki/questions/`

掌握程度自评标准（让用户自己判断）：
- **🔴 刚接触**：能跟着思路走，但不能独立解释
- **🟡 正在建立**：能部分解释，但需要提示
- **🟢 已掌握**：能不看资料完整解释，能回答追问

---

## 工作流 D：建立概念连接

### 触发
用户说"X 和 Y 有什么关系""帮我找找概念之间的联系""检查是否有新连接"等。

### 流程
1. 遍历 `wiki/concepts/`，识别可能相关但尚未连接的概念对
2. 用以下维度检查关系：
   - **互补**：两个概念共同解释一个更大的现象
   - **矛盾**：两个概念给出不同甚至相反的结论
   - **因果**：一个概念是另一个的前提或结果
   - **类比**：不同领域但结构相似
3. 创建或更新 `wiki/connections/` 下的连接页面（含关系类型和证据）
4. **创建 `wiki/questions/` 条目（必须执行！）**：
   - 对每个新发现的连接，提出至少一个"进一步探索"的问题
   - 对不确定的关系创建探索性问题
   - 对连接中发现的模式提出推广性问题（"这个模式在其他领域也成立吗？"）
   - 不要等到"关系不确定"才创建——已确定的连接同样值得深挖

---

## 工作流 E：进度回顾与复习

### 触发
用户说"我的学习进度怎么样""帮我复习""review my progress"等。

### 流程
1. 读取 `wiki/progress.md` 和 `wiki/revision_notes.md`
2. 呈现：
   - 已掌握的概念 vs 正在学习的概念
   - 需要复习的知识点（来自 revision_notes.md）
   - 最近的学习活动（来自 log.md）
   - 开放问题的数量和新进展
3. 建议复习优先级：先复习最薄弱 + 最基础的概念
4. 可以发起一次简短的苏格拉底式抽查来验证掌握程度
5. 更新掌握程度

---

## 工作流 F：论文分级阅读

当用户面对大量论文需要系统化阅读时使用。

### 触发
用户说"帮我看看这些论文该怎么读""给这篇论文定个级""生成 Reading Mission"等。

### 论文等级（L0-L4）

| 等级 | 目标 | 时间 | 完成标准 |
|------|------|------|---------|
| **L0** 知道存在 | 大量扫文献 | 5-15 分钟 | 知道大概做什么，是否相关 |
| **L1** 能定位 | 建立认知 | 30-60 分钟 | 知道问题、方法、与自己研究的关系、是否值得深读 |
| **L2** 能使用 | 深度理解 | 2-4 小时 | 能解释核心 claim、evidence、与其他论文关系、启发、局限 |
| **L3** 能复现 | 核心论文 | 半天-几天 | 不看原文讲清主线、解释公式、走 toy example、指出假设弱点 |
| **L4** 能扩展 | 极少数 | 几天-一周+ | 修改方法、推广理论、设计新实验、判断能否成为 foundation |

大多数论文到 L1 就够了。对你有用的论文应该读到 L2。只有核心论文需要 L3+。

### 概念等级

阅读论文时，对每个遇到的概念分级：
- **Blocking**：不懂就无法理解主线（最多标 5 个）
- **Interface**：只需要知道输入、输出、作用
- **Local details**：第一次阅读可以跳过
- **Future debt**：以后值得学，当前不学

### Reading Mission 生成

每次深入读一篇论文前，生成以下任务单（模板在 `assets/reading-mission.template.md`）：

```markdown
# Reading Mission
**Paper**: [论文标题]
**Role**: survey / ingredient / nearest prior work / baseline / theory foundation
**Target Level**: L0 / L1 / L2 / L3 / L4
**Why I'm Reading**: 它和我的哪个研究问题有关？
**Main Question**: 读完这篇论文，我要回答什么？
**Must Understand** (最多 5 点):
  1.
  2.
**Can Ignore** (第一次可以跳过):
  1.
**Stopping Criterion**: 达到什么程度就停止
```

### 三级阅读法

不直接开始读。按以下三步走：
1. **Global Orientation**（5 分钟）→ 了解概念在整篇论文中的位置
2. **Local Drilling**（20-40 分钟）→ 用苏格拉底法深挖核心概念
3. **Global Reintegration**（5-10 分钟）→ 重新接回 paper、wiki、研究问题

详细方法论见 `references/reading-levels.md`。

---

## 非协商原则

这些原则来自作者三次笔记系统迭代的教训，不可违反：

1. **AI 主动维护结构** — 绝不要求用户手动整理 wiki 目录、更新索引、建立链接。所有维护工作在每次摄入/学习后自动完成。

2. **索引自动生成** — `index.md` 完全由 AI 维护。用户不需要知道有哪些文件——AI 负责检索和呈现。

3. **人机讨论是摄入的必要步骤** — 每份材料在进入 wiki 之前，必须先和用户讨论核心要点，由用户决定保留什么、筛掉什么。不跳过。

4. **Questions 驱动循环** — `wiki/questions/` 中的开放问题不是装饰。每次对话开始时应提醒用户还有哪些未解决的问题，并建议通过摄入什么新材料来解决。

5. **苏格拉底法 = 问题先行** — 教概念时不直接解释。先问用户已经知道什么，然后通过精心设计的问题引导用户自己建构理解。

6. **状态持久化** — 每次会话的所有变更都记录到 `log.md`，所有进度更新到 `progress.md`。下次会话开始时 AI 应主动读取这些文件，无缝接续。

---

## 参考文件

| 文件 | 何时读取 |
|------|---------|
| `references/socratic-method.md` | 执行苏格拉底式学习（工作流 C）时必读 |
| `references/reading-levels.md` | 执行论文分级阅读（工作流 F）时必读 |
| `assets/claude.template.md` | 初始化知识库时复制到 `research-wiki/claude.md` |
| `assets/learner_profile.template.md` | 初始化时复制到 `wiki/learner_profile.md` |
| `assets/system.template.md` | 初始化时复制到 `wiki/system.md` |
| `assets/reading-mission.template.md` | 生成 Reading Mission 时参考 |
| `scripts/init-wiki.sh` | 初始化知识库时执行 |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [MohsiChi](https://github.com/MohsiChi)
- **Source:** [MohsiChi/knowledge-wiki](https://github.com/MohsiChi/knowledge-wiki)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-mohsichi-knowledge-wiki-knowledge-wiki
- Seller: https://agentstack.voostack.com/s/mohsichi
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
