一、用户令(逐字) 「humanizer(英文那份) 也要纳入」「重点就是做到说人话就行了」「但是 content_marketing_agent 的会话生成的文档并没有说人话,还是我手动要求的」 二、根因(两处,都不是"没整合") · **语气那一档只有指针、没有注入** ⇒ 实测没被读到(`SKILL.md` 必读表标题原写「三篇」而表里有 4 行, 第 4 项=作业规矩整包,被顶在"必读"之外;已订正为「四类」)。 · **写文档的执行会话那条链上一句写作口径都没有** —— 产品规划技能里「反 AI 味」只出现在**第③段界面** (且指的是界面不是文字),**第①段出文档那节零口径** ⇒ 产物自然是 AI 味。 三、改法 1. **每轮注入**(照排版那条现成机制,⛔ 不改 `main()`): · `04-去AI味与说话方式.md` 顶部加 `<!-- VOICE-CORE -->` 紧凑块(≈450 字符:核心原则/四种高频 AI 味/交付前三问); · `reply-style-guard.py` 里**原地重定义** `_core`(`_core_reply = _core` 后用新 `_core` 包住它并追加语气块) ⇒ 注入正文自动多一段,排版那条**不受影响**。 2. **产出侧补口径**:`product-planning` 第①段(stage-discovery)在 1b 表后新增「写作口径」块 —— 落笔前读 `humanizer-zh` 或本包 04,**定稿前过「交付前快速清单」**,并列出六种禁用 AI 味;**适用本段全部五份产出**。 3. **英文硬核版整包纳入**:原独立技能 `humanizer` **逐字**搬入本包 `references/humanizer-en/`(6 文件、 md5 逐个一致):55 个模式 + 5 种语气档 + 0–100 AI 痕迹打分 + `--file` 就地改; 在 `04 §9` 关系表与 `SKILL.md` 对应物段登记(冲突以本包会话场景版为先)。 四、验收 · 新增 `selftest.py::t_voice_core`(4 项);全量 **PASS 106 / FAIL 0**;manifest 70 → **76** 份、语法失败 0。 · 端到端喂真钩子:注入正文已含说人话块、排版块仍在。 · ⛔ 改的是钩子与技能目录(宿主直读)⇒ **不需要分发/重启**。
Humanizer
A standalone Claude Code skill that transforms AI-generated text into natural human writing. Drop it into any plugin. No dependencies, no MCP server, no configuration.
What it does
- Detects 55 AI writing patterns (P1-P55, based on Wikipedia's "Signs of AI Writing" + 2025-2026 community research + the wider humanizer ecosystem)
- Rewrites text to sound like a specific human wrote it
- Injects authentic voice using burstiness and perplexity principles
- Three modes: scan-only, full rewrite, in-place file editing
- 5 voice profiles: casual, professional, technical, warm, blunt
- Zero dependencies. Pure Markdown. Works in every editor that reads skill files.
Installation
As a standalone skill
mkdir -p ~/.claude/skills/humanizer
cp SKILL.md ~/.claude/skills/humanizer/
Inside a plugin
Copy SKILL.md into your plugin's skills/humanizer/ directory. Add to your plugin's skill registry if applicable.
Usage
# Full rewrite (default)
/humanizer "Your AI-sounding text goes here"
# Scan only: report patterns without changing text
/humanizer "text" --mode detect
# Score the AI-tell density (0-100, lower is more human)
/humanizer "text" --mode detect --score
# Edit a file in place
/humanizer --mode edit --file src/docs/README.md
# Specify voice
/humanizer "text" --voice casual
# Aggressive mode + iterate to convergence (max 3 passes)
/humanizer "text" --aggressive --iterate 3
# Layer purpose-specific rules on top of voice
/humanizer "text" --voice warm --purpose marketing
Voice options
| Voice | Best for |
|---|---|
casual |
Blog posts, social media, informal docs |
professional |
Business communication, formal docs |
technical |
API docs, READMEs, code comments |
warm |
Tutorials, onboarding, support content |
blunt |
Internal comms, reviews, direct feedback |
Purpose presets (--purpose)
Layered on top of voice. Add content-type rules without losing voice flavor.
| Purpose | Effect |
|---|---|
essay |
No contractions, formal headings, structured arguments |
email |
Greetings allowed, signoff allowed, no markdown |
marketing |
Short paragraphs, concrete benefits, one CTA at end |
technical |
Code blocks preserved, precise jargon retained |
general |
No purpose-specific overrides (default) |
Brand voice file
Drop a humanizer-context.md at the project root with your samples and banned phrases. Auto-loaded if present.
How it works
- Parse: Extracts text and flags from arguments
- Detect: Scans for 55 AI patterns across 6 categories (content, language, style, communication, filler, craft/forensic) + emerging 2026 patterns
- Inject: Applies voice profile, varies sentence length (burstiness), increases word unpredictability (perplexity)
- Verify: Checks output against detection patterns, sentence variance, and the "who wrote this?" test
- Output: Clean text with change summary
Pattern categories
| Category | Patterns | Examples |
|---|---|---|
| Content | P1-P8 | Significance inflation, notability name-dropping, -ing phrases, copula avoidance |
| Language & Style | P9-P18 | Negative parallelisms, em dash overuse, bold abuse, list syndrome |
| Communication | P19-P21 | Chatbot artifacts, disclaimers, sycophancy |
| Filler & Hedging | P22-P30 | Filler phrases, hedging, generic conclusions, uniform sentence length |
| Emerging (2026) | P31-P43 | Elegant variation, citeturn markup leaks, utm_source=chatgpt URLs, treadmill effect |
| Craft & Forensic | P44-P55 | False agency, diff-anchored writing, reasoning-chain artifacts, unicode obfuscation, argument residue |
Deep dives and provenance live in references/patterns.md; the core SKILL.md is standalone and does not require it.
Credits
Built from research across:
- Wikipedia: Signs of AI writing
- William Strunk Jr., The Elements of Style (1918)
- Community research from Reddit, HackerNews, and writing communities
License
MIT