Agent skill

AI Check

by harshaneel in harshaneel/humanize

A skill your agent uses when someone asks "does this sound AI?", "check if this is AI-written", "what gives this away as AI", "run ai-check on this", or "score this text".

MITAuto-check passedWriting & Content

Install AI Check

skills CLI
$ npx skills add harshaneel/humanize --skill ai-check -a claude-code

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

GitHub CLI
$ gh skill install harshaneel/humanize ai-check --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/harshaneel/humanize.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/humanize/skills/ai-check .claude/skills/ai-check && 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
ai-check
GitHub stars
519
Token cost
~6.8k tokens
SKILL.md length
3,563 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when someone asks "does this sound AI?", "check if this is AI-written", "what gives this away as AI", "run ai-check on this", or "score this text".

  • Works in 2 steps: A closing sentence quotable as… → Chiasmus — reversed parallel that sounds…
  • Someone asks does this sound AI?
  • SKILL.md covers The nine signal categories, Mixed-authorship overlay…, Output format and Scoring thresholds, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

AI Check is an agent skill from harshaneel/humanize. Use when someone asks "does this sound AI?", "check if this is AI-written", "what gives this away as AI", "run ai-check on this", or "score this text". Also use when reviewing a draft for AI tells before publishing, or when a piece of text reads as suspiciously polished, generic, or pattern-y and the user wants a forensic breakdown of why.

Its SKILL.md is about 6.8k 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. The repository describes itself as: Best static AI text humanizer. Two research-grounded LLM-agnostic skills that make AI writing sound human and relatable. Nine levers, 50+ peer-reviewed sources, 2024-2026… The licence is MIT.

When your agent uses it

  • Someone asks does this sound AI?
  • Check if this is AI-written
  • What gives this away as AI
  • Run ai-check on this

Example prompts

  • “does this sound AI?”
  • “check if this is AI-written”
  • “what gives this away as AI”
  • “/ai-check”

Workflow steps

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

  1. A closing sentence quotable as standalone: "The boilerplate is cheaper than the
  2. Chiasmus — reversed parallel that sounds like insight: "Being specific about being

What it can do on your machine

Read from SKILL.md and the folder at commit 9c3dec3. 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

AI Check loads about 6.8k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 3,563 words of instructions outside code blocks.

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

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 harshaneel/humanize at commit 9c3dec3, republished under its MIT licence (© harshaneel). 3,563 words, ~6,781 tokens.

Download SKILL.mdSave it as .claude/skills/ai-check/SKILL.md (or your agent's skills folder).
name
ai-check
description
Use when someone asks "does this sound AI?", "check if this is AI-written", "what gives this away as AI", "run ai-check on this", or "score this text". Also use when reviewing a draft for AI tells before publishing, or when a piece of text reads as suspiciously polished, generic, or pattern-y and the user wants a forensic breakdown of why.

AI-Check Skill

Forensic analysis of text for AI-generation signals. Grounded in the published detection literature (Wu et al. 2025, Mitchell et al. 2023, Kujur 2025, AAAI 2025 shared task).

The output is a structured report, not a vague judgment. Every fired signal cites evidence.


The nine signal categories

Score each category 0–3:

  • 0 = No signal detected (human-consistent)
  • 1 = Weak signal (possible AI, could be human)
  • 2 = Moderate signal (likely AI pattern)
  • 3 = Strong signal (near-certain AI pattern)

Severity-to-score mapping (use for every category):

Evidence in categoryScore
No flagged instances0
One weak instance, or vague unease without a specific quote1
One moderate instance, or two or more weak instances2
One strong instance, or two or more moderate instances, or four or more weak instances3

Double-counting policy: a single phrase can fire at most two distinct signals when the phrase is genuinely diagnostic for both. Example: "it is important to note that" is both Signal A (banned vocabulary) and Signal C (institutional hedge). Log it under both, but the same phrase cannot count as two separate weak instances inside the same category.

Total score cap: 9 categories × 3 = 27 maximum.

Signal A: Perplexity (word predictability)

Look for vocabulary that is maximally safe and expected — words that are technically correct but never the most precise or interesting choice a knowledgeable human would make.

Flags:

  • Generic verbs where domain-specific ones belong ("address" instead of "untangle", "implement" instead of "wire up")
  • Adjectives that describe without adding information ("significant improvements", "notable progress", "key challenges")
  • Hedged assertions that swap specificity for safety ("can often lead to", "may result in", "tends to")
  • Any of the canonical AI vocabulary list: delve, leverage (verb), utilize, robust, comprehensive, streamline, foster, facilitate, pivotal, nuanced, notable, notably, enduring, garner, it is worth noting, it is important to note, multifaceted, in the realm of, the landscape of, a myriad of, a plethora of

Cite the exact word or phrase that fired.

Signal B: Burstiness deficit (sentence uniformity)

Measure the variation in sentence length across the text.

Flags:

  • Three or more consecutive sentences within 5 words of the same length
  • No sentence shorter than 8 words in any 150-word block
  • Metronomic rhythm — reading the passage aloud produces a steady pulse rather than natural variation
  • No fragments used for emphasis

Report: list the sentence lengths in sequence (e.g. "14, 16, 13, 15, 17 — five consecutive sentences within 4 words of each other").

Signal C: Hedge density

Count the softening and epistemic hedge words.

Flags:

  • "often", "generally", "typically", "in many cases", "it can be argued" appearing where direct assertion is warranted
  • "it is important to note that", "it is worth mentioning", "one might consider"
  • Diplomatic framing of obvious tradeoffs: "while X has benefits, it also presents challenges"
  • Uncertainty expressed as institutional hedging rather than personal ("results may vary") vs human ("I'm not sure this holds when...")

Report: quote each hedge and note whether it was warranted by genuine uncertainty or reflexive softening.

Signal D: Structural tells

Look for document architecture patterns AI imposes regardless of content.

Flags:

  • Bullet list where prose would serve better
  • Topic sentence + evidence + restatement of topic sentence (humans skip the restatement)
  • "In conclusion / To summarize / In summary" openers on closing paragraphs
  • "In this [post/article/section] I will..." openers
  • Numbered steps for content that isn't genuinely sequential
  • Three-part structure imposed on every paragraph (intro, body, conclusion at micro-scale)
  • Tricolon parallel structure: three examples or beats with identical grammatical shape e.g. "You X. Y. Does Z? You X. Y. Does Z? You X. Y. Does Z?" — perfectly symmetrical triplets in prose are AI-constructed. Real writers use two examples or vary the shape. Severity: strong.
  • Perfect paragraph-per-idea arc: every paragraph does exactly one narrative job and advances the arc cleanly (setup → tension → lesson → evidence → reflection). Real personal writing has a paragraph that meanders, does two jobs, or doesn't fully resolve. A piece where every paragraph lands cleanly is architecturally perfect in a way human writing isn't. Severity: moderate in isolation, strong combined with other signals.
  • Three-act Slack/update structure: for informal async messages, accomplishment → caveat → next steps maps directly to intro/body/conclusion. Real updates loop back, add a mid-message second thought, or end with something that doesn't fit the structure.
  • Strawman pivot: "The case for X isn't about Y, it's about Z" / "It's not about X, it's about Y." Leading with what something is NOT before saying what it IS. Real writers lead with the actual point. Severity: moderate.
Signal E: Specificity deficit

Measure whether claims are grounded in concrete detail.

Flags:

  • Abstract claim with no number, name, time reference, or example: "Many organizations have adopted..."
  • Passive constructions obscuring the actor: "it has been found that", "research suggests"
  • Universalist framing: "teams often find", "developers frequently encounter" (applicable to everyone, specific to no one)
  • Named examples that are suspiciously generic or perfectly illustrative (AI picks canonical examples: "Netflix", "Amazon", "Stripe" without context)

Report: quote each unanchored claim.

Signal F: Transition word fingerprint

Catalog the connective tissue between sentences and paragraphs.

Flags (strong AI signals):

  • "Furthermore," as paragraph opener
  • "Moreover," as paragraph opener
  • "Additionally," as paragraph opener
  • "It is clear that"
  • "This highlights / underscores / demonstrates the importance of"
  • "As previously mentioned"
  • "In addition to the above"
  • "It goes without saying"
  • "Needless to say"

Flags (moderate signals):

  • "However," used more than once per 200 words
  • "Therefore," used as a mechanical logical connector rather than earned conclusion
  • "Turns out" / "it turns out that" as a pivot or reveal. AI uses this to create the illusion of a discovery narrative. "Turns out the config had a lower timeout" → "The config had a lower timeout." Quote each instance. Severity: moderate.
  • Tutorial-voice transitions: "The standard fix is...", "The common approach is...", "Simple enough on paper" — these frame what follows as received wisdom, not personal experience. Strong signal in technical writing.
  • Announcement-colon patterns: "The rule I use:", "The key insight:", "The approach here:", "The other thing I'd say:" — announcing before revealing. Severity: moderate. Also fires without a colon: "What I didn't expect was...", "What surprised me was...", "The thing I realized was..." — these are announcement sentences even without the colon. The colon isn't the tell; the announcement structure is.
  • Pattern announcement: stating that a pattern exists before describing it. "The pattern is almost always the same" followed by the pattern. Real writers just describe the pattern.
Signal G: Punctuation fingerprint

Count the three AI punctuation tells:

Em dashes: Count total em dashes. More than 1 per 300 words is a signal. Specific sub-patterns:

  • Double em dash wrapping (— like this —) is a near-certain AI pattern
  • Em dash as pivot ("not mid-sprint — and the on-call rotation") — list-joiner em dash connecting two items within a sentence
  • Em dash as dramatic aside ("X — which is worth noting — Y") Report exact count, location, and which sub-pattern.

Semicolons: Any semicolon linking two independent clauses in non-academic prose is a flag. Report exact count. Exception: comma-containing lists ("Austin, TX; Denver, CO").

Mid-sentence colons: A colon preceded by an incomplete clause ("The problem: nobody tests this" / "The answer: start earlier") is an AI structural pattern. Report each instance.

Signal H: Voice and register

Look for absence of human traces.

Flags:

  • No first-person perspective anywhere in a piece where first-person would be natural
  • No second-person direct address in instructional or opinionated content
  • Consistent "polished neutral tone" — no personality variance, no roughness, no informality spikes
  • No rhetorical questions used as transitions
  • No self-correction or mid-thought qualification ("actually, that's not quite right")
  • Opening sentence is a thesis, definition, or contextual framing rather than mid-thought or scene

Register collapse (Slack / informal writing): The most commonly missed signal in casual-register text. AI writes Slack messages that read like polished status reports with informal markers sprinkled in. Look for:

  • Complete, well-formed sentences throughout — real Slack has fragments
  • Topic-per-paragraph structure even in a short message
  • Formal vocabulary underneath casual markers (~60% and lmk but the sentences themselves are well-constructed prose)
  • No self-corrections mid-message ("oh also. just realized...")
  • Three-act arc (accomplishment / caveat / next steps) intact beneath the informality
  • Numbers written as words ("three incidents") rather than numerals with approximations ("~3 incidents", "<10min") Severity: strong when informal markers are present but prose structure is polished.

Templated closers in email/professional writing: "Happy to jump on a call if that's easier." "Let me know if you have any questions." "Feel free to reach out." These are the written equivalent of a throat-clearing opener. Real engineers end emails after the last substantive point, or with a specific ask, or with "lmk." Severity: weak in isolation, moderate when combined with other signals.

Signal I: Rhetorical scaffolding

Sentence and paragraph-level construction patterns that AI learned from polished writing and applies too consistently. These are the hardest signals to catch — they feel like good writing. Grammarly and live detectors flag these even when punctuation and vocabulary are clean.

Local coherence over-smooth (severity: moderate-strong, corpus-dependent) A pattern related to findings in recent research (DivEye, arXiv 2509.18880, TMLR 2026): every sentence connects too perfectly to the next, zero friction, zero cognitive-load artifacts. AI text often has no sentences that slightly misfire, no thoughts that shift direction mid-clause, no paragraph that doesn't close cleanly. Evidence: read each paragraph and check whether any sentence could be removed and the paragraph would still read perfectly. In human writing, removing a sentence often creates a noticeable gap. In AI writing, the paragraph usually flows better without it. Symptoms:

  • Every paragraph opens with a claim and closes with a confirmation of that claim
  • No sentence has a vocabulary mismatch with surrounding sentences
  • No abrupt topic shift within a paragraph
  • No sentence that slightly misfires before correcting

Calibration caveat (important). SHAP-based explainability analysis (arXiv 2603.23146) found that AI-text detectors rely on dataset-specific stylistic cues, not stable machine-authorship signals. Treat over-smoothness as a corpus-conditional indicator, not a universal authorship invariant. If the text is from a register that genuinely rewards tight coherence (academic abstracts, legal briefs, polished marketing copy), down-weight this signal.

Formula personal essay opener (severity: moderate) "The failure I think about most often happened in 2019." "The moment I remember most clearly was..." "The decision I regret most is..." Pattern: "The [noun] I [remember/think about/regret] most [adverb]" — AI's deliberate- introspection construction for opening personal essays. Real writers start with the incident, not with a ranked claim about their memory of it.

Asyndeton tricolon building in complexity (severity: moderate) Three items without conjunctions, each longer and more emotionally heavy than the last: "Two hours of degraded service, six engineers figuring out what I'd done wrong, a postmortem where I had to explain my reasoning to people who had been paged at home." AI constructs these to manufacture escalating emotional weight. Report the three items and their increasing length.

Intensifier/diminisher opposition (severity: moderate) "X [action] obsessively and Y [action] barely at all" — a balanced contrast using an amplifier against a diminisher. Same family as chiasmus but at the adverb level. Other forms: "X constantly / Y once", "X carefully / Y hardly". Quote the opposition.

Mini-aphorism paragraph closer (severity: moderate) A 4–7 word fragment or short sentence used to close a paragraph with a punchy lesson: "That's the part that stuck." "That's what changed." "That's the whole thing." "That's the real cost." AI appends these to tell the reader what conclusion to draw. Distinct from a sentence- length aphoristic closer — this fires even on very short fragments.

Landing phrase: "is the actual/real work" (severity: moderate) "Getting close enough to understand a failure is the actual work." "Deploying is the easy part. Debugging production is the actual work." AI's formulaic landing phrase for delivering conclusions. Quote it.

Parallel subject mirror (severity: weak-moderate) Two consecutive sentences opening with mirrored noun phrases that reflect each other: "The failure itself is just the event. Understanding it is separate." "The code is one thing. Maintaining it is another." AI constructs these as closing pairs. Report the mirrored subjects.

Participial reframe pivot (severity: moderate) Presenting a list of facts, then using a participial opener to reframe them as something more: "Laid out in a petition, the same facts read like a deliberate strategy." "Arranged that way, it sounds more planned than it was." "Seen this way, the whole arc reads differently." AI uses this pivot to manufacture the appearance of insight. The observation should be made directly without the reframing device. Quote the participial opener.

Thesis-first opener / "X is the easy/hard part" (severity: moderate) Starting a personal piece with the frame before the experience: "Gathering evidence for an EB1A petition is the easy part." "The writing is harder than the research." "X has become increasingly important." AI leads with the thesis because it's been trained on essays. Real writers start in the middle of the experience. Quote the opener.

Within-sentence anaphoric parallel list (severity: moderate-strong) Four parallel items with the same question-word structure inside a single sentence: "what existed before, what problem it solved, why the problem mattered, what changed after" Grammarly and other detectors score this identically to consecutive-sentence anaphora. The fix is varying the noun forms: "context, the actual problem, what changed" — not four parallel "what/why" question-clause starters. Quote the full list.

Show full SKILL.md (1,401 more words)Show less

Composed self-aware parenthetical (severity: moderate) A parenthetical clause where the writer meta-comments on their own interpretation: "which I choose to read as progress" "which I take as a sign of X" "which I'm choosing to interpret as Y" These feel reflective but read as placed. Real reflection names the concrete behavior and stops; it doesn't append the writer's chosen interpretation of that behavior. Quote the parenthetical.

Parallel reason chains (severity: moderate) Three consecutive sentences with the same "subject + because/when + reason" structure, even when the subjects vary: "I filed patents because X. localaik started because Y. I gave talks when Z." The parallel clause shape is detectable even across different subjects. Vary the clause structure: one "because", one bare assertion, one gerund or fragment. Report how many parallel reason-chains fire in sequence.

"More X than Y" comparative framing (severity: moderate) All forms: "feels more like X than Y", "more specific than vague", "faster than". AI describes things by framing against an opposite. Humans describe directly. Quote the comparative.

"Not just X" / "not X, it's Y" / "not X but Y" diminishment (severity: moderate) Naming what something isn't before saying what it is. "It's not self-reported, it's merit-based." "Reasoning, not just behavior." All three forms are the same pattern. Quote the diminishment.

Setup sentences without colons (severity: moderate) Announcement sentences of the form "What [verb phrase] was [the revelation]" — the colon is not the tell, the announcement structure is. All forms fire:

  • "What I didn't expect was..."
  • "What surprised me was..."
  • "The thing I realized was..."
  • "What it didn't have was..."
  • "What ended up working was..."
  • "What changed everything was..."
  • "What finally clicked was..."
  • "What made the difference was..." Any sentence of the form "What [verb phrase] was [the revelation]" is an announcement sentence regardless of whether a colon follows. Quote the setup sentence.

Aphoristic / chiasmus closer (severity: moderate-strong) Two sub-patterns:

  1. A closing sentence quotable as standalone: "The boilerplate is cheaper than the confusion." "The work doesn't sell itself."
  2. Chiasmus — reversed parallel that sounds like insight: "Being specific about being wrong is more useful than being vague about being right." — "specific/wrong" mirrored against "vague/right." Real insight is asymmetric; AI constructs symmetric reversals. Quote and identify which sub-pattern.

Anaphora — same sentence-starter 2–3× consecutively (severity: moderate) "I still read slowly. I still lose the thread." "Why this structure. Why the error handling. Why the cache TTL." AI uses repeated openers for emphasis. Humans collapse them or vary the structure. Report the repeated opener and how many times it fires.

"Turns out" / "it turns out that" as reveal pivot (severity: moderate) AI's dramatic reveal device: "Turns out the config had a different timeout." Direct statement: "The config had a different timeout." The "turns out" adds nothing except the illusion of a discovery narrative. Quote each instance.

"Either X or Y" / "between X and Y" binary framing (severity: moderate) Clean binary choices presented as the only options. Real situations are a spectrum. "Teams face a choice between mocking (fast, but drifts) or live endpoints (accurate, but expensive)" — also fires the balanced parenthetical pattern below.

Balanced parenthetical pairs (severity: moderate) "(X, but Y) or (A, but B)" — two symmetric trade-offs in one sentence. Real trade-offs are asymmetric. The symmetry signals AI construction. Quote the parallel parentheticals.

Inverted burstiness (severity: weak) Three or more consecutive very short sentences (under 7 words each) without a longer counterweight. "The code was fine. The logic held. Nothing left a trace." Reads choppy in isolation. Distinct from Signal B which flags uniform medium-length sentences.


Mixed-authorship overlay (estimate how much AI editing)

In addition to scoring the 9 signals, estimate the AI-edited fraction — what portion of the text appears AI-written or AI-edited. This is a separate dimension from the verdict and addresses the real-world common case where humans edit AI drafts (or AI polishes human drafts). Framing borrowed from EditLens (arXiv 2510.03154), which regresses edit amount rather than predicting binary authorship.

Look for these distribution clues:

  • Uniform AI signature across the whole text suggests pure AI generation
  • Specific paragraphs polished, others rough suggests selective AI editing
  • AI vocabulary clusters in transitions and conclusions, body is concrete suggests AI scaffold + human substance
  • Opening / closing paragraph reads as polished, middle is fragmented or rough suggests AI editing of the bookends only
  • Voice changes mid-text (formal → casual or vice versa) suggests mixed sources
  • One paragraph has all the banned vocabulary and the others have none suggests a single AI-written section dropped into otherwise human text

Estimate the fraction in one of these buckets:

  • Pure human (~0%)
  • Lightly AI-assisted (~10-30%) — light polish, single section, or vocabulary substitution
  • Mixed authorship (~30-60%) — substantial AI-written portions woven through
  • Heavily AI-edited (~60-90%) — AI draft with human edits, or human draft with substantial AI rewriting
  • Pure AI (~100%)

Report this as a separate line in the output format below.


Output format

Always output in this exact structure:

AI-CHECK REPORT
===============

VERDICT: [Human | Likely Human | Uncertain | Likely AI | AI]
CONFIDENCE: [Low | Medium | High]
OVERALL SCORE: [0–27] / 27
AI-EDITED FRACTION: [Pure human | Lightly AI-assisted | Mixed authorship | Heavily AI-edited | Pure AI]

SIGNAL BREAKDOWN
----------------
A. Perplexity            [0-3]  [one-line summary]
B. Burstiness            [0-3]  [one-line summary]
C. Hedge density         [0-3]  [one-line summary]
D. Structural tells      [0-3]  [one-line summary]
E. Specificity           [0-3]  [one-line summary]
F. Transitions           [0-3]  [one-line summary]
G. Punctuation           [0-3]  [one-line summary]
H. Voice / register      [0-3]  [one-line summary]
I. Rhetorical scaffolding [0-3]  [one-line summary]

EVIDENCE LOG
------------
[For every signal score > 0, list each specific instance with a short quote or description.
Format: SIGNAL-[LETTER] | "[exact quote or pattern description]" | severity: weak/moderate/strong]

WHAT GAVE IT AWAY
-----------------
[2–4 sentences identifying the strongest signals in plain language. Be specific about
which phrases, patterns, or absences were most diagnostic. This section is written
for a human who wants to understand the tell, not just see a score.]

RECOMMENDED FIXES
-----------------
[Only present if score > 6. Concrete rewrites or changes for the top 3 signals.]

Scoring thresholds

Total scoreVerdict
0–4Human
5–8Likely Human
9–13Uncertain
14–19Likely AI
20–27AI

Calibration notes

  • Short texts (<100 words) have fewer signals available; note this and adjust confidence to Medium max
  • Technical writing with domain jargon can suppress Signal A even in AI text — don't penalize accurate domain vocabulary
  • Academic or legal writing legitimately uses hedges and semicolons — adjust Signal C and G accordingly
  • ESL writing can mimic some AI patterns (uniform sentence length, hedge-heavy); note if this is plausible
  • A text can score AI on structure/transitions but human on voice — report both honestly
  • Signal I (rhetorical scaffolding) fires on patterns that feel like good writing — do not discount them because the writing quality is high. These are the hardest tells precisely because AI learned them from skilled human writers. A "more like X than Y" comparative in an otherwise clean piece is still a signal.
  • Register collapse (Signal H) requires cross-checking: informal markers alone do not make a Slack message human. Look at the sentence structure underneath the lmk and ~60%. If the underlying prose is polished and well-formed, the informal markers are surface noise.
  • Aphoristic closers (Signal I) are context-dependent — a single well-turned closing line in a long personal essay is less diagnostic than the same pattern in a 200-word post where it's the only memorable sentence. Weight accordingly.
Known detection ceilings (cap confidence accordingly)
  • Base-model output is a known ceiling. arXiv 2605.19516 ("Base Models Look Human") and corroborating Pangram analysis show that raw, non-instruction-tuned base-model output reads as human to current SOTA detectors. What modern detectors actually fire on is RLHF / instruction-tuning artifacts (polite hedging, structured enumeration, perfect coherence, "helpful assistant" register), not "AI-ness" per se. If the text plausibly came from a base model or a minimally-fine-tuned paraphraser (HIP-style attack), cap confidence at Medium even when surface signals look clean.
  • Claude blind spot in zero-shot detectors. The DetectRL benchmark (arXiv 2410.23746) documents that Binoculars achieves only ~55% AUROC on Claude-generated text vs ~88% on GPT-3.5. If the source model is plausibly Claude, treat low scores with extra caution.
  • Iteratively-paraphrased text is a ceiling. PADBen (arXiv 2511.00416) shows detectors >90% on direct AI text fail catastrophically on text that has been iteratively paraphrased through one or more LLMs. If the user mentions the text was paraphrased or rewritten, down-weight all signals.
  • Stylistic cues are corpus-conditional. SHAP-based explainability analysis (arXiv 2603.23146) shows that surface stylistic features detectors rely on are dataset-specific, not stable authorship signals. This applies most strongly to Signal I (rhetorical scaffolding). Do not over-anchor on any single signal; require corroboration across categories.
  • Multilingual text needs language-matched calibration. AI detectors badly misclassify non-English text — they wrongly flag lightly-polished human Arabic as AI, with one commercial detector dropping from 92% to 12% accuracy (arXiv 2511.16690). Refuse High confidence on non-English text unless calibration is known.
Reference detector landscape (for context)

If the user asks "what would tool X say?", these are the current characteristics:

  • GPTZero (2025) uses RL adversarial self-training plus a learned classifier ensemble, not just perplexity + burstiness. Produces a 4-class output (human / slight / moderate / full AI-assist). Older "GPTZero relies on perplexity + burstiness" framing is stale.
  • Binoculars is a strong zero-shot baseline but has the Claude blind spot above.
  • Pangram 3.0 claims 99.98% accuracy with 1-in-10,000 FPR and 97% on humanized text per vendor benchmarks (independent replication pending).
  • EditLens estimates AI-edit fraction rather than binary authorship (94.7 F1 binary, 90.4 F1 ternary).
  • Ghostbuster is the canonical black-box (no token probs needed) detector — 99 F1 in-domain, degrades out-of-domain.
  • DependencyAI uses syntactic dependency n-grams + LightGBM, cross-lingual without LLM access.

© harshaneel, 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 plugins/humanize/skills/ai-check of harshaneel/humanize.

Open the folder on GitHubat commit 9c3dec3

Compare with similar skills

AI Check 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.

AI Check compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
AI Check this skillharshaneel/humanize519—~6.8kAutomated safety check: PassMIT
HumanizerAzure-Samples/interview-coach-agent-framework17237 repos~5.8kAutomated safety check: PassMIT
Avoid AI Writingconorbronsdon/avoid-ai-writing4.9k3 repos~8.1kAutomated safety check: PassMIT
User-Facing Text Cleanupguillaumemeyer/watermarks-remover24k—~3.5kAutomated safety check: PassMIT
Install Anti Sloptrycompai/crm11k1 repos~881Automated safety check: PassMIT
Stop SlopXe/site7328 repos~423Automated safety check: PassMIT

Similar skills

  • Humanizer

    Azure-Samples/interview-coach-agent-framework

    Official

    Remove signs of AI-generated writing from text. An agent skill from Azure-Samples/interview-coach-agent-framework.

    172 GitHub starsUsed in 37 repos~5.8k tokens
    Writing & ContentAuto-check passed
  • Avoid AI Writing

    conorbronsdon/avoid-ai-writing

    Audit and rewrite content to remove AI writing patterns ("AI-isms").

    4.9k GitHub starsUsed in 3 repos~8.1k tokens
    Writing & ContentAuto-check passed
  • User-Facing Text Cleanup

    guillaumemeyer/watermarks-remover

    Audits prose for invisible Unicode characters and rewrites it while keeping facts, citations, code and required disclosures unchanged and the writer's voice intact.

    24k GitHub stars~3.5k tokensUpdated 3 days ago
    Writing & ContentAuto-check passed
  • Install Anti Slop

    trycompai/crm

    Install and configure the anti-slop Oxlint plugin in a local TypeScript or JavaScript repository.

    11k GitHub starsUsed in 1 repo~881 tokens
    Writing & ContentAuto-check passed
  • Stop Slop

    Xe/site

    Remove AI writing patterns from prose. An agent skill from Xe/site.

    732 GitHub starsUsed in 8 repos~423 tokens
    Writing & ContentAuto-check passed
  • Korean AI-Text Humanizer

    epoko77-ai/im-not-ai

    Diagnoses and rewrites Korean text that reads as AI-generated, fixing translationese and mechanical parallelism across 85 patterns in 10 categories, with light to heavy passes.

    5.9k GitHub starsUsed in 1 repo~1.2k tokens
    Writing & ContentAuto-check passed

More from harshaneel/humanize

  • Humanize

    harshaneel/humanize

    A skill your agent uses whenever the user asks to "humanize", "make this sound more human", "rewrite to avoid AI detection", "make this less AI-sounding", "add a human voice", or "write like a…

    519 GitHub stars~9.1k tokensUpdated 16 days ago
    Auto-check passed

Questions about AI Check

What does AI Check do?

A skill your agent uses when someone asks "does this sound AI?", "check if this is AI-written", "what gives this away as AI", "run ai-check on this", or "score this text". AI Check is an agent skill from harshaneel/humanize.", "check if this is AI-written", "what gives this away as AI", "run ai-check on this", or "score this text".

When should I use AI Check?

AI Check fits situations like: someone asks does this sound AI?; check if this is AI-written; what gives this away as AI; run ai-check on this.

How do I install AI Check in Claude Code?

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

How do I install AI Check in Codex?

Run `npx skills add harshaneel/humanize --skill ai-check -a codex`. Or copy the skill folder (plugins/humanize/skills/ai-check in harshaneel/humanize) into .agents/skills/ai-check in your project. Codex loads it when a task matches its description.

Can I use AI Check 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 harshaneel/humanize --skill ai-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ai-check, .gemini/skills/ai-check, .github/skills/ai-check and .opencode/skills/ai-check in your project.

What does AI Check need to run?

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

Does AI Check 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 AI Check 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 AI Check use?

AI Check 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 AI Check use?

About 6.8k tokens (SKILL.md is roughly 27k 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 AI Check?

Skills that share tags, products or a category with AI Check: Humanizer (Azure-Samples/interview-coach-agent-framework, 172 stars), Avoid AI Writing (conorbronsdon/avoid-ai-writing, 4.9k stars), User-Facing Text Cleanup (guillaumemeyer/watermarks-remover, 24k stars) and Install Anti Slop (trycompai/crm, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains AI Check?

harshaneel (a GitHub user) maintains it in harshaneel/humanize, which has 519 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 22, 2026.

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