关于 style-harmonizer
style-harmonizer 是面向论文草稿的定点编辑技能,用于在结构检查通过后处理重复句式和生成器式文风。它只修改报告标出的文件,并要求保持事实与引用键不变。
主要功能
- 01定位并改写风格问题文件
- 02减少重复的计数式开头
- 03调整重复的衔接语与句子节奏
- 04保持事实和引用键不变
- 05通过复检追踪风格问题
适用场景
- 01多个章节反复使用相同开头
- 02草稿出现目录式叙述或模板表达
- 03统一章节节奏但不进行全文重写
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ willoscar/ research-units-pipeline-skills --skill style-harmonizer安装后在 Claude Code 中输入/style-harmonizer确认已加载。
附带文件scripts/run.py
详细介绍
风格统一器(去槽位编辑器)
触发条件与路由
- 触发词:style harmonizer、de-template stems、remove slot phrases、discourse stems、写作风格统一、去槽位句式、去生成器味。
- 适用场景:
writer-selfloop已通过,但output/WRITER_SELFLOOP_TODO.md标记了风格问题(例如,反复使用基于数量的开头),或草稿读起来像是许多章节都采用了相同的节奏。
目的:消除可能逃过结构检查的细微生成器腔调信号。
这项技能不是全面重写,而是有针对性的重写队列:
- 只修改
## Style Smells下标记的特定sections/*.md文件 - 保持事实和引用键不变
输入
必需:
output/WRITER_SELFLOOP_TODO.md(Style Smells 部分)- 所引用的
sections/*.md文件
可选(有助于确保改写不超出范围):
outline/writer_context_packs.jsonl(允许使用的引用 + opener_mode 提示)
输出
在 writer-selfloop 之后、opener-variator 和逻辑润色之前运行这轮定向处理。如果报告生成后发生了重大修改,请重新运行
writer-selfloop,让 ## Style Smells 反映当前文本。确定性脚本是认证适配器:如果最新报告仍列出已标记的文件,或报告生成时间早于任何 sections/*.md 文件,它就会拒绝创建标记。通过此技能或负责的上游写作者完成语义改写,重新运行 writer-selfloop,然后再次尝试运行适配器。通过后生成的标记会记录经认证的 Section 树 SHA256。
- 已更新的
sections/*.md文件(文件名不变;仍然只包含正文;不含标题) - 重新运行
writer-selfloop作为审查记录(Style Smells 应有所减少)。 - 完成后创建
sections/style_harmonized.refined.ok(空文件)(流水线契约信号;如果此单元标记为 DONE,则必须创建)。
角色卡(明确使用)
风格统一器(编辑)
任务:在保持含义不变的前提下,去除槽位短语和句式重复。
应做:
- 改写表层形式(开头/结尾/节奏),而不是论点
- 确保每段都包含实质内容(承接论证,而非指路)
- 优先进行小范围局部修改,而不是全局风格重构
避免:
- 添加新的事实论断或引用
- 将引用移至其他段落或子章节
- 改写证据不足的章节;应将其转交上游以补充证据
证据维护者(审慎者)
任务:避免风格修改演变为内容漂移。
应做:
- 每次改写后,抽查所有引用论断是否仍与原句一致
- 如果觉得必须添加新内容才能让文句听起来更好,请停止并转交上游
常见风格问题及修正方法
1)基于数量的开头槽位(两项局限……、三个要点……)
为何信号明显:它会产生可在各个 H3 标题下重复使用的句式槽位。
改写方法(任选其一):
- 将限定条件融入对比段落的最后一句:说明会改变解读的边界。
- 使用一句不带数量的限定条件作为开头,但在各个 H3 标题下轮换使用(避免重复相同的句式开头):“这些结果取决于……”/“解读有赖于……”/“证据不足的情况是……”/“需要注意的是……”(谨慎使用)。
- 如果确实需要列举,可隐藏数量:在一个句子中使用两个并列分句,或变换句式(不要在多个章节中重复)。
简短示例(仅供改写参考):
- 不佳:
Two limitations stand out. First, ... - 更佳:
这些结果取决于……;这很重要,因为它会改变结果在不同协议间的适用方式。
2)重复使用话语句式开头(关键在于……)
改写方法:
- 换成以下表达之一:“一项实际启示是……”、“一个要点是……”、“理解这些结果的一种有效方式是……”。
- 改变节奏:先用一个简短句子陈述论点,再用后续句子说明条件或原因。
3)多个 H3 标题下的开篇节奏雷同
改写方法:
- 为本节切换开篇模式(张力优先/决策优先/协议优先/对比优先)。
- 将泛泛的连接词(Additionally/Moreover)换成承载具体内容的转折语(“在协议层面,……”/“在预算受限的情况下,……”)。
4)概述/叙述式开篇(“本节概述……”)
为什么这是强烈信号:读起来像自动生成的目录说明,而不是论文论证。
改写方法:
- 用承载具体内容的视角替代“概述”式叙述:张力/决策/失效/协议/对比。
- 让首句具备可证伪性:点明约束及其重要性(而不是说明你接下来要做什么)。
简短示例(仅作意译):
- 不佳:
This section provides an overview of tool interfaces for agents. - 更佳:
Tool interfaces define what actions are executable; interface contracts therefore determine which evaluation claims transfer across environments.
5)段落反复以连接副词开头(Moreover、In addition、Therefore、Overall、As a result)
为什么这是强烈信号:即使内容扎实,文章读起来也会像是机械拼接起来的(每段都以相同的连接词开头)。
改写方法:
- 保留逻辑关系,但把连接词移到句中:先以主语开头(例如,“工具目录还……”),再在句中补充关系(“……,进而……”)。
- 使用从句结构,而非以副词开头:“虽然……,……”/“尽管……,……”/“因为……,……”。
- 总结时,不要默认使用“Overall,”作为标签;直接用陈述句表达结论。
简短示例(仅作意译):
- 明显问题:“Moreover, ...”(在多段中反复出现)
- 更佳:以内容名词短语开头(“一项影响是……”/“一项实际约束是……”),再在句中表达关系。
6)内部简写混入论文语体(将“token(s)”用作协议名词)
为什么这是强烈信号:在 NLP 语境之外(如 token 预算/上下文窗口),“token”看起来像内部简写。在这个流程中,它通常源自数据包/架构,并被直接复制到正文中,让草稿显得像中间产物。
改写方法:
- 将“X tokens”替换为面向读者的名词:“X 项协议细节/假设/字段/参数/维度”。
- 如果确实指大模型 token,则使用具体数字(例如,“60k-token 的上下文窗口”、“token 预算”);避免将“token”泛指协议元数据。
- 避免使用“三个 token:……”这样的占位表达;可以(a)直接陈述结论,或(b)使用“三个报告字段”,并自然地融入句中。
简短示例(仅作意译):
- 不佳:
Overall, self-improvement should be reported as a protocol with three explicit tokens: the feedback channel, the update rule, and the accounting rule. - 更佳:
Self-improvement results are easiest to compare when papers make three reporting fields explicit: the feedback channel, the update rule, and the accounting assumptions.
工作流(精简版)
1)阅读 output/WRITER_SELFLOOP_TODO.md
- 找到
## Style Smells和文件列表。
2)仅改写被标记的文件
- 优先修复导致节奏问题的上游写作技能,而非依赖局部正则清理。
- 如果仍需局部改写,请小幅调整:开篇/结尾句式、句子结构、连接词变化。
- 二选一改写(推荐):对你改动的每个段落拟写 2 种替代表达,并保留符合以下条件的版本:(a)去掉固定句式;(b)不会在多个 H3 标题下造成新的重复节奏。
- 如有需要,可查阅
outline/writer_context_packs.jsonl中的opener_mode提示,并确保改写不超出引文适用范围。 - 不要改动引文键。
3)重新运行 writer-selfloop
- 预期:PASS 仍为 PASS。
- 预期:Style Smells 部分会缩短(或消失)。
完成检查清单
- 同一槽位短语不会在多个 H3 标题中重复出现(尤其是基于数量的开头)。
- 未添加、删除或移动任何引文键。
-
writer-selfloop仍报告 PASS,且 Style Smells 数量有所减少。
脚本
快速开始
uv run python .codex/skills/style-harmonizer/scripts/run.py --workspace <workspace>
所有选项
--workspace <dir>(必填)--unit-id <U###>--inputs <semicolon-separated>--outputs <semicolon-separated>--checkpoint <C#>
示例
- 在调查工作区中统一风格:
uv run python .codex/skills/style-harmonizer/scripts/run.py --workspace workspaces/survey-llm-agents