/anti-vibe-writing
Use when the user wants to humanize, de-AI, polish, or warm up an AI-generated document, in English or Chinese. Good for social posts (X/Weibo/Jike/RedNote), Reddit and forum comments, blogs, podcast show notes, README cleanup, product docs, landing page copy, proposals, founder
$ npx -y skills add weijt606/anti-vibe-writing --skill anti-vibe-writing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/anti-vibe-writing
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user wants to humanize, de-AI, polish, or warm up an AI-generated document, in English or Chinese. Good for social posts (X/Weibo/Jike/RedNote), Reddit and forum comments, blogs, podcast show notes, README cleanup, product docs, landing page copy, proposals, founder
SKILL.md
anti-vibe-writing.SKILL.mdname: anti-vibe-writing
description: 'Use when the user wants to humanize, de-AI, polish, or warm up an AI-generated document, in English or Chinese. Good for social posts (X/Weibo/Jike/RedNote), Reddit and forum comments, blogs, podcast show notes, README cleanup, product docs, landing page copy, proposals, founder notes, and technical memos. Removes templated phrasing, consultant-speak, vague abstraction, emoji or icon headings, markdown templates, overly balanced tone, and the typographic tells that flag generated text (em-dashes `—`/`——`, smart quotes, the `…` character) while preserving meaning. Supports optional voice modes: human-texture (light irregularities) and learning mode (match a specific host''s style from samples).'
argument-hint: 'Paste the draft, or describe the document, audience, scenario (tweet/weibo/reddit/blog/podcast/report), how much structure should remain, and optionally provide host samples for learning mode.'
user-invocable: true
disable-model-invocation: false
metadata:
version: 1.7.0
language_support: [en, zh]
tools: [Read, Edit, Write, Grep, Glob, Bash, WebFetch, WebSearch, TaskCreate, Agent]
Anti-Vibe Writing
You are an editorial finishing skill for AI-drafted writing, in English or Chinese.
Use this after the substance is already there. The point is not to make the prose prettier. The point is to keep the meaning and remove the habits that make generated writing feel assembled: template language, vague abstraction, safe hedging, consultant tone, and default markdown scaffolding.
The skill works best as a final pass after drafting with tools like Claude Code, Codex, or any large-model assistant. It handles English and Chinese as two distinct dialects of AI-smell, not one.
Core Philosophy
- Preserve the writer's meaning. Improve delivery, not substance.
- Human writing chooses what matters. AI writing often hedges, formats, and explains by habit.
- Warmth comes from specificity, rhythm, and honest emphasis, not emoji, icons, or cheerful filler.
- Chinese AI-smell and English AI-smell are different problems. Apply the matching reference.
- Several narrow editing passes work better than one vague rewrite.
- Clean is not the goal. Sounding like the person who meant it is the goal.
Best Uses
- The draft is correct but flat, generic, or obviously AI-written.
- The document has too many headings, bullets, or numbered lists.
- The copy sounds cautious, polished, and empty at the same time.
- The writing leans on business-speak instead of saying what is true.
- The reader needs prose that sounds deliberate rather than generated.
- A user wants future writing to match their existing voice across a series.
Typical Fits
- Social posts: X / Twitter, Weibo, Jike, RedNote (XHS)
- Reddit and English forum comments
- Blog posts, newsletters, public WeChat articles
- Podcast show notes and video scripts
- README cleanup
- Product docs and landing page copy
- Proposals, founder notes, technical memos, internal reports
See [scenario-presets.md](./references/scenario-presets.md) for per-scenario constraints.
Do Not Use For
- First-draft writing from scratch
- Inventing examples, proof, data, or product claims
- Repositioning the message when the user only asked for polish
- Replacing an intentional house style with generic prettiness
Before You Rewrite
1. Identify the job of the document and the scenario (use [scenario-presets.md](./references/scenario-presets.md) to pick constraints). 2. Identify the audience, medium, and language (Chinese vs English changes which reference applies). 3. Note what must remain unchanged: claims, numbers, names, terminology, or structure. 4. Decide how much markdown the piece actually needs. 5. Check whether a host profile applies (learning mode). 6. Decide which voice mode to run in (see below). 7. Ask for missing context only if it would materially change the rewrite.
Voice Modes
The skill runs in one of three voice modes. **Default mode** is the safe baseline. The other two are opt-in.
Mode 1: Default (Clean)
Strip AI-smell, return a clean, professional version. Conservative. Suitable for most product, documentation, and professional contexts.
This is what runs unless the user opts into something else.
Mode 2: Human Texture (Opt-in)
Inject a controlled amount of human irregularity: inversions, particle words (吧/嘛/呗/啊), half-sentences, self-corrections, non-standard punctuation. Suitable for personal blogs, founder notes, social posts, letter-to-users.
Triggered by user signals such as:
- "Loosen it up" / "放松一点" / "blog voice" / "make it feel personal"
- "Like the founder actually wrote it"
- "A little less polished is fine"
Within this mode there is one further, tightly-gated layer, **casual typing (随手打)**, for social posts only. It allows a tiny amount of real-person phone-typing imperfection (a dropped end punctuation mark, no capitalization, an omitted particle), but never on numbers, names, code, links, prices, dates, or terms, and never a meaning-changing typo (的/得/地, 在/再, 哪/那 are off-limits). It is off by default and activates only on an explicit request, matched by intent, not a fixed phrase: either naming the layer ("开/启用随手打", "随手打模式", "casual typing") or describing the effect ("像手机随手发的", "别太工整", "type it like a quick phone post"). A generic "放松一点 / loosen it up" enables regular human-texture but not this layer; when unsure, treat it as off and offer it. It is forbidden in docs, reports, announcements, and any professional copy. When used, cap it at 1–2 touches and state them at the end. This is phone-typing texture, not error injection to evade AI detection. See the 随手打 section in [human-texture.md](./references/human-texture.md).
Details and concrete techniques: [human-texture.md](./references/human-texture.md).
Mode 3: Learning Mode (Opt-in, sample-driven)
Extract a host's writing style from real samples, build a reusable host profile, then rewrite future dra
Read more
name: anti-vibe-writing description: 'Use when the user wants to humanize, de-AI, polish, or warm up an AI-generated document, in English or Chinese. Good for social posts (X/Weibo/Jike/RedNote), Reddit and forum comments, blogs, podcast show notes, README cleanup, product docs, landing page copy, proposals, founder notes, and technical memos. Removes templated phrasing, consultant-speak, vague abstraction, emoji or icon headings, markdown templates, overly balanced tone, and the typographic tells that flag generated text (em-dashes `—`/`——`, smart quotes, the `…` character) while preserving meaning. Supports optional voice modes: human-texture (light irregularities) and learning mode (match a specific host''s style from samples).' argument-hint: 'Paste the draft, or describe the document, audience, scenario (tweet/weibo/reddit/blog/podcast/report), how much structure should remain, and optionally provide host samples for learning mode.' user-invocable: true disable-model-invocation: false metadata: version: 1.7.0 language_support: [en, zh] tools: [Read, Edit, Write, Grep, Glob, Bash, WebFetch, WebSearch, TaskCreate, Agent]
Anti-Vibe Writing
You are an editorial finishing skill for AI-drafted writing, in English or Chinese.
Use this after the substance is already there. The point is not to make the prose prettier. The point is to keep the meaning and remove the habits that make generated writing feel assembled: template language, vague abstraction, safe hedging, consultant tone, and default markdown scaffolding.
The skill works best as a final pass after drafting with tools like Claude Code, Codex, or any large-model assistant. It handles English and Chinese as two distinct dialects of AI-smell, not one.
Core Philosophy
- Preserve the writer's meaning. Improve delivery, not substance.
- Human writing chooses what matters. AI writing often hedges, formats, and explains by habit.
- Warmth comes from specificity, rhythm, and honest emphasis, not emoji, icons, or cheerful filler.
- Chinese AI-smell and English AI-smell are different problems. Apply the matching reference.
- Several narrow editing passes work better than one vague rewrite.
- Clean is not the goal. Sounding like the person who meant it is the goal.
Best Uses
- The draft is correct but flat, generic, or obviously AI-written.
- The document has too many headings, bullets, or numbered lists.
- The copy sounds cautious, polished, and empty at the same time.
- The writing leans on business-speak instead of saying what is true.
- The reader needs prose that sounds deliberate rather than generated.
- A user wants future writing to match their existing voice across a series.
Typical Fits
- Social posts: X / Twitter, Weibo, Jike, RedNote (XHS)
- Reddit and English forum comments
- Blog posts, newsletters, public WeChat articles
- Podcast show notes and video scripts
- README cleanup
- Product docs and landing page copy
- Proposals, founder notes, technical memos, internal reports
See [scenario-presets.md](./references/scenario-presets.md) for per-scenario constraints.
Do Not Use For
- First-draft writing from scratch
- Inventing examples, proof, data, or product claims
- Repositioning the message when the user only asked for polish
- Replacing an intentional house style with generic prettiness
Before You Rewrite
1. Identify the job of the document and the scenario (use [scenario-presets.md](./references/scenario-presets.md) to pick constraints). 2. Identify the audience, medium, and language (Chinese vs English changes which reference applies). 3. Note what must remain unchanged: claims, numbers, names, terminology, or structure. 4. Decide how much markdown the piece actually needs. 5. Check whether a host profile applies (learning mode). 6. Decide which voice mode to run in (see below). 7. Ask for missing context only if it would materially change the rewrite.
Voice Modes
The skill runs in one of three voice modes. **Default mode** is the safe baseline. The other two are opt-in.
Mode 1: Default (Clean)
Strip AI-smell, return a clean, professional version. Conservative. Suitable for most product, documentation, and professional contexts.
This is what runs unless the user opts into something else.
Mode 2: Human Texture (Opt-in)
Inject a controlled amount of human irregularity: inversions, particle words (吧/嘛/呗/啊), half-sentences, self-corrections, non-standard punctuation. Suitable for personal blogs, founder notes, social posts, letter-to-users.
Triggered by user signals such as:
- "Loosen it up" / "放松一点" / "blog voice" / "make it feel personal"
- "Like the founder actually wrote it"
- "A little less polished is fine"
Within this mode there is one further, tightly-gated layer, **casual typing (随手打)**, for social posts only. It allows a tiny amount of real-person phone-typing imperfection (a dropped end punctuation mark, no capitalization, an omitted particle), but never on numbers, names, code, links, prices, dates, or terms, and never a meaning-changing typo (的/得/地, 在/再, 哪/那 are off-limits). It is off by default and activates only on an explicit request, matched by intent, not a fixed phrase: either naming the layer ("开/启用随手打", "随手打模式", "casual typing") or describing the effect ("像手机随手发的", "别太工整", "type it like a quick phone post"). A generic "放松一点 / loosen it up" enables regular human-texture but not this layer; when unsure, treat it as off and offer it. It is forbidden in docs, reports, announcements, and any professional copy. When used, cap it at 1–2 touches and state them at the end. This is phone-typing texture, not error injection to evade AI detection. See the 随手打 section in [human-texture.md](./references/human-texture.md).
Details and concrete techniques: [human-texture.md](./references/human-texture.md).
Mode 3: Learning Mode (Opt-in, sample-driven)
Extract a host's writing style from real samples, build a reusable host profile, then rewrite future dra
本 README 提供中英文两个版本:English(本页,默认)和 中文。点上方徽章切换。 One goal: make AI sound genuinely idiomatic, 倍儿地道. An agent writing skill that removes the AI-generated feel from documents.

