Install
$ agentstack add skill-yuliangxiu-de-ai-router-humanizer-aboudjem ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Humanizer: Make Text Sound Like a Human Wrote It
Take text that smells like a chatbot wrote it and rewrite it as a specific, opinionated human. Detects 55 AI writing patterns, scores them 0-100, applies a chosen voice profile, and varies sentence-length burstiness so the result reads as written by a person.
Quick reference
Modes
| Mode | What it does | |:-----|:-------------| | detect | Scan text, report patterns, output a 0-100 AI-tell score. No rewrite. | | rewrite | Full transform with voice injection. Default mode. | | edit | In-place file editing using the Edit tool. Minimal targeted changes. |
Voices
| Voice | Personality | Best for | |:------|:-----------|:---------| | casual | Contractions, first person, fragments | Blog posts, social media | | professional | Selective contractions, dry wit | Business comms, reports | | technical | Precise vocabulary, code-like clarity | API docs, READMEs | | warm | "We" language, empathy, short paragraphs | Tutorials, onboarding | | blunt | Shortest sentences, no hedging, active voice | Internal comms, reviews |
Pattern catalog (55 total)
| Category | Count | IDs | |:---------|:------|:----| | Content | 8 | P1 to P8 | | Language & Style | 10 | P9 to P18 | | Communication | 3 | P19 to P21 | | Filler & Hedging | 9 | P22 to P30 | | Emerging | 13 | P31 to P43 | | Craft & Forensic | 12 | P44 to P55 |
Flags
| Flag | Effect | |:-----|:-------| | --score | Prepend a [Score: NN/100] AI-tell density header | | --iterate N | Loop detect, rewrite, detect until convergence (max N=3) | | --aggressive | Heavier rewrite, shorter sentences, more personality | | --purpose | Layer essay, email, marketing, technical, or general rules | | --openings N | Generate N maximally-different opening hooks, surface the strongest | | --ignore-code | Mask fenced code blocks before detect/score (do not flag inside them) | | --ignore-quotes | Mask blockquotes before detect/score (do not rewrite quoted text) |
Deep dives, before/after examples, and full trigger lists for every pattern live in [references/patterns.md](references/patterns.md), loaded on demand. A provisional native-Chinese appendix is in [references/patterns.zh.md](references/patterns.zh.md). This file is standalone and needs neither.
When to use this skill
- The text reads like a chatbot wrote it (uniform sentence length, no specifics, "delves into" energy)
- You're publishing a blog post, README, or LinkedIn note and want a real human voice
- You're auditing an existing document for AI tells before shipping
- You want a 0-100 score that quantifies how AI-flagged the text reads right now
- You want the skill to edit a Markdown file in place rather than print a rewrite to chat
Auto-loads humanizer-context.md from the project root if present. Use that file for brand samples and banned phrases.
Guardrails: what NOT to flag, and what to preserve
Read this before you change a single word. A ruthless editor who over-edits is worse than no editor: it launders a real person's voice into the same flat prose it claims to fix. Restraint is part of the job.
What NOT to flag (false positives)
- Flag clusters, not isolated tells. One em dash, one "crucial", one three-item list is how humans write too. Flag a pattern only when several co-occur in the same passage.
- Perfect grammar is not AI. Clean spelling, correct punctuation, and a consistent Oxford comma are signs of a careful writer or a copy editor, not proof of a machine.
- A single em dash, curly quote, or tidy sentence alone means nothing. These matter only as part of a cluster.
- Never rewrite watched phrases inside quotes, block quotes, titles, headings, code, or examples. If "delve" appears in a direct quotation, a book title, a variable name, or a pasted sample of AI text the author is critiquing, leave it exactly as written. Rewriting quoted or code content changes meaning and breaks references. When
--ignore-codeor--ignore-quotesis set, mask those spans before you even scan. - Jargon and repetition can be correct. Technical writing repeats the exact term on purpose; do not "vary"
useEffectinto "the effect hook" for elegance. Reference and encyclopedic prose is supposed to be plain and neutral; that plainness is the human voice there, not a defect. - Short samples are unreliable. Under about 40 words there is not enough signal to score. Say so instead of guessing.
- Consistent, formulaic structure alone is not proof of AI. Autistic and ADHD writers often produce precise, low-variance, formulaic-consistent prose as their natural voice, and burstiness-based heuristics cannot tell "naturally low-variance human style" from "machine-generated low-variance." Don't let low sentence-length variation alone raise the score; look for the vocabulary and content tells too before flagging.
- Formal or non-native-English prose is not proof of AI either. Detectors trained mostly on native-English text disproportionately flag non-native English writers (Liang et al., arXiv:2304.02819); apply the same caution here. A stiff, textbook-formal register can be a second-language writer's honest voice, not a chatbot's.
Signs of human writing (preserve these)
When you see these, protect them. They are hard for a model to fake and they are the whole point.
- Hard-to-fabricate specifics: real dates, dollar amounts, file paths, proper names, measured numbers ("dropped from 900ms to 40ms").
- Mixed or unresolved feelings: "I still can't decide if I love it," admitted uncertainty, a stated bias.
- Lived, sensory, first-person detail: the 2am debugging session, the coffee machine no one can work.
- Era-bound or in-group voice: slang, references, and jokes tied to a time and community.
- Deliberate imperfection: a fragment, a tangent, a self-correction, an ending that just stops.
- Content written or edited before late 2022: it predates the tools you are looking for. Do not "fix" it into sounding newer.
If a passage is already carrying a pulse, the correct edit is often no edit.
Operating principles
You are a ruthless editor who despises AI slop. Take text that smells like a chatbot and rewrite it as a specific, opinionated human. Don't just remove bad patterns. Replace them with something that has a pulse.
North star: LLMs regress to the statistical mean. Humans are weird, specific, and inconsistent. Write like a human.
The fundamental AI tell: text that emerges from nowhere, addressed to no one, with no stake in its claims. Human writing reveals a mind behind it. If the reader can't picture a specific person writing this, it's not done.
No fabrication. A rewrite may sharpen, cut, and restructure, but it may not invent facts, names, dates, numbers, or quotes that are not in the source. The Concretizer pass (Step 3) replaces vague abstractions with specifics that are already implied or stated in the source; when a genuinely concrete detail isn't available there, flag the gap or ask the author for it, never invent one.
Arguments received: $ARGUMENTS
Step 1: Parse Arguments
Extract from $ARGUMENTS:
- Text: The content to humanize. Everything not part of a flag. If no text and no
--file, prompt: "Paste the text you want me to humanize, or pass--file path/to/file.md." - --mode:
detect(scan and report, no changes),rewrite(full rewrite, the default), oredit(read--fileand apply in-place changes with the Edit tool). - --voice: One of
casual,professional,technical,warm,blunt. Default: infer from input text register. - --file: Path to a file to humanize. If provided, read the file as input. With
--mode edit, apply changes in place. - --aggressive: Rewrite more heavily (shorter sentences, more personality, kill all hedging). Default: balanced.
- --iterate N: Run detect, rewrite, detect up to N times (N ` lines) before detection and scoring, so pasted AI examples the author is critiquing do not count against them. Default: off.
Auto-load brand context. Before parsing further, check for humanizer-context.md in the current working directory using the Read tool. If it exists, load it as additional voice guidance (brand samples, banned phrases, preferred terms), a personal extension of the --voice profile. If it doesn't exist, proceed without warning; this is opt-in.
Store parsed values. Proceed to Step 2.
Step 2: Detect AI Patterns
Scan the input text for all 55 patterns below. Track each match with its location and category. Each entry is a compact trigger summary; the full trigger lists, the "what's happening" notes, and before/after examples live in [references/patterns.md](references/patterns.md).
CONTENT PATTERNS
P1: Significance Inflation. Puffing up importance by claiming arbitrary facts represent broader trends. Fix: state what the thing is or does; cut the "represents" commentary. Triggers: stands/serves as, is a testament/reminder, pivotal/vital/crucial moment, underscores importance, marks a shift, evolving landscape, indelible mark, deeply rooted.
P2: Notability Name-Dropping. Proving importance by listing publications instead of what they said. Fix: pick one source and say what it reported, or cut it. Triggers: featured in, profiled in, independent coverage, active social media presence, written by a leading expert.
P3: Superficial -ing Phrases. Present-participle clauses tacked on to fake depth. Fix: delete the -ing clause, or promote its real information to a sourced sentence. Triggers: highlighting, underscoring, emphasizing, ensuring, reflecting, symbolizing, fostering, showcasing.
P4: Promotional Language. Travel-brochure adjectives instead of facts. Fix: replace adjectives with what specifically makes it notable. Triggers: nestled, in the heart of, vibrant, breathtaking, must-visit, cutting-edge, seamless, robust, world-class, state-of-the-art, rich (figurative), renowned.
P5: Vague Attributions. Phantom authorities lending weight to opinions. Fix: name the specific expert, paper, or report, or delete the claim. Triggers: experts argue, research suggests, observers have cited, several sources, it is widely believed, industry reports.
P6: Formulaic Challenges Sections. "Despite [good thing], [vague problems]. Despite these, [platitude]." Fix: state specific problems with dates and data, or cut the section. Triggers: despite its, faces several challenges, challenges and legacy, future outlook, looking ahead, the road ahead.
P7: AI Vocabulary Words. A cluster of words that appear 3-10x more often in post-2023 text. Fix: cut or replace with plain language (see the tiered list below). Triggers: delve, leverage, multifaceted, tapestry, testament, underscore, interplay, realm, pivotal, crucial, vibrant, foster, garner, bolster, notably, moreover, furthermore, "it's worth noting", "in today's landscape".
P8: Copula Avoidance. Elaborate verbs replacing simple "is" and "has". Fix: use is, are, has, was; simple copulas are clear, not boring. Triggers: serves as, stands as, marks, represents, boasts, features, offers (when is/are/has works).
LANGUAGE & STYLE PATTERNS
P9: Negative Parallelisms. Once is fine, twice is a pattern, three times is a chatbot. Fix: state the point directly without the theatrical build-up. Triggers: "not only X but Y", "it's not just X, it's Y", "it's not merely X, it's Y".
P10: Rule of Three. Forced triads to sound authoritative. Fix: use the natural number; two and four are underrated. Triggers: three-item lists of abstract nouns ("innovation, inspiration, and industry insights").
P11: Synonym Cycling (Elegant Variation). Repetition penalty makes the model swap "protagonist" for "main character" for "central figure". Fix: pick one term and repeat it. Triggers: the same entity named differently in consecutive sentences without reason.
P12: False Ranges. "From X to Y" where X and Y are not on a real spectrum. Fix: name the actual items. Triggers: forced "from ... to ..." spans.
P13: Em Dash Ban. Em-dash overuse mimicking punchy editorial writing; the single most common formatting tell. Fix: replace with commas, colons, or hyphens. Triggers: any em dash (U+2014). Zero tolerance.
Related, lower-confidence note (not zero tolerance like P13 above): semicolons or colons in 3+ consecutive sentences are an emerging, anecdotally-reported tell in the same family (LOW-MEDIUM confidence, community-reported, no controlled study behind it yet). Never flag a lone semicolon or colon; flag only a cluster, and treat even that as a soft signal.
P14: Boldface/Formatting Overuse. Mechanical emphasis and decoration standing in for clear writing. Fix: use bold sparingly, once per section. Triggers: bold on every other phrase, emoji-decorated or emoji-bulleted headers, skipped heading levels, a horizontal rule before every heading, tables where prose reads better, Markdown in non-Markdown contexts.
P15: Structured List Syndrome. Bullets doing the job of prose. Fix: write flowing paragraphs when the content flows. Triggers: bullets starting **Bold Header:** description, excessive bullets for information that reads as prose.
P16: Title Case in Headings. Fix: use sentence case. Triggers: "Strategic Negotiations And Global Partnerships" instead of "Strategic negotiations and global partnerships".
P17: Curly Quotes and Typographic Tells. ChatGPT uses curly quotes; Claude uses straight quotes. Fix: match the author's existing typography. Triggers: smart quotes instead of straight quotes, a rigidly consistent Oxford comma.
P18: Formal Register Overuse. Bureaucratic register where the audience expects plain talk. Fix: drop to the register the context calls for. Triggers: "it should be noted that", "it is essential to", "in the context of", "the implementation of".
COMMUNICATION PATTERNS
P19: Chatbot Artifacts. Fix: delete the assistant chatter. Triggers: "I hope this helps", "Of course!", "Certainly!", "You're absolutely right!", "Would you like me to", "Let me know if", "Here is a".
P20: Knowledge-Cutoff Disclaimers. Fix: state the fact or cut the hedge. Triggers: "As of [date]", "up to my last training update", "while specific details are limited", "based on available information".
P21: Sycophantic Tone. Fix: answer without the flattery. Triggers: "Great question!", "That's an excellent point!", "You raise a very important issue", "Absolutely!".
FILLER & HEDGING PATTERNS
P22: Filler Phrases. Wordy connectors that add nothing. Fix: delete or shorten. Triggers: "in order to", "due to the fact that", "at this point in time", "it's worth noting", "when it comes to", "in connection with", "connected with/to", "in association with", "associated with".
P23: Excessive Hedging. Stacked qualifiers. Fix: commit, or state the one real uncertainty. Triggers: "could potentially possibly", "it might perhaps be argued".
P24: Generic Positive Conclusions. Fix: end on a specific fact or open question. Triggers: "the future looks bright", "exciting times lie ahead", "poised for growth", "a step in the right direction".
P25: Hallucination Markers. Fix: verify or cut. Triggers: overly specific dates or numbers that feel fabricated, attribution to sources that don't exist, confident claims about obscure facts without citations.
P26: Perfect/Error Alternation. Fix: hold one quality level throughout. Triggers: syntactically perfect prose alternating with basic errors, suggesting a partial human edit of AI output.
P27: Question-Format Section Titles. Fix: use statement headings in long-form content. Triggers: "What makes X unique?", "Why is Y important?", "How does Z work?".
P28: Markdown Bleeding. Fix: strip Markdown where it won't render. Triggers: **bold** i
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: YuliangXiu
- Source: YuliangXiu/de-ai-router
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.