# Structure Note

> 结构笔记工具。适用于"写文章/整理项目文档/整理项目资料/整理文件夹里的文档/大纲整理/串联论证/解释复杂话题"时需要阅读顺序和逻辑树。以半年后读者仍能看懂为目的，采用卢曼 Folgezettel 思维设计论证链。

- Skill: `mikonos/structure-note` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add mikonos/structure-note`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mikonos/structure-note/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: mikonos (https://skillmd.com/u/mikonos)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/mikonos/structure-note

---


# 结构笔记

> 设计规范见 `../index-note/references/20260203_索引体系设计规范.md`
> 结构化流程详见 `references/结构化流程.md`

## 定位
知识网络的阅读导航系统。
**核心理念**：结构笔记是「阅读清单」而非「分类」——串联、论证、引导。

---

## 创建目的（必读）

> **默认读者**：未来的自己——假设已忘记当时情境、项目背景、为什么做这个结构。

**写作原则**：结构笔记必须**自包含**，让未来读者无需依赖记忆即可理解：
1. **当时语境**：顶部写明「何时、为何、在什么项目下」创建
2. **为什么这个顺序**：每个阅读项都要有理由，回答「半年后读到这里，为什么下一步是它？」
3. **论证链可见**：用 Folgezettel 思维（前驱→本位→后继）让思想轨迹可追溯

**卢曼方法论**（策略层）：
- **不问「属于哪类」**，问「**和谁对话、接在谁后面**」
- **结构 = 链接链**：卢曼的「结构」来自纸条间的引用链，不是分类树
- **桌面固化**：结构笔记 = 卢曼桌面上「这一摊怎么排」的数字化固化
- **论证依赖优先**：先识别概念依赖、论证依赖、应用依赖，再排阅读顺序

---

## 快速开始
- **模式一（创建结构笔记）**：识别依赖 → 设计逻辑树 → 定义阅读顺序 → 确保可发现。
- **模式二（批量整理）**：指定目录/文件 → 逐个分析依赖 → 生成结构笔记。

> 不要问"它属于哪个分类"，问"怎么读才能搞懂它"。
> 如需「查找入口」而非「阅读顺序」，请用 `index-note` skill。

---

## 本项目约定（重要）

### 索引 vs 结构笔记

| 类型 | 回答的问题 | 隐喻 | 核心元素 |
|------|-----------|------|----------|
| **索引** | 我想找 X，从哪进？ | 图书馆检索卡片柜 | 关键词 → 入口 |
| **结构笔记** | 我想搞懂 X，怎么看？ | 策划好的阅读清单 | 1、2、3… 的阅读顺序 |

### 结构笔记触发场景

- 准备写文章
- 需要串联论证链
- 向他人解释复杂话题
- 项目大纲整理
- 整理某个文件夹里的文档

### 结构笔记设计约束

- **命名规范**：清晰标识主题+笔记类型（推荐格式：`[主题]_结构笔记.md` 或 `[主题]结构笔记.md`）
- **逻辑树必须有**：阅读顺序 + 依赖关系
- **必须可发现**：在相关索引中添加入口

### 结构笔记生命周期

| 状态 | 条件 | 处理方式 |
|------|------|----------|
| **活跃** | 正在使用 | 正常维护 |
| **归档** | 项目结束/文章完成 | 标记归档，保留只读 |

---

## 模式一：创建结构笔记

> 结构化流程详见 `references/结构化流程.md`

### Step 1: 明确目标
1. **串联内容**：这个结构笔记要串联哪些内容？
2. **目标读者**：默认是「未来的自己」——需自包含，不依赖当前记忆
3. **预期收获**：阅读后能得到什么？（写进结构笔记顶部，供未来读者锚定）
4. **当时语境**：何时、为何、在什么项目下创建？（必须写进结构笔记，供未来回溯）

### Step 2: 全库搜集与聚合
1. **全库搜索**：搜索与该主题相关的现有笔记
2. **聚类筛选**：识别核心笔记（骨架）和支撑笔记（血肉）

### Step 3: 执行结构化流程
按 `references/结构化流程.md` 的 Step 1-5 执行：
1. 识别笔记间依赖关系（前置知识/核心概念/延伸应用）
2. 设计逻辑树（核心→深化→应用）
3. 定义阅读顺序（从简单到复杂/先理论后实践）
4. 确保可发现（被索引指向）
5. **半年后可读检查**：当时语境 + 自包含理由

---

## 模式二：内容整理（单篇/批量）

> 结构化流程详见 `references/结构化流程.md`

将散落的笔记整理进有序的阅读路径（Bottom-up）。

### 适用场景
- **单篇**：刚写完一篇笔记，寻找它在现有结构中的位置
- **批量**：整理项目文档 / 归档散乱笔记

### Step 1: 确定输入
- **单篇**：直接指定笔记路径
- **批量**：指定目录路径或文件列表

### Step 2: 逐个寻找逻辑位置
对每篇笔记，思考它在序列中的角色（Folgezettel）：
1. **前驱 (Premise)**：它基于什么？（接在谁后面）
2. **本位 (Argument)**：它讲了什么？（核心贡献）
3. **后继 (Function)**：它导向什么？（开启什么新话题）

### Step 3: 生成序列建议

1. **单篇**：找到它在逻辑树中的最佳插入点（Insert After X）。
2. **批量**：根据依赖关系整理出有向无环图（DAG），转化为线性阅读顺序。

### Step 4: 汇总报告

见下文「输出模板」。

---

## 输出模板

### 模式二（单篇）：结构插入建议

```markdown
**文档**：[[笔记名]]

**1. 逻辑定位 (Logic Role)**：
> "它在论证链中扮演什么角色？"
- [ ] **前驱 (Premise)**：基于 [[笔记A]] (铺垫/原理)
- [ ] **本位 (Argument)**：提出核心观点...
- [ ] **后继 (Function)**：为 [[笔记B]] 提供支撑/反例

**2. 序列插入 (Sequence Insertion)**：
> "把它插在阅读清单的哪里？"
- [ ] **插入位置**：在 [[结构笔记_X]] 的 [[笔记A]] 之后
- [ ] **阅读引导**：先读 A，再读本篇（因为...）

**3. 结构补完 (Gap Analysis)**：
- [ ] (可选) 是否缺了中间环节？→ 建议补写 [[笔记C]]
```

### 模式二（批量）：内容整理报告

| 文档 | 逻辑角色 (Role) | 序列位置 (Sequence) | 补完建议 (Gap) |
|------|----------------|--------------------|---------------|
| [[笔记A]] | 核心论点 | 1.作为开篇 | - |
| [[笔记B]] | A 的具体案例 | 2.紧接 A 之后 | 建议补一个反例 |

### 模式一：结构笔记格式

```markdown
# [主题]结构笔记

> **所属索引**：[[索引名称]]  
> **更新**：YYYY-MM-DD
>
> **当时语境**（半年后仍能看懂的关键）：YYYY年M月，因 [项目/写文章/解释X] 需要，整理 [主题] 的阅读路径。预期阅读后能 [一句话概括收获]。
>
> **默认读者**：未来的自己——本结构自包含，不依赖记忆。

---

## 逻辑树 (Logic Tree)

① [[核心笔记]] — 框架概述
  └─ [[深化笔记]] — 具体应用
      └─ [[案例笔记]] — 实践例证

---

## 阅读顺序 (Sequence)

> 每个顺序都有「理由」：半年后读到这里，仍能理解为什么下一步是它。

1. **[[笔记A]]** (Premise)
   > 理由：建立基础概念...（接在谁后面？为什么先读它？）
2. **[[笔记B]]** (Argument)
   > 理由：核心机制解析...（依赖 A 的什么？）
3. **[[笔记C]]** (Conclusion)
   > 理由：实战应用与总结...（导向什么？）

---

## 意外发现区（Serendipity）

> 卢曼强调：知识网络的价值在于「意外连接」。虽然不在主阅读路径，但可能带来启发的笔记：

- **[[笔记X]]** — 不同领域但类似模式（跨域类比）
- **[[笔记Y]]** — 反例/对比视角（批判性思考）
- **[[笔记Z]]** — 意外相关的主题（网络漫游）

---

相关索引：[[索引_xxx]]
```

---

## 常见错误与失败案例

### 常见错误速查表

| 错误 | 解决 |
|------|------|
| 结构笔记没有阅读顺序（只有列表）| 必须有 1、2、3 的顺序 + 理由 |
| 结构笔记没有被索引指向 | 在相关索引添加入口 |
| 逻辑树过于扁平（无层级）| 区分核心/深化/案例层次 |
| 结构笔记太长（变成文章）| 保持导航性质，不要写内容 |
| 没有说明为什么这个顺序 | 每个阅读项都要有理由 |
| **缺少当时语境** | 顶部必须写「何时、为何、在什么项目下」——半年后看不懂 |
| **理由太简略** | 理由要回答「半年后读到这里，为什么下一步是它？」 |

### 失败案例：过度线性化的结构笔记

❌ **Before（问题版本）**：
```markdown
# 项目X结构笔记

## 阅读顺序

1. [[笔记A]] — 建立基础
2. [[笔记B]] — 深入理解
3. [[笔记C]] — 实践应用
```

**问题诊断**：
- 缺少当时语境（不知道为什么创建这个结构）
- 理由模糊（"建立基础"太抽象，半年后看不懂为什么先读A）
- 缺少依赖说明（B依赖A的什么？）
- 没有意外发现区（过度线性化）

---

✅ **After（修正版本）**：
```markdown
# 项目X结构笔记

> **当时语境**：2026年1月，因需要向新团队成员解释项目X的设计逻辑，整理阅读路径。预期阅读后能理解：为什么选择架构A而非B、如何落地执行。
> **默认读者**：未来的自己——本结构自包含，不依赖记忆。

## 阅读顺序

1. **[[笔记A：用户需求分析]]** (Premise)
   > **理由**：需先理解用户的3大核心痛点（来自笔记A第2节），才能理解下一篇的架构设计为什么选择"分布式"而非"单体"。
   > **接下来**：理解了需求后 → [[笔记B]]理解架构选择

2. **[[笔记B：架构设计决策]]** (Argument)
   > **理由**：基于A的痛点2（高并发），本篇解释为什么选择分布式架构。依赖A的"用户规模预测"（10万+）作为决策依据。
   > **前置依赖**：需先读[[笔记A]]，否则看不懂"为什么不用单体架构"
   > **接下来**：理解了架构后 → [[笔记C]]看实践案例

3. **[[笔记C：实践案例]]** (Conclusion)
   > **理由**：B是理论，C是实战——展示架构在真实场景的应用与踩坑经验。

## 意外发现区

- **[[笔记D：反例_单体架构的失败]]** — 对比视角，理解为什么不选单体
```

**改进要点**：
✅ 增加当时语境
✅ 理由具体化（说明依赖什么、为什么这个顺序）
✅ 增加意外发现区（反例）
✅ 标注前置依赖和接下来的阅读路径

---

## 质量检查

### 模式一（创建结构笔记）
- [ ] 所有笔记的依赖关系已识别
- [ ] 逻辑树层级清晰（核心→深化→应用）
- [ ] 阅读顺序有理由说明 (Premise/Argument/Conclusion)
- [ ] 链式双向链接完整 (笔记间已添加 Next/Previous)
- [ ] **半年后可读**：顶部有「当时语境」；每个阅读项的理由能让半年后的读者理解「为什么下一步是它」

### 模式二（内容整理）
- [ ] **单篇**：明确指定了插入位置（接在谁后面）并建立链接
- [ ] **批量**：生成的阅读顺序无逻辑断层且笔记间已互链
- [ ] **完整性**：所有输入文档都被分配了逻辑角色

---

## 设计说明（本 skill 的编写方法论）

> 本 skill 的「创建目的」「卢曼方法论」「半年后可读」等设计，遵循以下编写策略：

- **卢曼思考策略**：不问分类问对话；结构=链接链；Folgezettel（前驱/本位/后继）思维
- **提示词工程**（Karpathy/Context Engineering）：具体约束、示例驱动、结构清晰、减少模糊
- **Skill 最佳实践**（skill-creator）：契约明确、渐进披露、适度自由度、质量检查清单

