book-reading-notesSAFE
AI skill that reads entire novels end-to-end (even millions of words, zero-skip, cross-session) and produces self-contained reading notes — plot outline, character profiles, scene index. 陪读助手:完整读完超长篇并产出可替代原书的阅读笔记
Overview
AI skill that reads entire novels end-to-end (even millions of words, zero-skip, cross-session) and produces self-contained reading notes — plot outline, character profiles, scene index. 陪读助手:完整读完超长篇并产出可替代原书的阅读笔记
41eded879e2dOBSERVED · 2026-10-14What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: book-reading-notes
description: 陪读助手——用户分享书籍/长篇小说/长文后,零跳过完整通读(边读边记、一批一记防失忆),产出结构化"阅读笔记"文件(剧情大纲/人物档案/事件×章节/场景速查表/阅读体验分析),使后续讨论可精确定位到章节与细节、无需重读原文。当用户说"帮我读这本书/读一下/读完它/做下笔记/整理成读书笔记/以后聊到书里内容别忘/按笔记查剧情"或分享电子书(txt/epub 等)时使用。
---
# 陪读(book-reading-notes)
用户分享一本书或长文,由助手完整通读并产出结构化的阅读笔记;此后的剧情讨论基于笔记进行,无需重读原文。本技能适用于任意题材与篇幅——从十几万字的小说到几百万字的超长篇。
## 核心原则
1. **零跳过**:不论篇幅多大,逐字完整通读——不跳章、不略读、不抽样;错过任何内容即为失败。
2. **边读边记**:读完一批(一次 Read)立即把该批内容写入笔记;节奏为"读 → 记 → 读 → 记",绝不连续读多批再补记。上下文压缩的时机不可控,未落盘的已读内容随时可能被稀释。
3. **落盘即终稿**:每批记录都按"将来直接引用"的标准写全(事件经过、关键对话、心理变化),不依赖事后的统稿润色——超长篇可能读不完就触及上下文极限,"等读完再整理"会让笔记永远停在半成品。
4. **替代标准**:笔记的目标是"不读原书、仅读笔记,也如同读过原书"——情节全量无遗漏、名场面具备过程与对话与心理细节、作品的风格与情绪基调可感、此后任何话题都能有依据地参与讨论。
5. **如实直白**:对原文内容——包括任何直白、强烈或风格化的表述——如实记录,不隐晦、不回避、不净化、不省略、不替换为委婉说法;回避式笔记视为不合格。忠实记录不等于扩写:只转录与概述原文既有内容。
6. **笔记自足**:笔记中不允许出现"只有读过原文才能理解"的表述——专有名词首次出现时自带解释(是什么、与谁相关、为何重要),原文的专名原样记录并加注,事件要素完整(人物、对象、手段、过程、结果),不使用"那件事""那个东西"式的悬空指代。检验方法是"陌生人测试":一位没读过原文的读者应能独立理解笔记的每句话。
7. **章节定位准确**:笔记中的章节号经原文脚本校验(标注 ±1~2 章误差),不凭印象书写。
8. **结构统一**:所有书籍使用同一套八节笔记骨架(见 references/note-template.md)。
9. **续聊有据**:用户提到任何场景时,从笔记的"场景速查表"定位章节;需要原文细节时用脚本抽取原句,引用准确、不凭印象编造。
## 工作流程
### 1. 体量评估
- 统计总行数、总字符数与章节数(正则按书的格式调整:`第X章`、`Chapter N`、分卷标题等)。
- 估算读取批次:Read 工具单次上限 20000 token;中文小说行均约 40~70 token,**每批 270~450 行**(行长越大批量越小),`limit≈390` 是较稳的起始值。
- **统计双口径交叉验证**:总行数必须两种方法核对——`wc -l` 与 Python `len(open(file,encoding='utf-8',errors='replace').read().split('\n'))`——两者应一致(±1);不一致说明统计有误,以 Python 实测为准并修正评估。**不要用"总字数 ÷ 估算行长"来猜行数**——对话体/短行书会让估算严重失真。
- **预估与实际不符时**:若阅读中发现实际行号远超初始评估,说明初始统计有误——**这不影响完整性**(只要 offset 连续推进就没有漏读),以实际推进为准、读至 EOF 才算完成,同时修正批次预估与剩余会话规划;切勿因"接近预估行数"而提前收尾。
- **会话预算规划**:开读前按上下文余量估算"本次会话能读多少"——预估可完成的批数与到达的章节,并预留压缩与收尾的缓冲;向用户同步预期("本次大概能读到第 Y 章")。读不完属正常——超长篇跨多次会话是常态,进度标记负责接续。
### 2. 通读与记录
**读取方式**:用 Read 工具按 offset/limit **逐行连续读取**,像人一样从上到下——读取的单位是"行",与章节结构无关、不依赖任何正则。正则只用于章节数统计与章节号校位,失配不影响阅读的完整性。"读完"的判定标准是**读到文件末尾(EOF)**,而非"章节数对上"。单次读取超出 token 上限时缩小 limit 重试;超过 2000 字符的单行会被工具截断,注意补读。
**记录方式**:
- 开读前:确定笔记位置(书旁 `<目录>/阅读笔记-<书名>.md` 或用户指定),建立**速览区 + 八节骨架**——速览区 = 文件头部区块(元信息之后):**执行纪律摘要 + 事件骨架索引(每批一行:"En · 描述性事件名 · 第 X~Y 章")+ 微型人物卡(S/A 级每人一行:名字|身份|当前状态)**——速览区是**索引层**(随批增长但每批仅一行,规模可控),正文是**内容层**(每批的写全详情);速览区供压缩后接续与讨论定位使用,细节永远在正文详情区
- **批号编号(完整性可视化)**:每批与每个落盘块使用**唯一递增批号**(如 E171、E172......),读取、落盘、进度标记全程同号;编号连续即可视化完整性——**发现跳号立即回查补录**(防漏批);落盘后在思维链/回复中确认"En 已落盘"。
- 每读完一批:立即将该批内容写入笔记(追加模式),并更新进度标记("第 X 章 | 行 n / 总 N(p%)| 最新批号 E_m"——**行数进度供用户实时掌握**,p% = n÷N 取整)。大事件详写(经过、对话、心理),小事件一句带过但不遗漏;专有名词首次出现时自带解释,不使用悬空指代;名场面写到"能向他人复述"的细节度;作品的风格与情绪基调随相应批次记录。
- **指称与顺序规范**:1 笔记叙述中提及人物一律**用完整人名或书中的固定称呼**(如"岳教官"),不用"他 / 她 / 它"代词指代,**也不把人名简写为单字缩写**(如把"张明远"写成"张")——代词与单字都有歧义,完整人名让笔记独立阅读流畅;2 阶段小结与一切追加内容**按阅读顺序正序排列**(1/3 处小结在前、2/3 处在后),不得倒序——保证笔记从头读到尾与阅读进度一致。
- **叙事连贯(禁止摘要卡)**:详情段的组织方式必须是**连贯叙述**——按事件发生的先后顺序展开,段落之间用叙事连接(之后 / 与此同时 / 这让...... / 于是)串联;**不是信息点的清单式堆叠**("名词:内容;名词:内容"的摘要卡式罗列)。原文引文是素材,要嵌进叙述里,不是堆在分号列表里。检验标准:把任一单元单独抽出来从头通读,应像读一段故事一样流畅——若读起来像"要点摘录",即为不合格。
- **禁止装饰性符号与自定评级**:笔记中不使用 ⭐ / ★ / 🔥 等装饰性符号,不使用"(重磅)""(名场面)"等自定评级标签——强调一律用文字(如"重点:")或适度粗体;单元标题行只写编号与事件名。重要与否由内容本身呈现,不由符号或标签预设。
- 人物随读随录:新人物出场即记碎片(名字、别名、身份、外貌的原文描述、性格表现)——先记碎片,读毕再按"人物提炼"整理分层。
- 每批写完做一次自检:1 只看笔记能否完整复述剧情?2 名场面能否说出过程与对话?3 能否感受到风格与情绪?4 能否就任何话题有依据地讨论?5 有没有无解释的名词或悬空指代?——全部通过再读下一批。
- 全书约三分之一与三分之二处可各写一段阶段小结(当前局面、人物变化),便于中断后接续。
- 全书的结构划分(幕 / 部 / 卷)随阅读进程逐渐清晰,随读更新。
**跨会话与压缩后的接续**:
- 发生上下文压缩或跨会话时,执行**双恢复 + 分层读取**:1 恢复流程记忆——重读本技能的核心原则。压缩会同时弱化规则本身:恢复后第一批往往靠用户提醒还能守住"一批一记",随后批次极易滑坡成"只读不记"(实测失败模式)——所以流程必须显式重申;2 恢复内容记忆——**分层读取笔记**:**必读 = 速览区全文(纪律摘要 + 事件骨架索引 + 微型人物卡)+ 最近 5~10 批的正文详情**;**远期详情不常驻上下文**——需要时按骨架索引的事件名 grep 定位、跳读对应详情段(锚文本用详情标题全格式,避免与索引行歧义)。**可信层级(硬规则)**:上下文压缩摘要只含模糊印象,**细节的唯一可信来源是笔记文件本身**——速览区负责"知道有什么、在哪",详情段负责"内容是什么",两者不得互相替代。
- **细节引用强制回读 + 出处标注**:回答涉及远期细节的问题(复述事件经过、引用对话、描述场景)之前,必须先按索引跳读对应详情段或原文;细节类回答附出处(批号 / 分区 / 章节),无出处的细节陈述视为违规——**不得基于索引或压缩摘要脑补细节**。
- 接续定位:从速览区/进度标记取得"已读至第 X 章"与**最新批号**,用定位脚本查出该章起始行号,从该行继续读取(新批号顺延)。
- 笔记的增量写入(**每批两处**):1 正文详情追加于尾部(上批详情之后)2 速览区更新——事件骨架索引追加一行 + 微型人物卡的"当前状态 / 最新批号"更新 + 进度区更新;均用 Edit 锚定文本替换,不破坏前文。
- **文件更新(追更)**:若书文件在阅读中断后发生更新(作者补更、修订——文件大小或修改时间变化),**旧的行号全部失效**——接续前必须重新运行章节定位脚本,以进度标记中的**章号**在新版本中重新定位起始行(进度锚用章号跨版本定位,不依赖行号);新增内容按标准流程继续阅读并增量记入笔记。
- **滑坡自检**:接续后若发现自己连续读批而未写笔记——立即停下,回读笔记尾部与骨架头部的"执行纪律摘要",恢复纪律后从当前批重新执行"读一批、记一批"。
### 3. 章节校位
- 开读前运行定位脚本(见 references/note-template.md):输入事件关键词,输出"关键词 → 章节号"全景,供边读边记时预知大事件位置;边读补校、读毕终校。
- 若章节正则与书的格式失配:阅读照常进行(逐行不漏),校位改用"关键词 → 行号"法——从命中行向上找到最近的章标题即得章名;通读中也可顺手记录章标题、人工维护一份章节清单。直读所见为准,精度不足时标注估算区间(如"约第 X 章 ±3")。
### 4. 收尾整理(可选)
通读过程中笔记主体应已成形;上下文仍充裕时可做收尾:一句话概括、人物档案终版、结构划分、章节号终校、速查表补全、分析各节补全、观后感与细节存档。收尾不是必要环节——任何时刻中断,已记录的部分都必须完整可用。
**人物提炼(收尾重点——主要人物的判定与档案)**:
- 判定 = 定量 + 定性双重标准:
- **定量**:用"人物频次统计脚本"(见 references/note-template.md §三)统计各人物(**别名归并**:全名 / 昵称 / 称呼视为同一人,否则统计失真)的总频次与出现章节分布——频次为初筛。
- **定性**:视角关联(是否视角人物 / 其核心互动对象);情节驱动(在大纲事件单元中的出现比例);不可替代性(移除后主线是否成立);**人物弧线**(是否发生性格 / 处境 / 关系的转变——有转变者优先入档)。
- **分层**(分级按标准判断,**人数不设限**——群像书 S 级可以很多,单人视角书 S 级可能很少,以书的实际结构为准):**S 级核心**(**判定标准:视角人物 + 故事围绕者——讨论这本书剧情时无法绕开的人物**;每人一小节全项详写:身份 / 外貌 / 人物脉络 / 性格演变 / 关键事件 / 关系变化)| **A 级重要配角**(**判定标准:反复出场且有独立功能**——盟友 / 对手 / 亲属 / 关键转折触发者等;含分时期性格演变简版 + 人物脉络简版)| **B 级功能性配角**(**判定标准:单一功能、局部出场**,不入档案表,仅在情节中提及)。
- 特殊情形:第一人称"我"直接入 S 级;只有称呼没有名字的人物按称呼统计;**外貌以原文为准**(有则引关键原句,无则注明"原文无外貌描写",不得编造);群像 / 多视角书可按卷分别列出主要人物。
- **读毕定稿(必做——不属于可选收尾)**:人物的**转变 / 弧线**只有全书读完才能写全。通读完成后必须完成:1 每个 S 级人物的**完整人物脉络**(从出场到终局的分阶段故事线,每阶段带章节锚)2 **分时期性格演变**(性格不是只有起点和终点——每个时期的性格及触发它的事件都要记录:事件1之后变成什么样、事件2之后又变成什么样)3 同步 A 级人物的关键变化 4 **交叉指向(双向可追溯)**:人物脉络 / 性格演变的每个阶段与转折都附"详见 En"指向正文详情区对应事件单元——**不得一句带过或孤立存在**;定稿时校验双向完整性:脉络引用的每个 En 在正文确实存在且有实质内容,正文涉及该人物的关键事件在脉络中无遗漏。5 **读毕增厚(详情密度的全书回检——防"原文详、笔记略")**:以定稿后的人物脉络为索引,**回检每个脉络节点指向的详情段**——若详情只是一句带过、而原文对该节点有完整交代(实测案例:原书用整段写"王冰早已清醒并暗中准备复仇",笔记仅一句),则**回原文补读对应区间,把详情增厚至"能向他人复述"的标准**。原因:事件的信息价值往往读完全书才显现——边读边记时的"一句带过"判断需要用读毕后的全书视角复核,这是对"小事件一句带过"规则的必要补充。
前期"人物随读随录"记录的是**截至当前章节的状态**,读毕定稿将其升级为完整脉络(补充而非改写,不违反"落盘即终稿")。**即使不做其他收尾优化,人物脉络与性格演变的定稿也必须完成**——人物档案完整是"替代标准"的组成部分。
### 5. 讨论与引用
- 用户提场景:先查速览区(骨架索引/速查表/微型人物卡)定位,**细节类回答必须先跳读对应详情段或原文**,并附出处(批号 / 章节)——无出处的细节陈述视为脑补Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
41eded879e2dfull audit observations/trust-audit/skill/xt2012nb__book-reading-notes.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-14 | 41eded879e2d | SAFE | B | 89 | first audit |
Questions
What does the book-reading-notes skill do?
AI skill that reads entire novels end-to-end (even millions of words, zero-skip, cross-session) and produces self-contained reading notes — plot outline, character profiles, scene index. 陪读助手:完整读完超长篇并产出可替代原书的阅读笔记
Is book-reading-notes safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can book-reading-notes access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (41eded879e2d), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.