Anti Ai Writing logo

Anti Ai Writing

Community
artemnovitckii
anti-ai-writing

Use when writing or auditing any written content — captions, carousels, newsletters, threads, LinkedIn posts, long-form — and as the FINAL filter on every piece. Reach for it whenever text feels generic, fluent-but-hollow, over-formatted, or "sounds like AI." Strongest on written prose; lighter on spoken reels.

Overview

Publisherartemnovitckii
Repositorycontent-skills
Skill nameanti-ai-writing
Stars
118
Forks
25
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by artemnovitckii on GitHub. Read the source before you install it.

Installation

Install the Anti Ai Writing AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/artemnovitckii/content-skills/tree/master/anti-ai-writing
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/artemnovitckii/content-skills.git /tmp/content-skills
mkdir -p .claude/skills
cp -r /tmp/content-skills/anti-ai-writing .claude/skills/anti-ai-writing
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Anti Ai Writing in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Anti Ai Writing on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Anti Ai Writing is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Anti-AI Writing

The goal is not "don't sound like AI." That framing loses — blocklists rot, and chasing a negative gives you a beige voice. The goal is: sound like a specific person who has thought about the thing and has something to say. Specificity is the moat. Voice is the moat. Everything below serves those two.

Apply with judgment. Spirit beats letter. If a rule makes the sentence worse, break it.

Where this runs

This skill matters most on written content — text a reader's eye scans. Run the full pass there: captions, carousels, newsletters, threads, LinkedIn, long-form, DMs, landing copy. It's the last filter on every written piece.

On spoken content (reel and video scripts — the words get said aloud), run the spoken subset only:

  • Apply: specificity (Level 3+), kill hollow reframes that don't pay off, cut borrowed-authority / thinkfluencer filler, cut significance inflation. These hurt out loud too.
  • Skip: the formatting tells (em dashes, bullets, hashtags don't exist in speech), and go light on the vocab blocklist — spoken cadence forgives, and your voice plus the viral-hooks and storytelling skills are already doing the heavy de-AI-ing. Over-applying prose rules to a script makes it sound stilted, not human.

The split can live inside a single piece. When you produce a reel, the script is spoken (subset), but the caption that ships with it is written (full pass). Apply the right intensity to each part of the output, not one blanket pass.

The 5 diseases (diagnose before you fix)

Most AI writing fails for one of five reasons. Name the disease and the fix is obvious. If you can't name it, read the line aloud — the disease becomes audible.

  1. Vagueness compression — describes a category, not a thing. "Users were frustrated" → "users clicked export six times because nothing loaded."
  2. Significance inflation — treats normal facts like turning points. "This marks a pivotal shift in onboarding" → state the fact, let the reader weigh it.
  3. Hedged confidence — has a position but won't commit. "It could be argued that…" → take the position or cut the sentence.
  4. Rhythmic flatness — every sentence the same length, every paragraph three sentences. → break the meter.
  5. Borrowed authority — sounds like a McKinsey deck or a LinkedIn thinkfluencer. No fingerprint. → write it the way you'd say it to one person.

Rule priority (when rules collide)

Accurate > Clear > Specific > Voiced > Stylish. Never sacrifice accuracy for style. A boring true sentence beats an elegant vague one.

Specificity — the whole game

The single highest-leverage rule. Specific beats polished, every time. The ladder:

LevelExample
Vague"The company faced challenges."
Specific"The company had cashflow issues."
Concrete"The company missed payroll twice in six months."
Lived"Payroll bounced in March and again in August. The CFO found out from Slack."

Aim for level 3 minimum, level 4 if you have it. Replace categories with instances, adjectives with numbers, "users" with "the kind of user who [does specific thing]." If you don't have the specific, get it before writing — or admit it plainly ("I don't know the exact number, but it felt like roughly half"). Pull real specifics from your own notes and lived experience; never invent numbers or events.

The negative parallelism ban (the #1 tell)

The biggest single tell of AI writing. The pattern:

"It's not X. It's Y."

…and every variation that knocks down a frame to sound insightful: Not X. Y. / Less X, more Y. / Stop thinking X, start thinking Y. / The real question isn't X, it's Y. / It was never about X, it was always about Y. Plus the softer forms: Most people think X, but… / On the surface X, but really Y. / X gets all the attention, but…

The pivot words that signal it when they follow a rejected frame: but, actually, really, instead, rather, ultimately, the truth is, what matters is, the real, the hidden, the overlooked. These words are everywhere in good prose — only count one as a hit when it follows a rejected frame, never on sight. The reframe also crosses sentence boundaries ("Most teams think they have a hiring problem. They have a standards problem.") and hides in rhetorical questions ("Is this a productivity problem? No. It's an attention problem.") — but the boundary-crossing form is banned only when B is hollow; a concrete B across a boundary is fine (see the reconciliation test below).

The fix: delete the rejected half, then rewrite the positive half as a direct claim with specifics.

"It's not about the prompt. It's about the context." → "It's about the context." → "The model performs 3× better when you paste the prior chat into the system prompt."

The reframe was hiding the fact that the writer didn't have a point. The final version has a number and a mechanism — the actual point.

Reconciliation with viral-hooks (important — these skills must not fight): hooks deliberately use A-vs-B contrast as a curiosity mechanic, and that's allowed. The line is hollow vs earned:

  • Banned (hollow): B is vague significance that hides the absence of a point — "it's not about tactics, it's about mindset." Cut it.
  • Allowed (earned): B is concrete and the content delivers it — "Most people meal prep Sunday. The most consistent clients I know prep nothing and cook one thing daily." The contrast opens a loop the piece actually pays off.
  • Test (two parts): (1) Is B concrete — Level 3+ on the specificity ladder above (an instance, number, or mechanism, not a category like "mindset" or "systems")? (2) Does the body deliver it? At hook stage the body doesn't exist yet — so judge B on part (1) alone, keep it provisionally, and re-check delivery on the post-draft pass. A vague-significance B fails part (1) and gets cut immediately. In spoken hooks the bar is looser (contrast is a format convention); in written prose, hold the line hard.

Analogy & metaphor control

Default: write literally. Most business/tech analogies make weak thinking sound vivid — they help the writer feel clever, not the reader understand.

Use an analogy only if all five are true: (1) the subject is genuinely unfamiliar/abstract, (2) it makes understanding easier not just prettier, (3) it's shorter than the literal explanation, (4) it's exact enough not to mislead, (5) it sounds normal aloud. Any test fails → write literally. Frequency: under 800 words, zero by default; ~one per 1,500 words after.

Banned metaphor families for abstract work: journeys, battlefields, machines-for-people, ecosystems, engine/fuel, North star, flywheel, DNA, scaffolding, plumbing, iceberg, bridge, chess, sports. Banned metaphor verbs: baked in, bolted on, woven, layered, distilled, unpacked, crystallized, surfaced, amplified, threaded, sculpted, anchored, framed. Replace with literal verbs: cut, added, removed, caused, showed, reduced, fixed, named, chose.

"Your onboarding is a leaky bucket." → "Users leave during onboarding." → "42% drop on step 2 because the form asks for billing before showing the product."

Blocklists (starting points — the principle outlives the list)

The principle: any word doing PR for an idea instead of describing it goes. If a word makes something sound impressive without specifying how, cut it.

  • Vocab tells: delve, realm, harness, unlock, tapestry, leverage, synergy, seamless, robust, elevate, streamline, supercharge, game-changer, cutting-edge, revolutionize, transformative, intricate, crucial, pivotal, testament, foster, empower, holistic, frictionless, unparalleled, groundbreaking, data-driven, scalable, intuitive, disruptive.
  • Bloated verbs (dodging "is/has"): serves as, stands as, marks a, represents a, boasts a, plays a role in, helps to, aims to, seeks to. → use: is, has, uses, gives, shows, causes.
  • Dead openings: "In today's…", "It's important to note…", "Let's dive in / explore / unpack", "At the end of the day", "Nobody is talking about", "Most people don't realize", "In this post I'll…".
  • Dead transitions: Furthermore, Additionally, Moreover, That said, With that in mind. → use a transition that does logical work, or none.
  • Engagement bait: "Let that sink in", "Read that again", "This changes everything", "What's your…? 👇". Insults the reader.
  • Hype: "10x your anything", "supercharge", "future-proof". If the claim is real, the number tells it; if you don't have the number, lower the claim.
  • Formatting tells: em dashes (use periods, commas, colons, parens instead), emoji-and-hashtag spam, over-formatting into walls of bullets to look thorough, the rule-of-three numbered list when the real count is 2 or 4.

AI tells (generic even when no single rule is broken)

  • Rule of three reflex — every list has three items, every claim three supports. Real thinking has uneven counts.
  • False ranges — "from ancient traditions to modern innovation." Sweep with no middle. Cut.
  • Elegant variation — Sarah → the seasoned operator → the executive. Use the name again.
  • Participle fake-depth — "…highlighting its importance, …paving the way for." If the analysis matters, give it its own sentence with a real claim.
  • Significance inflation — "key, crucial, pivotal, transformative" on normal facts.
  • Throat-clearing first sentence — cut the first sentence and reread; if the piece still works, it was throat-clearing.
  • Symmetric parallelism — "We build bold, we ship fast, we win loud." Sounds great, says nothing.
  • "In a world where…" opener — no.

Writing mode

Write the draft normally first — don't compose against the blocklist, that produces stilted output. Then run the final pass below to remove the machine-made parts. Then check what's left actually says something.

Audit mode (the final pass)

Run on the draft; flag each hit with the exact offending line, then rewrite:

  1. Cut the first sentence if it's throat-clearing.
  2. Replace every category noun with an instance.
  3. Cut every adjective with no number, name, or comparison behind it.
  4. Find every "not X but Y" reframe → rewrite as a direct claim (apply the hollow-vs-earned test).
  5. Find every analogy → apply the five-test → delete failures; replace banned metaphor verbs with literal ones.
  6. Cut every dead opening, transition, bait phrase, and hype word.
  7. Read aloud → flag any sentence the same length as the one before → vary it.
  8. Cover the byline: could ten other creators have written this? If yes, find the one line only this person would write, and lead with it.
  9. Cut the ending if it only repeats the point.

Audit output format:

ANTI-AI AUDIT:
  Negative parallelism: FLAG — "They're not just employees. They're the DNA of everything."
  Metaphor:             FLAG — "DNA of everything" (banned family) — say what they actually shape
  Engagement bait:      FLAG — "What's the best early hire you made? 👇"
  Specificity:          FLAG — no numbers, names, or lived detail anywhere
  Rewrite: [direct, specific version in your voice]

Anti-overfitting

This describes taste; it doesn't replace judgment. Don't force fragments. Don't make every paragraph one sentence to seem punchy. Don't avoid a banned word that's the exact right word with no clean substitute. Don't turn the output into a checklist of avoided mistakes.

The test: does this sound like something you would actually write, or an AI trying hard to imitate you? If it feels forced, simplify. If it feels generic, find the specific you skipped. If it feels hollow, you didn't have the point yet — go get it before the next draft.

Frequently asked questions

What does the Anti Ai Writing AI skill do?

Use when writing or auditing any written content — captions, carousels, newsletters, threads, LinkedIn posts, long-form — and as the FINAL filter on every piece. Reach for it whenever text feels generic, fluent-but-hollow, over-formatted, or "sounds like AI." Strongest on written prose; lighter on spoken reels.

Why use Anti Ai Writing on TypingMind?

Because you install it once and use it with any model. Anti Ai Writing is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Anti Ai Writing in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/artemnovitckii/content-skills/tree/master/anti-ai-writing. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Anti Ai Writing?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Anti Ai Writing?

As many as you like. As long as a model supports skills, you can use Anti Ai Writing with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Anti Ai Writing AI skill free?

Yes. It is published on GitHub by artemnovitckii under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇