使用手冊

第 01 期 · Agent 寫作 / 編輯技能

拿掉生成感, 把稿子改回你會說的話。

開源 agent 寫作技能 anti-vibe-writing 完整實戰手冊——中英雙軌去 AI 味規則、三種聲音模式、六種場景預設,安裝、模組總覽與真實改寫實例。

anti-vibe-writing 是一套給 AI agent 用的 Markdown 寫作規則,不是外掛程式,也不綁定任何平台。核心作法是抓出破折號、消費者顧問腔、過度分層的大綱這些機器寫作的痕跡,英文與中文分兩條規則各自處理,在不改原意的前提下把稿子改回一個人會打出來的樣子。這份手冊帶你安裝、看懂三種聲音模式與六種場景預設,並走一次真實的改寫實例。

weijt606/anti-vibe-writing
星標
—
分支
—
授權
—
資料截至
—
閱讀時間
9 分
更新日期
開啟原始報告
GitHub Stars
86
聲音模式
3
場景預設
6
授權條款
MIT

01這到底是什麼

不是潤飾外掛, 是給 agent 的編輯規則。

用 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,因為翻譯腔、四字成語堆砌、「賦能/打通/閉環」這類顧問黑話,是中文獨有的痕跡,英文規則抓不到。

改寫本身分六道工序執行,一次只做一件事,而不是一次性的模糊重寫——這也是規則裡明講的立場:幾次窄範圍的編輯,比一次含糊的重寫更有效。

  1. 意圖與立場

  2. 結構與流暢

  3. 具體語言

  4. 節奏與溫度

  5. 格式清理

  6. 完整性檢查

目標只有一個:讓 AI 說話,倍兒地道。

— anti-vibe-writing README

02安裝

不用裝任何東西, 丟給 agent 一段連結就好。

整套規則就是 Markdown 檔案,沒有任何程式要編譯、沒有依賴套件。README 列了三種上手方式,從「完全不用先做任何事」到「長期讓 agent 照這套規則走」。

bash
# 不用先 clone,把倉庫連結貼給任何能上網或跑 git 的 agent
把 https://github.com/weijt606/anti-vibe-writing 發給 agent,
讓它自己讀 SKILL.md 和 references/,照著配置改寫你的稿子。

長期照這套規則走:裝進 Claude Code

如果你想讓 /anti-vibe-writing 變成常駐指令,clone 倉庫或只複製 skills/anti-vibe-writing/ 這個目錄,放進 Claude Code 的技能資料夾:

bash
git clone https://github.com/weijt606/anti-vibe-writing.git
mkdir -p ~/.claude/skills && cp -r anti-vibe-writing/skills/anti-vibe-writing ~/.claude/skills/

只想用一次:複製現成的提示詞區塊

不想裝也不想 clone,打開 skills/anti-vibe-writing/assets/rewrite-prompt-template.md——裡面有英文的 Full Rewrite / Light Cleanup 區塊,以及中文的「中文改寫(帶負向約束)」區塊,複製對應語言那段連同草稿一起發給任何 agent。

03模組總覽

每份參考檔案都對應一個判斷。

SKILL.md 本身只是入口,實際規則分散在 references/ 跟 assets/ 底下十幾份檔案。下表依「判斷 → 模式 → 改寫 → 把關」四個階段分組。多數情況只需要知道:先分英文/中文,再挑一個聲音模式,改完跑一次最終清單。

判斷 · 01

語言分軌

英文 / 中文雙軌

中文 AI 味與英文 AI 味是兩種不同問題,分別套用 patterns-to-remove.md 或 chinese-patterns-to-remove.md。

判斷 · 02

scenario-presets.md

場景硬約束

推特、微博/小紅書、部落格/公眾號、播客、專業報告、Reddit 六種場景,各自的長度、結構、emoji 政策寫死在這份文件裡。

模式 · 03

預設(乾淨模式)

安全基線

不用使用者聲明就會執行,去掉 AI 味、還原成專業保守的版本,適合多數產品與文件情境。

模式 · 04

人味兒質感模式

個人語氣

選擇性注入倒裝、語氣詞、殘句、非標準標點,靠「放鬆一點 / 像本人寫的」這類訊號觸發。

模式 · 05

隨手打子檔

手機手感

人味兒模式底下再鎖一層,只在使用者明確要求時開啟,絕不碰數字、名稱、連結,也不做會改義的錯字。

模式 · 06

學習模式

Host Profile

從使用者提供的真實樣本萃取一份可重複使用的風格檔案,讓之後的稿子讀起來像「那個人寫的」。

判斷 · 07

優先順序規則

衝突仲裁

Host profile 的禁忌詞 > 場景預設的格式約束 > Host profile 的聲音訊號 > 人味兒慣例,四層衝突時照這個順序決定。

改寫 · 08

human-passes.md

六道工序

意圖與立場、結構與流暢、具體語言、節奏與溫度、格式清理、完整性檢查——六個 pass 依序跑過一遍。

改寫 · 09

排版形式對照表

格式降噪

把滿屏加粗、每小段一個標題、提示框、分隔線這些 AI 排版習慣,換成一個人真的會打進訊息裡的樣子。

把關 · 10

final-pass-checklist.md

最後把關

改寫後逐條核對,並用一行 grep 指令抓破折號、刪節號、固定黑話這些完全確定的痕跡,最多修兩輪。

把關 · 11

標點痕跡清單

排版訊號

破折號(— ——)、英文彎引號、刪節號、句中的箭頭符號全部列入必查清單,Reddit 等論壇的 automod 已經把破折號密度當 AI 訊號。

不同任務,該用哪個組合?

你在寫什麼建議模式對應場景預設
公司文件、產品文案、技術備忘預設(乾淨模式)專業報告場景預設
創辦人筆記、個人部落格人味兒質感模式部落格 / 公眾號場景預設
系列社群貼文,聲音要一致學習模式 + 場景預設疊加依平台選對應場景預設
中文推特短貼,需要隨手感人味兒質感模式 + 隨手打子檔推特場景預設

04借鑑來源 · 官方致謝

每條規則, 都寫明從哪來。

anti-vibe-writing 的 README 有一段罕見的坦白:哪些 pattern 不是原創,而是研究了幾個開源 de-AI / humanizer 專案跟一篇文章後,改寫進自己結構裡的。原始分析與措辭歸原作者所有。這比大多數 skill 倉庫更誠實,也讓人能追到每條規則的第一手來源。

英文句子級痕跡,借自 30 條規則的 humanizer

回避系動詞、否定式排比、同義詞循環、假範圍、結構預告——這五個英文層的判斷依據,啟發自 blader/humanizer 這個 MIT 授權的 skill,原作收錄了 30 條 pattern。

來源 · README 參考與致謝 · blader/humanizer(MIT)

五維打分,借自 stop-slop 的檢測邏輯

final-pass-checklist.md 裡那套可選的五維打分(直接、節奏、信任、真人感、密度),來自 hardikpandya/stop-slop 這個 AI slop 檢測 skill。

來源 · README 參考與致謝 · hardikpandya/stop-slop(MIT)

中文「回避是」與同義詞循環,借自中文版 humanizer

op7418/Humanizer-zh 本身是 blader/humanizer 的中文改編,24 條 pattern。啟發了中文軌裡「迴避系動詞『是』」與「同義詞循環」這兩條判斷規則。

來源 · README 參考與致謝 · op7418/Humanizer-zh(MIT)

翻譯腔層,借自一篇中文翻譯腔拆解文章

用身體動作詞寫抽象概念、形容詞加冒號替讀者下判斷、抽象名詞當主語——這些翻譯腔的辨識方式,啟發自 yage.ai 一篇專門拆解「AI 中文翻譯腔」的文章,寫進了 chinese-patterns-to-remove.md。

來源 · README 參考與致謝 · yage.ai《AI 中文翻譯腔》

「改寫心態」一節,來自 X 上一則討論串

身分設定、負向約束這類去 AI 味的提示詞技巧,影響了規則裡「改寫時不當資深文案 / 營銷專家,換成朋友或公眾號編輯的口吻」這一節,以及中文改寫提示詞區塊。

來源 · README 參考與致謝 · X @dotey

05使用實例

看 agent 怎麼抓出一段生成感。

以下是倉庫 examples/09-sentence-tells-en.md 裡的真實範例,場景是一段產品落地頁文案,模式是預設的乾淨模式。這個例子刻意示範的是 1.3.0 版才加入的「句子級」痕跡——把明顯的顧問黑話都拿掉之後,還會留下來的那種更難察覺的生成感。

~/projects/landing-page · claude code · anti-vibe-writing v1.6.0


$ You ›
  幫我改一下這段落地頁文案,乾淨版就好:


# This isn't just another database. It's a rethink of how state
# lives in your app. Our engine serves as the source of truth. It
# boasts sub-millisecond reads and features automatic replication.
# The platform — the system — handles everything from caching to
# indexing to backups. We've now updated it to also support vector
# search. Let's dive into what that means.


# [loaded ~/.claude/skills/anti-vibe-writing/SKILL.md]
# [detected language: en → patterns-to-remove.md]
# [scenario: 落地頁文案 · mode: 預設(乾淨模式)]


claude: Claude ›
  跑 Pass 1、3、5 就夠了,這段不需要重組結構。


ok: Our database is the source of truth for your app's state. Reads
ok: are sub-millisecond, and replication is automatic. It handles
ok: caching, indexing, and backups.
ok: It also does vector search: store embeddings next to your rows
ok: and query both in one call.


# [final-pass-checklist.md — grep 破折號/刪節號/黑話 → 0 命中]


claude: Claude ›
  hl: 改了什麼(一個痕跡對一個修法):
  · 否定式排比 ——「這不只是…而是…」的開頭整段刪掉,直接從論點起頭
  · 回避系動詞 —— serves as / boasts / features 都換成 is / are / handles
  · 同義詞循環 —— engine / platform / system 統一叫「database」,只講一次
  · 假範圍 —— "everything from caching to indexing to backups" 拆成平白列舉
  · 破折號插入語 —— 「— the system —」整段拿掉
  · 結構預告 —— "Let's dive into what that means" 刪掉,下一句直接講意思

        

Clean is not the goal. Sounding like the person who meant it is the goal.

— anti-vibe-writing SKILL.md · Core Philosophy

這個例子為什麼值得看

改寫前的版本用四種說法稱呼同一個產品、迴避「is」三次、預告了一個從沒兌現的段落。改寫後的版本更短,反覆用同一個「database」也不覺得彆扭,把預告換成真正的解釋——把 embeddings 存在 row 旁邊,一次查詢兩者。去掉的不是文采,是拖延讀者理解的習慣動作。

06先看清楚這些

不是寫作工具。知道邊界再上路。

07進階路徑

把規則改成你自己的聲音。

整套規則就是 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——每個版本新增規則的完整記錄。

Several narrow editing passes work better than one vague rewrite.

— anti-vibe-writing SKILL.md · Core Philosophy