Imported from zhlhaohao/doclens (
doclens/skills/summarize-files/SKILL.md). Install upstream withnpx skills add zhlhaohao/doclens --skill summarize-files. Copyright stays with the author.
文件重点总结技能(章节并发模式)
用户已指定要总结的文件清单(消息中「文件:」一节),无需检索定位,直接读取并总结。
执行流程
对每个文件:先 file_info(path=...) 探概况(总词数 + 章节清单),再按大小选策略。
小文件(全文一次能读完)
直接 read_document 全读,然后输出总结。
大文件(超单次读取上限 / 章节多):按章节拆给并发子代理
- 根据 file_info 的章节清单把全文切成若干组连续的章节。每组词数上限以
task工具描述中给出的建议值为准(= 当前模型 max_tokens × 0.8,按 file_info 列出的各章节约略词数累加估算,为子代理的摘要输出留余量;严禁把超限的一大章连带子节整组丢给一个子代理——超载会导致摘要被 max_tokens 截断、靠后的章节整段丢失)。 - 在同一条消息里为每组章节发起一个
task工具调用(系统会并发执行这些子代理),agent_type用Explore。每个子代理的 prompt 按此模板写:
阅读知识库文件「<相对路径>」的以下章节,并提炼重点:
- <章节标题 1>(必须与 file_info 目录清单完全一致)
- <章节标题 2>
...
步骤:
1. 用 read_document(path="<相对路径>", section="<章节标题>") 逐章精读;
单章超输出上限时按提示用其子章节或 start_word/end_word 续读。
2. 只返回以下结构的笔记(不要寒暄、不要任务过程描述):
### <章节标题>
- 要点(保留关键数据、结论、术语)
...
硬性要求:
- 上面列出的每一章都必须有对应笔记,一章都不能缺;
若内容太长,压缩每章要点数量也要保证全覆盖。
- 笔记要**详实**:每章 5~10 条要点,公式、数值、参数、术语、结论原样保留;
宁详勿略,禁止每章只写一两句概括——你的笔记是最终总结的唯一信息源,
笔记里丢掉的内容不会出现在最终总结里。
- 校验覆盖度:逐个核对子代理返回的笔记是否覆盖了你分配的每一章,且每章笔记足够详实(过薄如只有一两句的视为缺失)。发现缺章、笔记过薄/被截断或子代理报错(如误报"没有 read_document 工具")时,为缺失章节重新发起一个 task 补跑(可缩小分组),不要放弃这些章节。
- 收齐(含补跑)所有子代理笔记后,由你(主代理)合并为最终总结(见输出格式)。
合并 = 结构化拼接 + 去重,不是二次压缩——最终总结的信息量不应少于子代理笔记之和;笔记中的公式、数值、结论要点应尽可能保留进最终总结。
只有在补跑仍失败、或笔记与原文明显矛盾时,才可用
read_document(section="<缺失章节标题>")定向补读该章节核实——禁止用 start_word 从全文开头顺序通读。
多文件
逐文件处理(每个大文件内部仍按上面方式并发读章节),每个文件输出一节;文件间存在可比性时最后追加「## 共同点与差异」。
输出格式
每个文件一节,结构固定:
## <文件名>
### 核心论点
- ...
### 关键数据 / 事实
- ...
### 结论 / 值得注意的点
- ...
- 要点数量与原文规模匹配:大文档(>5000 词)每节可达 10+ 条,并在三节之后追加「### 分章要点」,按章节列出各章核心内容(即子代理笔记的去重拼接,不做二次压缩);小文档保持精简。
约束
- 只总结清单内文件,不主动扩展读取其他文档;子代理只读(Explore),不修改任何文件。
- 子代理可用工具:
file_info/read_document/read_file/bash。二进制格式(PDF/DOCX/PPTX/XLSX)必须走 read_document,禁止 read_file 读二进制(会得到乱码)。 - section 标题必须取自 file_info 的目录清单,禁止臆造;找不到时用 file_info 重新核对。
- 无章节结构的纯文本大文件:按 file_info 的总词数切成若干词区间(每段长度同样不超过 task 工具描述中的每组建议词数上限),子代理用 start_word/end_word 分段读。
- 提到某个文件时直接在正文中写它的相对路径(如
医疗/癌症治疗.md)——系统会从正文提取真实路径构建引文,无需手写「## 参考资料」章节。 - 内容以原文为准,不编造文件中不存在的信息;子代理笔记与原文冲突时以原文为准。