把报告编排成读者向文章:只重组排序起标题,不增删改内容。解决标题夸张、子标题冗长、逻辑弱,支持超长报告信息不丢
---
name: "report2article"
description: "把报告编排成读者向文章:只重组排序起标题,不增删改内容。解决标题夸张、子标题冗长、逻辑弱,支持超长报告信息不丢"
---
# Report to Article — 研究报告编排器
## 这个 skill 是什么
把一份**已完成的研究报告**编排成一篇**面向读者的文章**。
**定位:编排器,不是写手。** 你的工作是对报告里既有的信息做**重新组织、排序、串联、起标题**,让读者读得下去、读得懂、记得住。你**不创作内容**。
## 🔴 红线(最高优先级,违反即作废)
**不允许对研究报告的内容进行任何增、删、改。** 报告里每一个事实、数据、结论、判断、对象、链接,在文章里都必须**原义保留**。
| ✅ 允许(编排层) | ❌ 禁止(内容层,红线) |
|---|---|
| 重新排列章节/段落顺序 | 改写任何事实、数据、结论、判断 |
| 调整信息分组与归属 | 新增报告里没有的事实、观点、数据、推论 |
| 写**纯衔接**的过渡句/导读/小结 | 删除任何信息点、对象、数据、链接 |
| 重拟主标题、各级子标题 | 把报告的判断改强或改弱(如"可能"→"必然") |
| 把"四段式/罗列式"重排为叙事流 | "润色"导致语义偏移、信息丢失 |
| 提炼报告中已有的观点作为段落主线 | 加入个人新观点、外部新信息 |
**过渡句的边界**:衔接句只能起"导航/黏合"作用,**不得携带任何新信息**。
- ✅ "看完三大云厂的动作,再把视线移到模型厂商这边。"(纯导航)
- ❌ "看完三大云厂,可见云厂正在赢得这场战争。"("赢得战争"是新判断,越线)
**判定标准**:删掉你写的所有过渡句后,剩下的内容必须与原报告信息完全等价——不多一个事实,不少一个事实。
## 三个必须解决的问题
### ① 主标题夸张 → 客观、准确、清晰
**夸张词黑名单(主标题禁用)**:颠覆、革命、碾压、屠杀、战争、王炸、炸裂、重磅、震撼、史诗级、终极、神器、一文讲透、彻底搞懂、外科手术、深挖、精准遗忘、xx 之死、封神、天花板、降维打击、遥遥领先、吊打、秒杀、最强、最牛、逆天。
**三条标准**:①客观(陈述事实/主题,不煽动)②准确(每个词正文都有支撑,不夸大)③清晰(一眼看懂,优先「主题+范围/角度」结构)。完整对照见 `references/title-rules.md`。
**周报类标题**:保持「{主题}研究周报 · 第 N 期(日期区间)」客观格式即可,不要加夸张词。
### ② 子标题冗长生硬 → 精炼、自然、像路标
1. 中文子标题尽量 ≤16 字,硬上限 20 字。
2. 禁止把研究对象全名+括号注释直接当子标题。❌`Google Vertex AI Agent Engine + Agent Builder + ADK / Gemini Enterprise Agent Platform (Google Cloud)` ✅`Google:Vertex AI Agent 平台`
3. 禁止把整句结论塞进标题。❌`OpenAI Responses API + Agents SDK(含Swarm谱系演进、AgentKit)` ✅`OpenAI:从 Swarm 到 Agents SDK`
4. 句式自然,避免机械命名。❌`本组洞察(三大云厂格局变化)` ✅`三大云厂:格局正在怎么变`
5. 同级子标题句式风格统一。
> 改子标题属编排层(允许),但子标题对应的**正文内容一字不动**。
### ③ 逻辑性弱 → 重组为读者认知路径
报告是平行罗列,文章需要贯穿主线。**通用骨架**(完整模板见 `references/logic-skeleton.md`):①为什么值得读(导读,只用报告已有结论提炼)②是什么/发生了什么(主体)③怎么演变/什么关系(串联)④意味着什么(收束报告已有判断)。
**重组手法**:把「对象A四段式→对象B四段式」重排为按主题/冲突/时间线的叙事,信息分散但不丢失;四段式(动态/数据/链接/判断)融合为连贯段落+数据嵌入+链接保留,四类一个不少;用承上启下句做黏合。
> 报告较长时,重排必须走「超长报告强制处理协议」(见下文 + `references/long-report-protocol.md`):分块编排、分块落盘、逐块销账,保报告再长也不丢。
## 🔴 超长报告强制处理协议(强制要求,保信息不丢)
报告越长,信息丢失风险越高。两个失败模式必须用机械手段防住,不能靠“注意一下”:
- **输入截断**:报告太长塞不进一次处理,只读到前半段就动笔,后半段对象/数据静默丢失。
- **输出截断**:编排后的长文超单次输出上限(stopReason=length),文章写一半就断,尾部对象没了。
**强制分块流程(报告较长时必须走,详见 `references/long-report-protocol.md`):**
1. **先建全量对象清单(处理前)**:通读整份报告(太长则分段读全),先列出全部对象/数据点编号清单。这是“分母 N”,后面每块对照它销账。
2. **分块编排,不一次吞**:按逻辑章节分块处理,一次只编排一块。
3. **分块写盘抗输出截断**:每编排完一块立即用 write/append 落盘到输出文件,**不囤在上下文里等最后一次性吐整篇**。长文用多次 append,不用单次输出。
4. **逐块销账**:每处理完一块更新“已覆盖 X/N 对象”,缺哪块回去补哪块。
5. **末尾一致性复核**:全文落盘后,再跑一遍信息零丢失 5 维校验,报出 X==N。
> 本质:把“信息零丢失”从“凭一次性记忆保证”升级为“分块销账机械保证”——报告再长也不丢。
## 工作流程
1. 通读报告,列全部信息点清单(对象/事实/数据/结论/链接)作为校验基准(模板 `references/info-checklist-template.md`)。**报告较长时,本步必须分段读全、列出全量对象编号清单。**
2. 搭逻辑骨架,先列标题层级大纲。
3. 客观化主标题,过黑名单。
4. 精炼所有子标题。
5. 重排+写纯衔接过渡句,形成叙事流。**报告较长时,按上面「超长报告强制处理协议」分块编排 + 分块落盘,绝不一次性吞吐。**
6. 🔴 信息零丢失校验(见下)。
7. 三问自检:主标题过黑名单?子标题都 ≤20 字且自然?逻辑通顺?
## 🔴 信息零丢失强制校验(必过闸)
逐条比对清单与文章:①对象覆盖 ②事实/数据覆盖(数值一致)③结论/判断覆盖(强弱未变)④链接覆盖 ⑤零新增(文章无报告外的事实/观点)。**超长报告额外查:对象销账 X==N(列表总数=文章覆盖数,不得因分块/截断漏掉尾部对象)。** 任一条不过 → 打回,不得发布。交付时报出:"信息校验:N 对象 / M 数据点 / K 结论 / L 链接,全部对应 ✅"。
## 反例速查(一票否决)
主标题含黑名单词 / 子标题 >20 字或搬全名 / 文章出现报告外事实 / 漏掉对象数据链接 / 过渡句夹带新判断 → 均打回。
don't have the plugin yet? install it then click "run inline in claude" again.