loom-digestlisted
Install: claude install-skill q8886b/loom
# DIGEST 流程(L1 → L2,两阶段子 agent)
## 两阶段总览
L2 处理一份材料(一本书或一份长材料)分**两个独立子 agent 阶段**:
| 阶段 | 子 agent 数 | 输入 | 产出 |
|---|---|---|---|
| **主 agent 准备** | 0(主 agent 自己做) | 原始材料 | L1 markdown(按章切分)+ scout/deep plan.json |
| **Scout** | 1 个 | 整本书所有 ch*.md | 每章一张主题卡(chapter-level 全局视野)|
| **Deep** | N 个(每章一个,并行) | 该章 ch.md + 该章主题卡 | 该章其余 L2 卡(概念/结构/机制/案例/判断/反思)|
**为什么必须两阶段**:单 agent 一次读整本书 + 一次产出所有卡片不可控(30 章一本书一次输出 300 张卡片做不到)。Scout 产出少(每章 1 张),Deep 每章独立 context 产出可控。
---
## 第 0 步:L1 捕获(主 agent,起子 agent 之前)
把原始材料(PDF/epub/整本 markdown)切成可独立消化的章节 markdown,落盘到 `sources/<领域>/<编号>-<书名>/<单元标识>.md`。
判定标准(005 §2.3):**单元内部主题连贯、可独立消化,不需要其他单元的上下文也能读懂**。书按章切,论文按篇切。
**已切分的材料跳过此步**——如 Harness Engineering 已有 ch01~ch19.md。
切分完成后,**用 `loom import-source` 把每个 markdown 注册为 L1 source card**(008 §24):
```bash
loom import-source <领域>:<书>:src:<单元ID> \
--title="<章节标题>" \
--path=sources/<领域>/<编号>-<书名>/<单元ID>.md
```
- L1 source card id 规范(008 §15):`<领域>:<书>:src:<单元ID>`,如 `llm:harness:src:08`
- L1 卡的 `content` 自动写入全文,`source` 保留 markdown 路径
- L1 卡可被 search / read-source / graph / suggest-links 覆盖,与 L2/L3/L4 共用同一交互模型
## 第 1 步:价值判断(Bacon 分级,主 agent)
读 L1(全文或检视),判断材料价值,决定 layer(task target):
| layer | 含义 |
|---|---|
| L1 | 只注册 L1 source card,不消化 |
| L2_light | 轻量消化(核心几张卡,不穷尽)|
| L2 | 完整消化到 L2 |
**不强制档位**(Bacon "浅尝/吞下/嚼/消化" 只是参考),但**必须有这个判断动作**。结果写入 plan.json。
判断依据:信息密度、与现有网络的相关性。低价值材料也保留在 sources/——保存与消化独立。
如果 layer=L1,到此结束——材料已注册为 L1 source card,不再起子 agent。
## 第 2 步:写 plan.json(主 agent,区分 sc