Agent skill

Anti AI Writing

by artemnovitckii in artemnovitckii/content-skills

A skill your agent uses when writing or auditing any written content — captions, carousels, newsletters, threads, LinkedIn posts, long-form — and as the FINAL filter on every piece.

MITAuto-check passedWriting & Content

Install Anti AI Writing

skills CLI
$ npx skills add artemnovitckii/content-skills --skill anti-ai-writing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install artemnovitckii/content-skills anti-ai-writing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/artemnovitckii/content-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/anti-ai-writing .claude/skills/anti-ai-writing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
anti-ai-writing
GitHub stars
102
Token cost
~3k tokens
SKILL.md length
1,739 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when writing or auditing any written content — captions, carousels, newsletters, threads, LinkedIn posts, long-form — and as the FINAL filter on every piece.

  • Works in 5 steps: Vagueness compression — describes a… → Significance inflation — treats normal… → Hedged confidence — has a position but… → …
  • Auditing any written content — captions
  • SKILL.md covers Where this runs, The 5 diseases (diagnose…, Rule priority (when rules… and Specificity — the whole game, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Anti AI Writing is an agent skill from artemnovitckii/content-skills. 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.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Writing & Content, covering Humanizing AI text, Newsletters and Social media posts. The repository describes itself as: 5 Claude Code skills that fix Claude's writing: dumbify, storytelling, viral-hooks, anti-ai-writing, and a voice-dna build guide. MIT. The licence is MIT.

When your agent uses it

  • Auditing any written content — captions
  • Long-form — and as the FINAL filter on every piece

Example prompts

  • “sounds like AI.”
  • “/anti-ai-writing”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Vagueness compression — describes a category, not a thing. "Users were frustrated" → "users clicked export six times because nothing…
  2. Significance inflation — treats normal facts like turning points. "This marks a pivotal shift in onboarding" → state the fact, let the…
  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.

What it can do on your machine

Read from SKILL.md and the folder at commit 1c6e909. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Anti AI Writing loads about 3k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 1,739 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~82
When it runs · the whole SKILL.md, loaded when a task matches
~3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from artemnovitckii/content-skills at commit 1c6e909, republished under its MIT licence (© artemnovitckii). 1,739 words, ~3,040 tokens.

Download SKILL.mdSave it as .claude/skills/anti-ai-writing/SKILL.md (or your agent's skills folder).
name
anti-ai-writing
description
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.

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."

Show full SKILL.md (616 more words)Show less

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.

© artemnovitckii, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in anti-ai-writing of artemnovitckii/content-skills.

Open the folder on GitHubat commit 1c6e909

Compare with similar skills

Anti AI Writing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Anti AI Writing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Anti AI Writing this skillartemnovitckii/content-skills102—~3kAutomated safety check: PassMIT
Humanized Chinese Writing PolisherEthanYoQ/agent-xiaohongshu-workbench154—~1.1kAutomated safety check: PassMIT
Content Strategy And Assemblyjacob-dietle/context-os111—~3.1kAutomated safety check: PassMIT
Linkedin Repurposersergebulaev/linkedin-skills4.4k1 repos~1.7kAutomated safety check: PassMIT
Changelog Social RecapFlorianBruniaux/claude-code-ultimate-guide6.1k—~1.8kAutomated safety check: NotesCC-BY-SA-4.0
Voice Buildercharlie947/social-media-skills3.8k—~3.3kAutomated safety check: PassMIT

Similar skills

  • Humanized Chinese Writing Polisher

    EthanYoQ/agent-xiaohongshu-workbench

    A skill your agent uses when a user asks to polish, rewrite, humanize, de-AI, localize, or oralize Chinese writing, including short-video scripts, articles, social posts, speeches, newsletters, and…

    154 GitHub stars~1.1k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Content Strategy And Assembly

    jacob-dietle/context-os

    This skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material.

    111 GitHub stars~3.1k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Linkedin Repurposer

    sergebulaev/linkedin-skills

    Repurpose existing content into a native LinkedIn post. An agent skill from sergebulaev/linkedin-skills.

    4.4k GitHub starsUsed in 1 repo~1.7k tokens
    Writing & ContentAuto-check passed
  • Changelog Social Recap

    FlorianBruniaux/claude-code-ultimate-guide

    Turns CHANGELOG.md entries for a release or a week into LinkedIn, Twitter/X, newsletter and Slack posts in French and English.

    6.1k GitHub stars~1.8k tokensUpdated today
    Writing & ContentAuto-check: notes
  • Voice Builder

    charlie947/social-media-skills

    Build a personalised voice profile inside a Codex or Claude project from a short interview plus 3 to 5 sample pieces of writing.

    3.8k GitHub stars~3.3k tokensUpdated 26 days ago
    Writing & ContentAuto-check passed
  • Linkedin Humanizer

    sergebulaev/linkedin-skills

    Remove AI tells from LinkedIn posts/comments: 2026 vocabulary density, reveal bridges, staccato fragments, stacked triads, performed sincerity.

    4.4k GitHub starsUsed in 1 repo~5k tokens
    Writing & ContentAuto-check passed

More from artemnovitckii/content-skills

  • Dumbify

    artemnovitckii/content-skills

    A skill your agent uses when writing or auditing content that has to be easy to follow — explainer reels, teaching carousels, how-to scripts, any piece that teaches or explains something — or when a…

    102 GitHub stars~1.2k tokensUpdated 3 mo ago
    Auto-check passed
  • Viral Hooks

    artemnovitckii/content-skills

    A skill your agent uses when writing or auditing the opening lines of any content — reel hooks, carousel slide 1, video intros, newsletter subject lines, tweet openers — or when a draft's opener…

    102 GitHub stars~2.6k tokensUpdated 3 mo ago
    Auto-check passed
  • Storytelling

    artemnovitckii/content-skills

    A skill your agent uses when writing or auditing talking-head / narrative / "yap" content — reel scripts, video scripts, story-driven posts, any piece where someone talks to camera or tells a story.

    102 GitHub stars~2.6k tokensUpdated 3 mo ago
    Auto-check passed

Questions about Anti AI Writing

What does Anti AI Writing do?

A skill your agent uses when writing or auditing any written content — captions, carousels, newsletters, threads, LinkedIn posts, long-form — and as the FINAL filter on every piece. Anti AI Writing is an agent skill from artemnovitckii/content-skills. Use when writing or auditing any written content — captions, carousels, newsletters, threads, LinkedIn posts, long-form — and as the FINAL filter on every piece.

When should I use Anti AI Writing?

Anti AI Writing fits situations like: auditing any written content — captions; long-form — and as the FINAL filter on every piece.

How do I install Anti AI Writing in Claude Code?

Run `npx skills add artemnovitckii/content-skills --skill anti-ai-writing -a claude-code`. Or copy the skill folder (anti-ai-writing in artemnovitckii/content-skills) into .claude/skills/anti-ai-writing in your project. Claude Code loads it when a task matches its description.

How do I install Anti AI Writing in Codex?

Run `npx skills add artemnovitckii/content-skills --skill anti-ai-writing -a codex`. Or copy the skill folder (anti-ai-writing in artemnovitckii/content-skills) into .agents/skills/anti-ai-writing in your project. Codex loads it when a task matches its description.

Can I use Anti AI Writing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add artemnovitckii/content-skills --skill anti-ai-writing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/anti-ai-writing, .gemini/skills/anti-ai-writing, .github/skills/anti-ai-writing and .opencode/skills/anti-ai-writing in your project.

What does Anti AI Writing need to run?

SKILL.md names no scripts, command-line tools or credentials: Anti AI Writing is instructions for the agent only.

Does Anti AI Writing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Anti AI Writing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Anti AI Writing use?

Anti AI Writing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Anti AI Writing use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Anti AI Writing?

Skills that share tags, products or a category with Anti AI Writing: Humanized Chinese Writing Polisher (EthanYoQ/agent-xiaohongshu-workbench, 154 stars), Content Strategy And Assembly (jacob-dietle/context-os, 111 stars), Linkedin Repurposer (sergebulaev/linkedin-skills, 4.4k stars) and Changelog Social Recap (FlorianBruniaux/claude-code-ultimate-guide, 6.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Anti AI Writing?

artemnovitckii (a GitHub user) maintains it in artemnovitckii/content-skills, which has 102 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on June 20, 2026.

Source: artemnovitckii/content-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.