anti-vibe-writing 是一套給 AI agent 用的 Markdown 寫作規則,不是外掛程式,也不綁定任何平台。核心作法是抓出破折號、消費者顧問腔、過度分層的大綱這些機器寫作的痕跡,英文與中文分兩條規則各自處理,在不改原意的前提下把稿子改回一個人會打出來的樣子。這份手冊帶你安裝、看懂三種聲音模式與六種場景預設,並走一次真實的改寫實例。
用 Claude Code、Codex 這類 agent 起草的文字,常常有一種認得出來的「生成感」:模板開頭、消費者顧問腔、過度分層的大綱、看起來很平衡實則什麼都沒判斷的收尾,還有破折號、彎引號、刪節號這些排版痕跡。anti-vibe-writing 就是專門處理這件事的最後一道工序——不改稿子的意思,只去掉讓它讀起來像被系統組裝出來的習慣。
它本質上是一套 SKILL.md 加上 references/、assets/ 目錄的 Markdown 規則,不綁定特定 agent。Claude Code、Codex、Kimi,只要能讀檔案或接受一段指令,都能套用。規則把英文與中文的「AI 味」當成兩種不同問題處理:英文套 patterns-to-remove.md,中文套 chinese-patterns-to-remove.md,因為翻譯腔、四字成語堆砌、「賦能/打通/閉環」這類顧問黑話,是中文獨有的痕跡,英文規則抓不到。
改寫本身分六道工序執行,一次只做一件事,而不是一次性的模糊重寫——這也是規則裡明講的立場:幾次窄範圍的編輯,比一次含糊的重寫更有效。
整套規則就是 Markdown 檔案,沒有任何程式要編譯、沒有依賴套件。README 列了三種上手方式,從「完全不用先做任何事」到「長期讓 agent 照這套規則走」。
如果你想讓 /anti-vibe-writing 變成常駐指令,clone 倉庫或只複製 skills/anti-vibe-writing/ 這個目錄,放進 Claude Code 的技能資料夾:
不想裝也不想 clone,打開 skills/anti-vibe-writing/assets/rewrite-prompt-template.md——裡面有英文的 Full Rewrite / Light Cleanup 區塊,以及中文的「中文改寫(帶負向約束)」區塊,複製對應語言那段連同草稿一起發給任何 agent。
SKILL.md 和對應語言的 *patterns-to-remove.md 寫進 AGENTS.md、system prompt,或任何 agent 會讀取的知識庫位置即可,規則本身不綁定任何平台。
SKILL.md 本身只是入口,實際規則分散在 references/ 跟 assets/ 底下十幾份檔案。下表依「判斷 → 模式 → 改寫 → 把關」四個階段分組。多數情況只需要知道:先分英文/中文,再挑一個聲音模式,改完跑一次最終清單。
| 你在寫什麼 | 建議模式 | 對應場景預設 |
|---|---|---|
| 公司文件、產品文案、技術備忘 | 預設(乾淨模式) | 專業報告場景預設 |
| 創辦人筆記、個人部落格 | 人味兒質感模式 | 部落格 / 公眾號場景預設 |
| 系列社群貼文,聲音要一致 | 學習模式 + 場景預設疊加 | 依平台選對應場景預設 |
| 中文推特短貼,需要隨手感 | 人味兒質感模式 + 隨手打子檔 | 推特場景預設 |
anti-vibe-writing 的 README 有一段罕見的坦白:哪些 pattern 不是原創,而是研究了幾個開源 de-AI / humanizer 專案跟一篇文章後,改寫進自己結構裡的。原始分析與措辭歸原作者所有。這比大多數 skill 倉庫更誠實,也讓人能追到每條規則的第一手來源。
回避系動詞、否定式排比、同義詞循環、假範圍、結構預告——這五個英文層的判斷依據,啟發自 blader/humanizer 這個 MIT 授權的 skill,原作收錄了 30 條 pattern。
來源 · README 參考與致謝 · blader/humanizer(MIT)final-pass-checklist.md 裡那套可選的五維打分(直接、節奏、信任、真人感、密度),來自 hardikpandya/stop-slop 這個 AI slop 檢測 skill。
op7418/Humanizer-zh 本身是 blader/humanizer 的中文改編,24 條 pattern。啟發了中文軌裡「迴避系動詞『是』」與「同義詞循環」這兩條判斷規則。
來源 · README 參考與致謝 · op7418/Humanizer-zh(MIT)用身體動作詞寫抽象概念、形容詞加冒號替讀者下判斷、抽象名詞當主語——這些翻譯腔的辨識方式,啟發自 yage.ai 一篇專門拆解「AI 中文翻譯腔」的文章,寫進了 chinese-patterns-to-remove.md。
身分設定、負向約束這類去 AI 味的提示詞技巧,影響了規則裡「改寫時不當資深文案 / 營銷專家,換成朋友或公眾號編輯的口吻」這一節,以及中文改寫提示詞區塊。
來源 · README 參考與致謝 · X @dotey
以下是倉庫 examples/09-sentence-tells-en.md 裡的真實範例,場景是一段產品落地頁文案,模式是預設的乾淨模式。這個例子刻意示範的是 1.3.0 版才加入的「句子級」痕跡——把明顯的顧問黑話都拿掉之後,還會留下來的那種更難察覺的生成感。
改寫前的版本用四種說法稱呼同一個產品、迴避「is」三次、預告了一個從沒兌現的段落。改寫後的版本更短,反覆用同一個「database」也不覺得彆扭,把預告換成真正的解釋——把 embeddings 存在 row 旁邊,一次查詢兩者。去掉的不是文采,是拖延讀者理解的習慣動作。
SKILL.md 跟對應語言的 patterns-to-remove.md 都讀進去,規則就不會生效,結果會比預期鬆散。
patterns-to-remove.md 完全沒有對應規則;反過來,英文的「回避系動詞」判斷方式套用到中文句子上也會失準。
整套規則就是 Markdown,沒有需要編譯的東西。你可以直接打開 references/ 底下任何一份檔案改動,或依 CONTRIBUTING.md 的規範提 PR。
1. 用學習模式建自己的 host profile。貼幾段自己過去寫的東西,說「學我的風格」,agent 會依 learning-mode.md 跟 style-extraction-prompt.md 萃取一份可重複使用的 host-profile-template.md,之後每次改寫都對照這份檔案的句子節奏跟標點習慣。
2. 補一個場景預設。目前只有六種:推特、微博/小紅書、部落格/公眾號、播客、專業報告、Reddit。缺 LinkedIn 或 Discord 這類場景時,依 scenario-presets.md 現有格式加一段硬約束就是新場景。
3. 追一條規則的演化史。CHANGELOG.md 記錄了每個版本新增了什麼:1.2.0 加中文軌,1.3.0 加英文句子級痕跡,1.4.0 加隨手打子檔,1.5.0 加標點痕跡層,1.6.0 把最終清單升級成「自檢 → 定點改」的必跑步驟。想懂某條規則為什麼存在,先查它是哪個版本加的。
4. 接進非 Claude Code 的 agent。Codex 用 AGENTS.md,其他 agent 通常有 system prompt 或自訂指令的位置,把 SKILL.md 跟對應語言的 pattern 檔案貼進去就行,規則本身不綁平台。
5. 往上游讀真正的原始分析。這個 skill 借鑑的幾個專案(blader/humanizer、hardikpandya/stop-slop、op7418/Humanizer-zh)本身也是開源的,想理解某條判斷背後更完整的推導,直接讀原始倉庫比讀二手改編更準。
① SKILL.md——完整核心哲學、六道改寫工序、優先順序規則。
② references/scenario-presets.md——六種場景的具體硬約束與禁忌。
③ CHANGELOG.md——每個版本新增規則的完整記錄。