pedrohcgs/humanize
Read-only audit of `.tex`, `.qmd`, or `.md` text for AI-voice tells — boilerplate transitions ("Moreover", "Furthermore", "It is important to note that"), AI-cliché lexicon ("delve", "navigate the complexities", "tapestry", "robust framework"), em-dash overuse, symmetric paragraph shapes, tricolon abuse, hedging stacking, "not only X but also Y" frames, and formulaic openers. Produces a report; does NOT rewrite. Use when user says "humanize", "does this sound like AI?", "check for AI tells", "de-AI this draft", "remove AI voice", "audit my prose for sycophancy", or before journal submission / posting a working paper.
npx skills add https://github.com/pedrohcgs/claude-code-my-workflow --skill humanize
/humanize — AI-voice audit (detect-and-flag)Read the target file (or all paper-like files), audit for the canonical AI-voice tells in academic prose, and write a structured report. The skill does not rewrite. The author edits.
Referees and editors increasingly recognise AI-generated prose. The tells are not stylistic preferences — they're statistically conspicuous patterns the LLM training distribution produces at higher rates than human academic writers. Five reasons to audit before submission:
--rewrite mode. Auto-rewriting AI tells degrades prose quality (cross-vendor research finding); the author preserves voice by editing manually./review-paper for argument structure, identification, citations./proofread for grammar, typos, overflow, citation format./verify-claims for Chain-of-Verification fact-checking of citations and numeric claims./humanize is the *voice* lens. Run it alongside the others — none of them substitute.
.bib, .R, or other non-prose files — the detectors are tuned for academic prose.The humanize-auditor agent checks these category groups:
High-confidence AI tells when they appear sentence-initial or mid-paragraph as connective tissue:
Moreover, / Furthermore, / Additionally, / In addition,It is important to note that / It is worth noting that / Notably,In conclusion, / In summary, / To summarise,On the other hand, (when not contrasting two named things)Building on this, / Building upon this,As we can see, / As is evident, / Indeed, (stacked)Severity: HIGH if more than 1 per 1000 words. MED if 1 per 2000 words. LOW if rare but present.
Words and phrases statistically over-represented in LLM output relative to academic prose:
Severity: HIGH on a paper's first three pages (abstract, intro). MED elsewhere.
Severity: MED. Em-dashes are a legitimate authorial choice; flag overuse, not all use.
Paragraphs with the same micro-architecture: topic sentence → three examples → summarising clause. Repeated across consecutive paragraphs is the AI tell — not the shape itself.
Detection: flag any three-paragraph window where each paragraph fits the topic→examples→summary cadence.
Severity: MED if 3-paragraph window; HIGH if 5+ paragraph stretch.
"X, Y, and Z" three-element lists are a legitimate rhetorical device. Tells are:
Severity: LOW if rare; MED if patterned.
Stacked epistemic hedges in single sentences:
Severity: HIGH — these are almost never authorial choices; they're LLM uncertainty-management.
Used sparingly, this is a legitimate construction. AI tells:
Severity: MED.
Severity: LOW unless every section starts this way.
Long chains of compound modifiers as a paragraph signature:
Severity: LOW.
Severity: HIGH — these read as AI-generated promotional copy; referees will react badly.
$ARGUMENTS starts with a filename: audit that file only.$ARGUMENTS is all: audit all .qmd, .tex, .md files in Slides/, Quarto/, root, and master_supporting_docs/..bib, .R, .py, code files, and any file under scripts/.--severity flag (default: report all).--severity low → report all findings.--severity med → suppress LOW findings.--severity high → report only HIGH findings.humanize-auditor agent with the 10 detection categories. line N | category | severity | current text | suggested rewrite or "remove"
quality_reports/humanize_<filename>_report.md. Include:| When you've drafted prose with AI assistance | Run /humanize before submission. Pair with /proofread (grammar) and /verify-claims (citations). |
| When you wrote in your own voice | Run /humanize anyway — your own prose drifts toward LLM patterns after long sessions of AI-assisted work. |
| Submission-ready review | /review-paper --peer [journal] --variance 3 for substance, /humanize for voice, /verify-claims for facts. |
--rewrite modeWe deliberately do not ship /humanize --rewrite. Cross-vendor research (Cursor / Aider community findings; cited in the v1.9.0 plan) finds that auto-rewriting prose to strip AI tells degrades quality more often than it improves it — the rewriter introduces its *own* AI tells. The detect-and-flag pattern preserves authorial voice; the cost is your editing time, which is exactly the cost we want to pay.
If you find yourself reaching for an auto-rewriter, that's the signal to rewrite the paragraph from scratch — not to patch the tells one by one.
quality_reports/humanize_<filename>_report.md (gitignored).Take pedrohcgs/humanize from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.