Skip to content
Development
Skill

/humanizer

Strip AI-writing tells from prose destined for humans — docs, PR/commit bodies, reports, release notes, blog posts, Slack/email drafts. Removes LLM-vocabulary clichés (delve, boasts, testament, underscore, robust, tapestry...), banned constructions (not just X but Y,

From plugin
ai-rig
2736 skills16 agents3 MCP
Install
$ npx -y skills add Borda/AI-Rig --skill humanizer --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/humanizer

Context preview

The summary Claude sees to decide when to auto-load this skill.

Strip AI-writing tells from prose destined for humans — docs, PR/commit bodies, reports, release notes, blog posts, Slack/email drafts. Removes LLM-vocabulary clichés (delve, boasts, testament, underscore, robust, tapestry...), banned constructions (not just X but Y,

SKILL.md

humanizer.SKILL.md
name: humanizer
description: 'Strip AI-writing tells from prose destined for humans — docs, PR/commit bodies, reports, release notes, blog posts, Slack/email drafts. Removes LLM-vocabulary clichés (delve, boasts, testament, underscore, robust, tapestry...), banned constructions (not just X but Y, rule-of-three triads, "-ing" superficial-analysis clauses, vague-attribution weasel words), and formatting tells (title-case headings, mechanical bolding, em-dash overuse, curly quotes, bare-bullet inline-header lists). TRIGGER when: user asks to humanize/polish/de-AI a piece of text or file; before finalizing a substantial human-facing prose artifact drafted as part of the current task (docs, PR/commit body, report, blog post, release notes, external message) — self-review pass, best-effort model-initiated, not a guaranteed intercept. SKIP when: output is a terse conversational chat reply, code, JSON/YAML/config, a machine-parsed agent envelope ("Return ONLY:"), or the target is an ultra-caveman-tier handover file (`.temp/`, inter-agent prose per `plugins/CLAUDE.md` compression tiers).'
argument-hint: '[text or file path to humanize] | check <file>'
allowed-tools: Read, Edit, Grep, Glob
model: haiku

<objective>

Detect and remove statistical AI-writing fingerprints from human-facing prose before it ships. Grounded in Wikipedia's crowd-sourced AI-detection corpus (`Wikipedia:Signs of AI writing`) — a maintained list of vocabulary, syntax, and formatting patterns that over-represent in LLM output vs human baseline. Apply as a final pass, not a rewrite-from-scratch: preserve meaning, facts, and structure; only excise the tells.

</objective>

<inputs>

  • **text or file path to humanize**: optional. Inline text, or a file path (Markdown/plain text) to edit in place.
  • **check `<file>`**: read-only mode — report findings without editing.
  • No argument: humanize the draft already composed earlier in this turn (self-review pass) — only reachable when the model chooses to invoke this skill mid-task; there is no platform hook that guarantees a pre-send interception, so treat this path as best-effort, not a hard gate.

</inputs>

<workflow>

1. Load the target text

  • Inline text → work on it directly, no file I/O.
  • File path → `Read` the file.
  • No argument → treat the draft already composed earlier in this turn as the target.

2. Scan against the checklist

Walk the text once per category below; flag every hit before editing anything (report-first, matches `check` mode output).

**Vocabulary — cut or replace with plain equivalent:**

| Banned | Plain replacement | | -- | -- | | delve, boasts, testament, underscore(s), showcase, tapestry, intricate/intricacies, meticulous, robust, vibrant, pivotal, crucial, garner, foster(ing), align with, landscape, interplay, enduring, enhance | say the specific thing instead — drop the word, don't swap in another vague one | | "stands as", "serves as", "marks a", "represents" (as copula dodge) | "is" / "was" | | "Additionally,", "Moreover,", "It is important to note that" | delete, or state the fact directly |

**Syntax — flag and restructure:**

  • Negative parallelism: "not just X, but Y" / "not X, but Y" / "not only X but also Y" / "X rather than Y" used as a crutch
  • Rule-of-three triads used for false comprehensiveness ("fast, reliable, and scalable")
  • "-ing" superficial-analysis tails: "highlighting...", "underscoring...", "contributing to..." tacked onto a claim with no source
  • Vague attribution / weasel words: "industry reports", "observers", "experts argue", "some critics" with no named source
  • Formulaic "Despite its [positives], X faces challenges..." conclusion pattern

**Formatting — flag and fix:**

  • Title Case In Headings → sentence case
  • Mechanical bolding of every instance of a repeated term
  • Markdown overuse — bold/bullets/headers where a plain sentence reads fine; the single most common tell in PR bodies and reports
  • Bare-bullet inline-header lists (`• **Header:** text`) where prose or a real table reads better
  • Em dash overuse — chain of `—` clauses instead of periods/commas
  • Curly ("smart") quotes/apostrophes mixed inconsistently with straight ones
  • `---`/`***` thematic breaks before headings (Markdown artifact bleeding into prose)

3. Apply fixes

  • `check` mode: stop here — report findings (category, location, quote, suggested fix), do not edit.
  • Edit mode: apply the minimal edit per flagged instance using `Edit`. Preserve every fact, number, and citation — only the phrasing/formatting changes. Re-read the result once to confirm no fact was dropped in the rewrite.

4. Report

One line per category with hit count and net edits made (e.g. "vocabulary: 4 removed, syntax: 2 restructured, formatting: 1 fixed"). Zero hits → say so plainly, do not pad the report.

</workflow>

<notes>

  • Source of the checklist: Wikipedia's `Wikipedia:Signs of AI writing` essay — a living document; the vocabulary list drifts as models change ("delve" was the 2023-24 tell, largely purged by 2025). Treat the table above as a snapshot, not gospel — if a word reads natural and specific in context, don't force a cut because it once trended in AI output.
  • This skill governs **artifacts** headed for human eyes, not conversational chat turns or ultra-caveman-tier handover files — see the SKIP list in `description:` for the exact destination-based cutoff.
  • Never invent facts while trimming a vague-attribution sentence — either name the real source (if known from context) or cut the claim entirely. Don't launder a weasel-worded claim into a confident unsourced one.
  • Dense co-occurrence (5+ flagged patterns in one passage) is the real signal — a single "robust" or one bolded term is not worth flagging in isolation; don't over-trigger on incidental matches.
  • Commit messages: `rules/git-commit.md` structural rules are inviolable (subject ≤50 chars, `type(scope): detail`, no line-wrap, mandatory co-author trailers, self-contained no internal label
Read more
Ships withai-rig

Practical agent workflows for Python, ML, and open-source maintenance. AI-Rig turns recurring work—scoping a change, reproducing a bug, reviewing a pull request, running an experiment, or checking release readiness—into explicit workflows with specialist

Get the whole plugin

Other skills on ai-rig.

fix
Skill

fix

Reproduce-first bug resolution — capture bug in failing regression test, apply minimal fix, run quality stack and review loop. TRIGGER when: user reports a…

@borda@bordaView Skill
plan
Skill

plan

Analysis-only planning — classify and scope a task without writing code; outputs a structured plan to .plans/active/. TRIGGER when: user wants to understand…

@borda@bordaView Skill