Agent skill

Humanize

by EliasOulkadi in EliasOulkadi/shokunin

Rewrite AI-generated text to sound natural, remove AI tells, and adjust tone.

MITAuto-check passedWriting & Content

Install Humanize

skills CLI
$ npx skills add EliasOulkadi/shokunin --skill humanize -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install EliasOulkadi/shokunin humanize --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/EliasOulkadi/shokunin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.pack/skills/humanize .claude/skills/humanize && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
humanize
GitHub stars
114
Token cost
~2.5k tokens
SKILL.md length
1,203 words
Files
1
Skills in repo
49
Repo updated
First seen
Licence
MIT

At a glance

Rewrite AI-generated text to sound natural, remove AI tells, and adjust tone.

  • Works in 12 steps: Overused buzzwords (Grammarly 2026,… → Mechanical connectors (GPTZero research) → Perfect symmetrical structure (MIT Tech… → …
  • User asks to make text less robotic
  • SKILL.md covers Core metrics AI detectors…, The 16 AI tells (how to spot…, Workflow and Anti-patterns checklist, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Humanize is an agent skill from EliasOulkadi/shokunin. Rewrite AI-generated text to sound natural, remove AI tells, and adjust tone. Use when user asks to make text less robotic, more natural, or humanize AI output. Covers tone matrix, filler words, sentence rhythm, and anti-AI-slop patterns.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: opencode

It sits in Writing & Content, covering Humanizing AI text. It works with Reddit. The repository describes itself as: 職人 Shokunin 62 AI agent skills for OpenCode, Claude Code, Cursor, Windsurf. ChromaDB memory, MCP servers, declarative self-updates. Multi-model, open source, zero cost. The licence is MIT.

When your agent uses it

  • User asks to make text less robotic
  • Humanize AI output

Example prompts

  • “/humanize”

Requirements

  • Compatibility (from SKILL.md): opencode

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Overused buzzwords (Grammarly 2026, Reddit)
  2. Mechanical connectors (GPTZero research)
  3. Perfect symmetrical structure (MIT Tech Review)
  4. Low burstiness (QuillBot, pdf4.dev)
  5. Absolute neutrality (r/auscorp, Reddit)
  6. Forced transitions (HN, cybersecurity forums)
  7. Numbers and statistics without source
  8. Excessive passive voice
  9. Empty hyperbole (r/cybersecurity)
  10. Closing with rhetorical question
  11. Uniform paragraph length
  12. Lack of colloquialisms

What it can do on your machine

Read from SKILL.md and the folder at commit 4c68e5b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    opencode

    From compatibility in the SKILL.md frontmatter.

Context cost

Humanize loads about 2.5k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 1,203 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from EliasOulkadi/shokunin at commit 4c68e5b, republished under its MIT licence (© EliasOulkadi). 1,203 words, ~2,549 tokens.

Download SKILL.mdSave it as .claude/skills/humanize/SKILL.md (or your agent's skills folder).
name
humanize
description
Rewrite AI-generated text to sound natural, remove AI tells, and adjust tone. Use when user asks to make text less robotic, more natural, or humanize AI output. Covers tone matrix, filler words, sentence rhythm, and anti-AI-slop patterns.
compatibility
opencode
triggers
humanize, make it natural, less robotic, more human, remove AI tells, adjust tone, rewrite naturally, natural text, anti AI slop, make it conversational
negatives
translation, formal writing, academic writing, technical documentation, code comments
license
MIT
metadata.version
1.0.0
metadata.workflow
ai-agents
metadata.audience
general

humanize · 人間

人間 · にんげん — "human being". Makes AI-generated text sound like a real person wrote it.

Based on research from: Grammarly, MIT Technology Review, GPTZero, QuillBot, Reddit (r/auscorp, r/cybersecurity), Hacker News, Stack Overflow, JustDone, print-css.rocks, BrowserStack, pdf4.dev benchmarks, and professional writing guides (2024–2026).


Core metrics AI detectors measure

MetricWhat it meansHuman textAI text
PerplexityHow predictable each word isHigh — uses unexpected wordsLow — always picks the most probable word
BurstinessVariance in sentence lengthHigh — mixes short/long sentencesLow — uniform sentence length
Word frequencyRate of common vs rare wordsBalanced — uses uncommon termsSkewed — overuses "the", "it", "is"
RepetitionRecurring patternsLow — natural variationHigh — same structures repeat

Sources: GPTZero, QuillBot, MIT Technology Review, Google Brain research (Ippolito et al. 2020)


The 16 AI tells (how to spot them)

1. Overused buzzwords (Grammarly 2026, Reddit)
AI wordHuman alternative
delve intoanalyze, explore, dig into
pivotalkey, decisive, critical
underscorehighlight, point out, stress
multifacetedcomplex, with several aspects
landscapeecosystem, context, situation
paradigmmodel, approach, framework
robustsolid, reliable, resilient
leverageuse, harness, take advantage of
seamlesssmooth, frictionless, natural
transformativedisruptive, profound, radical
2. Mechanical connectors (GPTZero research)
  • "Moreover", "Furthermore", "Nevertheless", "Consequently" → use "Also", "But", "So" or nothing
  • "However" every 3 paragraphs → cut half, let it flow
  • "Nevertheless", "Therefore", "Consequently" → replace with "So", "Then", "That means"
3. Perfect symmetrical structure (MIT Tech Review)

LLMs generate paragraphs of the same length, same structure: intro → point → example → conclusion.

Fix: Break the pattern. One-line paragraph. Then a long one. List. Then another short one.

4. Low burstiness (QuillBot, pdf4.dev)

AI produces sentences of similar length. Humans alternate:

  • Short sentence. Impact.
  • Then a longer one that develops the idea with more detail and nuance, adding context.
  • Another short one.
5. Absolute neutrality (r/auscorp, Reddit)

AI never takes a position. Sounds like a wiki. Fix: Add opinion, judgment, acknowledged bias. "We don't like this", "This is well done", "This is debatable".

6. Forced transitions (HN, cybersecurity forums)

"It is important to note that...", "It is worth mentioning that...", "It should be noted that..." → delete all. If the sentence doesn't work without the crutch, rewrite it.

7. Numbers and statistics without source

AI invents data that "sounds good". E.g.: "Studies show that 80% of users..." Fix: If there's no real source, don't put a number. Use "many", "most", "it's common".

8. Excessive passive voice

"It was carried out", "It has been determined", "It can be observed" Fix: Active. "We carried out", "We determined", "We observe"

9. Empty hyperbole (r/cybersecurity)

"Critical", "Massive", "Transformative", "Revolutionary" without backup. Fix: Concrete data or measured language.

10. Closing with rhetorical question

"Are you ready for the future?", "Can you imagine a world where...?" Fix: Close with a statement or direct call to action.

11. Uniform paragraph length

AI: all paragraphs 3-5 lines. Human: natural mix of 1 line with 8 lines.

12. Lack of colloquialisms

AI doesn't use "well", "look", "you see", "the thing is", "let's see". Real speech has filler words. Fix: Add controlled natural language. Don't overdo it, but loosen up.

13. Too formal for the context

An internal report written like an academic paper. An email like a formal letter. Fix: Match the register to the channel and audience.

14. No errors or imperfections

AI has no typos, doesn't repeat a word by accident, doesn't rephrase. Fix: Do NOT introduce artificial errors. But allow natural asymmetry.

15. No contractions or contracted forms

AI: "do not", "cannot", "will not", "it is", "I am", "they are" Human: "don't", "can't", "won't", "it's", "I'm", "they're" (in English)

16. Em dash (—) as universal connector

AI abuses the em dash — as a universal connector. Typical pattern:

❌ AI:   Black Box — no previous credentials
❌ AI:   WordPress — updated to latest version
❌ AI:   Admin panel — accessible without restrictions

A human normally uses:

✅ Real: Black Box (no previous credentials)
✅ Real: WordPress updated to latest version
✅ Real: Admin panel accessible without restrictions

The real em dash is used for asides or tone shifts, not as glue between label and value. If you see multiple lines with — in a row, it's AI.

Fix: replace — with parentheses, comma, colon, or simply nothing. If the — separates a label from its value, the label or the dash is probably unnecessary.


Workflow

Step 1: Detect

Read the full text. Mark every instance of:

  • Buzzwords (list above)
  • Mechanical connectors
  • Identical-length paragraphs
  • Chained passive voice
  • Unsupported hyperbole
  • Absolute neutrality
  • Transition crutches
Step 2: Prune

Delete everything that is filler:

  • "It is important to note that" → [delete]
  • "It is worth mentioning that" → [delete]
  • "It should be pointed out that" → [delete]
  • "As previously mentioned" → [delete]
  • "In today's world" → [delete]
Show full SKILL.md (472 more words)Show less
Step 3: Vary

Rewrite to break symmetry:

  • One short line
  • Long paragraph with data
  • Another short line
  • List or table
  • Closing paragraph with opinion
Step 4: Personalize

Add a layer of judgment/perspective:

  • "This is debatable because..."
  • "In our experience..."
  • "The data that concerns us most is..."
  • "Frankly, this solution doesn't convince"
Step 5: Verify

Run the result through:

  • An AI detector (GPTZero, Originality)
  • A read-aloud test (if it sounds like a robot, it failed)
  • The test: "would a human say this in a conversation?"

Anti-patterns checklist

Use this checklist before delivering any humanized text:

SignalPresentFixed
Delve / dive / deep dive
"In today's world / nowadays"
All paragraphs same length
More than 1 "however" per page
"It is important to note"
Rhetorical question at the end
0 opinions or judgments
Language more formal than the context
Connector "moreover / on the other hand" repeated
Passive voice in more than 30% of verbs
Numbers without source
"Nevertheless / nonetheless"
Em dash — separating repeated label/value
Claims without attributed source

Error Handling

CauseFix
Text still reads as AI after one passRun through AI detector (GPTZero, Originality). Identify remaining tells. Apply second pass focusing on burstiness (vary sentence length).
Over-correction: text became too informalMatch register to the channel and audience. Internal email: casual-direct. Client report: professional. Academic: formal.
Removing all connectors made text choppyKeep natural connectors ("but", "so", "and", "then"). Only remove mechanical ones ("Moreover", "Nevertheless", "Consequently").
Added filler words now sound forcedUse colloquialisms sparingly. "Well", "look", "the thing is" — max 1-2 per page. Overuse sounds fake.
Passive-to-active conversion reads awkwardlyNot all passives are bad. Keep passive when the actor is unknown or irrelevant. Target < 30% passive voice, not 0%.
Text lost important nuance when simplifyingPreserve technical precision. Humanize the wrapper, not the substance. Facts, data, and specific claims stay intact.
Em dash removal broke sentence flowReplace — with parentheses, comma, colon, or restructure sentence. Don't just delete — find the right natural alternative.
AI detector still flags the textCheck burstiness distribution. Ensure paragraph lengths vary (1-line to 8-line mix). Add one genuine opinion/judgment. Verify no rhetorical question closers.

Sources

  • Grammarly (2026): "Common Words and Phrases in AI-Generated Text"
  • MIT Technology Review (2025): "How to spot AI-generated text"
  • GPTZero (2025–2026): "AI Detection Benchmarking", "Perplexity and Burstiness Explained"
  • QuillBot: article "Burstiness and Perplexity Explained"
  • Reddit r/auscorp: "What's the most obvious tell that someone has used AI"
  • Reddit r/cybersecurity, Hacker News discussions
  • Ippolito et al., Google Brain (2020): "Automatic Detection of Generated Text"
  • JustDone / AHelp: Spanish AI detection guides
  • print-css.rocks, BrowserStack, pdf4.dev (document formatting research)

Checklist

  • Skill loads without errors in the AI agent
  • YAML frontmatter is valid (description, compatibility, audience)
  • Workflow section provides clear step-by-step instructions
  • Error handling section covers common failure modes
  • All referenced files (references/, scripts/, assets/) exist
  • Skill triggers correctly for intended use cases
  • No broken links or missing resources

© EliasOulkadi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .pack/skills/humanize of EliasOulkadi/shokunin.

Open the folder on GitHubat commit 4c68e5b

Compare with similar skills

Humanize next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Humanize compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Humanize this skillEliasOulkadi/shokunin114—~2.5kAutomated safety check: PassMIT
Anti Vibe Writingweijt606/anti-vibe-writing120—~3.9kAutomated safety check: PassMIT
DeslopifyJuliusBrussee/skills162—~1.9kAutomated safety check: PassMIT
Unslop TextJCarterJohnson/vibecoded-design-tells513—~3.5kAutomated safety check: PassCustom licence
HumanizerAzure-Samples/interview-coach-agent-framework17338 repos~5.8kAutomated safety check: PassMIT
Avoid AI Writingconorbronsdon/avoid-ai-writing4.9k3 repos~8.1kAutomated safety check: PassMIT

Similar skills

  • Anti Vibe Writing

    weijt606/anti-vibe-writing

    A skill your agent uses when the user wants to humanize, de-AI, polish, or warm up an AI-generated document, in English or Chinese.

    120 GitHub stars~3.9k tokensUpdated 2 mo ago
    Writing & ContentAuto-check passed
  • Deslopify

    JuliusBrussee/skills

    De-slop pass for any text. An agent skill from JuliusBrussee/skills.

    162 GitHub stars~1.9k tokensUpdated 2 mo ago
    Writing & ContentAuto-check passed
  • Unslop Text

    JCarterJohnson/vibecoded-design-tells

    Strips the cues that make prose read as AI-generated and forces a deliberate human voice instead of the model's default register.

    513 GitHub stars~3.5k tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Humanizer

    Azure-Samples/interview-coach-agent-framework

    Official

    Remove signs of AI-generated writing from text. An agent skill from Azure-Samples/interview-coach-agent-framework.

    173 GitHub starsUsed in 38 repos~5.8k tokens
    Writing & ContentAuto-check passed
  • Avoid AI Writing

    conorbronsdon/avoid-ai-writing

    Audit and rewrite content to remove AI writing patterns ("AI-isms").

    4.9k GitHub starsUsed in 3 repos~8.1k tokens
    Writing & ContentAuto-check passed
  • User-Facing Text Cleanup

    guillaumemeyer/watermarks-remover

    Audits prose for invisible Unicode characters and rewrites it while keeping facts, citations, code and required disclosures unchanged and the writer's voice intact.

    24k GitHub stars~3.5k tokensUpdated 2 days ago
    Writing & ContentAuto-check passed

More from EliasOulkadi/shokunin

All 49 skills in this repo
  • CI CD

    EliasOulkadi/shokunin

    Design CI/CD pipelines for GitHub Actions, GitLab CI, and CircleCI with matrix builds, test sharding, caching, Docker layer caching, OIDC auth, deployment strategies (rolling, blue-green, canary)…

    114 GitHub stars~3.4k tokensUpdated 6 days ago
    Auto-check: notes
  • Component Forge

    EliasOulkadi/shokunin

    Build production-grade components for React, Vue 3, and Svelte 5 with all states (loading, empty, error, success, idle), TypeScript strict, WCAG 2.2 accessibility, server components (RSC), and…

    114 GitHub stars~3.6k tokensUpdated 6 days ago
    Auto-check: notes
  • DB Admin

    EliasOulkadi/shokunin

    PostgreSQL database administration — backup/restore (pgdump, PITR, WAL archiving), health monitoring (connections, bloat, cache hit ratio, dead tuples), connection pooling (PgBouncer), replication…

    114 GitHub stars~2k tokensUpdated 6 days ago
    Auto-check: notes
  • DB Sculptor

    EliasOulkadi/shokunin

    Design database schemas with Prisma/Drizzle, PostgreSQL index strategy (B-tree, GIN, GiST, BRIN, Hash), query optimization (EXPLAIN ANALYZE), migration safety (expand/contract, zero-downtime), and…

    114 GitHub stars~3.1k tokensUpdated 6 days ago
    Auto-check: notes
  • Docker

    EliasOulkadi/shokunin

    Optimize Docker images with multi-stage builds, distroless bases, BuildKit cache mounts, multi-arch builds, compose watch, security hardening (non-root, seccomp, capabilities drop), and…

    114 GitHub stars~3.8k tokensUpdated 6 days ago
    Auto-check: notes
  • Error Handler

    EliasOulkadi/shokunin

    Design error handling, structured logging, and observability with OpenTelemetry (traces, metrics, logs), error classification, recovery patterns (retry with jitter, circuit breaker, bulkhead…

    114 GitHub stars~3.6k tokensUpdated 6 days ago
    Auto-check: notes

Works with

Questions about Humanize

What does Humanize do?

Rewrite AI-generated text to sound natural, remove AI tells, and adjust tone. Humanize is an agent skill from EliasOulkadi/shokunin. Rewrite AI-generated text to sound natural, remove AI tells, and adjust tone.

When should I use Humanize?

Humanize fits situations like: user asks to make text less robotic; humanize AI output.

How do I install Humanize in Claude Code?

Run `npx skills add EliasOulkadi/shokunin --skill humanize -a claude-code`. Or copy the skill folder (.pack/skills/humanize in EliasOulkadi/shokunin) into .claude/skills/humanize in your project. Claude Code loads it when a task matches its description.

How do I install Humanize in Codex?

Run `npx skills add EliasOulkadi/shokunin --skill humanize -a codex`. Or copy the skill folder (.pack/skills/humanize in EliasOulkadi/shokunin) into .agents/skills/humanize in your project. Codex loads it when a task matches its description.

Can I use Humanize in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add EliasOulkadi/shokunin --skill humanize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/humanize, .gemini/skills/humanize, .github/skills/humanize and .opencode/skills/humanize in your project.

What does Humanize need to run?

SKILL.md names no scripts, command-line tools or credentials: Humanize is instructions for the agent only. Compatibility (from SKILL.md): opencode.

Does Humanize access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Humanize safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Humanize use?

Humanize is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Humanize use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Humanize?

Skills that share tags, products or a category with Humanize: Anti Vibe Writing (weijt606/anti-vibe-writing, 120 stars), Deslopify (JuliusBrussee/skills, 162 stars), Unslop Text (JCarterJohnson/vibecoded-design-tells, 513 stars) and Humanizer (Azure-Samples/interview-coach-agent-framework, 173 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Humanize?

EliasOulkadi (a GitHub user) maintains it in EliasOulkadi/shokunin, which has 114 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 5, 2026.

Source: EliasOulkadi/shokunin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.