Not in the top 1,000 by GitHub stars

brandonwise/humanizer

OpenClaw skill that detects and removes signs of AI-generated writing, making text sound natural and human. Based on Wikipedia's Signs of AI Writing.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 4b9b9bee384a

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 4b9b9bee384aea139f599133d2de1e1ceaee71a3

131GitHub stars
2stars in 7 days
1skill in this repository
0commits in 30 days

Heat

2.4
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 4, 2026131

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

humanizer

When your agent uses it

Humanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.

What it loads into context

Frontmatter

146 tokens

Always available to the agent

SKILL.md

2,108 tokens

When the skill is activated

Reference documents

14,199 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Your task
  2. Quick reference: the 28 patterns
  3. Statistical signals
  4. Vocabulary tiers
  5. Core principles
  6. Before/after example
  7. Using the analyzer
  8. Always-on mode
  9. Process

Scripts executed separately

  • api-server/server.js
  • eslint.config.js
  • mcp-server/format.js
  • mcp-server/index.js
  • mcp-server/package.json
  • package.json
  • scripts/analyze.sh
  • scripts/humanize.sh
  • src/analyzer.js
  • src/cli.js
  • src/humanizer.js
  • src/patterns.js
  • src/preprocess.js
  • src/stats.js
  • src/vocabulary.js
  • src/workflows.js
  • tests/analyzer.test.js
  • tests/calibration.test.js
  • tests/cli-scan-config.test.js
  • tests/edge-cases.test.js
  • tests/humanizer.test.js
  • tests/mcp-format.test.js
  • tests/performance.test.js
  • tests/preprocess.test.js
  • tests/statistics.test.js
  • tests/workflows.test.js
  • vitest.config.js

Files

  • .editorconfigasset219 bytes
  • .gitignoreasset267 bytes
  • .prettierrcasset154 bytes
  • LICENSEasset1,069 bytes
  • README.mddoc20,020 bytes
  • SKILL.mdcore8,639 bytes
  • SKILL.mdcore8,639 bytes
  • api-server/openapi.yamlasset5,087 bytes
  • api-server/server.jsruns4,619 bytes
  • assets/banner.mddoc331 bytes
  • docs/CONTRIBUTING.mddoc2,072 bytes
  • docs/EXAMPLES.mddoc2,243 bytes
  • docs/IMPROVEMENTS.mddoc3,913 bytes
  • docs/INTEGRATIONS.mddoc3,690 bytes
  • docs/PATTERNS.mddoc2,625 bytes
  • eslint.config.jsruns2,642 bytes
  • mcp-server/format.jsruns1,425 bytes
  • mcp-server/index.jsruns7,060 bytes
  • mcp-server/package.jsonruns442 bytes
  • openai-gpt/instructions.mddoc5,080 bytes
  • package.jsonruns1,439 bytes
  • references/ai-vocabulary.mddoc5,593 bytes
  • references/patterns.mddoc10,268 bytes
  • references/style-guide.mddoc4,013 bytes
  • scripts/analyze.shruns301 bytes
  • scripts/humanize.shruns315 bytes
  • src/analyzer.jsruns18,560 bytes
  • src/cli.jsruns39,679 bytes
  • src/humanizer.jsruns16,287 bytes
  • src/patterns.jsruns37,771 bytes
  • src/preprocess.jsruns2,703 bytes
  • src/stats.jsruns9,699 bytes
  • src/vocabulary.jsruns18,181 bytes
  • src/workflows.jsruns12,318 bytes
  • tests/analyzer.test.jsruns16,727 bytes
  • tests/calibration.test.jsruns7,414 bytes
  • tests/cli-scan-config.test.jsruns5,493 bytes
  • tests/edge-cases.test.jsruns7,311 bytes
  • tests/fixtures/ai-sample-1.txtdoc2,223 bytes
  • tests/fixtures/ai-sample-2.txtdoc1,161 bytes
  • tests/fixtures/human-sample-1.txtdoc1,092 bytes
  • tests/humanizer.test.jsruns7,454 bytes
  • tests/mcp-format.test.jsruns1,644 bytes
  • tests/performance.test.jsruns3,249 bytes
  • tests/preprocess.test.jsruns2,504 bytes
  • tests/statistics.test.jsruns8,093 bytes
  • tests/workflows.test.jsruns12,595 bytes
  • vitest.config.jsruns152 bytes
Read SKILL.md

# Humanizer: remove AI writing patterns (v2.2)

You are a writing editor that identifies and removes signs of AI-generated text. Your goal: make writing sound like a specific human wrote it, not like it was extruded from a language model.

Based on [Wikipedia:Signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing), Copyleaks stylometric research, and real-world pattern analysis.

## Your task

When given text to humanize:

1. Scan for the 28 patterns below
2. Check statistical indicators (burstiness, vocabulary diversity, sentence uniformity)
3. Rewrite problematic sections with natural alternatives
4. Preserve the core meaning
View the complete source on GitHub

Skills included

  • humanizer

Repository facts

License
MIT
Created
Feb 1, 2026
Last pushed
Aug 9, 2026
Forks
19
Open issues
0
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 1 note
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 53 signals by file

.gitignore

  • Access to secretsline 15
    [Credential-related source omitted]

README.md

  • Network accessline 3
    ![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
  • Network accessline 4
    ![Tests](https://img.shields.io/badge/tests-168%20passing-brightgreen)
  • Network accessline 5
    ![Node >= 18](https://img.shields.io/badge/node-%3E%3D18-brightgreen)
  • Network accessline 9
    An [OpenClaw](https://github.com/nichochar/openclaw) skill and standalone CLI tool that scans text for **30 AI writing patterns** using **500+ vocabulary terms** and **statistical text analysis** (burstiness, type-token ratio, readability m
  • Network accessline 11
    Based on [Wikipedia:Signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing), [Copyleaks stylistic fingerprint research](https://arxiv.org/abs/2503.01659), and [blader/humanizer](https://github.com/blader/humanizer)
  • Network accessline 18
    git clone https://github.com/brandonwise/humanizer.git
  • Network accessline 25
    git clone https://github.com/brandonwise/humanizer.git

SKILL.md

  • Network accessline 20
    Based on [Wikipedia:Signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing), Copyleaks stylometric research, and real-world pattern analysis.

api-server/openapi.yaml

  • Network accessline 6
    contact:     name: Brandon Wise     url: https://github.com/brandonwise/humanizer
  • Network accessline 8
    url: https://github.com/brandonwise/humanizer
  • Network accessline 10
    servers:   - url: https://humanizer.example.com/api
  • Network accessline 11
    - url: https://humanizer.example.com/api

api-server/server.js

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 70
    const url = new URL(req.url, `http://${req.headers.host}`);
  • Network accessline 157
    const server = http.createServer(handleRequest); server.listen(PORT, () => {   console.log(`Humanizer API server running on http://localhost:${PORT}`);
  • Network accessline 158
    server.listen(PORT, () => {   console.log(`Humanizer API server running on http://localhost:${PORT}`);   console.log('Endpoints:');
  • Network accessline 159
    console.log(`Humanizer API server running on http://localhost:${PORT}`);

docs/CONTRIBUTING.md

  • Network accessline 8
    git clone https://github.com/brandonwise/humanizer.git

docs/INTEGRATIONS.md

  • Network accessline 91
    1. Go to <https://chat.openai.com/gpts/editor>
  • Network accessline 131
    curl -X POST http://localhost:3000/api/score \

eslint.config.js

  • Executable scriptline 1
    Executable file

mcp-server/format.js

  • Executable scriptline 1
    Executable file

mcp-server/index.js

  • Executable scriptline 1
    #!/usr/bin/env node

mcp-server/package.json

  • Executable scriptline 1
    Executable file

package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 36
    "repository": {     "type": "git",     "url": "https://github.com/brandonwise/humanizer"
  • Network accessline 37
    "type": "git",     "url": "https://github.com/brandonwise/humanizer"   },
  • Network accessline 38
    "url": "https://github.com/brandonwise/humanizer"

scripts/analyze.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

scripts/humanize.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

src/analyzer.js

  • Executable scriptline 1
    Executable file

src/cli.js

  • Executable scriptline 1
    #!/usr/bin/env node

src/humanizer.js

  • Executable scriptline 1
    Executable file

src/patterns.js

  • Executable scriptline 1
    Executable file

src/preprocess.js

  • Executable scriptline 1
    Executable file

src/stats.js

  • Executable scriptline 1
    Executable file

src/vocabulary.js

  • Executable scriptline 1
    Executable file

src/workflows.js

  • Executable scriptline 1
    Executable file

tests/analyzer.test.js

  • Executable scriptline 1
    Executable file

tests/calibration.test.js

  • Executable scriptline 1
    Executable file

tests/cli-scan-config.test.js

  • Executable scriptline 1
    Executable file

tests/edge-cases.test.js

  • Executable scriptline 1
    Executable file
  • Network accessline 161
    it('handles text with URLs', () => {     const text =       'Check out https://example.com and http://test.org/path?query=1&foo=bar for more info.';
  • Network accessline 162
    const text =       'Check out https://example.com and http://test.org/path?query=1&foo=bar for more info.';     const result = analyze(text);
  • Network accessline 163
    'Check out https://example.com and http://test.org/path?query=1&foo=bar for more info.';

tests/humanizer.test.js

  • Executable scriptline 1
    Executable file

tests/mcp-format.test.js

  • Executable scriptline 1
    Executable file

tests/performance.test.js

  • Executable scriptline 1
    Executable file

tests/preprocess.test.js

  • Executable scriptline 1
    Executable file

tests/statistics.test.js

  • Executable scriptline 1
    Executable file

tests/workflows.test.js

  • Executable scriptline 1
    Executable file

vitest.config.js

  • Executable scriptline 1
    Executable file

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 48 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.