humanizer-lint skill

A local linter that finds stock phrases and flat sentence rhythm in prose so the agent can fix them, not guess who wrote it.

  • 108 ★ on the repository
  • Last commit
  • MIT
Skill

Minimal access

Why this level

  • Analysis runs locally without network access or dependencies, and text leaves the machine only if the agent itself sends it.
All reasons and checks

yanstd888/humanizer-lint

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/humanizer-lint

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Minimal accessThe tool runs nothing and makes no network calls.

  • Analysis runs locally without network access or dependencies, and text leaves the machine only if the agent itself sends it.

This is third-party code. Review the repository files before installing.

What it does

humanizer-lint is a zero-dependency prose linter on Node.js. It strips Markdown structure, measures stock phrases, sentence-length spread, repeated openers and compressibility, and returns a score from 0 to 100 with a list of violations. It makes no edits and does not detect authorship. The package ships eight rule packs for English, Indonesian, Spanish, Malay, French, German, Portuguese and Chinese. It outputs JSON and SARIF, builds a voice profile from one to five samples and reads project settings from `.humanizerrc.json`. As a skill it gives the agent a closed loop: write, run the analyzer, fix the named spots, repeat at most three times.

Who it is for. Writers of articles and documentation who edit AI drafts and want to check rhythm and stock phrases before publishing.

Good fit when

  • A blog draft sounds stiff and needs a list of spots with generic phrasing.
  • CI checks Markdown docs and violations must go to SARIF or GitHub Actions annotations.
  • An agent rewrites a paragraph and runs the analyzer after each edit until it gets PASS.
  • An author builds a voice profile from their own texts and checks new articles against it.

Not a fit when

  • You need an AI-authorship detector: the tool scores style and does not identify the author.
  • The text is Russian: there are no packs for it, only the experimental `universal` mode.
  • You need automatic rewriting: the linter only points out what to revise.

Example request

Lint `draft.md`, fix the named spots and re-run the check, at most three times.

Limitations

Node.js 18.3 or newer is required. There are no ready rule packs for Russian: only the experimental `universal` rhythm mode covers it. The author notes that the long-sentence threshold was tuned on a private corpus and not validated on an independent holdout, so the linter can miss AI text made of short sentences. Fixes are made by the agent or a person: the tool rewrites nothing. The statistical block scores text only from eight prose sentences.

How to disable. Remove the skill from the agent directory or run `npm uninstall -g humanizer-lint` if the package was installed globally. `.humanizerrc.json` files in projects are deleted by hand.

FAQ

How do I run the linter without installing it?

Run `npx humanizer-lint --file tulisan.md --lang id`. For regular use install it with `npm install -g humanizer-lint`.

How do I get a machine-readable report?

Add the `--json` flag. Text can also come through standard input: `cat draft.md | humanizer-lint --stdin --lang auto --json`.

Does it detect that AI wrote the text?

No. It is a style check: it finds stock phrases, flat rhythm and repetition, but does not estimate perplexity or classify the author.

How do I check a whole directory?

Pass the directory as a positional argument: the linter scans `.md`, `.mdx` and `.txt` files recursively and skips hidden folders and `node_modules`.

Which languages does the linter support?

Eight rule packs: English, Indonesian, Spanish, Malay, French, German, Portuguese and Chinese. Other languages have the experimental `universal` mode.

Discussion

No questions or reviews yet.

Skills

A skill and Node.js CLI that score English text for AI-writing patterns and statistics and suggest fixes on a 0 to 100 scale

SkillMinimal access132Repository stars

A skill that finds AI writing tells, rewrites the text in a chosen voice, and optionally scores it from 0 to 100

SkillMinimal access311Repository stars

Two skills for English prose: humanize rewrites a model draft in a natural voice, and ai-check flags machine-writing tells

SkillMinimal access622Repository stars
Russian stack

An editor skill and linter for Russian AI-written text: bureaucratese, empty openers, clichés and chatbot wrappers

SkillMinimal access18Repository stars
Russian stack

An editor for AI-written Russian text: removes bureaucratese, cliches and 38 AI patterns while keeping facts intact

SkillMinimal access210Repository stars

Using two Claude Code skills, the agent edits wording and structure, flagging stock phrases and repeated narrative patterns.

SkillExtended access382Repository stars

README in short

The package includes the `humanizer-lint` CLI, the `humanizer-fingerprint` command for voice profiles, a programmatic API and a skill with `SKILL.md`. There are Claude Code and Cursor plugins, a browser playground and a benchmark set with text corpora.

README badge

Original SKILL.md

---
name: humanizer-lint
description: >-
  Lint and humanize robotic or stiff prose using a deterministic local Node.js
  analyzer. Eight lexical packs (EN, ID, ES, MS, FR, DE, PT, ZH) and experimental
  uncalibrated Intl.Segmenter rhythm diagnostics support local voice fingerprinting,
  copywriting, UI text, and code-comment checks. Use when asked to humanize,
  de-AI, remove AI slop, tighten or polish a draft, blog post, SEO article, README,
  documentation, landing page, or UI copy; perbaiki tulisan AI yang kaku, bikin
  lebih natural, ubah teks jadi lebih natural, cek ritme kalimat dan kata
  klise. Not for changing executable logic, legal contracts or
  direct quotations; not a full accessibility scanner or authorship detector.
  A local, zero-dependency prose linter that flags stiff, AI-sounding writing (stock phrases, flat sentence rhythm, repeated wording) and tells you what to revise. A style checker, not an AI detector.
allowed-tools: Bash(node:*)
metadata:
  version: 1.6.0
  topic: agent-workflows
  summary: Local deterministic prose, copywriting, and code-comment linter with 8 lexical anti-cliché packs and experimental universal rhythm diagnostics.
  tags: agent-workflows, marketing, copywriting, seo, writing, ai-humanizer, anti-slop, prose-linter, stylometry, burstiness, multilingual
---

# Humanizer Lint

**Audit prose locally, revise only measured problems, and verify the final text before delivery.**

- Run `node <skill_dir>/scripts/analyze.mjs --stdin --json` for deterministic local analysis.
- Tier 1 covers eight language-specific lexical packs (`en`, `id`, `es`, `ms`, `fr`, `de`, `pt`, `zh`), with Indonesian morphology diagnostics. Tier 2 provides experimental sentence-rhythm diagnostics for other languages via `Intl.Segmenter`; lexical and MATTR thresholds are uncalibrated.
- Follow each finding's surgical `suggestedReplacement`, `splitSuggestion`, and `fixInstruction` without rewriting clean prose.
- Build a local author voice profile with `node <skill_dir>/scripts/fingerprint.mjs`; samples never leave the machine.

A local, zero-dependency prose linter that flags stiff, AI-sounding writing (stock phrases, flat sentence rhythm, repeated wording) and tells you what to revise. A style checker, not an AI detector. Experimental rhythm diagnostics (uncalibrated thresholds).

**Bahasa Indonesia:** Linter prosa lokal tanpa dependency yang menandai tulisan kaku ala AI (frasa klise, ritme kalimat datar, kata berulang) dan menunjukkan bagian yang perlu direvisi. Pemeriksa gaya, bukan detektor AI.

## Agent Tool Boundary

Inside an agent workflow, execute only:

```sh
node <skill_dir>/scripts/analyze.mjs --stdin --json
node <skill_dir>/scripts/analyze.mjs --stdin --stdin-filename <name> --json
node <skill_dir>/scripts/fingerprint.mjs --dir <samples_dir> --out <skill_dir>/profiles/custom-voice.json
```

Do not call network tools or upload the user's text. `npx humanizer-lint` is for manual CLI or CI use outside this agent workflow.

Report a problem