关于 no-slop
No-Slop 是用于起草、改写和审查文字的 Skill,先检查来源忠实度,再审视文风,通过引文核验和风格评估发现通用化表达并指导修改。
主要功能
- 01写作与审查模式
- 02引文及归属核验
- 03机械扫描文风问题
- 04九个维度的文风评估
- 05修改后的复核流程
适用场景
- 01按风格约束起草文字
- 02核查草稿中的引文和归属
- 03发现文字中的通用化表达
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ soheilmomeniii/ no-slop --skill no-slop安装后在 Claude Code 中输入/no-slop确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEREADME.mdevals/evals.jsonevals/inputs/academic-register-input.mdaudit-quote-defects-draft.mdaudit-quote-defects-sources.mddeslop-fiction-scene-input.mddeslop-launch-post-input.mdelided-quote-draft.mdelided-quote-sources-memo.mdelided-quote-sources-talk.mdnever-inject-trap-input.mdover-correction-trap-input.mdquoted-examples-input.mdscope-boundary-input.mdshort-form-thread-notes.mdwrite-clean-essay-notes.mdreferences/fidelity-gate.mdtaste-gate.mdscripts/slop_check.pytests/test_slop_check.py详细介绍
No-Slop:写得干净,审得狠
两种失败模式会毁掉一篇文字。它可能是虚假的(从未被说过的引语、把借来的观点声称为原创),也可能是Slop(泛泛的 AI 质感,没人读完,没人信任,也没人分享)。本技能以固定顺序同时防范这两者:先忠实,后品味。当打磨与真实性相冲突时,忠实优先。可分享的谎言仍是谎言。可以打磨表达的角度,绝不动事实。
两种模式
- 写作模式:起草或改写。从第一句起就套用下方的风格规则,而不是当作事后清理步骤;先写成 Slop、再擦洗的散文,骨架里仍是 Slop。交付前,对自己的草稿跑两道关卡,修掉不合格之处。
- 审校模式:用户交给你一份草稿。先跑 Gate 1,再跑 Gate 2,返回审校报告(格式见下)。被要求时执行机械性修正;把需要判断的地方(无法核实但大概率真实的引语)标出来交给用户,用户往往最了解来源。
本技能管的是质感与真实性,不管声音,可与任何声音类技能叠加使用。有一条优先级规则:标点禁令即使在声音类技能下也依然生效,除非用户明确选择豁免。
风格规则(始终生效)
禁止:零容忍
一个破绽也许能混过审阅;三个就会让整篇被打上"生成"的标签。不要写:
- 破折号或双连字符分隔,任何形式都算(改用句号、冒号、逗号、括号)
- "In today's rapidly evolving landscape..." 及其所有变体
- "This chapter/article/post explores..."
- "It is important to note..." / "It's worth noting..." / "We're excited to announce..."
- "not X, but Y" 句式,及其顿挫变体 "Not X. It is Y."
- 以 "That is..." 开句;"By understanding X, readers can..."
- 模糊限定:
arguably、in many ways、to some extent、one could argue - 收尾标记:
In short、Ultimately、At the end of the day、In conclusion - 填充词:
delve、leverage(动词)、unpack、seamless、game-changer、deep dive、empower、elevate、supercharge、unleash - 仅在其填充框架下才算填充词,字面用法没问题:
unlock the potential(不是开门)、robust framework(不是稳健标准误)、the learning journey(不是回家之旅)、harness the power of(不是利用急流的能量)。把字面用法也砍掉,正是本技能要防止的过度矫正 - 套路性修饰:
a testament to、plays a crucial role以及该位置上的所有形容词、navigate the complexities、in an era of、in a world where、whether you're a...、it's no secret、look no further、let's dive in、treasure trove、a beacon of、tapestry of、in the realm of - 作为填充的表演式坦率:
let's be honest、let's be real、let's face it、real talk、here's the thing、here's the kicker、here's the catch(这些同样是注入失败;见改写约束)。let us be clear属正式语体,不在此列 - 完全对称的章节;每节之后都来一段泛泛的总结
- 背后没有引语或案例支撑的伪深刻抽象;战略幻灯片式措辞
当你感到想把话抹平、化解或总结的冲动时,那是本能在说话,不是读者的需要。references/taste-gate.md 解释了每种压力为何存在,这正是让你能抓到清单未列出的破绽的原因。
叙事破绽(虚构与故事驱动的散文)
循环使用的情感编排(breath catching、jaw clenching、heart hammering);直接点明情绪("她感到一阵决心涌上心头"),而不是写出情绪催生的动作;整洁总结式结尾("第一次,我明白了……"),而不是以动作或意象收尾;情感偏移(阴暗场景镶上银边,张力在引出它的那段里就被化解);每个场景都盖同一个弧线印章;扎堆的隐喻(重量、光、溺水);零潜台词。扫描器能抓到前三种;其余需要判断。
优先
- 简短的主张
- 以一手来源为主的章节
- 具体的后果:点名市场、数字、人物
- 案例先于抽象
- 直截了当的运营者式句子
- 更少的过渡
- 压缩而非解释
- 在现实本身模糊之处保持模糊
风格测试: 如果某一段落可能出现在一本通用的商业电子书中,就删掉或重写。 重复预算: 轮换示例,加入一个有启发性的失败案例,绝不让三个章节共用同一个骨架。
重写约束(约束你产出的内容)
Gate 1 审核交到你手上的草稿。以下规则约束你写下的文字,没有任何扫描器能强制执行它们,因为区别在于来源,而来源对模式而言是不可见的。
绝不注入。 以下任何内容都不得被添加进原本不含它的文本,即便结果扫描干净,每一条也都是失败:虚假的第一人称(如果原文没有“我”,重写文本就没有“我”);人为制造的利害关系(“如今比以往任何时候都更”);强行唱反调(凭空造一个对立面就是凭空造一个主张);表演式的坦诚(“说实话”“说真的”);断奏式改造(把普通句子剁碎以制造节奏);以及编造的具体细节——原文从未包含的数字、名称、日期、工具或机制。具体化是最诱人的修正手段,因为它总是读起来更好,而一个捏造的具体细节比它所替换的模糊措辞更糟。如果缺少具体细节,就留一个带标记的占位符([ADD: which study?])并标出这一空缺。绝不去填补它。
测试: 删减和锐化在范围内(删掉填充内容、把已有主张变得具体、把被埋没的要点挖出来)。添加立场、个性或事实则不在范围内。
不要过度纠正。 以最大严格度清洗会产出另一种指纹:残句、强行有力的结尾、把一句本有真实不确定性的句子里的每一个模糊限定词都剥掉。那读起来像 humanizer 的输出,而它自成一类垃圾。绝不连续写三句不超过五个词的句子(扫描器会标记三连)。保留作者主动选择的粗糙感,保留承载真实不确定性的模糊限定词,并保留场合所需的语域:学术文字保留有分寸的模糊限定,安全文本保留其绝对表述,法律文本保留其例外条款。你删的是填充内容,不是一种语言天然的冗余。这条规则调节你删减的力度;它绝不放松禁用清单。
Gate 1:来源忠实度审核
每当内容引用他人、将某个观点归于某人,或把某种方法呈现为某人的方法时,就运行此审核;仅当没有任何内容被归于他人时才跳过。提取每一处引文片段,对照引文库或实时一手来源逐条核实,并给出四种裁定之一:VERBATIM、CLOSE-PARAPHRASE、UNVERIFIED 或 MISATTRIBUTED。以对抗方式进行:设法抓住草稿在撒谎。阅读 references/fidelity-gate.md 了解完整流程、真实审核中发现的陷阱(捏造式融合、无声的转述漂移、机械式误报)以及更正日志格式。标准用一句话说:如果你指不出某句引文来自何处,它就还不是引文。
python scripts/slop_check.py quotes <draft.md> --corpus <sources-file-or-dir>
关卡 2:品味审计
先运行机械扫描,然后从 1 到 5 分对九个维度打分:来源密度、第一人称口吻、案例佐证、原创性、AI 味(反向计分)、节奏变化、可分享性、实用性、公共物品感。阅读 references/taste-gate.md 了解评分卡锚点、各内容类型的评分单位,以及必须的修正项。绝不要为了更顺的句子而牺牲关卡 1 的某个事实。
python scripts/slop_check.py tics <draft.md>
扫描在匹配前会清空围栏代码、行内代码、块引用和引号内的片段,因此草稿可以有意引用糟糕的写法而不触发扫描。传入 --include-quoted 可同时扫描引号内部。有两个例外是刻意为之的。聊天界面残留物(citeturn、utm_source=chatgpt.com、[Your Name])在引号内同样会触发,因为它证明这段引用是未经阅读就被粘贴的,并且它会被标记为 (P0):优先修复它,先于其他任何事项。而标记为 (1B) 的发现属于冗赘,而非关于文本如何产生的证据;单独报告它们,绝不要将它们计入 AI 质感。
发现会携带一个标记来说明其触发原因:无标记表示一眼即中,[tier 2] 表示同一段落中命中两处或更多,[tier 2, N/1000] 或 [tier 3, N/1000] 表示文档已饱和,rhythm uniformity 表示句长变化崩塌。词汇是这组信号中最弱的,而节奏是最强的,因此报告应据此加权。references/taste-gate.md 中有完整的键。
验证循环(两种模式)
对你输出的所有内容重新运行扫描,而不仅仅是对输入:改写后的文本,以及在审计模式下,报告本身。跳过这一步是常见的失败:生成修正的模型带有产生破绽的先验,因此一个被标记的"不是 X,而是 Y"会可靠地以"与其说是 X 不如说是 Y"回来,同一手法换了个马甲。修复并重新扫描,直到某次通过返回零命中。最多四次通过。 如果某个模式在四次后仍存活,从头重写那个句子,从其赤裸的主张出发:这个句子是为了表达什么事实或观点?报告经过了几次通过。
审计报告格式(审计模式输出)
# No-Slop Audit: <piece name>
## Summary
- Quotes checked: N (VERBATIM x / CLOSE-PARAPHRASE y / UNVERIFIED z / MISATTRIBUTED w)
- Tic scan: N hits, clean after P verify passes | Taste: lowest dimensions named
- Verdict: SHIP / FIX THEN SHIP / REWRITE
## Gate 1: correction log (table per references/fidelity-gate.md)
## Gate 2: tic scan (file:line | matched text in backticks | replacement)
## Gate 2: taste scorecard (9 rows, scored, one line of evidence each)
## Required fixes (numbered, most damaging first)
以汇总计数开头。在撰写模式下,报告缩减为每个关卡一行,确认检查已干净运行,再加上你不得不修复的任何内容。
报告是你产出的散文,因此风格规则同样约束它。 这是最快让审计失去可信度的失败模式:一份报告花一整段删除用户的破折号,自己却用了四个。把你引用的每个匹配片段、禁用短语和破折号渲染在反引号内,扫描器会将其作为行内代码豁免,然后在交付前扫描报告。一份未能通过自身扫描的审计报告不可交付。评判标准在 references/taste-gate.md 中;使用它们,以便两位审计者得出相同的判定。