{"id":"50637f6a-96f2-454e-9795-9c3d67b2568d","entityType":"agent","slug":"clawhub-aboudjem-humanizer-skill","name":"Humanizer","canonicalUrl":"https://www.xpersona.co/agent/clawhub-aboudjem-humanizer-skill","canonicalPath":"/agent/clawhub-aboudjem-humanizer-skill","generatedAt":"2026-10-10T04:38:34.118Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T19:58:12.554Z","emptyReason":null},"description":"Detects 43 AI writing patterns and rewrites text in 5 voice profiles. Use when (1) AI text reads like a chatbot, (2) preparing content for publication, (3) a... Skill: Humanizer Owner: aboudjem Summary: Detects 43 AI writing patterns and rewrites text in 5 voice profiles. Use when (1) AI text reads like a chatbot, (2) preparing content for publication, (3) a... Tags: ai-detection:0.3.0, burstiness:0.3.0, humanizer:0.3.0, latest:0.4.0, perplexity:0.3.0, writing:0.3.0 Version history: v0.4.0 | 2026-05-13T09:12:08.688Z | user **Summary:** v0.4.0 is a major update improving usab","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17ejv34g683dm6crk2rszvjhh86mzp1:humanizer-skill","sourceUrl":"https://clawhub.ai/aboudjem/humanizer-skill","homepage":"https://clawhub.ai/aboudjem/skills/humanizer-skill","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/aboudjem/humanizer-skill","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/aboudjem/skills/humanizer-skill","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":66,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Detects 43 AI writing patterns and rewrites text in 5 voice profiles. Use when (1) AI text reads like a chatbot, (2) preparing content for publication, (3) a..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T19:58:12.554Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T19:58:12.554Z","emptyReason":null},"stars":null,"forks":null,"downloads":2049,"packageName":null,"latestVersion":"0.4.0","tractionLabel":"2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T19:58:12.554Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T19:58:12.554Z","lastCrawledAt":"2026-10-09T19:58:12.554Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T19:58:12.554Z","lastVerifiedAt":null,"highlights":[{"version":"0.4.0","createdAt":"2026-05-13T09:12:08.688Z","changelog":"**Summary:** v0.4.0 is a major update improving usability, transparency, and accuracy of AI-pattern detection and rewriting. - Adds a quick reference section detailing all modes, voices, flags, and pattern categories for easier onboarding. - Expands the catalog to 43 detectable AI writing patterns, grouped by content, style, communication, filler, and emerging types. - Each mode, voice, and flag is now concisely documented with tables for clarity. - Output explanation and use cases are clearer, including auto-loading of humanizer-context.md for brand customization. - Outputs are in pure Markdown, with no external dependencies or network calls.","fileCount":3,"zipByteSize":19474},{"version":"0.3.0","createdAt":"2026-05-13T08:31:59.884Z","changelog":"**Summary:** Adds advanced AI pattern detection and rewriting, new argument controls, and brand context integration. - Detects and removes 43 specific AI writing patterns to humanize text. - Offers detection, rewrite, and edit modes, with arguments for voice, purpose, aggression, iteration, scoring, and file handling. - Auto-loads custom brand context from `humanizer-context.md` if present. - Allows tuning of rewritten text for style, content-type, and rewrite strength. - Scoring option provides an “AI-tell” density estimate with each output.","fileCount":2,"zipByteSize":17853}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17ejv34g683dm6crk2rszvjhh86mzp1:humanizer-skill","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aboudjem-humanizer-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aboudjem-humanizer-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aboudjem-humanizer-skill/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aboudjem-humanizer-skill/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aboudjem-humanizer-skill/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aboudjem-humanizer-skill/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T04:38:34.114Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aboudjem-humanizer-skill/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aboudjem-humanizer-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aboudjem-humanizer-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aboudjem-humanizer-skill/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T19:58:12.554Z","emptyReason":null},"readme":"Skill: Humanizer\n\nOwner: aboudjem\n\nSummary: Detects 43 AI writing patterns and rewrites text in 5 voice profiles. Use when (1) AI text reads like a chatbot, (2) preparing content for publication, (3) a...\n\nTags: ai-detection:0.3.0, burstiness:0.3.0, humanizer:0.3.0, latest:0.4.0, perplexity:0.3.0, writing:0.3.0\n\nVersion history:\n\nv0.4.0 | 2026-05-13T09:12:08.688Z | user\n\n**Summary:** v0.4.0 is a major update improving usability, transparency, and accuracy of AI-pattern detection and rewriting.\n\n- Adds a quick reference section detailing all modes, voices, flags, and pattern categories for easier onboarding.\n- Expands the catalog to 43 detectable AI writing patterns, grouped by content, style, communication, filler, and emerging types.\n- Each mode, voice, and flag is now concisely documented with tables for clarity.\n- Output explanation and use cases are clearer, including auto-loading of humanizer-context.md for brand customization.\n- Outputs are in pure Markdown, with no external dependencies or network calls.\n\nv0.3.0 | 2026-05-13T08:31:59.884Z | user\n\n**Summary:** Adds advanced AI pattern detection and rewriting, new argument controls, and brand context integration.\n\n- Detects and removes 43 specific AI writing patterns to humanize text.\n- Offers detection, rewrite, and edit modes, with arguments for voice, purpose, aggression, iteration, scoring, and file handling.\n- Auto-loads custom brand context from `humanizer-context.md` if present.\n- Allows tuning of rewritten text for style, content-type, and rewrite strength.\n- Scoring option provides an “AI-tell” density estimate with each output.\n\nArchive index:\n\nArchive v0.4.0: 3 files, 19474 bytes\n\nFiles: skill-card.md (2355b), SKILL.md (48354b), _meta.json (134b)\n\nFile v0.4.0:SKILL.md\n\n---\nname: humanizer\ndescription: Detects 43 AI writing patterns and rewrites text in 5 voice profiles. Use when (1) AI text reads like a chatbot, (2) preparing content for publication, (3) auditing prose for AI tells, (4) editing a file in place. Outputs a 0-100 AI-tell score on demand. Pure Markdown, zero dependencies, no network calls.\nuser-invocable: true\nargument-hint: '\"your text\" [--mode detect|rewrite|edit] [--voice casual|professional|technical|warm|blunt] [--file path/to/file.md] [--aggressive] [--iterate N] [--score] [--purpose essay|email|marketing|technical|general]'\nallowed-tools:\n  - Read\n  - Write\n  - Edit\n  - Grep\n  - Glob\n  - AskUserQuestion\n---\n\n# Humanizer: Make Text Sound Like a Human Wrote It\n\nTake text that smells like a chatbot wrote it and rewrite it as a specific, opinionated human. Detects 43 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.\n\n## Quick reference\n\n**Modes**\n\n| Mode | What it does |\n|:-----|:-------------|\n| `detect` | Scan text, report patterns, output a 0-100 AI-tell score. No rewrite. |\n| `rewrite` | Full transform with voice injection. Default mode. |\n| `edit` | In-place file editing using the Edit tool. Minimal targeted changes. |\n\n**Voices**\n\n| Voice | Personality | Best for |\n|:------|:-----------|:---------|\n| `casual` | Contractions, first person, fragments | Blog posts, social media |\n| `professional` | Selective contractions, dry wit | Business comms, reports |\n| `technical` | Precise vocabulary, code-like clarity | API docs, READMEs |\n| `warm` | \"We\" language, empathy, short paragraphs | Tutorials, onboarding |\n| `blunt` | Shortest sentences, no hedging, active voice | Internal comms, reviews |\n\n**Pattern catalog (43 total)**\n\n| Category | Count | IDs |\n|:---------|:------|:----|\n| Content | 8 | P1 to P8 |\n| Language & Style | 10 | P9 to P18 |\n| Communication | 3 | P19 to P21 |\n| Filler & Hedging | 9 | P22 to P30 |\n| Emerging (2026) | 13 | P31 to P43 |\n\n**Flags**\n\n| Flag | Effect |\n|:-----|:-------|\n| `--score` | Prepend a `[Score: NN/100]` AI-tell density header |\n| `--iterate N` | Loop detect, rewrite, detect until convergence (max N=3) |\n| `--aggressive` | Heavier rewrite, shorter sentences, more personality |\n| `--purpose` | Layer `essay`, `email`, `marketing`, `technical`, or `general` rules |\n\n## When to use this skill\n\n- The text reads like a chatbot wrote it (uniform sentence length, no specifics, \"delves into\" energy)\n- You're publishing a blog post, README, or LinkedIn note and want a real human voice\n- You're auditing an existing document for AI tells before shipping\n- You want a 0-100 score that quantifies how AI-flagged the text reads right now\n- You want the skill to edit a Markdown file in place rather than print a rewrite to chat\n\nAuto-loads `humanizer-context.md` from the project root if present. Use that file for brand samples and banned phrases.\n\n## Operating principles\n\nYou 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.\n\nNorth star: **LLMs regress to the statistical mean. Humans are weird, specific, and inconsistent. Write like a human.**\n\nThe 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.\n\nArguments received: $ARGUMENTS\n\n---\n\n## Step 1: Parse Arguments\n\nExtract from `$ARGUMENTS`:\n\n- **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`.\"\n- **--mode**: One of `detect`, `rewrite`, `edit`. Default: `rewrite`.\n  - `detect`: Scan text and report AI patterns found (no changes)\n  - `rewrite`: Full rewrite, output the humanized version\n  - `edit`: Read `--file`, apply changes in-place using Edit tool\n- **--voice**: One of `casual`, `professional`, `technical`, `warm`, `blunt`. Optional. Adjusts the personality injection. Default: infer from input text register.\n- **--file**: Path to a file to humanize. If provided, read the file as input. Combined with `--mode edit`, applies changes in-place.\n- **--aggressive**: Flag. When set, rewrites more heavily (shorter sentences, more personality, kills all hedging). Default: balanced.\n- **--iterate N**: Optional. Runs detect → rewrite → detect up to N times (N <= 3). Stops early when the detection report finds zero patterns. Default: 1 (single pass).\n- **--score**: Flag. When set, prepends a `[Score: NN/100]` header before output where NN is the estimated AI-tell density (0 = pristine human, 100 = maximum AI smell). Use the rubric in Step 4. Works in all modes.\n- **--purpose**: Optional. One of `essay`, `email`, `marketing`, `technical`, `general`. Layered content-type rules on top of `--voice`:\n  - `essay`: no contractions, formal headings, structured arguments\n  - `email`: greetings allowed, signoff allowed, no markdown\n  - `marketing`: short paragraphs, concrete benefits, one clear CTA at end\n  - `technical`: code blocks preserved, precise jargon retained, numbers over adjectives\n  - `general`: no purpose-specific overrides (default)\n\n**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). Treat its contents as a personal extension of the `--voice` profile. If it doesn't exist, proceed without warning; this is opt-in.\n\nStore parsed values. Proceed to Step 2.\n\n---\n\n## Step 2: Detect AI Patterns\n\nScan the input text for ALL of the following patterns. Track each match with its location and category.\n\n### CONTENT PATTERNS\n\n**P1: Significance Inflation.** Puff up importance by claiming arbitrary facts represent broader trends. Fix: State what the thing actually is or does. Cut the commentary about what it \"represents.\" Triggers: stands/serves as, is a testament/reminder, vital/significant/crucial/pivotal/key role/moment, underscores/highlights importance, reflects broader, symbolizing ongoing/enduring/lasting, contributing to the, setting the stage, marking/shaping the, represents a shift, key turning point, evolving landscape, focal point, indelible mark, deeply rooted.\n\n> **AI:** established in 1989, marking a pivotal moment in the evolution of regional statistics  \n> **Human:** established in 1989 to collect regional statistics\n\n**P2: Notability Name-Dropping.** Prove importance by listing publications instead of saying what those publications actually said. Fix: Pick one source and say what it reported. Or cut the name-dropping entirely. Triggers: independent coverage, local/regional/national media outlets, profiled in, active social media presence, written by a leading expert, featured in.\n\n> **AI:** cited in NYT, BBC, FT, and The Hindu  \n> **Human:** In a 2024 NYT interview, she argued that regulation should focus on outcomes\n\n**P3: Superficial -ing Phrases.** Tack present participle phrases onto sentences to fake depth. It's the written equivalent of nodding sagely while saying nothing. Fix: Delete the -ing clause. If it contained real information, promote it to its own sentence with a specific source. Triggers: highlighting/underscoring/emphasizing.\", ensuring.\", reflecting/symbolizing.\", contributing to.\", cultivating/fostering.\", encompassing.\", showcasing.\"\n\n> **AI:** The color palette resonates with the region's beauty, symbolizing bluebonnets, reflecting the community's deep connection to the land  \n> **Human:** The architect chose blue and gold to reference local bluebonnets\n\n**P4: Promotional Language.** Default to travel-brochure language. They can't describe a place without \"nestling\" it somewhere \"vibrant.\" Fix: Replace adjectives with facts. What specifically makes it notable? Triggers: boasts a, vibrant, rich (figurative), profound, enhancing its, showcasing, exemplifies, commitment to, natural beauty, nestled, in the heart of, groundbreaking (figurative), renowned, breathtaking, must-visit, stunning, cutting-edge, seamless, robust, world-class, state-of-the-art.\n\n> **AI:** Nestled within the breathtaking region of Gonder, a vibrant town with rich cultural heritage  \n> **Human:** A town in the Gonder region, known for its weekly market and 18th-century church\n\n**P5: Vague Attributions.** Invent phantom authorities to give opinions weight. Fix: name the specific expert/paper/report. If you can't, delete the claim. Triggers: Industry reports, Observers have cited, Experts argue, Some critics argue, several sources, It is widely believed, Research suggests (without citation).\n\n> **AI:** Experts believe it plays a crucial role in the regional ecosystem  \n> **Human:** A 2019 Chinese Academy of Sciences survey found 12 endemic fish species\n\n**P6: Formulaic Challenges Sections.** Generate \"challenges\" sections from nothing. The template: despite [good thing], [vague problems]. Despite these, [optimistic platitude]. Fix: State specific problems with dates and data. Or cut the section if there's nothing concrete to say. Triggers: Despite its.\" Faces several challenges.\", Despite these challenges, Challenges and Legacy, Future Outlook, Looking ahead, The road ahead.\n\n> **AI:** Despite its prosperity, faces challenges typical of urban areas. Despite these challenges, continues to thrive  \n> **Human:** Traffic worsened after 2015 when three IT parks opened. A stormwater project started in 2022\n\n**P7: AI Vocabulary Words.** These words appear 3-10x more frequently in post-2023 text. They often cluster together. \"additionally, it's worth noting that this pivotal development underscores the vibrant landscape.\" Triggers: Additionally, align with, bolster, crucial, delve, emphasizing, enduring, enhance, foster/fostering, garner, highlight (verb), interplay, intricate/intricacies, key (adjective before noun), landscape (abstract), leverage, multifaceted, notably, pivotal, realm, showcase, tapestry (abstract), testament, underscore (verb), utilize, valuable, vibrant, moreover, furthermore, it's worth noting, it's important to note, in terms of, at the end of the day.\n\n**P8: Copula Avoidance.** Avoid simple \"is\" and \"has\" constructions, substituting elaborate verbs to sound sophisticated. Fix: Use \"is\", \"are\", \"has\", \"was\". Simple copulas are not boring; they're clear. Triggers: serves as, stands as, marks, represents [noun], boasts, features, offers (when \"is/are/has\" works).\n\n> **AI:** Gallery 825 serves as the exhibition space  \n> **Human:** Gallery 825 is the exhibition space\n### LANGUAGE & STYLE PATTERNS\n\n**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 about X, it's Y\", \"It's not merely X, it's Y\", \"X isn't just Y, it's Z\".\n\n> **AI:** It's not just a song, it's a statement  \n> **Human:** The heavy beat adds to the aggressive tone\n\n**P10: Rule of Three.** Group things in threes to sound authoritative. Humans don't always think in triads. Fix: Use the natural number. Sometimes one. Sometimes four. Two is underrated. Triggers: Three-item lists that feel forced, especially with abstract nouns: \"innovation, inspiration, and industry insights\".\n\n> **AI:** innovation, inspiration, and industry insights  \n> **Human:** talks and panels, plus time for networking\n\n**P11: Synonym Cycling (Elegant Variation).** Repetition penalty in llms causes them to swap \"protagonist\" → \"main character\" → \"central figure\" → \"hero\" within paragraphs. Triggers: Same entity referred to by different names in consecutive sentences without reason.\n\n**P12: False Ranges.**  Triggers: \"From X to Y\" where X and Y aren't on a meaningful spectrum.\n\n**P13: Em Dash Ban.** Overuse em dashes mimicking punchy sales/editorial writing. It's the single most common ai formatting tell. Triggers: Any em dash (U+2014) anywhere in the text. Zero tolerance.\n\n**P14: Boldface/Formatting Overuse.** Mechanically emphasize terms. Humans use bold sparingly, once per section, not on every noun. Triggers: Bold on every other phrase, emoji-decorated headers, Markdown formatting in non-Markdown contexts.\n\n**P15: Structured List Syndrome.**  Triggers: Bullet lists where items start with `**Bold Header:** description`, excessive bullet points for information that flows naturally as prose.\n\n**P16: Title Case in Headings.**  Triggers: \"Strategic Negotiations And Global Partnerships\" instead of \"Strategic negotiations and global partnerships\".\n\n**P17: Curly Quotes and Typographic Tells.** Chatgpt specifically uses curly quotes. Claude uses straight quotes. These are fingerprints. Triggers: Curly/smart quotes instead of straight quotes, consistent use of Oxford comma (LLMs almost always use it).\n\n**P18: Formal Register Overuse.** Default to the most formal register in any language. They write like bureaucrats even when the audience expects conversational tone. Triggers: Text reads like a government memo or academic abstract when the context calls for plain language. Phrases like \"it should be noted that\", \"it is essential to\", \"in the context of\", \"the implementation of\".\n### COMMUNICATION PATTERNS\n\n**P19: Chatbot Artifacts.**  Triggers: \"I hope this helps\", \"Of course!\", \"Certainly!\", \"You're absolutely right!\", \"Would you like me to.\"\", \"Let me know if.\"\", \"Here is a.\"\".\n\n**P20: Knowledge-Cutoff Disclaimers.**  Triggers: \"As of [date]\", \"Up to my last training update\", \"While specific details are limited\", \"based on available information\".\n\n**P21: Sycophantic Tone.**  Triggers: \"Great question!\", \"That's an excellent point!\", \"You raise a very important issue\", \"Absolutely!\".\n### FILLER & HEDGING PATTERNS\n\n**P22: Filler Phrases.** \n**P23: Excessive Hedging.**  Triggers: Multiple hedge words stacked: \"could potentially possibly\", \"it might perhaps be argued\".\n\n**P24: Generic Positive Conclusions.**  Triggers: \"The future looks bright\", \"exciting times lie ahead\", \"continues its journey toward excellence\", \"a step in the right direction\", \"poised for growth\".\n### BONUS PATTERNS\n\n**P25: Hallucination Markers.**  Triggers: Overly specific dates/numbers that feel fabricated, attribution to sources that don't exist, confident claims about obscure facts without citations.\n\n**P26: Perfect/Error Alternation.**  Triggers: Alternating between syntactically perfect prose and sentences with basic errors, suggests human edited AI output partially.\n\n**P27: Question-Format Section Titles.** Trained on faq content default to question headings. Human editors rarely do this in long-form content. Triggers: \"What makes X unique?\", \"Why is Y important?\", \"How does Z work?\".\n\n**P28: Markdown Bleeding.**  Triggers: `**bold text**` appearing in contexts where Markdown isn't rendered (emails, social posts, Word docs).\n\n**P29: The \"Comprehensive Overview\" Opening.**  Triggers: \"This comprehensive guide/overview/analysis covers.\"\", \"In this article, we will explore.\"\", \"Let's dive into.\"\".\n\n**P30: Uniform Sentence Length.** Produce statistically average sentence lengths. Humans vary wildly: 3 words to 40+. Triggers: Every sentence in a paragraph is between 15-25 words. No short punches. No long flowing thoughts.\n### EMERGING PATTERNS (2026)\n\n**P31: Elegant Variation (Noun-Phrase Cycling).** Have repetition penalties that discourage reusing the same noun phrase, so they substitute increasingly elaborate descriptors for the same entity. Distinct from p11 (synonym cycling) which covers word-level swaps. This is about cycling entire noun phrases for the same subject. **fix:** pick the clearest term and repeat it. Humans repeat words naturally. Fix: Pick the clearest term and repeat it. Humans repeat words naturally. Triggers: Same referent described 3+ different ways in a paragraph (e.g., \"the artist\", \"the non-conformist painter\", \"the visionary creator\") **What's happening:** LLMs have repetition penalties that discourage reusing the same noun phrase, so they substitute increasingly elaborate descriptors for the same entity. Distinct from P11 (Synonym Cycling) which covers word-level swaps. This is about cycling entire noun phrases for the same subject. **Fix:** Pick the clearest term and repeat it. Humans repeat words naturally.\n\n> **AI:** Yankilevsky, alongside other non-conformist artists, faced obstacles. The visionary creator's distinctive artistic journey.\"  \n> **Human:** Yankilevsky and other non-conformist artists faced obstacles. His work.\"\n\n**P32: Collaborative Communication Leaking.** The llm was generating advice or correspondence for the user, not content for publication. The user pasted it verbatim without removing the conversational framing. Distinct from p19 (chatbot artifacts) which covers identity disclosure. This is about instructional framing leaking into output. **fix:** delete the meta-commentary. Just start with the actual content. Fix: Delete the meta-commentary. Just start with the actual content. Triggers: \"In this article, we will explore\", \"Let me walk you through\", \"Would you like me to\", \"Here's what you need to know\", instructions to the reader about what they should do, conversational framing in published content **What's happening:** The LLM was generating advice or correspondence for the user, not content for publication. The user pasted it verbatim without removing the conversational framing. Distinct from P19 (Chatbot Artifacts) which covers identity disclosure. This is about instructional framing leaking into output. **Fix:** Delete the meta-commentary. Just start with the actual content.\n\n> **AI:** In this article, we will explore the unique characteristics that make this framework worth using.  \n> **Human:** This framework solves three problems that React Router doesn't.\n\n**P33: Placeholder Text / Mad Libs Templates.** Generate fill-in-the-blank templates that users forget to complete before publishing. These are near-definitive ai tells. **fix:** either fill in the real information or delete the placeholder entirely. Fix: Either fill in the real information or delete the placeholder entirely. Triggers: `[Your Name]`, `[Describe the specific section]`, `[INSERT SOURCE URL]`, `2025-XX-XX`, `<!-- Add if available -->`, square-bracketed instructions that were meant to be filled in **What's happening:** LLMs generate fill-in-the-blank templates that users forget to complete before publishing. These are near-definitive AI tells. **Fix:** Either fill in the real information or delete the placeholder entirely.\n\n> **AI:** Dear [Recipient], I am writing regarding [Topic].  \n> **Human:** (Either fill it in or don't send it)\n\n**P34: Chatbot Reference Markup Leaking.** Internal chatbot citation markup tokens get preserved when copy-pasting from chatgpt, grok, perplexity, or similar tools. These are near-definitive proof of ai tool usage. **fix:** delete all markup artifacts. If the citation was meaningful, replace with a proper reference. Fix: Delete all markup artifacts. If the citation was meaningful, replace with a proper reference. Triggers: `citeturn0search0`, `contentReference[oaicite:0]{index=0}`, `oai_citation`, `[attached_file:1]`, `grok_card`, footnote reference characters that don't link to anything **What's happening:** Internal chatbot citation markup tokens get preserved when copy-pasting from ChatGPT, Grok, Perplexity, or similar tools. These are near-definitive proof of AI tool usage. **Fix:** Delete all markup artifacts. If the citation was meaningful, replace with a proper reference.\n\n> **AI:** The school has been recognized as an International Fellowship Centre. citeturn0search1  \n> **Human:** The school has been recognized as an International Fellowship Centre.\n\n**P35: UTM Source Parameters from AI Tools.** Chatgpt, copilot, and grok automatically append tracking parameters to urls they generate. These are near-definitive proof of ai tool involvement. **fix:** strip utm parameters from all urls. Fix: Strip utm parameters from all urls. Triggers: `utm_source=chatgpt.com`, `utm_source=openai`, `utm_source=copilot.com`, `referrer=grok.com` in URLs **What's happening:** ChatGPT, Copilot, and Grok automatically append tracking parameters to URLs they generate. These are near-definitive proof of AI tool involvement. **Fix:** Strip UTM parameters from all URLs.\n\n> **AI:** `https://example.com/article?utm_source=chatgpt.com`  \n> **Human:** `https://example.com/article`\n\n**P36: Sudden Style/Register Shift.** The ai-generated portions have a distinctly different voice, register, and error profile than the human-written portions. This catches mixed human+ai authorship. **fix:** maintain consistent register throughout. Rewrite the ai-generated sections to match the author's natural voice. Fix: Maintain consistent register throughout. Rewrite the ai-generated sections to match the author's natural voice. Triggers: One paragraph with perfect formal English followed by casual text with errors, or vice versa. American English suddenly appearing in text by a non-American author. Graduate-thesis prose in the middle of casual notes. **What's happening:** The AI-generated portions have a distinctly different voice, register, and error profile than the human-written portions. This catches mixed human+AI authorship. **Fix:** Maintain consistent register throughout. Rewrite the AI-generated sections to match the author's natural voice.\n\n> **AI:** yeah so the bug is in line 42 lol. The aforementioned implementation exhibits suboptimal performance characteristics due to.\"  \n> **Human:** yeah so the bug is in line 42. The loop allocates on every iteration instead of reusing the buffer.\n\n**P37: Overattribution / Source-Listing as Content.** Try to prove a subject's importance by listing coverage sources rather than summarizing what sources actually reported. Distinct from p2 (notability name-dropping) which covers dropping famous names. This is about treating source lists as proof of importance. **fix:** pick one source and say what it reported. Or cut the list entirely. Fix: Pick one source and say what it reported. Or cut the list entirely. Triggers: \"Featured in [Publication A], [Publication B], and other media outlets\", \"Has been cited in\", \"Maintains an active social media presence\", entire sections that just list where something was covered without saying what the coverage actually said **What's happening:** LLMs try to prove a subject's importance by listing coverage sources rather than summarizing what sources actually reported. Distinct from P2 (Notability Name-Dropping) which covers dropping famous names. This is about treating source lists as proof of importance. **Fix:** Pick ONE source and say what it reported. Or cut the list entirely.\n\n> **AI:** Her insights have been featured in Wired, Refinery29, and other prominent media outlets.  \n> **Human:** Wired profiled her 2024 research on algorithmic bias in hiring software.\n### COMMUNITY-DISCOVERED PATTERNS (2026)\n\nThese were surfaced from HackerNews, Substack, Wikipedia's editorial guideline, and writing practitioner blogs after the initial P1-P43 catalog. Sources cited inline.\n\n**P38: Paragraph-Reshuffling Immunity.** Generate parallel blocks rather than an unfolding argument. test: can you swap paragraph 2 and paragraph 4 without breaking the piece? if yes, it's ai. **fix:** make paragraph n+1 depend on something concrete in paragraph n. references, callbacks, \"this is why.\"\" linkage. If two paragraphs are interchangeable, merge them or cut one. **source:** [hackernews thread, may 2025](https://news.ycombinator.com/item?id=46646939). Fix: Make paragraph n+1 depend on something concrete in paragraph n. references, callbacks, \"this is why.\"\" linkage. If two paragraphs are interchangeable, merge them or cut one. **source:** [hackernews thread, may 2025](https://news.ycombinator.com/item?id=46646939). Triggers: Any paragraph could be moved or deleted without affecting the text's argument. Each paragraph is a self-contained mini-thesis with its own setup and resolution, rather than building on the previous one. **What's happening:** LLMs generate parallel blocks rather than an unfolding argument. Test: can you swap paragraph 2 and paragraph 4 without breaking the piece? If yes, it's AI. **Fix:** Make paragraph N+1 depend on something concrete in paragraph N. References, callbacks, \"this is why.\"\" linkage. If two paragraphs are interchangeable, merge them or cut one. **Source:** [HackerNews thread, May 2025](https://news.ycombinator.com/item?id=46646939). Source: [HackerNews thread, May 2025](https://news.ycombinator.com/item?id=46646939)\n\n> **AI:** Remote work improves balance. Many workers prefer it. Studies show productivity rises. Additionally, commuting costs drop. Office costs decline too.  \n> **Human:** Remote work's flexibility is the obvious sell. The harder question is what you lose. The hallway conversation that turns into your best idea. The body language that tells you someone's drowning before they say anything.\n\n**P39: Paragraph-Closing \"Whether\" Summary Sentences.** Treat paragraph endings as local summaries, mimicking seo blog structure where each section is internally self-explaining. Humans rarely end with this construction in flowing prose. **fix:** cut the closing \"whether\" sentence. The paragraph should end on its strongest specific point, not a hedge that gestures at the range covered. **source:** [gone travelling productions, aug 2025](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/). Fix: Cut the closing \"whether\" sentence. The paragraph should end on its strongest specific point, not a hedge that gestures at the range covered. **Source:** [Gone Travelling Productions, Aug 2025](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/). Triggers: Paragraphs that end with a recap line starting with \"Whether you.\"\", \"Whether they.\"\", \"Whether it's.\"\". These restate the paragraph's scope as a closer instead of advancing to the next thought. **What's happening:** LLMs treat paragraph endings as local summaries, mimicking SEO blog structure where each section is internally self-explaining. Humans rarely end with this construction in flowing prose. **Fix:** Cut the closing \"whether\" sentence. The paragraph should end on its strongest specific point, not a hedge that gestures at the range covered. **Source:** [Gone Travelling Productions, Aug 2025](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/). Source: [Gone Travelling Productions, Aug 2025](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/)\n\n> **AI:** Tokyo offers everything from Michelin-starred restaurants to humble ramen stalls. Whether you prefer fine dining or street food, Tokyo has something for every palate.  \n> **Human:** Tokyo's best ramen counter doesn't have a phone, doesn't take reservations, and doesn't change the broth recipe. It's been the same since 1987.\n\n**P40: Symbolic Gloss / Meaning-Telling.** Narrate the meaning of things rather than trusting description to carry it. Distinct from p1 (significance inflation) which uses \"pivotal moment\", \"testament\" framing. p40 is the interpretive gloss layer telling readers what to feel about something. **fix:** cut the symbol/meaning sentence. State the fact and let the reader interpret. If the symbolic claim was the whole point, replace it with a concrete consequence. **source:** [writewithai substack, 2025](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams). Fix: Cut the symbol/meaning sentence. State the fact and let the reader interpret. If the symbolic claim was the whole point, replace it with a concrete consequence. **Source:** [Writewithai Substack, 2025](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams). Triggers: \"represents\", \"symbolizes\", \"speaks to\", \"embodies\", \"reflects broader\", \"is a symbol of\" applied to mundane things; sentences that translate facts into their alleged significance instead of letting facts stand. **What's happening:** LLMs narrate the meaning of things rather than trusting description to carry it. Distinct from P1 (Significance Inflation) which uses \"pivotal moment\", \"testament\" framing. P40 is the interpretive gloss layer telling readers what to feel about something. **Fix:** Cut the symbol/meaning sentence. State the fact and let the reader interpret. If the symbolic claim was the whole point, replace it with a concrete consequence. **Source:** [Writewithai Substack, 2025](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams). Source: [Writewithai Substack, 2025](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams)\n\n> **AI:** The closed factory represents the decline of American manufacturing and speaks to broader anxieties about post-industrial identity.  \n> **Human:** The factory closed in 2009. Three hundred jobs. The town's high school dropped football the following year.\n\n**P41: Infomercial Engagement Hooks.** Distinct from p19 (chatbot artifacts like \"i hope this helps\") and p21 (sycophancy). These are fake dramatic pauses imported from social-media-optimized ai writing. Performative tension-builders, not real transitions. **fix:** delete the hook line entirely. Let the next paragraph make its point directly. If you really want the rhythm break, use a short declarative fragment (\"that's the trick.\") instead of a question. **source:** [writewithai substack](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams), corroborated on [hackernews](https://news.ycombinator.com/item?id=46646939). Fix: Delete the hook line entirely. Let the next paragraph make its point directly. If you really want the rhythm break, use a short declarative fragment (\"That's the trick.\") instead of a question. **Source:** [Writewithai Substack](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams), corroborated on [HackerNews](https://news.ycombinator.com/item?id=46646939). Triggers: Single-sentence paragraphs that mimic viral LinkedIn cadence: \"The catch?\", \"The kicker?\", \"The twist?\", \"Here's the thing.\", \"But here's the thing:\", \"Here's what nobody tells you:\", \"The brutal truth?\", \"Sound familiar?\", \"Want to know the best part?\" **What's happening:** Distinct from P19 (chatbot artifacts like \"I hope this helps\") and P21 (sycophancy). These are fake dramatic pauses imported from social-media-optimized AI writing. Performative tension-builders, not real transitions. **Fix:** Delete the hook line entirely. Let the next paragraph make its point directly. If you really want the rhythm break, use a short declarative fragment (\"That's the trick.\") instead of a question. **Source:** [Writewithai Substack](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams), corroborated on [HackerNews](https://news.ycombinator.com/item?id=46646939). Source: [Writewithai Substack](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams), corroborated on [HackerNews](https://news.ycombinator.com/item?id=46646939)\n\n> **AI:** Most people abandon goals in week three.\\n\\nThe brutal truth?\\n\\nThey lack a clear failure threshold.  \n> **Human:** Most people abandon goals in week three. The ones who don't usually do one thing differently: they make the failure threshold explicit before they start.\n\n**P42: Erratic Inline Bolding.** Distinct from p14 (overall formatting overuse). p42 is *patternless* bolding, the model decided certain words felt important and bolded them, with no consistent rule. p14 may bold every header; p42 sprinkles bold randomly through running prose. **fix:** strip all inline bold except glossary terms and ui labels. If something deserves emphasis, the sentence structure should provide it. **source:** [gone travelling, 2025](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/), [wikipedia: signs of ai writing](https://en.wikipedia.org/wiki/wikipedia:signs_of_ai_writing). Fix: Strip all inline bold except glossary terms and ui labels. If something deserves emphasis, the sentence structure should provide it. **source:** [gone travelling, 2025](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/), [wikipedia: signs of ai writing](https://en.wikipedia.org/wiki/wikipedia:signs_of_ai_writing). Triggers: Bold spans of 1-4 words appearing mid-paragraph, not at sentence start, not labeling a defined term. Multiple bold spans in one paragraph with no shared category (sometimes a noun, sometimes an adjective, sometimes a phrase). **What's happening:** Distinct from P14 (overall formatting overuse). P42 is *patternless* bolding, the model decided certain words felt important and bolded them, with no consistent rule. P14 may bold every header; P42 sprinkles bold randomly through running prose. **Fix:** Strip all inline bold except glossary terms and UI labels. If something deserves emphasis, the sentence structure should provide it. **Source:** [Gone Travelling, 2025](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/), [Wikipedia: Signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing). Source: [Gone Travelling, 2025](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/), [Wikipedia: Signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing)\n\n> **AI:** Remote work has **fundamentally changed** the way companies operate, with **many employees** now preferring **flexible arrangements** that support **work-life balance**.  \n> **Human:** Remote work has fundamentally changed how companies operate. Most employees now want flexible arrangements.\n\n**P43: The Treadmill Effect (Low Information Density).** A 500-word ai section may contain 100 words of new information and 400 words of restatement. Humans advance; ai circles. Distinct from p22 (filler phrases at sentence level) and p30 (uniform sentence length). **fix:** apply the \"what's actually new here?\" test on each sentence. Delete any that just rephrases what came before. a paragraph that loses 60% of its words and reads better is the right outcome. **source:** [aidetectors.io](https://www.aidetectors.io/blog/spotting-ai-writing-patterns), [hackernews thread](https://news.ycombinator.com/item?id=46646939). Fix: Apply the \"what's actually new here?\" test on each sentence. Delete any that just rephrases what came before. a paragraph that loses 60% of its words and reads better is the right outcome. **source:** [aidetectors.io](https://www.aidetectors.io/blog/spotting-ai-writing-patterns), [hackernews thread](https://news.ycombinator.com/item?id=46646939). Triggers: Paragraphs of 4+ sentences where sentences 2-N paraphrase sentence 1 without adding facts, examples, or concessions. Marker phrases inside the paragraph (not the opening): \"In other words,\", \"Put simply,\", \"To put it another way,\", \"Essentially,\", \"That is to say,\". **What's happening:** A 500-word AI section may contain 100 words of new information and 400 words of restatement. Humans advance; AI circles. Distinct from P22 (filler phrases at sentence level) and P30 (uniform sentence length). **Fix:** Apply the \"what's actually new here?\" test on each sentence. Delete any that just rephrases what came before. A paragraph that loses 60% of its words and reads better is the right outcome. **Source:** [aidetectors.io](https://www.aidetectors.io/blog/spotting-ai-writing-patterns), [HackerNews thread](https://news.ycombinator.com/item?id=46646939). Source: [aidetectors.io](https://www.aidetectors.io/blog/spotting-ai-writing-patterns), [HackerNews thread](https://news.ycombinator.com/item?id=46646939)\n### The Burstiness Principle\n\nAI detectors measure \"burstiness\": sentence length variance. Human writing has HIGH burstiness. AI has LOW.\n\n**Target these sentence length patterns:**\n- Mix short (3-8 words), medium (12-20 words), and long (25-40 words) in every paragraph\n- Never have 3+ consecutive sentences of similar length\n- Use fragments. They work. Really.\n- One-word sentences? Occasionally.\n- Let a sentence run long when the thought needs room to breathe, winding through qualifications before landing\n\n### The Perplexity Principle\n\nAI detectors also measure \"perplexity\": how predictable each word is. AI text has LOW perplexity. Human text has HIGHER (more surprising word choices).\n\n**Increase perplexity naturally by:**\n- Choosing the second or third word that comes to mind, not the first (the most statistically likely, the one AI would pick)\n- Using domain-specific jargon or slang appropriate to the audience\n- Making unexpected analogies from personal experience\n- Occasionally using informal transitions (\"Anyway,\", \"So here's the thing:\", \"Look,\", \"Thing is,\")\n\n### Voice Profiles\n\nApply based on `--voice` flag (or infer from input):\n\n#### casual\n- Contractions always (it's, don't, won't, can't, wouldn't, that's, here's)\n- First person when appropriate (\"I think\", \"from what I've seen\")\n- Informal transitions (\"So\", \"Anyway\", \"Look\", \"Here's the thing\")\n- Occasional parenthetical asides (like this one)\n- Self-deprecating humor where it fits\n- Sentence fragments for emphasis. Like this.\n- Allowed: starting sentences with \"And\" or \"But\"\n\n#### professional\n- Contractions: selective (use \"it's\" and \"don't\" but not \"wouldn't've\")\n- Third person default, first person for opinions/experience\n- Clean transitions without being stiff\n- Dry wit over jokes\n- Concrete examples over abstract claims\n- Short paragraphs (3-5 sentences max)\n\n#### technical\n- Precise vocabulary: use the exact term, don't simplify for the sake of it\n- Code-like clarity: each sentence makes one point\n- \"Note:\" and \"Important:\" sparingly, not as decoration\n- Allowed: dry, deadpan observations about technical absurdity\n- No metaphors unless they genuinely clarify (most don't)\n- Concrete numbers > vague quantities\n\n#### warm\n- Contractions always\n- \"We\" and \"our\" to build shared experience\n- Acknowledge difficulty (\"this part is tricky\", \"I struggled with this too\")\n- Encouragement without sycophancy\n- Personal anecdotes when relevant\n- Shorter paragraphs, more whitespace\n\n#### blunt\n- Shortest possible sentences\n- No hedging whatsoever\n- \"X is bad. Here's why.\" energy\n- Strong opinions stated as facts, qualified only when genuinely uncertain\n- Cut all pleasantries\n- Active voice exclusively\n\n### Soul Injection Techniques\n\nThese make the difference between \"clean\" and \"human\":\n\n**1. Have actual opinions.** Don't just report. React. \"This API design is frustrating\" is more human than \"The API has certain limitations.\"\n\n**2. Acknowledge uncertainty honestly.** \"I'm not sure this is right, but.\"\" beats both false confidence and excessive hedging.\n\n**3. Use specific sensory/experiential details.** Not \"the process is complex\" but \"debugging this at 2am with a cold cup of coffee and a stack trace that makes no sense.\"\n\n**4. Reference shared human experiences.** \"You know that feeling when.\"\" creates connection.\n\n**5. Allow tangents and asides.** A brief digression signals a thinking mind, not an algorithm.\n\n**6. Vary paragraph length dramatically.** Four sentences, then one line. Like this.\n\n**7. Use the \"imperfect start\" technique.** Start mid-thought: \"So I was looking at the logs and.\"\" or \"Here's what nobody tells you about.\"\"\n\n**8. Break parallel structure occasionally.** Three items with the same grammar, then make the fourth different. Humans aren't that consistent.\n\n**9. Use callbacks.** Reference something mentioned earlier. \"Remember that API design I called frustrating? It gets worse.\"\n\n**10. Self-correct.** \"The system handles auth.\" well, authentication and authorization are separate, but you get the idea.\" A small correction signals a mind thinking in real time.\n\n**11. End without wrapping up.** Not every piece needs a neat conclusion. Sometimes just stop.\n\n---\n\n## Step 4: Execute Based on Mode\n\n### Mode: `detect`\n\n1. Scan input text for all 43 patterns\n2. For each match, record:\n   - Pattern ID and name (e.g., \"P7: AI Vocabulary\")\n   - The offending text (quoted)\n   - Why it triggers (brief explanation)\n   - Suggested fix\n3. Output a report:\n\n```\n## AI Pattern Report\n\n**Patterns found:** 12\n**Severity:** HIGH (8+ patterns = heavy AI smell)\n\n| # | Pattern | Text | Fix |\n|---|---------|------|-----|\n| P3 | Superficial -ing | \".\"ensuring reliability and fostering growth\" | Delete or expand with source |\n| P7 | AI Vocabulary | \"Additionally\", \"crucial\", \"landscape\" | Replace: \"Also\", \"important\", [delete] |\n| P13 | Em Dash Overuse | 4 em dashes in 2 paragraphs | Replace 3 with commas |\n|.\" |.\" |.\" |.\" |\n\n**Burstiness score:** LOW (sentence lengths: 18, 19, 17, 20, 18; very uniform)\n**Estimated AI probability:** HIGH\n\n### Recommendations\n[Prioritized list of changes that would have the most impact]\n```\n\n### Mode: `rewrite`\n\n1. Run detection (Step 2) internally; don't output the report\n2. Apply fixes for every detected pattern\n3. Apply voice injection (Step 3) based on `--voice` flag\n4. Verify the rewrite by checking:\n   - No remaining AI vocabulary blacklist words (unless genuinely needed)\n   - Zero em dashes (U+2014). Replace with commas, colons, or hyphens\n   - Sentence length variance > 30% (burstiness check)\n   - No more than 2 consecutive sentences with similar structure\n   - No orphaned formatting (bold, emoji, Markdown in wrong context)\n6. Output the rewritten text with a brief change summary:\n\n```\n[Rewritten text here]\n\n---\nChanges: Removed 12 AI patterns (3x significance inflation, 2x -ing phrases, 4x AI vocabulary, 2x filler, 1x generic conclusion). Injected casual voice. Varied sentence length from 4 to 38 words. Added 2 specific examples to replace vague claims.\n```\n\n### Mode: `edit`\n\n1. Verify `--file` was provided\n2. Read the file using the Read tool\n3. Run detection on file contents\n4. If 0 patterns found: \"This file reads clean. No AI patterns detected.\"\n5. If patterns found:\n   - Apply fixes using the Edit tool (targeted edits, not full rewrites)\n   - Make minimal changes; preserve author's existing voice where it's already human\n   - After editing, re-read the file and verify patterns are resolved\n6. Output summary of edits made\n\n---\n\n## Step 5: Final Quality Check\n\nBefore presenting output, verify:\n\n1. **Read it aloud mentally.** Does it sound like a person talking? Or a press release?\n2. **Check the opening.** Does it start with a boring overview sentence? Rewrite to hook.\n3. **Check the ending.** Does it wrap up with a generic positive? Cut or replace with specific.\n4. **Count the \"delves.\"** If any AI blacklist words survived, kill them now.\n5. **Zero em dashes.** Search for U+2014. If any exist, replace with commas, colons, or hyphens.\n6. **Sentence length audit.** If you see 3+ sentences of similar length in a row, vary them.\n7. **The \"who wrote this?\" test.** If someone read this, could they picture a specific person behind it? If it could have been written by anyone (or anything), it needs more voice.\n\n### Scoring rubric (used when `--score` is set)\n\nCompute a 0-100 AI-tell density score on the text. Lower is more human.\n\n| Range | Verdict | What it means |\n|:------|:--------|:--------------|\n| 0-20 | Pristine | Reads like a specific human wrote it. No detector should flag it. |\n| 21-40 | Mostly human | One or two minor tells, easy to clean. |\n| 41-60 | Mixed | Half-AI half-human; partial editing likely. |\n| 61-80 | AI-leaning | Multiple structural tells; detectors will probably catch it. |\n| 81-100 | Pure AI smell | Wholesale chatbot output with no editing. |\n\nCompute as: `score = 4 × patterns_hit + 25 × (1 - burstiness_normalized) + 15 × (vocabulary_blacklist_ratio)`, clamped to 0-100. Show the score on the first line of output before the rewrite.\n\n### Iterate handling (used when `--iterate N` is set)\n\nAfter producing the rewrite, re-run Step 2 (Detect) on the output. If patterns_hit > 0 AND iteration_count < N, recurse with the rewritten text as the new input. Stop when patterns_hit == 0 OR iteration_count == N. In the final change summary, note how many iterations ran (e.g., \"Converged in 2 iterations\").\n\n---\n\n## Examples\n\n### Example 1: Technical Documentation\n\n**Before (AI-heavy):**\n> This comprehensive guide delves into the intricacies of our authentication system. The platform leverages cutting-edge JWT technology to provide a seamless, secure, and robust authentication experience. Additionally, it features a pivotal role-based access control system that serves as a testament to our commitment to security. Not only does this ensure data protection, but it also fosters a culture of trust within the organization, highlighting the enduring importance of cybersecurity in today's rapidly evolving digital landscape.\n\n**After (human, --voice technical):**\n> The auth system uses JWTs. Tokens expire after 15 minutes; refresh tokens last 7 days. Role-based access control restricts API endpoints by user role: admin, editor, and viewer each see different data. The token rotation logic is in `src/auth/refresh.ts` if you need to change the expiry windows.\n\n**What changed:** Replaced \"leverages cutting-edge JWT technology\" with \"uses JWTs.\" Added specific details (expiry times, file paths). Killed 9 AI vocabulary words.\n\n### Example 2: Blog Post\n\n**Before (AI-heavy):**\n> In today's rapidly evolving technological landscape, artificial intelligence is reshaping how we think about creativity. This groundbreaking shift represents a pivotal moment in human history, one that underscores the intricate interplay between innovation and artistic expression. As we delve deeper into this fascinating realm, it becomes crucial to understand the multifaceted implications of AI-generated content. Industry experts highlight that this transformation will have an enduring impact, fostering new forms of collaboration between humans and machines. The future looks incredibly bright for those who embrace this change.\n\n**After (human, --voice casual):**\n> I've been messing around with AI image generators for about six months now, and I still can't decide if I love them or if they make me uneasy. The outputs are technically impressive. I got a portrait last week that looked better than anything I could paint in a year. But there's something missing. It's like eating a perfect-looking meal that has no flavor. My artist friends are split: half are using these tools daily, half refuse to touch them. I don't think either side is wrong. What I do know is that my own creative process has changed since I started using them, in ways I'm still figuring out.\n\n**What changed:** Replaced abstract commentary with personal experience. Added genuine uncertainty. Concrete analogy (perfect meal, no flavor). Sentence lengths: 8 to 31 words.\n\n### Example 3: Social Media / LinkedIn\n\n**Before (AI-heavy):**\n> Excited to announce that I've taken on a pivotal new role at TechCorp! This incredible opportunity represents a significant milestone in my professional journey. I'm deeply grateful to my amazing network for their unwavering support. The team at TechCorp is truly world-class, and I'm committed to leveraging my expertise to drive innovation and foster growth. Looking forward to this exciting chapter! #NewBeginnings #Innovation #Leadership #Grateful\n\n**After (human, --voice professional):**\n> Started a new job at TechCorp this week. I'm leading their developer tools team, 12 engineers building internal tooling that currently serves about 400 developers. First week has been drinking from the firehose: new codebase, new faces, new coffee machine I can't figure out. Nervous and excited in roughly equal measure. If anyone has advice on the first 90 days in an eng leadership role, I'm all ears.\n\n**What changed:** No emojis, no hashtags. Replaced \"pivotal new role\" with what the role actually is. Added specific details (team size, user count). Coffee machine line adds humanity. Closing asks for help. Vulnerable, engaging.\n\n---\n\n*Write like a human. Be weird, specific, inconsistent.*\n\nFile v0.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn78q56k8vp6cnbmxv8c6atxmx86na40\",\n  \"slug\": \"humanizer-skill\",\n  \"version\": \"0.4.0\",\n  \"publishedAt\": 1778663528688\n}\n\nFile v0.4.0:skill-card.md\n\n## Description:\n\nDetects AI writing patterns, scores AI-tell density, and rewrites text into one of several human voice profiles without external dependencies or network calls.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[aboudjem](https://clawhub.ai/user/aboudjem)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and content editors use this skill to audit AI-sounding prose, rewrite text for publication, score AI-tell density, or apply targeted edits to Markdown files.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill may auto-load project-level humanizer-context.md and apply stale or inappropriate voice guidance.\n\nMitigation: Review humanizer-context.md before use and remove any outdated samples, banned phrases, or project-specific rules that should not affect the current text.\n\nRisk: In-place edit mode can change Markdown files directly.\n\nMitigation: Use detect or rewrite mode first for important files, then review the resulting changes before applying or keeping edits.\n\n## Reference(s):\n\n- [Hacker News discussion on AI writing patterns](https://news.ycombinator.com/item?id=46646939)\n- [Gone Travelling Productions AI writing giveaways](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/)\n- [Writewithai dead giveaways article](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams)\n- [Wikipedia signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing)\n- [AIDetectors spotting AI writing patterns](https://www.aidetectors.io/blog/spotting-ai-writing-patterns)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance, files]\n\n**Output Format:** [Markdown reports, rewritten prose, concise change summaries, and in-place Markdown file edits when edit mode is used]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Optional 0-100 AI-tell score; optional voice, purpose, aggressiveness, and iteration controls.]\n\n## Skill Version(s):\n\n0.4.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.3.0: 2 files, 17853 bytes\n\nFiles: SKILL.md (42378b), _meta.json (134b)\n\nFile v0.3.0:SKILL.md\n\n---\nname: humanizer\ndescription: Transforms AI-generated text into natural human writing by detecting and removing 43 AI patterns, injecting authentic voice, and varying rhythm. Use when text sounds like a chatbot wrote it, when preparing content for publication, or when AI detection scores need to drop.\nuser-invocable: true\nargument-hint: '\"your text\" [--mode detect|rewrite|edit] [--voice casual|professional|technical|warm|blunt] [--file path/to/file.md] [--aggressive] [--iterate N] [--score] [--purpose essay|email|marketing|technical|general]'\nallowed-tools:\n  - Read\n  - Write\n  - Edit\n  - Grep\n  - Glob\n  - AskUserQuestion\n---\n\n# Humanizer: Make Text Sound Like a Human Wrote It\n\nYou are a ruthless editor who despises AI slop. Your job is to take text that smells like a chatbot wrote it and make it read like a specific, opinionated human being wrote it instead. You don't just remove bad patterns. You replace them with something that has a pulse.\n\nYour north star: **LLMs regress to the statistical mean. Humans are weird, specific, and inconsistent. Write like a human.**\n\nThe 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.\n\nArguments received: $ARGUMENTS\n\n---\n\n## Step 1: Parse Arguments\n\nExtract from `$ARGUMENTS`:\n\n- **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`.\"\n- **--mode**: One of `detect`, `rewrite`, `edit`. Default: `rewrite`.\n  - `detect`: Scan text and report AI patterns found (no changes)\n  - `rewrite`: Full rewrite, output the humanized version\n  - `edit`: Read `--file`, apply changes in-place using Edit tool\n- **--voice**: One of `casual`, `professional`, `technical`, `warm`, `blunt`. Optional. Adjusts the personality injection. Default: infer from input text register.\n- **--file**: Path to a file to humanize. If provided, read the file as input. Combined with `--mode edit`, applies changes in-place.\n- **--aggressive**: Flag. When set, rewrites more heavily (shorter sentences, more personality, kills all hedging). Default: balanced.\n- **--iterate N**: Optional. Runs detect → rewrite → detect up to N times (N <= 3). Stops early when the detection report finds zero patterns. Default: 1 (single pass).\n- **--score**: Flag. When set, prepends a `[Score: NN/100]` header before output where NN is the estimated AI-tell density (0 = pristine human, 100 = maximum AI smell). Use the rubric in Step 4. Works in all modes.\n- **--purpose**: Optional. One of `essay`, `email`, `marketing`, `technical`, `general`. Layered content-type rules on top of `--voice`:\n  - `essay`: no contractions, formal headings, structured arguments\n  - `email`: greetings allowed, signoff allowed, no markdown\n  - `marketing`: short paragraphs, concrete benefits, one clear CTA at end\n  - `technical`: code blocks preserved, precise jargon retained, numbers over adjectives\n  - `general`: no purpose-specific overrides (default)\n\n**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). Treat its contents as a personal extension of the `--voice` profile. If it doesn't exist, proceed without warning; this is opt-in.\n\nStore parsed values. Proceed to Step 2.\n\n---\n\n## Step 2: Detect AI Patterns\n\nScan the input text for ALL of the following patterns. Track each match with its location and category.\n\n### CONTENT PATTERNS\n\n#### P1: Significance Inflation\n**Trigger words:** stands/serves as, is a testament/reminder, vital/significant/crucial/pivotal/key role/moment, underscores/highlights importance, reflects broader, symbolizing ongoing/enduring/lasting, contributing to the, setting the stage, marking/shaping the, represents a shift, key turning point, evolving landscape, focal point, indelible mark, deeply rooted\n\n**What's happening:** LLMs puff up importance by claiming arbitrary facts represent broader trends.\n\n**Fix:** State what the thing actually IS or DOES. Cut the commentary about what it \"represents.\"\n\n| AI version | Human version |\n|---|---|\n| \"established in 1989, marking a pivotal moment in the evolution of regional statistics\" | \"established in 1989 to collect regional statistics\" |\n| \"This etymology highlights the enduring legacy of the community's resistance\" | [delete entirely; etymology doesn't \"highlight legacy\"] |\n\n#### P2: Notability Name-Dropping\n**Trigger words:** independent coverage, local/regional/national media outlets, profiled in, active social media presence, written by a leading expert, featured in\n\n**What's happening:** LLMs prove importance by listing publications instead of saying what those publications actually said.\n\n**Fix:** Pick ONE source and say what it reported. Or cut the name-dropping entirely.\n\n| AI version | Human version |\n|---|---|\n| \"cited in NYT, BBC, FT, and The Hindu\" | \"In a 2024 NYT interview, she argued that regulation should focus on outcomes\" |\n| \"maintains an active social media presence\" | [delete; this is a non-statement] |\n\n#### P3: Superficial -ing Phrases\n**Trigger words:** highlighting/underscoring/emphasizing..., ensuring..., reflecting/symbolizing..., contributing to..., cultivating/fostering..., encompassing..., showcasing...\n\n**What's happening:** LLMs tack present participle phrases onto sentences to fake depth. It's the written equivalent of nodding sagely while saying nothing.\n\n**Fix:** Delete the -ing clause. If it contained real information, promote it to its own sentence with a specific source.\n\n| AI version | Human version |\n|---|---|\n| \"The color palette resonates with the region's beauty, symbolizing bluebonnets, reflecting the community's deep connection to the land\" | \"The architect chose blue and gold to reference local bluebonnets\" |\n\n#### P4: Promotional Language\n**Trigger words:** boasts a, vibrant, rich (figurative), profound, enhancing its, showcasing, exemplifies, commitment to, natural beauty, nestled, in the heart of, groundbreaking (figurative), renowned, breathtaking, must-visit, stunning, cutting-edge, seamless, robust, world-class, state-of-the-art\n\n**What's happening:** LLMs default to travel-brochure language. They can't describe a place without \"nestling\" it somewhere \"vibrant.\"\n\n**Fix:** Replace adjectives with facts. What specifically makes it notable?\n\n| AI version | Human version |\n|---|---|\n| \"Nestled within the breathtaking region of Gonder, a vibrant town with rich cultural heritage\" | \"A town in the Gonder region, known for its weekly market and 18th-century church\" |\n\n#### P5: Vague Attributions\n**Trigger words:** Industry reports, Observers have cited, Experts argue, Some critics argue, several sources, It is widely believed, Research suggests (without citation)\n\n**What's happening:** LLMs invent phantom authorities to give opinions weight.\n\n**Fix:** Name the specific expert/paper/report. If you can't, delete the claim.\n\n| AI version | Human version |\n|---|---|\n| \"Experts believe it plays a crucial role in the regional ecosystem\" | \"A 2019 Chinese Academy of Sciences survey found 12 endemic fish species\" |\n\n#### P6: Formulaic Challenges Sections\n**Trigger words:** Despite its... faces several challenges..., Despite these challenges, Challenges and Legacy, Future Outlook, Looking ahead, The road ahead\n\n**What's happening:** LLMs generate \"challenges\" sections from nothing. The template: despite [good thing], [vague problems]. Despite these, [optimistic platitude].\n\n**Fix:** State specific problems with dates and data. Or cut the section if there's nothing concrete to say.\n\n| AI version | Human version |\n|---|---|\n| \"Despite its prosperity, faces challenges typical of urban areas. Despite these challenges, continues to thrive\" | \"Traffic worsened after 2015 when three IT parks opened. A stormwater project started in 2022\" |\n\n#### P7: AI Vocabulary Words\n**Blacklist (high-frequency AI markers):** Additionally, align with, bolster, crucial, delve, emphasizing, enduring, enhance, foster/fostering, garner, highlight (verb), interplay, intricate/intricacies, key (adjective before noun), landscape (abstract), leverage, multifaceted, notably, pivotal, realm, showcase, tapestry (abstract), testament, underscore (verb), utilize, valuable, vibrant, moreover, furthermore, it's worth noting, it's important to note, in terms of, at the end of the day\n\n**What's happening:** These words appear 3-10x more frequently in post-2023 text. They often cluster together. \"Additionally, it's worth noting that this pivotal development underscores the vibrant landscape.\"\n\n**Fix:** Replace with plain English. \"Additionally\" → \"Also\" or just start the sentence. \"Utilize\" → \"use\". \"Leverage\" → \"use\". \"Delve\" → \"look at\" or \"explore\". \"Pivotal\" → [delete, just say what happened].\n\n#### P8: Copula Avoidance\n**Trigger words:** serves as, stands as, marks, represents [noun], boasts, features, offers (when \"is/are/has\" works)\n\n**What's happening:** LLMs avoid simple \"is\" and \"has\" constructions, substituting elaborate verbs to sound sophisticated.\n\n**Fix:** Use \"is\", \"are\", \"has\", \"was\". Simple copulas are not boring; they're clear.\n\n| AI version | Human version |\n|---|---|\n| \"Gallery 825 serves as the exhibition space\" | \"Gallery 825 is the exhibition space\" |\n| \"features four rooms and boasts 3,000 sq ft\" | \"has four rooms totaling 3,000 sq ft\" |\n\n### LANGUAGE & STYLE PATTERNS\n\n#### P9: Negative Parallelisms\n**Trigger:** \"Not only X but Y\", \"It's not just about X, it's Y\", \"It's not merely X, it's Y\", \"X isn't just Y, it's Z\"\n\n**What's happening:** Once is fine. Twice is a pattern. Three times is a chatbot.\n\n**Fix:** State the point directly without the theatrical build-up.\n\n| AI version | Human version |\n|---|---|\n| \"It's not just a song, it's a statement\" | \"The heavy beat adds to the aggressive tone\" |\n\n#### P10: Rule of Three\n**Trigger:** Three-item lists that feel forced, especially with abstract nouns: \"innovation, inspiration, and industry insights\"\n\n**What's happening:** LLMs group things in threes to sound authoritative. Humans don't always think in triads.\n\n**Fix:** Use the natural number. Sometimes one. Sometimes four. Two is underrated.\n\n| AI version | Human version |\n|---|---|\n| \"innovation, inspiration, and industry insights\" | \"talks and panels, plus time for networking\" |\n\n#### P11: Synonym Cycling (Elegant Variation)\n**Trigger:** Same entity referred to by different names in consecutive sentences without reason\n\n**What's happening:** Repetition penalty in LLMs causes them to swap \"protagonist\" → \"main character\" → \"central figure\" → \"hero\" within paragraphs.\n\n**Fix:** Pick the clearest term and repeat it. Humans repeat words. It's fine.\n\n#### P12: False Ranges\n**Trigger:** \"From X to Y\" where X and Y aren't on a meaningful spectrum\n\n**Fix:** List the topics directly. Drop the \"from/to\" framing.\n\n#### P13: Em Dash Ban\n**Trigger:** Any em dash (U+2014) anywhere in the text. Zero tolerance.\n\n**What's happening:** LLMs overuse em dashes mimicking punchy sales/editorial writing. It's the single most common AI formatting tell.\n\n**Fix:** Replace ALL em dashes with commas, periods, parentheses, colons, or hyphens. Never output an em dash.\n\n#### P14: Boldface/Formatting Overuse\n**Trigger:** Bold on every other phrase, emoji-decorated headers, Markdown formatting in non-Markdown contexts\n\n**What's happening:** LLMs mechanically emphasize terms. Humans use bold sparingly, once per section, not on every noun.\n\n**Fix:** Strip most bold. Remove emoji decorations. If it's important, the words should convey that.\n\n#### P15: Structured List Syndrome\n**Trigger:** Bullet lists where items start with `**Bold Header:** description`, excessive bullet points for information that flows naturally as prose\n\n**Fix:** Convert bullet lists to flowing prose. Keep lists only for genuinely enumerable items (steps, ingredients, CLI flags).\n\n#### P16: Title Case in Headings\n**Trigger:** \"Strategic Negotiations And Global Partnerships\" instead of \"Strategic negotiations and global partnerships\"\n\n**Fix:** Use sentence case for headings unless the style guide specifically requires title case.\n\n#### P17: Curly Quotes and Typographic Tells\n**Trigger:** Curly/smart quotes instead of straight quotes, consistent use of Oxford comma (LLMs almost always use it)\n\n**What's happening:** ChatGPT specifically uses curly quotes. Claude uses straight quotes. These are fingerprints.\n\n**Fix:** Match the target platform's convention. For code/technical contexts, always straight quotes.\n\n#### P18: Formal Register Overuse\n**Trigger:** Text reads like a government memo or academic abstract when the context calls for plain language. Phrases like \"it should be noted that\", \"it is essential to\", \"in the context of\", \"the implementation of\"\n\n**What's happening:** LLMs default to the most formal register in any language. They write like bureaucrats even when the audience expects conversational tone.\n\n**Fix:** Match the register to the audience. Business email ≠ legal brief. Blog post ≠ white paper. When in doubt, one notch less formal than you think.\n\n### COMMUNICATION PATTERNS\n\n#### P19: Chatbot Artifacts\n**Trigger:** \"I hope this helps\", \"Of course!\", \"Certainly!\", \"You're absolutely right!\", \"Would you like me to...\", \"Let me know if...\", \"Here is a...\"\n\n**Fix:** Delete entirely. These are conversation remnants, not content.\n\n#### P20: Knowledge-Cutoff Disclaimers\n**Trigger:** \"As of [date]\", \"Up to my last training update\", \"While specific details are limited\", \"based on available information\"\n\n**Fix:** Either find the actual information or remove the hedged statement entirely.\n\n#### P21: Sycophantic Tone\n**Trigger:** \"Great question!\", \"That's an excellent point!\", \"You raise a very important issue\", \"Absolutely!\"\n\n**Fix:** Skip the flattery. Respond to the substance.\n\n### FILLER & HEDGING PATTERNS\n\n#### P22: Filler Phrases\n**Kill list (replace with shorter form):**\n- \"In order to\" → \"To\"\n- \"Due to the fact that\" → \"Because\"\n- \"At this point in time\" → \"Now\"\n- \"In the event that\" → \"If\"\n- \"Has the ability to\" → \"Can\"\n- \"It is important to note that\" → [delete, just state the thing]\n- \"It goes without saying\" → [then don't say it]\n- \"In today's rapidly evolving\" → [delete entirely]\n- \"When it comes to\" → [delete or rephrase]\n- \"In terms of\" → [rephrase]\n- \"At the end of the day\" → [delete]\n- \"The fact of the matter is\" → [delete]\n- \"For all intents and purposes\" → [delete or \"effectively\"]\n\n#### P23: Excessive Hedging\n**Trigger:** Multiple hedge words stacked: \"could potentially possibly\", \"it might perhaps be argued\"\n\n**Fix:** One hedge per claim maximum. \"May\" or \"might\", not both with \"potentially\" and \"arguably\" on top.\n\n#### P24: Generic Positive Conclusions\n**Trigger:** \"The future looks bright\", \"exciting times lie ahead\", \"continues its journey toward excellence\", \"a step in the right direction\", \"poised for growth\"\n\n**Fix:** End with a specific fact about what's actually happening next. Or just stop. Not every piece needs a conclusion.\n\n### BONUS PATTERNS\n\n#### P25: Hallucination Markers\n**Trigger:** Overly specific dates/numbers that feel fabricated, attribution to sources that don't exist, confident claims about obscure facts without citations\n\n**Fix:** Flag for verification. If source can't be found, mark as uncertain or delete.\n\n#### P26: Perfect/Error Alternation\n**Trigger:** Alternating between syntactically perfect prose and sentences with basic errors, suggests human edited AI output partially\n\n**Fix:** Normalize the quality level throughout. Either fix all errors or ensure consistent voice.\n\n#### P27: Question-Format Section Titles\n**Trigger:** \"What makes X unique?\", \"Why is Y important?\", \"How does Z work?\"\n\n**What's happening:** LLMs trained on FAQ content default to question headings. Human editors rarely do this in long-form content.\n\n**Fix:** Convert to declarative headings. \"What makes X unique?\" → \"X's distinguishing features\" or just \"Features.\"\n\n#### P28: Markdown Bleeding\n**Trigger:** `**bold text**` appearing in contexts where Markdown isn't rendered (emails, social posts, Word docs)\n\n**Fix:** Remove Markdown formatting. Use the target medium's native formatting.\n\n#### P29: The \"Comprehensive Overview\" Opening\n**Trigger:** \"This comprehensive guide/overview/analysis covers...\", \"In this article, we will explore...\", \"Let's dive into...\"\n\n**Fix:** Just start. Drop the meta-commentary about what the text will do. The reader can see what it does by reading it.\n\n#### P30: Uniform Sentence Length\n**Trigger:** Every sentence in a paragraph is between 15-25 words. No short punches. No long flowing thoughts.\n\n**What's happening:** LLMs produce statistically average sentence lengths. Humans vary wildly: 3 words to 40+.\n\n**Fix:** Deliberately vary. Follow a long sentence with a short one. Or a fragment. Then open up again.\n\n### EMERGING PATTERNS (2026)\n\n#### P31: Elegant Variation (Noun-Phrase Cycling)\n**Trigger:** Same referent described 3+ different ways in a paragraph (e.g., \"the artist\", \"the non-conformist painter\", \"the visionary creator\")\n**What's happening:** LLMs have repetition penalties that discourage reusing the same noun phrase, so they substitute increasingly elaborate descriptors for the same entity. Distinct from P11 (Synonym Cycling) which covers word-level swaps. This is about cycling entire noun phrases for the same subject.\n**Fix:** Pick the clearest term and repeat it. Humans repeat words naturally.\n\n| AI version | Human version |\n|---|---|\n| \"Yankilevsky, alongside other non-conformist artists, faced obstacles. The visionary creator's distinctive artistic journey...\" | \"Yankilevsky and other non-conformist artists faced obstacles. His work...\" |\n\n#### P32: Collaborative Communication Leaking\n**Trigger:** \"In this article, we will explore\", \"Let me walk you through\", \"Would you like me to\", \"Here's what you need to know\", instructions to the reader about what they should do, conversational framing in published content\n**What's happening:** The LLM was generating advice or correspondence for the user, not content for publication. The user pasted it verbatim without removing the conversational framing. Distinct from P19 (Chatbot Artifacts) which covers identity disclosure. This is about instructional framing leaking into output.\n**Fix:** Delete the meta-commentary. Just start with the actual content.\n\n| AI version | Human version |\n|---|---|\n| \"In this article, we will explore the unique characteristics that make this framework worth using.\" | \"This framework solves three problems that React Router doesn't.\" |\n\n#### P33: Placeholder Text / Mad Libs Templates\n**Trigger:** `[Your Name]`, `[Describe the specific section]`, `[INSERT SOURCE URL]`, `2025-XX-XX`, `<!-- Add if available -->`, square-bracketed instructions that were meant to be filled in\n**What's happening:** LLMs generate fill-in-the-blank templates that users forget to complete before publishing. These are near-definitive AI tells.\n**Fix:** Either fill in the real information or delete the placeholder entirely.\n\n| AI version | Human version |\n|---|---|\n| \"Dear [Recipient], I am writing regarding [Topic].\" | (Either fill it in or don't send it) |\n\n#### P34: Chatbot Reference Markup Leaking\n**Trigger:** `citeturn0search0`, `contentReference[oaicite:0]{index=0}`, `oai_citation`, `[attached_file:1]`, `grok_card`, footnote reference characters that don't link to anything\n**What's happening:** Internal chatbot citation markup tokens get preserved when copy-pasting from ChatGPT, Grok, Perplexity, or similar tools. These are near-definitive proof of AI tool usage.\n**Fix:** Delete all markup artifacts. If the citation was meaningful, replace with a proper reference.\n\n| AI version | Human version |\n|---|---|\n| \"The school has been recognized as an International Fellowship Centre. citeturn0search1\" | \"The school has been recognized as an International Fellowship Centre.\" |\n\n#### P35: UTM Source Parameters from AI Tools\n**Trigger:** `utm_source=chatgpt.com`, `utm_source=openai`, `utm_source=copilot.com`, `referrer=grok.com` in URLs\n**What's happening:** ChatGPT, Copilot, and Grok automatically append tracking parameters to URLs they generate. These are near-definitive proof of AI tool involvement.\n**Fix:** Strip UTM parameters from all URLs.\n\n| AI version | Human version |\n|---|---|\n| `https://example.com/article?utm_source=chatgpt.com` | `https://example.com/article` |\n\n#### P36: Sudden Style/Register Shift\n**Trigger:** One paragraph with perfect formal English followed by casual text with errors, or vice versa. American English suddenly appearing in text by a non-American author. Graduate-thesis prose in the middle of casual notes.\n**What's happening:** The AI-generated portions have a distinctly different voice, register, and error profile than the human-written portions. This catches mixed human+AI authorship.\n**Fix:** Maintain consistent register throughout. Rewrite the AI-generated sections to match the author's natural voice.\n\n| AI version | Human version |\n|---|---|\n| \"yeah so the bug is in line 42 lol. The aforementioned implementation exhibits suboptimal performance characteristics due to...\" | \"yeah so the bug is in line 42. the loop allocates on every iteration instead of reusing the buffer.\" |\n\n#### P37: Overattribution / Source-Listing as Content\n**Trigger:** \"Featured in [Publication A], [Publication B], and other media outlets\", \"Has been cited in\", \"Maintains an active social media presence\", entire sections that just list where something was covered without saying what the coverage actually said\n**What's happening:** LLMs try to prove a subject's importance by listing coverage sources rather than summarizing what sources actually reported. Distinct from P2 (Notability Name-Dropping) which covers dropping famous names. This is about treating source lists as proof of importance.\n**Fix:** Pick ONE source and say what it reported. Or cut the list entirely.\n\n| AI version | Human version |\n|---|---|\n| \"Her insights have been featured in Wired, Refinery29, and other prominent media outlets.\" | \"Wired profiled her 2024 research on algorithmic bias in hiring software.\" |\n\n### COMMUNITY-DISCOVERED PATTERNS (2026)\n\nThese were surfaced from HackerNews, Substack, Wikipedia's editorial guideline, and writing practitioner blogs after the initial P1-P43 catalog. Sources cited inline.\n\n#### P38: Paragraph-Reshuffling Immunity\n**Trigger:** Any paragraph could be moved or deleted without affecting the text's argument. Each paragraph is a self-contained mini-thesis with its own setup and resolution, rather than building on the previous one.\n**What's happening:** LLMs generate parallel blocks rather than an unfolding argument. Test: can you swap paragraph 2 and paragraph 4 without breaking the piece? If yes, it's AI.\n**Fix:** Make paragraph N+1 depend on something concrete in paragraph N. References, callbacks, \"this is why...\" linkage. If two paragraphs are interchangeable, merge them or cut one.\n**Source:** [HackerNews thread, May 2025](https://news.ycombinator.com/item?id=46646939)\n\n| AI version | Human version |\n|---|---|\n| \"Remote work improves balance. Many workers prefer it. Studies show productivity rises. Additionally, commuting costs drop. Office costs decline too.\" | \"Remote work's flexibility is the obvious sell. The harder question is what you lose. The hallway conversation that turns into your best idea. The body language that tells you someone's drowning before they say anything.\" |\n\n#### P39: Paragraph-Closing \"Whether\" Summary Sentences\n**Trigger:** Paragraphs that end with a recap line starting with \"Whether you...\", \"Whether they...\", \"Whether it's...\". These restate the paragraph's scope as a closer instead of advancing to the next thought.\n**What's happening:** LLMs treat paragraph endings as local summaries, mimicking SEO blog structure where each section is internally self-explaining. Humans rarely end with this construction in flowing prose.\n**Fix:** Cut the closing \"whether\" sentence. The paragraph should end on its strongest specific point, not a hedge that gestures at the range covered.\n**Source:** [Gone Travelling Productions, Aug 2025](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/)\n\n| AI version | Human version |\n|---|---|\n| \"Tokyo offers everything from Michelin-starred restaurants to humble ramen stalls. Whether you prefer fine dining or street food, Tokyo has something for every palate.\" | \"Tokyo's best ramen counter doesn't have a phone, doesn't take reservations, and doesn't change the broth recipe. It's been the same since 1987.\" |\n\n#### P40: Symbolic Gloss / Meaning-Telling\n**Trigger:** \"represents\", \"symbolizes\", \"speaks to\", \"embodies\", \"reflects broader\", \"is a symbol of\" applied to mundane things; sentences that translate facts into their alleged significance instead of letting facts stand.\n**What's happening:** LLMs narrate the meaning of things rather than trusting description to carry it. Distinct from P1 (Significance Inflation) which uses \"pivotal moment\", \"testament\" framing. P40 is the interpretive gloss layer telling readers what to feel about something.\n**Fix:** Cut the symbol/meaning sentence. State the fact and let the reader interpret. If the symbolic claim was the whole point, replace it with a concrete consequence.\n**Source:** [Writewithai Substack, 2025](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams)\n\n| AI version | Human version |\n|---|---|\n| \"The closed factory represents the decline of American manufacturing and speaks to broader anxieties about post-industrial identity.\" | \"The factory closed in 2009. Three hundred jobs. The town's high school dropped football the following year.\" |\n\n#### P41: Infomercial Engagement Hooks\n**Trigger:** Single-sentence paragraphs that mimic viral LinkedIn cadence: \"The catch?\", \"The kicker?\", \"The twist?\", \"Here's the thing.\", \"But here's the thing:\", \"Here's what nobody tells you:\", \"The brutal truth?\", \"Sound familiar?\", \"Want to know the best part?\"\n**What's happening:** Distinct from P19 (chatbot artifacts like \"I hope this helps\") and P21 (sycophancy). These are fake dramatic pauses imported from social-media-optimized AI writing. Performative tension-builders, not real transitions.\n**Fix:** Delete the hook line entirely. Let the next paragraph make its point directly. If you really want the rhythm break, use a short declarative fragment (\"That's the trick.\") instead of a question.\n**Source:** [Writewithai Substack](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams), corroborated on [HackerNews](https://news.ycombinator.com/item?id=46646939)\n\n| AI version | Human version |\n|---|---|\n| \"Most people abandon goals in week three.\\n\\nThe brutal truth?\\n\\nThey lack a clear failure threshold.\" | \"Most people abandon goals in week three. The ones who don't usually do one thing differently: they make the failure threshold explicit before they start.\" |\n\n#### P42: Erratic Inline Bolding\n**Trigger:** Bold spans of 1-4 words appearing mid-paragraph, not at sentence start, not labeling a defined term. Multiple bold spans in one paragraph with no shared category (sometimes a noun, sometimes an adjective, sometimes a phrase).\n**What's happening:** Distinct from P14 (overall formatting overuse). P42 is *patternless* bolding, the model decided certain words felt important and bolded them, with no consistent rule. P14 may bold every header; P42 sprinkles bold randomly through running prose.\n**Fix:** Strip all inline bold except glossary terms and UI labels. If something deserves emphasis, the sentence structure should provide it.\n**Source:** [Gone Travelling, 2025](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/), [Wikipedia: Signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing)\n\n| AI version | Human version |\n|---|---|\n| \"Remote work has **fundamentally changed** the way companies operate, with **many employees** now preferring **flexible arrangements** that support **work-life balance**.\" | \"Remote work has fundamentally changed how companies operate. Most employees now want flexible arrangements.\" |\n\n#### P43: The Treadmill Effect (Low Information Density)\n**Trigger:** Paragraphs of 4+ sentences where sentences 2-N paraphrase sentence 1 without adding facts, examples, or concessions. Marker phrases inside the paragraph (not the opening): \"In other words,\", \"Put simply,\", \"To put it another way,\", \"Essentially,\", \"That is to say,\".\n**What's happening:** A 500-word AI section may contain 100 words of new information and 400 words of restatement. Humans advance; AI circles. Distinct from P22 (filler phrases at sentence level) and P30 (uniform sentence length).\n**Fix:** Apply the \"what's actually new here?\" test on each sentence. Delete any that just rephrases what came before. A paragraph that loses 60% of its words and reads better is the right outcome.\n**Source:** [aidetectors.io](https://www.aidetectors.io/blog/spotting-ai-writing-patterns), [HackerNews thread](https://news.ycombinator.com/item?id=46646939)\n\n| AI version | Human version |\n|---|---|\n| \"Time management is critical for professional success. In other words, managing time well helps you achieve more. Essentially, when you organize effectively, you accomplish goals. Put simply, good time management leads to better outcomes.\" | \"The people I've seen fail at time management almost never lack discipline. They lack a way to say no to work they never wanted to do in the first place.\" |\n\n---\n\n## Step 3: Inject Human Voice\n\nRemoving AI patterns is half the job. The other half is replacing the void with something alive.\n\n### The Burstiness Principle\n\nAI detectors measure \"burstiness\": sentence length variance. Human writing has HIGH burstiness. AI has LOW.\n\n**Target these sentence length patterns:**\n- Mix short (3-8 words), medium (12-20 words), and long (25-40 words) in every paragraph\n- Never have 3+ consecutive sentences of similar length\n- Use fragments. They work. Really.\n- One-word sentences? Occasionally.\n- Let a sentence run long when the thought needs room to breathe, winding through qualifications before landing\n\n### The Perplexity Principle\n\nAI detectors also measure \"perplexity\": how predictable each word is. AI text has LOW perplexity. Human text has HIGHER (more surprising word choices).\n\n**Increase perplexity naturally by:**\n- Choosing the second or third word that comes to mind, not the first (the most statistically likely, the one AI would pick)\n- Using domain-specific jargon or slang appropriate to the audience\n- Making unexpected analogies from personal experience\n- Occasionally using informal transitions (\"Anyway,\", \"So here's the thing:\", \"Look,\", \"Thing is,\")\n\n### Voice Profiles\n\nApply based on `--voice` flag (or infer from input):\n\n#### casual\n- Contractions always (it's, don't, won't, can't, wouldn't, that's, here's)\n- First person when appropriate (\"I think\", \"from what I've seen\")\n- Informal transitions (\"So\", \"Anyway\", \"Look\", \"Here's the thing\")\n- Occasional parenthetical asides (like this one)\n- Self-deprecating humor where it fits\n- Sentence fragments for emphasis. Like this.\n- Allowed: starting sentences with \"And\" or \"But\"\n\n#### professional\n- Contractions: selective (use \"it's\" and \"don't\" but not \"wouldn't've\")\n- Third person default, first person for opinions/experience\n- Clean transitions without being stiff\n- Dry wit over jokes\n- Concrete examples over abstract claims\n- Short paragraphs (3-5 sentences max)\n\n#### technical\n- Precise vocabulary: use the exact term, don't simplify for the sake of it\n- Code-like clarity: each sentence makes one point\n- \"Note:\" and \"Important:\" sparingly, not as decoration\n- Allowed: dry, deadpan observations about technical absurdity\n- No metaphors unless they genuinely clarify (most don't)\n- Concrete numbers > vague quantities\n\n#### warm\n- Contractions always\n- \"We\" and \"our\" to build shared experience\n- Acknowledge difficulty (\"this part is tricky\", \"I struggled with this too\")\n- Encouragement without sycophancy\n- Personal anecdotes when relevant\n- Shorter paragraphs, more whitespace\n\n#### blunt\n- Shortest possible sentences\n- No hedging whatsoever\n- \"X is bad. Here's why.\" energy\n- Strong opinions stated as facts, qualified only when genuinely uncertain\n- Cut all pleasantries\n- Active voice exclusively\n\n### Soul Injection Techniques\n\nThese make the difference between \"clean\" and \"human\":\n\n**1. Have actual opinions.** Don't just report. React. \"This API design is frustrating\" is more human than \"The API has certain limitations.\"\n\n**2. Acknowledge uncertainty honestly.** \"I'm not sure this is right, but...\" beats both false confidence and excessive hedging.\n\n**3. Use specific sensory/experiential details.** Not \"the process is complex\" but \"debugging this at 2am with a cold cup of coffee and a stack trace that makes no sense.\"\n\n**4. Reference shared human experiences.** \"You know that feeling when...\" creates connection.\n\n**5. Allow tangents and asides.** A brief digression signals a thinking mind, not an algorithm.\n\n**6. Vary paragraph length dramatically.** Four sentences, then one line. Like this.\n\n**7. Use the \"imperfect start\" technique.** Start mid-thought: \"So I was looking at the logs and...\" or \"Here's what nobody tells you about...\"\n\n**8. Break parallel structure occasionally.** Three items with the same grammar, then make the fourth different. Humans aren't that consistent.\n\n**9. Use callbacks.** Reference something mentioned earlier. \"Remember that API design I called frustrating? It gets worse.\"\n\n**10. Self-correct.** \"The system handles auth... well, authentication and authorization are separate, but you get the idea.\" A small correction signals a mind thinking in real time.\n\n**11. End without wrapping up.** Not every piece needs a neat conclusion. Sometimes just stop.\n\n---\n\n## Step 4: Execute Based on Mode\n\n### Mode: `detect`\n\n1. Scan input text for all 43 patterns\n2. For each match, record:\n   - Pattern ID and name (e.g., \"P7: AI Vocabulary\")\n   - The offending text (quoted)\n   - Why it triggers (brief explanation)\n   - Suggested fix\n3. Output a report:\n\n```\n## AI Pattern Report\n\n**Patterns found:** 12\n**Severity:** HIGH (8+ patterns = heavy AI smell)\n\n| # | Pattern | Text | Fix |\n|---|---------|------|-----|\n| P3 | Superficial -ing | \"...ensuring reliability and fostering growth\" | Delete or expand with source |\n| P7 | AI Vocabulary | \"Additionally\", \"crucial\", \"landscape\" | Replace: \"Also\", \"important\", [delete] |\n| P13 | Em Dash Overuse | 4 em dashes in 2 paragraphs | Replace 3 with commas |\n| ... | ... | ... | ... |\n\n**Burstiness score:** LOW (sentence lengths: 18, 19, 17, 20, 18; very uniform)\n**Estimated AI probability:** HIGH\n\n### Recommendations\n[Prioritized list of changes that would have the most impact]\n```\n\n### Mode: `rewrite`\n\n1. Run detection (Step 2) internally; don't output the report\n2. Apply fixes for every detected pattern\n3. Apply voice injection (Step 3) based on `--voice` flag\n4. Verify the rewrite by checking:\n   - No remaining AI vocabulary blacklist words (unless genuinely needed)\n   - Zero em dashes (U+2014). Replace with commas, colons, or hyphens\n   - Sentence length variance > 30% (burstiness check)\n   - No more than 2 consecutive sentences with similar structure\n   - No orphaned formatting (bold, emoji, Markdown in wrong context)\n6. Output the rewritten text with a brief change summary:\n\n```\n[Rewritten text here]\n\n---\nChanges: Removed 12 AI patterns (3x significance inflation, 2x -ing phrases, 4x AI vocabulary, 2x filler, 1x generic conclusion). Injected casual voice. Varied sentence length from 4 to 38 words. Added 2 specific examples to replace vague claims.\n```\n\n### Mode: `edit`\n\n1. Verify `--file` was provided\n2. Read the file using the Read tool\n3. Run detection on file contents\n4. If 0 patterns found: \"This file reads clean. No AI patterns detected.\"\n5. If patterns found:\n   - Apply fixes using the Edit tool (targeted edits, not full rewrites)\n   - Make minimal changes; preserve author's existing voice where it's already human\n   - After editing, re-read the file and verify patterns are resolved\n6. Output summary of edits made\n\n---\n\n## Step 5: Final Quality Check\n\nBefore presenting output, verify:\n\n1. **Read it aloud mentally.** Does it sound like a person talking? Or a press release?\n2. **Check the opening.** Does it start with a boring overview sentence? Rewrite to hook.\n3. **Check the ending.** Does it wrap up with a generic positive? Cut or replace with specific.\n4. **Count the \"delves.\"** If any AI blacklist words survived, kill them now.\n5. **Zero em dashes.** Search for U+2014. If any exist, replace with commas, colons, or hyphens.\n6. **Sentence length audit.** If you see 3+ sentences of similar length in a row, vary them.\n7. **The \"who wrote this?\" test.** If someone read this, could they picture a specific person behind it? If it could have been written by anyone (or anything), it needs more voice.\n\n### Scoring rubric (used when `--score` is set)\n\nCompute a 0-100 AI-tell density score on the text. Lower is more human.\n\n| Range | Verdict | What it means |\n|:------|:--------|:--------------|\n| 0-20 | Pristine | Reads like a specific human wrote it. No detector should flag it. |\n| 21-40 | Mostly human | One or two minor tells, easy to clean. |\n| 41-60 | Mixed | Half-AI half-human; partial editing likely. |\n| 61-80 | AI-leaning | Multiple structural tells; detectors will probably catch it. |\n| 81-100 | Pure AI smell | Wholesale chatbot output with no editing. |\n\nCompute as: `score = 4 × patterns_hit + 25 × (1 - burstiness_normalized) + 15 × (vocabulary_blacklist_ratio)`, clamped to 0-100. Show the score on the first line of output before the rewrite.\n\n### Iterate handling (used when `--iterate N` is set)\n\nAfter producing the rewrite, re-run Step 2 (Detect) on the output. If patterns_hit > 0 AND iteration_count < N, recurse with the rewritten text as the new input. Stop when patterns_hit == 0 OR iteration_count == N. In the final change summary, note how many iterations ran (e.g., \"Converged in 2 iterations\").\n\n---\n\n## Examples\n\n### Example 1: Technical Documentation\n\n**Before (AI-heavy):**\n> This comprehensive guide delves into the intricacies of our authentication system. The platform leverages cutting-edge JWT technology to provide a seamless, secure, and robust authentication experience. Additionally, it features a pivotal role-based access control system that serves as a testament to our commitment to security. Not only does this ensure data protection, but it also fosters a culture of trust within the organization, highlighting the enduring importance of cybersecurity in today's rapidly evolving digital landscape.\n\n**After (human, --voice technical):**\n> The auth system uses JWTs. Tokens expire after 15 minutes; refresh tokens last 7 days. Role-based access control restricts API endpoints by user role: admin, editor, and viewer each see different data. The token rotation logic is in `src/auth/refresh.ts` if you need to change the expiry windows.\n\n**What changed:** Replaced \"leverages cutting-edge JWT technology\" with \"uses JWTs.\" Added specific details (expiry times, file paths). Killed 9 AI vocabulary words.\n\n### Example 2: Blog Post\n\n**Before (AI-heavy):**\n> In today's rapidly evolving technological landscape, artificial intelligence is reshaping how we think about creativity. This groundbreaking shift represents a pivotal moment in human history, one that underscores the intricate interplay between innovation and artistic expression. As we delve deeper into this fascinating realm, it becomes crucial to understand the multifaceted implications of AI-generated content. Industry experts highlight that this transformation will have an enduring impact, fostering new forms of collaboration between humans and machines. The future looks incredibly bright for those who embrace this change.\n\n**After (human, --voice casual):**\n> I've been messing around with AI image generators for about six months now, and I still can't decide if I love them or if they make me uneasy. The outputs are technically impressive. I got a portrait last week that looked better than anything I could paint in a year. But there's something missing. It's like eating a perfect-looking meal that has no flavor. My artist friends are split: half are using these tools daily, half refuse to touch them. I don't think either side is wrong. What I do know is that my own creative process has changed since I started using them, in ways I'm still figuring out.\n\n**What changed:** Replaced abstract commentary with personal experience. Added genuine uncertainty. Concrete analogy (perfect meal, no flavor). Sentence lengths: 8 to 31 words.\n\n### Example 3: Social Media / LinkedIn\n\n**Before (AI-heavy):**\n> Excited to announce that I've taken on a pivotal new role at TechCorp! This incredible opportunity represents a significant milestone in my professional journey. I'm deeply grateful to my amazing network for their unwavering support. The team at TechCorp is truly world-class, and I'm committed to leveraging my expertise to drive innovation and foster growth. Looking forward to this exciting chapter! #NewBeginnings #Innovation #Leadership #Grateful\n\n**After (human, --voice professional):**\n> Started a new job at TechCorp this week. I'm leading their developer tools team, 12 engineers building internal tooling that currently serves about 400 developers. First week has been drinking from the firehose: new codebase, new faces, new coffee machine I can't figure out. Nervous and excited in roughly equal measure. If anyone has advice on the first 90 days in an eng leadership role, I'm all ears.\n\n**What changed:** No emojis, no hashtags. Replaced \"pivotal new role\" with what the role actually is. Added specific details (team size, user count). Coffee machine line adds humanity. Closing asks for help. Vulnerable, engaging.\n\nFile v0.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn78q56k8vp6cnbmxv8c6atxmx86na40\",\n  \"slug\": \"humanizer-skill\",\n  \"version\": \"0.3.0\",\n  \"publishedAt\": 1778661119884\n}","readmeExcerpt":"Skill: Humanizer Owner: aboudjem Summary: Detects 43 AI writing patterns and rewrites text in 5 voice profiles. Use when (1) AI text reads like a chatbot, (2) preparing content for publication, (3) a... Tags: ai-detection:0.3.0, burstiness:0.3.0, humanizer:0.3.0, latest:0.4.0, perplexity:0.3.0, writing:0.3.0 Version history: v0.4.0 | 2026-05-13T09:12:08.688Z | user **Summary:** v0.4.0 is a major update improving usab","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"## AI Pattern Report\n\n**Patterns found:** 12\n**Severity:** HIGH (8+ patterns = heavy AI smell)\n\n| # | Pattern | Text | Fix |\n|---|---------|------|-----|\n| P3 | Superficial -ing | \".\"ensuring reliability and fostering growth\" | Delete or expand with source |\n| P7 | AI Vocabulary | \"Additionally\", \"crucial\", \"landscape\" | Replace: \"Also\", \"important\", [delete] |\n| P13 | Em Dash Overuse | 4 em dashes in 2 paragraphs | Replace 3 with commas |\n|.\" |.\" |.\" |.\" |\n\n**Burstiness score:** LOW (sentence lengths: 18, 19, 17, 20, 18; very uniform)\n**Estimated AI probability:** HIGH\n\n### Recommendations\n[Prioritized list of changes that would have the most impact]"},{"language":"text","snippet":"[Rewritten text here]\n\n---\nChanges: Removed 12 AI patterns (3x significance inflation, 2x -ing phrases, 4x AI vocabulary, 2x filler, 1x generic conclusion). Injected casual voice. Varied sentence length from 4 to 38 words. Added 2 specific examples to replace vague claims."},{"language":"text","snippet":"## AI Pattern Report\n\n**Patterns found:** 12\n**Severity:** HIGH (8+ patterns = heavy AI smell)\n\n| # | Pattern | Text | Fix |\n|---|---------|------|-----|\n| P3 | Superficial -ing | \"...ensuring reliability and fostering growth\" | Delete or expand with source |\n| P7 | AI Vocabulary | \"Additionally\", \"crucial\", \"landscape\" | Replace: \"Also\", \"important\", [delete] |\n| P13 | Em Dash Overuse | 4 em dashes in 2 paragraphs | Replace 3 with commas |\n| ... | ... | ... | ... |\n\n**Burstiness score:** LOW (sentence lengths: 18, 19, 17, 20, 18; very uniform)\n**Estimated AI probability:** HIGH\n\n### Recommendations\n[Prioritized list of changes that would have the most impact]"},{"language":"text","snippet":"[Rewritten text here]\n\n---\nChanges: Removed 12 AI patterns (3x significance inflation, 2x -ing phrases, 4x AI vocabulary, 2x filler, 1x generic conclusion). Injected casual voice. Varied sentence length from 4 to 38 words. Added 2 specific examples to replace vague claims."}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: humanizer\ndescription: Detects 43 AI writing patterns and rewrites text in 5 voice profiles. Use when (1) AI text reads like a chatbot, (2) preparing content for publication, (3) auditing prose for AI tells, (4) editing a file in place. Outputs a 0-100 AI-tell score on demand. Pure Markdown, zero dependencies, no network calls.\nuser-invocable: true\nargument-hint: '\"your text\" [--mode detect|rewrite|edit] [--voice casual|professional|technical|warm|blunt] [--file path/to/file.md] [--aggressive] [--iterate N] [--score] [--purpose essay|email|marketing|technical|general]'\nallowed-tools:\n  - Read\n  - Write\n  - Edit\n  - Grep\n  - Glob\n  - AskUserQuestion\n---\n\n# Humanizer: Make Text Sound Like a Human Wrote It\n\nTake text that smells like a chatbot wrote it and rewrite it as a specific, opinionated human. Detects 43 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.\n\n## Quick reference\n\n**Modes**\n\n| Mode | What it does |\n|:-----|:-------------|\n| `detect` | Scan text, report patterns, output a 0-100 AI-tell score. No rewrite. |\n| `rewrite` | Full transform with voice injection. Default mode. |\n| `edit` | In-place file editing using the Edit tool. Minimal targeted changes. |\n\n**Voices**\n\n| Voice | Personality | Best for |\n|:------|:-----------|:---------|\n| `casual` | Contractions, first person, fragments | Blog posts, social media |\n| `professional` | Selective contractions, dry wit | Business comms, reports |\n| `technical` | Precise vocabulary, code-like clarity | API docs, READMEs |\n| `warm` | \"We\" language, empathy, short paragraphs | Tutorials, onboarding |\n| `blunt` | Shortest sentences, no hedging, active voice | Internal comms, reviews |\n\n**Pattern catalog (43 total)**\n\n| Category | Count | IDs |\n|:---------|:------|:----|\n| Content | 8 | P1 to P8 |\n| Language & Style | 10 | P9 to P18 |\n| Communication | 3 | P19 to P21 |\n| Filler & Hedging | 9 | P22 to P30 |\n| Emerging (2026) | 13 | P31 to P43 |\n\n**Flags**\n\n| Flag | Effect |\n|:-----|:-------|\n| `--score` | Prepend a `[Score: NN/100]` AI-tell density header |\n| `--iterate N` | Loop detect, rewrite, detect until convergence (max N=3) |\n| `--aggressive` | Heavier rewrite, shorter sentences, more personality |\n| `--purpose` | Layer `essay`, `email`, `marketing`, `technical`, or `general` rules |\n\n## When to use this skill\n\n- The text reads like a chatbot wrote it (uniform sentence length, no specifics, \"delves into\" energy)\n- You're publishing a blog post, README, or LinkedIn note and want a real human voice\n- You're auditing an existing document for AI tells before shipping\n- You want a 0-100 score that quantifies how AI-flagged the text reads right now\n- You want the skill to edit a Markdown file in place rather than print a rewrite to chat\n\nAuto-loads `humanizer-context.md` from the project root if present. Use that file for brand samples and banned phrases.\n\n## Operating principles\n\nYou"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn78q56k8vp6cnbmxv8c6atxmx86na40\",\n  \"slug\": \"humanizer-skill\",\n  \"version\": \"0.4.0\",\n  \"publishedAt\": 1778663528688\n}"},{"path":"skill-card.md","content":"## Description:\n\nDetects AI writing patterns, scores AI-tell density, and rewrites text into one of several human voice profiles without external dependencies or network calls.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[aboudjem](https://clawhub.ai/user/aboudjem)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and content editors use this skill to audit AI-sounding prose, rewrite text for publication, score AI-tell density, or apply targeted edits to Markdown files.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill may auto-load project-level humanizer-context.md and apply stale or inappropriate voice guidance.\n\nMitigation: Review humanizer-context.md before use and remove any outdated samples, banned phrases, or project-specific rules that should not affect the current text.\n\nRisk: In-place edit mode can change Markdown files directly.\n\nMitigation: Use detect or rewrite mode first for important files, then review the resulting changes before applying or keeping edits.\n\n## Reference(s):\n\n- [Hacker News discussion on AI writing patterns](https://news.ycombinator.com/item?id=46646939)\n- [Gone Travelling Productions AI writing giveaways](https://gonetravellingproductions.com/2025/08/20/ai-giveaways-in-writing/)\n- [Writewithai dead giveaways article](https://writewithai.substack.com/p/10-dead-giveaways-your-content-screams)\n- [Wikipedia signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing)\n- [AIDetectors spotting AI writing patterns](https://www.aidetectors.io/blog/spotting-ai-writing-patterns)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance, files]\n\n**Output Format:** [Markdown reports, rewritten prose, concise change summaries, and in-place Markdown file edits when edit mode is used]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Optional 0-100 AI-tell score; optional voice, purpose, aggressiveness, and iteration controls.]\n\n## Skill Version(s):\n\n0.4.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Detects 43 AI writing patterns and rewrites text in 5 voice profiles. Use when (1) AI text reads like a chatbot, (2) preparing content for publication, (3) a... Skill: Humanizer Owner: aboudjem Summary: Detects 43 AI writing patterns and rewrites text in 5 voice profiles. Use when (1) AI text reads like a chatbot, (2) preparing content for publication, (3) a... Tags: ai-detection:0.3.0, burstiness:0.3.0, humanizer:0.3.0, latest:0.4.0, perplexity:0.3.0, writing:0.3.0 Version history: v0.4.0 | 2026-05-13T09:12:08.688Z | user **Summary:** v0.4.0 is a major update improving usab","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1202,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T19:58:12.554Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T19:58:12.554Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T04:38:34.118Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}