ljg-book
Book reader for non-specialists. Reconstructs a whole book on two independent axes: a source-blind reader can retell what the book literally follows, how its indispensable lines relate, and where it ends; the same reader can enter a concrete path in which evidence, events, or consequences revise understanding. Never let a portable thesis replace the book itself. USE WHEN given a book title, PDF, EPUB, excerpt, or asked 拆书, 分析这本书, 这本书在讲什么, 压缩一本书, or book. Defaults to a saved Org note. NOT FOR chapter summaries, papers, formal reviews, or single-concept deep dives.
How do I install this agent skill?
npx skills add https://github.com/lijigang/ljg-skills --skill ljg-bookIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is designed to perform structural analysis of books, extracting core arguments and frameworks. It uses standard tools like web search to gather information and shell commands for generating timestamps. The results are saved locally in the user's Documents folder. All operations are consistent with the stated purpose and do not pose a security risk.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
ljg-book:带着读者自己走一遍
通俗不是把结论换成白话,而是让读者亲自经历一次认识发生改变。
成品从一个普通人能够进入的具体处境开始。读者先按常识理解眼前的事;书中的事实、事件、人物遭遇或实际结果,让这种理解逐渐不够。新概念只在这时出现,让读者看到此前遗漏的关系。读者再回看原来的处境,已经会看见不同的东西。新的结果若留下问题,文章才继续向前,直到这本书真正改变的判断、做法或观看方式显出来。
稳定的扶手不一定是同一个物件。它可以是一个问题、一段关系、一个人物的困境、一组相反的力量,或者一条因果链。形式可以变化,读者正在追问的事不能丢。
全书研究负责保证没有讲偏;前台只保留读者此刻需要的一步。但取舍有下限:主要对象、字面运动、不可省略的线索及其关系不能被一个更好传播的抽象主题替换。
Workflow Routing
| 输入 | 必读 | 输出 |
|---|---|---|
| 书名 | 找到可靠材料后读 ReadingGuide.md | 保存 Org 笔记 |
| PDF、EPUB、正文、样章、旧笔记 | 先读原文,再读 ReadingGuide.md | 保存 Org 笔记 |
| 用户明确只要口头解释 | ReadingGuide.md | 按同一认识更新方式口头讲,不写文件 |
写 Org 时再读 references/template.org。每次任务复制 references/coverage-map.md 建立后台记录。默认保存到 ~/Context/,文件名为 {YYYYMMDDTHHMMSS}--拆书-{书名}__book.org,时间戳由 date +%Y%m%dT%H%M%S 生成。
Gotchas
- 认识路径顺畅,不等于整本书已经出现。 一篇文章可以有具体开头、自然理解、证据压力与漂亮返程,却只剩一个适用于许多书的主题。完整拆书必须另外通过整书身份门:读者能说出这是什么形态的书,实际跟着谁或什么走过怎样的路径,哪些线索不可省,以及它们为什么属于同一本书。
- 具体名词不等于事情发生。 “父子骑摩托远行”仍可能只是摘要。读者要看见一个理解怎样形成,哪件事使它不够,后来又怎样改变。
- 扶手要稳定,载体不必固定。 技术书可以一直看同一个模型;历史书可以让多个年代回答同一个问题;文学可以跟着同一个困境不断变深。为了守住一个物件而扭曲全书,反而会妨碍理解。
- 整本书不能靠概念压缩来显得完整。 一段塞进专家、调查、统计、替代原因和边界,只会得到正确而费力的摘要。后台保留覆盖,正文每次只增加一个关系。
- 概念只在解决问题时出现。 它可以紧跟一个结果,也可以等两个案例并排、一次选择付出代价或一个矛盾反复出现以后再命名。关键不在“立即”,而在读者已经感觉到缺口,并马上知道这个概念补了哪里。
- 讲述者不能永远站在终点。 第一人称不是必需,但读者必须先拥有一种自然的理解、选择、期待或困惑,而不是只接收已经整理好的答案。
- 下一步要由上一步逼出来。 若拿掉一段,前后仍能直接相接,它多半只是补充知识;拿掉以后理解路径会断,才是必要转折。
- 不要把所有书写成教程。 历史靠条件变化显出规律,传记靠选择与后果改变人物,文学与哲学可能只把一个无法消除的矛盾照亮。它们不必伪装成“猜一次、动一下、得答案”。
- 薄材料可能无法支撑现场。 没有具体动作、判断或结果时,先补材料;补不到就缩成局部理解。不要用泛化的“他观察、他调整、现实反馈”伪装成书内事件。
- 边界不能把讲述者带进镜头。 自建对象可以帮助读者看见关系,但它的身份、依据和材料状态只写进 coverage。正文用“想象一下”“先拿十二根纸条”“试着把它折起来”自然进入,再写这个对象已经回答了什么、走到哪一步还需要真实条件。不要交代谁构造了模型、根据哪份旧稿、本轮核到哪里,也不要写“不能替……作证”。这样既不冒充原书,也不把故事改成免责声明。
- 机械检查只能暴露退化,不能证明易读。 validator 通过以后,仍要做陌生读者复述门。
- 锚点齐全也可能只是摘句拼接。 对象、案例和术语都出现,不代表读者走过了作者的发现过程。每次换场都要继承上一段尚未解决的问题;若一级标题可以任意调换而不损伤理解,成品仍是平行摘要,不是自然叙事。
- 案例共享主题,不等于共享生成器。 一组案例都谈风险、成长或自由,仍可能彼此破碎。书中若存在能推出多个远距转折的函数、因果机制、过程、选择—后果链或贯穿矛盾,要先让读者运行它;案例随后只负责引入、反驳、改造、划界或确定归属中的一个独立任务。
- 后台覆盖不能变成前台配额。 候选部件可以随全书增长,正文只保留完成必要转折的最小载体集合。每个可见载体都要写足设置、结果、改变的关系与下一问;职责重复就合并,无法完整运行就扩写或退回 coverage。
- 空间关系不能全留给语言。 当理解依赖曲线、位置、层级、顺序或精确映射时,使用最小 ASCII 图或表格降低脑内负担,并马上用一个具体载体把表示法运行一次。图表没有后续结果,只是另一种摘要;不需要空间关系的书不要硬加图。
- 提炼路径不能变成交付栏目。 结构、洞见、模型、矛盾和书名解释都可能通向作者的精神内核,却没有哪一类必须出现在成品里。把候选路径列成固定清单,会让读者看到分析表格,而不是作者最后真正想说的那件事。
三重成品合同:这本书可辨认,认识变化可经历,解释能够重建
成品同时兑现三个独立承诺:
- 整书身份。 只读成品的人能说出这是什么形态的书,字面上跟着谁、什么对象或什么问题展开,从哪里走到哪里,哪些主线不可省,以及它们为什么被写在一起。
- 认识更新。 同一个读者进入具体处境,形成自然理解,亲眼看见它为什么不够,再用书中新增的关系重新看原来的事情。
- 解释可重建。 若全书存在生成多个转折的函数、机制、过程、人物链或贯穿矛盾,读者能用它推出至少两个远距转折、预测一个相邻情况并指出失效边界。没有单一生成器的书明确说明,不用公式或图形伪造完整性。
任一边失败都不能交付。只有整书身份,会得到准确却费力的摘要;只有认识更新,会得到一篇流畅但可以移植到许多书上的主题文章;生成器不可见时,案例再顺也仍需读者自己完成最难的归纳。
开头仍然可以直接进入场景,不必先说“本书讨论……”。但最迟读完前两个一级标题,陌生读者应当已经知道主要对象或问题正在怎样运动,以及还有哪条不可省的线与它相连。这个前台下限负责定向,后面的认识路径负责带读者真正走进去。
认识更新合同:一条认识发生改变的路
一篇成品应当让读者得到以下体验:
- 开头是一个能进入的具体处境、选择、困惑或人物时刻,不是“这本书讨论什么”。
- 解释出现前,读者已经形成一种自然的理解、期待、选择或疑问;不要预先宣布它错了。
- 书中的事实、事件、结果或人物遭遇,具体地说明原理解哪里不够。
- 每次只加入解决当前缺口所必需的一条关系、条件或区分。
- 新概念出现时,读者已经知道为什么需要它;出现以后,马上看见它改变了什么。
- 前一个结果自然提出下一个问题。正文靠事情和证据推进,不靠“接下来介绍”。
- 反例不是口头罗列,而是让旧理解在相邻条件下真正失效,或让两个相近情况得到不同结果。
- 每次必要转折结束时,读者能不用术语说回“刚才什么认识被改变了”。
- 结尾回到开头的问题,不再加入新概念;读者现在会看见、询问或行动得不一样。
场景不必都是故事。分析书可以让读者重做一次判断;技术书可以运行一个最小模型;方法书可以让旧做法与新做法各得到一次结果;历史书可以让同一个问题进入不同条件;传记可以跟着选择和后果改变一个人;文学和哲学可以让一个困境逐渐显出无法消掉的部分。共同标准只有一个:读者亲自经历了理解的改变,而不是只听人概括。
收束小节:读完后留下什么
正文完成返程以后,以一级标题「读完后留下什么」追加一个短小收束。它不再推进叙事,只回答一个问题:如果作者走完全书,只能让读者真正明白一件事,那是什么?
后台可以从结构、洞见、模型、贯穿矛盾、反复意象或书名中寻找答案。它们只是入口:哪一条最接近作者的精神内核,就沿哪一条压缩;不把这些词写成栏目,也不为了显得完整而凑齐。
可见成品只有一段极直白的话。它通常用一到四句说清作者究竟在纠正哪种自然误解、重新连上哪层关系,或坚持保留哪个无法消掉的矛盾。若书名本身承载了这层关系,就自然回答「为什么叫这个名字」;书名只是题材标签时,不强行解释。
这段话必须从正文至少两个相隔较远的转折共同长出来,不能只重述最后一节。它不列清单,不加入新术语、新事实和行动建议,也不概括章节。删掉书名和专名后,若仍只是「要系统思考」「类比很重要」「人应该成长」一类万能话,说明还没有碰到精神内核。
整书与转折
后台先锁定整书身份:书的形态、字面对象、起点—变化—终点、不可省略的主线,以及这些主线为什么属于同一本书。随后才寻找全书反复处理的困惑或张力,用它筛掉无关材料。困惑是读者行走的扶手,不是整本书的替身。
正文只保留理解主干所需的转折,但每次删除都要同时问两件事:理解路径是否仍然连续,读者是否仍能辨认这本书。前一个结果能自然提出下一个问题时才继续;同一个扶手还能承载,就不要换。必须换人物、年代、对象或场景时,要让前一段说明为什么原来的载体已经不够。
“完整拆书”说明证据覆盖整本书,不要求正文展示所有候选部件。正文没有预设字数、篇幅目标或上限:作者的关键转折需要多少步,就写足多少步。篇幅变长时用标题、留白、回扣与具体场景降低负担;只有材料不足或用户明确缩小范围时才缩写,不能为了短而把过程压成锚点、名词或结论清单。
前台的基本单位不是“一个案例”,而是“一次理解为什么必须改变”。新对象、新年代或新学科只有在上一段已经暴露当前扶手的不足时进入;进入以后要让读者看见它解决了什么,又留下什么问题。段落之间靠未解决的问题和认识变化连接,不靠“另一个例子”“此外”“书中还谈到”串联。
写作声音
- 先写人、物、选择、事件和结果,再写关系和术语。
- 一小段只让读者多理解一件事;通常一到三句,长句拆开。
- 允许有意重复同一个普通说法,再逐步增加变化。重复能让读者保住眼前的问题。
- 用问句保留真正的未知。不要为了制造互动而提问,下一句却塞入整套答案。
- “这就是……”“也就是说……”只在确实需要命名时使用;不要把它们写成每段固定收尾。
- 可以让“我”或人物犯错、迟疑、重做;不要站在高处诊断“人们总是怎样”。
- 先让正文负责听懂,最后才允许一句警句负责记住。警句不能替代中间过程。
- 边界用对象自身收住。例如:“纸条看得见连接怎样改变受力,却算不出钢梁能承受多少吨;真正计算还要加入截面、缺陷和载荷。”不要改写成“本轮未核”“不是书中案例”或“不能替工程结论作证”。
- 朗读时,若一句话像在向审稿人交代资料、核验过程或责任,把它移回 coverage;正文只留下人、物、事件、结果和接下来必须加入的条件。
- 标题写读者正在面对的问题、动作或结果,不写后台步骤。
- 「读完后留下什么」是唯一允许固定命名的一级标题;其中只写一个自然段,不列项目。极直白不是把全书降成口号,而是把已经走过的复杂关系说到不能再少。
证据与材料门
完整材料仍需在后台覆盖:作者为什么处理这个问题、最初处境或基本区分怎样建立、什么使旧理解不够、作者怎样改写、结论停在哪里,并保留至少 5 个候选部件与删除测试。复杂或篇幅大的书按实际转折继续增加,不设上限。
coverage 中先回答“材料能否支撑认识更新路径”。若答案为否,不能把“场景化”当成必须完成的修辞任务:继续找原文,或把输出明确缩成证据允许的局部理解。文学、哲学和叙事作品尤其如此;没有书内时刻,就没有资格替人物补动作、感受或反馈。
交付门:先整书识别,再认识更新
交付前做一次成品限定的复述:评估者只读最终正文,不看 coverage、原书、写作者分析或预期答案。先回答四个整书识别问题:
- 这是什么样的一本书?不要只给“成长、自由、未知、选择”一类主题词。
- 书里实际跟着谁、什么对象或什么问题走了一遍?起点、主要变化与终点是什么?
- 哪些主线不可省?它们为什么被写在同一本书里?
- 结尾实际发生或形成了什么?什么得到解释,什么仍然未知或没有被解决?
任一题只能给出可迁移到许多书的抽象回答,整书身份门就没有通过。回到最早把具体对象降成“例子”、把另一条主线降成“证据”或用主题替换字面路径的地方重写。
四问通过后,再检查认识更新路径:
- 开头让我进入了什么具体处境、困惑或人物时刻?
- 我一开始最自然会怎样理解?
- 哪个事实、事件或结果让这种理解不够用了?
- 新加入的关系补上或照亮了什么,它让原来的事情怎样改变?
- 每次换场时,我能否指出上一段留下的哪个问题逼出了下一段,而不是只说“作者又举了一个例子”?
- 若交换任意两个相邻一级标题,我能否指出理解会在哪里断裂?若交换后几乎无损,正文仍是可换序的摘录拼盘。
- 不使用书中术语,我能否说回这本书改变了什么?
- 结尾回到开头以后,我现在会怎样重新看那件事?
- 哪一句让我突然看见讲解者、旧稿、核验过程或免责声明?
前八题任一题只能复述抽象结论,或无法说明段落次序为什么不可交换,说明讲解仍在场外;第九题若能指出一句,说明后台泄漏。回到最早失去问题、跳过证据、突然换场或跳出现场的地方重写,不靠增加定义、过渡词或免责句补救。整书四问与认识九问互不代替,任何一门失败都不交付。
最后单独读「读完后留下什么」:不用术语,能否说清作者最终想纠正什么、重新连接什么或保留什么?coverage 能否指出正文中至少两个相隔较远的转折共同托住它?若书名承重,它是否顺手解释了书名;若书名不承重,是否避免硬解?删掉书名后若只剩万能金句,或这里第一次出现新概念、新证据和新建议,就重写。
Quick Reference
- 读全书是为了取舍,不是为了把全部内容压进正文。
- 先锁定整书身份,再选择贯穿困惑;扶手不能替换字面对象和不可省略的主线。
- 先让读者进入具体处境,形成一种自然理解。
- 让事实、事件或结果暴露缺口,再加入刚好够用的新关系。
- 扶手可以是对象、问题、张力、人物、关系或因果链,不要强迫所有书使用同一种形式。
- 每次转折都要由上一段留下的问题生出来。
- 没有字数目标或篇幅上限;清楚走完作者的关键转折以后才停。
- 材料不够就停,不用泛化场景冒充原书现场。
- 证据身份进 coverage;正文用对象的能力边界自然收住,不写免责句。
- 返程后用「读完后留下什么」收束成一个自然段:作者最后只想让读者真正明白什么。书名承重就回答书名,不承重就不强求。
- validator 负责结构;真实 Emacs 负责 Denote、consult-notes 与 Org lint;陌生读者复述负责易读。
Examples
例一:分析书让读者重做判断
不要这样写:
四句话构成一段规范性论证。前三句说明风险存在,第四句转向政策选择,其中隐含效果假设与代价假设。
可以让读者亲手走一次:
群里转来四句话。前三句都在说开车看手机有多危险,最后一句说:所以处罚应该更重。你的手已经准备点赞了。
先把最后一句遮住。前三句能证明什么?只能证明问题严重。现在把最后一句放回来:更重的处罚一定更有效吗?这份材料没有说。刚才那一下点头,把“问题很严重”当成了“这个办法很有效”。理由和结论之间缺的,正是这一步。
再换一条证据进来:如果相近地区提高处罚后事故没有下降,你还会点头吗?同一句结论,现在开始等一种更具体的证据。批判性提问不是先反对,而是知道哪一步还没有被证明。
这里没有把整套证据分类一次讲完。读者先自然地点头,再亲眼看见这个判断缺了什么;新关系在需要它的时候出现,并把下一种证据带进来。
例二:混合书型保住两条真实主线
一本书把某种动物的迁徙史与一个家庭的回忆交替书写。开头可以先进入一次共同观察或捕捉,但成品不能迅速把动物和家人都降成“归属感”的例子。读者最迟到第二个标题,应当已经知道动物实际走过怎样的生命路线、家庭关系怎样变化,以及两条线为何在“从哪里来、怎样回去”上相遇。随后才让这个共同问题继续改变理解。
Completion
- 后台 coverage 记录真实材料、支持边界与“能否支撑认识更新路径”。
- 完整拆书填完整书身份门;正文出现 coverage 声明的全部来源特定锚点。完整拆书至少 3 个,按真实叙事需要增加,不设上限;初拆或假设版至少 1 个材料真正支持的锚点。
- 完整拆书仍有四类全书证据、至少 5 个候选部件和反证;复杂书按真实转折增加候选,不设上限。
- 成品能逐句指出:具体处境、自然理解、使它不够的事实、新加入的关系、改变后的回看与下一问。
- 成品声明存在生成器时,输入或起点、结果方向、远距转折与失效边界一致;正式模型没有悄悄更换坐标、单位或好坏方向。
- 前台载体是 coverage 候选的最小子集;每个载体都有唯一职责,并能复述设置、结果、改变的关系与下一问。
- coverage 声明需要视觉表示时,成品只有一个不超过 80 显示列的最小图块,且图后立即由已声明载体运行;声明不需要时不为形式硬加图。
- 扶手与书型匹配,没有为了满足模板而制造猜测、即时结果或同一对象重跑。
- 没有用场景摘要、概念清单或漂亮警句替代运行过程。
- 薄材料没有被虚构成完整现场。
- 正文没有讲解者、旧稿、本轮核验、未核或“不能替……作证”等后台语言;必要边界仍由对象能回答什么、还需什么条件说清。
- 文件、frontmatter、
#+DESCRIPTION与 Denote identifier 完整,identifier 与文件名一致。 - validator 无 error;warning 已读回,不把机械通过当作易读证明。
- 用真实 Emacs 读回成品:
denote-retrieve-filename-identifier与文件名一致,denote-file-has-denoted-filename-p为真,文件出现在denote-directory-files与 consult-notes 中,并实际运行org-lint。保留真实 lint 结果,不把未执行或非阻断提示说成零问题。 - 成品限定的整书四问能恢复书的形态、字面路径、不可省略的主线、共同关系与结尾边界。
- 相邻一级标题不能任意换序;每次换场都能指出上一段尚未解决的问题,以及新一段使理解发生的具体变化。
- 整书四问通过后,认识更新九问仍能用日常话回答,且不会被摘句拼接、资料管理或免责声明拉出现场。
- 成品最后一个一级标题是「读完后留下什么」;下面只有一个极直白、精练的自然段,没有分类标签或清单。它由正文至少两个相隔较远的转折共同托住,书名承重时自然回答书名,没有新概念、新证据、行动建议或万能金句。
写入 Org 后运行:
bun {skill_dir}/scripts/validate_note.ts /absolute/path/to/note.org \
--coverage /absolute/path/to/coverage-map.md
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/lijigang/ljg-skills/ljg-book">View ljg-book on skillZs</a>