Open Source · JavaScript

human

Text cleanup. The tool clears the table, the person writes.

$ npm install -g @e1i0/human

Why this solution

Because you often waste time checking the text over and over for the same common AI patterns that always repeat.

Three levels, and separating them is what makes it work

Mixed together, the real findings sit under a pile of false positives, and then you open the report once and never open it again.

HARD · 6 detectors

The pattern settles it

When it fires, it is a very clear AI pattern. Cases like the em dash, the semicolon and curly quotes, among others.

REVIEW · 28 detectors

You decide

Each rule in this group comes with its clear way to fix it.

RHYTHM · 4 measures

The shape of the sentences

Spread between longest and shortest, how many land between 10 and 20 words, whether a short one exists, and three in a row the same size.

The counts arrive without anybody asking

A skill cannot make anybody follow it, and a hook does not need anybody to remember. Three entries in ~/.claude/settings.json, and one command removes them: human-hooks --remove.

WhenHookWhat it does
before Writing Lets you check before you start writing.
after Write, Edit Lets you check once the change is done.
after Bash If a script changed a text, or the AI did, this catches it.
$ curl -fsSL https://raw.githubusercontent.com/e1i0r/human/main/install.sh | bash
$ human-hooks            # asks first, then writes the three lines
$ human-hooks --remove   # removes them
{
  "hooks": {
    "PreToolUse": [
      { "matcher": "Write|Edit|MultiEdit|NotebookEdit",
        "hooks": [{ "type": "command",
                    "command": "~/.claude/skills/human/hook/on-prose.js" }] }
    ],
    "PostToolUse": [
      { "matcher": "Write|Edit|MultiEdit|NotebookEdit",
        "hooks": [{ "type": "command",
                    "command": "~/.claude/skills/human/hook/on-write.js" }] },
      { "matcher": "Bash",
        "hooks": [{ "type": "command",
                    "command": "~/.claude/skills/human/hook/on-bash.js" }] }
    ]
  }
}

The thresholds come from prose you already trust

human-voice calibrates the tool with your way of writing, measured from your Claude history.

Try it without installing anything

The text never leaves your browser and isn't used for anything else.

Needs Node 20 or newer, and pulls in no dependencies

MIT. The pattern catalogue comes from harshaneel/humanize. What I added: the Spanish patterns, the order they get checked in, and counting instead of asking a model for an opinion.