agentleFS
guzhou079-archguzhou079-arch/deepseek-harness-android/skills/dsh-write-craft/SKILL.md

dsh-write-craft

Skill79 starsChanged 13 days agoMITView on GitHub

写出来像人写的。两套工序:叙事(小说/故事/公众号/文案正文)与非虚构(汇报/总结/周报/方案/邮件/PPT 讲稿/公文)。立场是「不换词,换生成顺序」。含可跑的去 AI 味体检脚本(prose/biz 两套指纹 + 分点均匀度检测,报警器不当门禁)。

The file

Files
SKILL.md

写出来像人写的

0. 先把话说死:AI 味不在词上

本机实证(2026-10-11,同一篇推广文案两稿都翻车):

  • 第 1 稿 = 小标题 + 表格 + 排比 → 用户:「一眼 AI 写的」。
  • 第 2 稿 = 砍表格、破折号砍到 1 次、句长标准差做到 15、改第一人称口语 → 量化指标全绿,人还是一眼认出。根因是「先说结论」这类元话语。

⇒ 本技能禁止把"换同义词 / 砍破折号 / 删成语 / 换更口语的口气"当解法。 ⇒ 要改的是生成顺序:先定谁在说话 → 先写事实骨架 → 再挂到视角/读者身上 → 最后才落成句子。 ⇒ 任何词表只是报警器。删掉「先说结论」不等于去了 AI 味(见第 9 节)。

参照系(外部实测,2026-10-15 CSDN 8 轮中文写作横评): Claude Opus 5.5 赢在换掉整个说话方式,Opus 4.6 只是换语气(所以"文笔最好但最不像网文"), GPT-6 Sol 只是换词(所以八轮永远 B+)。要靠近的不是词,是顺序。

两种文体的 AI 味是两种病,别开错药:

叙事(甲篇)非虚构(乙篇)
典型症状抽象总结句、情绪直给、段段升华黑话(赋能/抓手/闭环)、分点长度齐平、结尾喊口号
病根全知视角顺手解释没证据还要把话说满
主刀S2 限知 + S3 从物件写B1 证据骨架 + B3 长度故意不均

甲篇 · 叙事(小说 / 故事 / 文案正文)

S0 定音(落笔前先写这四行,缺一不写)

谁在讲:      身份 / 年代 / 识字程度 / 他对笔下人的态度
限知到谁:    这个人此刻不知道什么(列 3 条,防全知漏题)
语域:        白话?文白夹杂?方言词?句长基线(短促 / 绵长)
这场唯一的变化:谁要什么、被谁挡、最后变成什么(一句话)

S0 是整条工序里最值钱的一步。跳过它,后面全是白干。

S1 事实骨架(禁用形容词)

只写名词、动词、数字、动作,一行一件事。

  • ⛔ 不许出现:形容词、副词、心理词、比喻、总结句。
  • 这一列若读起来无聊 ⇒ 问题在冲突/情节,不在文笔。回 S0,别用文字去描补。
  • 这一列要留下来给人看。这是"生成方式"唯一能被检查的地方。

S2 视角落点

S1 的每条事实都要挂到具体人身上:他站在哪、手上在干什么、看见/听见了什么。

  • 视角外的信息只能从:人说出口 / 书信文书 / 物证 / 声音 / 别人转述 进来。
  • ⛔ 不许旁白直接交代(「原来……」「他不知道的是……」)。
  • 限知是去 AI 味最狠的一刀:AI 默认全知,而全知一定会顺手解释。

S3 从物件写

段首、开场,先落一个可触的东西 / 一个动作 / 一个数字,再谈事。

  • ⛔ 禁止开场:评论、总结、心情、天气、时间副词(片刻后 / 不久 / 随即 / 与此同时)。
  • ⛔ 禁止情绪直给(他很愤怒 / 心里一暖)→ 换成动作与身体: 「他把杯子放回桌上,放得很轻。」
  • 形容词只留能改变判断的那一个。

S4 声音分叉(对话即人设)

每个说话人给三样:句长、爱用的实词(谁总提钱/兵器/官名/吃食)、回避什么。

  • 验收法:遮住人名,看能不能认出是谁在说。认不出 = 这段废了。
  • 对话不承担解释任务:不许有人开口替作者交代背景。

S5 收尾不升华

段尾、章尾的最后一句,只能落在:动作 / 物件 / 一句没解释的事实。

  • ⛔ 不总结、不升华、不排比抒情。
  • 留白 ≠ 没写完:留下的必须是一个可追的问题。

网文附加三条(结构压文笔)

  1. 前 300 字必须有事发生。从睡醒、天气、回忆开篇,除非那件事本身就是事件。
  2. 每 800–1200 字要有一个变化(赢、输、得到、失去、关系变、认知翻面)。
  3. 章名与首句先想好,能承担第二层意思就赚(实测里 Opus 5.5 靠标题《abandon》赢下一轮)。

乙篇 · 非虚构(汇报 / 总结 / 周报 / 方案 / 邮件 / PPT 讲稿 / 公文)

总则:乙篇不许"写得好",只许"写清楚"。 读者的时间是成本,他要的是判断和动作,不是文采。

B0 定音(三行)

谁读:      他的位置、他已知什么、他最怕什么
要他做什么:读完后他要做的**一个**决定或动作(没有就说明这份东西不该写)
不许写什么:他不能看的(越权数据、别部门的名字、还没定的结论)

B1 证据骨架(没证据就写"没有")

先把数字 / 时间 / 事实 / 谁说的列出来,一行一条,再动笔。

  • ⛔ 绝不编数字。缺数据就写「这项没有数据」——这句比任何形容词都显得专业。
  • ⛔ 不写"显著提升""大幅优化""效果良好"这类没有量纲的评价。要么给数,要么给例子。
  • 每条结论后面必须能指到上面某一行的证据。指不到的,删掉。

B2 结论先行,但不许出现"先说结论"四个字

第一段直接给判断 + 依据,别做铺垫、别写"随着……的发展""近年来"。

  • ⛔ 元话语一律禁:先说结论 / 简单来说 / 值得一提的是 / 众所周知 / 不难看出 / 综上。
  • ⛔ 不解释"我为什么要写这个文档"。直接写内容。

B3 长度故意不均

重点段写长,过渡段一句话。分点条目绝不允许字数齐平——齐平是 AI 的第一指纹。

  • 反例(AI):三条各 28 字、各 28 字、各 27 字,句式还一样。
  • 正例(人):第一条 60 字(真正的问题在那),第二条 9 字「这块没动」,第三条 35 字。
  • 分点不超过 5 条;能写成一段就不分点;不要小标题套小标题。

B4 不替读者升华

末段只写:下一步谁做什么、什么时候、卡在哪。

  • ⛔ 禁止:未来可期 / 再上新台阶 / 行稳致远 / 携手共进 / 让我们一起 / 为……贡献力量。
  • ⛔ 禁止在结尾重复一遍开头(AI 特别爱"首尾呼应")。
  • ⛔ 汇报里不写感谢段、不写"以上,请领导指正"以外的客套(除非单位规矩必须有)。

黑话红线(除非那是对方的原话,否则一个都不许用)

赋能 · 抓手 · 闭环 · 打通 · 拉通 · 对齐 · 颗粒度 · 生态位 · 全链路 · 方法论 · 打法 · 矩阵 · 势能 · 心智 · 沉淀 · 复盘 · 反哺 · 顶层设计 · 协同 · 护城河 · 组合拳 · 蓄力 · 破局

这些词的问题不是"不好",是它们不承载信息:写了等于没写。要写就写"谁在什么时候做了什么"。

PPT 讲稿另加两条

  1. 一页一个判断。标题写成结论(「华东区回款慢了 11 天」),不写成话题(「华东区回款情况」)。
  2. 页面上的字能删就删,讲稿上补细节。别让观众读字,也别把讲稿原封不动印到页面上。

共用部分

8. 两条铁律(省得返工)

  • ⛔ 不替用户写他的第一人称亲历(「我每天用它……」)。既是假的,也骗不过认识他的人。
  • ✅ 用户自己有稿时:以他的原话为骨架,你只做删、挪、补具体物件/数字。 他要的是他自己的声音,不是你的。你会的那点"人味"永远只是另一个模板。

9. 机械体检(报警器,不是门禁)

CK="$DSH_HOME/skills/dsh-write-craft/scripts/ai-flavor-check.mjs"
node "$CK" 稿子.txt                      # 默认两套指纹都查
node "$CK" --mode biz 汇报.md             # 只查职场指纹(含分点均匀度)
node "$CK" --mode prose --last-block "/sdcard/authorapp/book/备份/第一章 xxx.txt"
cat 稿子.txt | node "$CK"                 # stdin 也行
node "$CK" --selftest                     # 自检:故意写满 AI 味的样本必须命中
node "$CK" --gate 稿子.txt                # 命中强指纹时退出码 3(默认只报警,不挡)

报什么:

  • 强指纹(报警):叙事套(元话语/升华尾/情绪直给/AI 套话/对偶拼接)、职场套(黑话/口号/元话语/首尾呼应)。
  • 客观数:字数段数、句长均值与标准差、对话占比、长句、段首是否判断句、末句是否升华、 分点条目长度变异系数(<15% = 可疑齐平)、小标题数、数字与单位密度。

校准锚点(本机实测,2026-10-16):用户手写的 2335 字叙事 → 强指纹 1 处、比喻词 0、句长标准差 16.2、对话占比 41.9%。人写的稿子大概长这样,拿它当参照。

怎么用:命中的逐条回看原文。没命中不代表没问题——黑名单证明不了内容正确, 判据永远是人回头看原文。样本 <300 字时,句长与占比数不可信。

10. 校对档位(别人贴稿给你时,按这个输出)

① 硬伤:事实、数字、时点、逻辑、权限(越权/不该写的)、人设崩、视角越界 ② 语病:病句、指代不明、标点、同句重复、口语残留 ③ AI 味:引原文 + 给可直接粘贴的替换句(写出该落的动作/数字), ⛔ 不许给"更生动些""要有画面感""可以更有感染力"这类形容词式建议

每档都要落到具体句子。说"整体不错"等于没说。

11. 自测(每次改完,或改完技能本身)

node "$DSH_HOME/skills/dsh-write-craft/scripts/ai-flavor-check.mjs" --selftest

--selftest 内置写满 AI 味的样本,必须命中(prose 与 biz 两套各一段)。 不命中就是脚本坏了,不是稿子干净了(防"仪器是盲的")。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.