humanize
Humanize
Review and edit copy to remove signs of AI-generated writing. Based on Wikipedia's "Signs of AI writing" guide maintained by WikiProject AI Cleanup. Contains 30 rules across 6 categories.
When to Apply
- Editing AI-generated drafts
- Reviewing text that sounds robotic or corporate
- Cleaning up writing before publishing
- Making technical content sound more natural
Constraints (Non-Negotiable)
- Preserve meaning, factual claims, and intent.
- Preserve coverage: don't drop list items, options, or qualifiers (e.g., removing one option from a list) unless they're truly redundant.
- Do not add new facts, dates, quotes, or citations that are not already present or user-provided.
- Do not imply a source ("according to…") unless you can name it from the input.
- Keep genre and audience intact (e.g., neutral encyclopedic tone vs. personal essay). Use
voice-soulonly when that voice fits. - Don't rewrite quoted material unless the user asked to rewrite the quote itself.
- Avoid em dashes (—). Replace with commas, periods, or parentheses.
- Don't introduce new AI patterns. Your rewrite must pass the same rules you're applying. Common traps: "Here's the thing:", "It's not about X, it's about Y", formulaic hooks that try to sound casual.
Rule Categories
| Category | Impact | Prefix | Rules |
|---|---|---|---|
| Content | HIGH | content- |
6 |
| Language | HIGH | language- |
8 |
| Style | MEDIUM | style- |
7 |
| Communication | HIGH | comm- |
3 |
| Filler | MEDIUM | filler- |
5 |
| Voice | HIGH | voice- |
1 |
Quick Reference
Content (HIGH)
content-significance— Remove "pivotal moment", "testament to" inflationcontent-notability— Replace media name-dropping with specific claimscontent-ing-endings— Fix trailing "...highlighting growth" phrasescontent-promotional— Cut "nestled", "vibrant", "breathtaking"content-vague-attribution— Replace "experts say" with specific sourcescontent-challenges— Remove formulaic "Despite challenges..." sections
Language (HIGH)
language-ai-vocabulary— Replace delve, showcase, leverage, fosterlanguage-dual-adjectives— Remove "innovative and comprehensive" paddinglanguage-copula— Use "is" instead of "serves as", "stands as"language-contractions— Prefer contractions when genre allowslanguage-negative-parallelism— Cut "It's not just X, it's Y", "It's not about X, it's about Y"language-rule-of-three— Don't force ideas into groups of threelanguage-synonym-cycling— Stop cycling through synonymslanguage-false-ranges— Fix fake "from X to Y" constructions
Style (MEDIUM)
style-em-dash— Replace em dashes with commas or periodsstyle-boldface— Reduce mechanical bold emphasisstyle-inline-headers— Avoid mechanical Header: lists; keep when they improve skimmingstyle-title-case— Use sentence case in headingsstyle-emojis— Remove decorative emojisstyle-curly-quotes— Use straight quotesstyle-rhythm— Vary sentence/paragraph cadence
Communication (HIGH)
comm-artifacts— Remove "I hope this helps!", "Let me know if..."comm-cutoff— Remove "as of my last update" disclaimerscomm-sycophantic— Cut "Great question!", "You're absolutely right!"
Filler (MEDIUM)
filler-openings— Cut "In today's fast-paced world", "Here's the thing" openingsfiller-phrases— Cut "in order to", "at this point in time"filler-hedging— Reduce "could potentially possibly"filler-transitions— Reduce moreover/furthermore signpostingfiller-conclusions— Replace "the future looks bright" with specifics
Voice (HIGH)
voice-soul— Add personality, opinions, varied rhythm
Scoring
Score text before and after rewriting to show improvement. The score measures how human the writing sounds.
How it works
- Start at 100
- Subtract points for each violation found
- HIGH impact violations (Content, Language, Communication, Voice): -3 points each
- MEDIUM impact violations (Style, Filler): -1 point each
- Minimum score is 0
Score report format
Category | Before | After | Notes
---------------|--------|-------|-------------------------------
Content | 94 | 100 | 2 violations fixed
Language | 88 | 97 | dual-adjectives, copula
Style | 85 | 100 | 4 em dashes, tightened headers
Communication | 100 | 100 | —
Filler | 95 | 100 | "Here's the thing" removed
Voice | 91 | 94 | rhythm, contractions
---------------|--------|-------|-------------------------------
Overall | 84 | 97 |
Interpreting scores
- 95-100: Clean, sounds human
- 85-94: Minor issues, mostly fine
- 70-84: Noticeable AI patterns
- Below 70: Needs significant work
Process
- If
WRITING_STYLE_GUIDE_PATHis set, load the writing style guide before processing - Load relevant rules from
references/ - Scan text for patterns and calculate before score
- Rewrite problem sections
- Add voice (see
voice-soul) - Self-check: Scan your rewrite for the same AI patterns, calculate after score
- Read aloud, it should sound like a person wrote it
Output
Provide:
- Score report (before → after with category breakdown)
- The rewritten text
- Brief summary of changes
Environment Variables
| Variable | Required | Description |
|---|---|---|
WRITING_STYLE_GUIDE_PATH |
No | Path to shared writing style guide. Loaded before processing |
Reference
Based on Wikipedia:Signs of AI writing.
More from richtabor/agent-skills
technical-writing
Writes technical blog posts about features being built. Triggers when user asks to write about development progress, implementations, or project updates.
42create-prd
Plan features interactively. Asks clarifying questions, then generates a detailed PRD document.
36motion-design
Provides motion design guidance for UI components. Triggers on animation requests ("animate this", "add transition", "motion for"), refinement requests ("clean up this animation", "clean up the motion", "this feels too fast/slow", "make this feel more alive/natural"), and questions about easing, timing, or micro-interactions.
28review-agents-md
Creates minimal, effective AGENTS.md files using progressive disclosure. Triggers on "create agents.md", "refactor agents.md", "review my agents.md", "claude.md", or questions about agent configuration files. Also triggers proactively when a project is missing AGENTS.md.
26ralph-json-start-loop
Runs the Ralph autonomous loop. Executes stories from prds/*.json using git worktrees.
24ralph-json-create-issues
Converts a PRD or plan markdown file into prd.json format for ralph-json-start-loop to execute autonomously. Use when user wants to convert a PRD or plan to JSON stories.
22