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
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.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/humanizer-lintDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal 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.
Related
SkillsHumanizer (brandonwise)
humanizer
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
A skill that finds AI writing tells, rewrites the text in a chosen voice, and optionally scores it from 0 to 100
Two skills for English prose: humanize rewrites a model draft in a natural voice, and ai-check flags machine-writing tells
An editor skill and linter for Russian AI-written text: bureaucratese, empty openers, clichés and chatbot wrappers
An editor for AI-written Russian text: removes bureaucratese, cliches and 38 AI patterns while keeping facts intact
Using two Claude Code skills, the agent edits wording and structure, flagging stock phrases and repeated narrative patterns.
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.