De-Buzzfeeding the AI: Testing Open-Source Tone Wrappers on Claude and ChatGPT
Custom instructions, community system prompts, and one skill that outsources the rewrite to a second model. Here is what actually cut the fluff and what just moved it around.
- 01Overriding default system prompts with positive formatting rules fixes AI writing style.
- 02Telling a model what to do works better than negative bans, which models often bypass.
- 03The open-source talk-normal prompt cuts output length by over 70 percent without losing facts.
- 04Banning structural patterns reduces AI cadence much more effectively than simple vocabulary bans.

The short answer
You fix Claude and ChatGPT's writing style by overriding the default system prompt with explicit, negative-and-positive formatting rules (ban em dashes, ban bullet-heavy lists, ban the bold-term-colon-explanation pattern) placed in Custom Instructions, a CLAUDE.md/AGENTS.md file, or a dedicated "tone wrapper" skill. Several open-source versions of this already exist, and the best of them cut response length by 60 to 80 percent without losing information.1
This is not a taste problem. It is a cost problem. Every extra paragraph of hedged, bulleted, TED-talk-cadence output is tokens you paid for and time your reader spent decoding filler. If you run these tools inside a product, the tone tax shows up on your bill and in your support tickets. So I tested the fixes like an analyst, not a fan.
Why the models default to content-mill voice
Claude's own prompting documentation admits the problem by name. Anthropic's guidance now includes a ready-made snippet developers can drop into a system prompt specifically to stop "the AI slop aesthetic," instructing the model to write in flowing prose, avoid bold-and-bullet formatting, and stop fragmenting information into isolated points unless a list is genuinely the right format.2
The mechanism is training data, not personality. Analysts researching the em-dash problem trace it to the same root cause across providers: these models learned punctuation and structure from edited books, journalism, and essays where em dashes and clean paragraph symmetry read as "quality." The model reproduces the marker without understanding that in a chat answer, moderation is the point.3
What I actually tested
I ran four approaches against the same prompts, comparing raw output to wrapped output.
1. Anthropic's own "avoid excessive markdown" system prompt. This is the most official fix available and it works because it tells the model what to do instead of what to avoid, per Anthropic's own prompting advice: say "write in flowing prose using complete paragraphs" rather than "don't use bullet points." Negative-only instructions are weaker; models tend to satisfy the letter of a ban while finding an adjacent workaround.2
2. talk-normal, a community system prompt for any LLM. This is a single system prompt maintained on GitHub, explicitly built to strip "filler" and "AI slop" from any model's output, tested against GPT-4o-mini and GPT-5.4. The maintainer's own benchmark, run at temperature zero across ten prompts, shows a 73 percent average character reduction on GPT-4o-mini and 72 percent on GPT-5.4, with the stated goal of preserving all useful information.1
3. anti-slop-writing, a Claude Skill. This one is denser: a full vocabulary banlist and structural-pattern reference built off Wikipedia's own "Signs of AI Writing" guidance and academic work on AI-text detection, installable as a Claude.ai Skill or dropped into Codex, Gemini CLI, Cursor, or Windsurf as a config file.4
4. Claudette ("nobuzz"), the outsource-the-rewrite approach. Instead of fighting Claude's own voice with more prompting, this Claude Code skill takes Claude's finished answer and pipes it through a second model (Google's Antigravity CLI) whose only job is plain restatement, then prints that output verbatim without letting Claude "tidy it up" again. The project's own before/after example shows the difference clearly: Claude's original answer buries a three-bug list inside phrases like "the load-bearing assumption of the entire sync pipeline" and "this is the kicker," while the rewritten version states each bug, its file location, and the fix in four flat sentences.5
What actually moved the needle
The pattern across all four approaches was consistent, and it matches the advice in Claude's own docs: telling a model what TO do beats telling it what NOT to do.2 A rule like "never use em dashes" gets partial compliance because the model still wants a mid-sentence interruption marker and will substitute double hyphens or parentheses stacked three deep. A rule like "use commas for brief additions, periods to separate complete thoughts, colons to introduce lists" gives the model a full replacement grammar, and compliance jumps.6
The second consistent finding: structural bans (no bold-term lists, no uniform paragraph lengths, no closing summary) reduced the "press release" feeling more than vocabulary bans alone. Banning "delve" and "unlock" stops the worst word choices but leaves the cadence intact, since the cadence, not the vocabulary, is what readers actually flag as AI-written.3
The outsourcing approach (Claudette) is the most reliable but also the most expensive: you are now paying for two model calls per answer instead of one, plus the latency of a round trip. It is the right tool for a support agent's final customer-facing reply, not for every internal message in a long coding session.
Rough cost and effort comparison
The reductions below are self-reported by each project's own testing methodology; treat them as directional, not audited.
| Approach | Setup effort | Extra API calls | Reported output cut |
|---|---|---|---|
| Anthropic's own prose-formatting snippet | Paste into system prompt | 0 | Qualitative, no published benchmark |
| talk-normal | Paste into Custom Instructions or AGENTS.md | 0 | 72-73% average character reduction1 |
| anti-slop-writing skill | Install as Claude Skill or config file | 0 | No published benchmark, structural checklist based |
| Claudette / nobuzz | Install skill + separate CLI auth | 1 (second model call) | Qualitative before/after examples5 |
Where this fits if you own the workflow
None of this requires a SaaS subscription to a "humanizer" tool. Every fix above is a text file: a system prompt, a Custom Instructions field, or a Skill folder you version in git alongside the rest of your prompts. That is the whole point of treating your AI tooling as software you own rather than a black box you rent. If your team is already building internal wrappers like this around Claude or ChatGPT, that is shadow AI in the good sense: cheap, inspectable, and easy to fork when the next model update changes the defaults again, the way Remy helps teams keep their AI-built tools accountable instead of scattered across a dozen personal prompt libraries.
A vague ban is weaker than a replacement rule. Tell it to use commas for brief additions, periods for complete thoughts, and colons for lists instead of just banning the dash.
Length matters less than specificity. A compressed 1,500-character version can preserve the core rules of a longer prompt if it keeps the concrete examples.
Some will need retuning. Newer models can overtrigger on aggressive phrasing like 'CRITICAL: you MUST,' so dial back to plainer instructions as models improve.
Only for customer-facing or executive-facing text. For internal use, a good system prompt on the first model usually skips the need for a second API call.
Banning the 'Bold term: explanation sentence' list format. It is flagged repeatedly as the most recognizable AI writing tell, ahead of any individual word choice.
- 1.talk-normal: Make any LLM talk like a normal person — GitHub (hexiecs)
- 2.Prompting best practices — Anthropic / Claude Platform Docs
- 3.How to Stop Claude Writing Like an AI - Guide & Prompt — Will Francis
- 4.anti-slop-writing: universal skill to stop AI output sounding like AI — GitHub (adenaufal)
- 5.NoBuzz: A Claude Code skill (/debuzz) that pipes Claude's answers through Gemini — GitHub (adnanakil)
- 6.How to stop Claude from saying load-bearing — jola.dev



