# humanizer-lint

> Version 1.6.0 — deterministic, zero-dependency prose linter with 8 language-specific lexical packs and experimental `Intl.Segmenter` rhythm diagnostics for other languages.

**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.

## Capabilities

- Measures sentence rhythm, paragraph rhythm, adjacent length delta, MATTR, compression ratio, clause symmetry, and repeated 3-grams/4-grams.
- Flags configured stock phrases in `en`, `id`, `es`, `ms`, `fr`, `de`, `pt`, and `zh` while universal mode provides language-agnostic stylometry.
- Reports surgical `suggestedReplacement`, `splitSuggestion`, and four-block `deliveryGate` data.
- Includes copy/CTA, code-comment, and filename-aware UI/accessibility/responsive markup checks.
- Runs locally; text is not uploaded to a network service.

Metrics are diagnostics, not rigid style targets. The tool does not classify authorship.

## Usage

- Agent skill: `npx skills add yanstd888/humanizer-lint`
- CLI: `npx humanizer-lint --file draft.md --lang auto --json`
- Delivery gate: `npx humanizer-lint --file draft.md --lang auto --delivery-gate`
- Benchmark: `npm run benchmark`
- Playground: https://humanizer.aiclub.ai.id/

## Verified benchmark

- 16 multilingual fixtures and 4 domain fixtures
- Synthetic fixture pass rate: run `npm run benchmark` for current results
- Results and runtime are local fixture measurements, not real-world accuracy

## 16 reference samples in the playground

- AI/Human EN: `?lang=en&sample=ai-en` / `?lang=en&sample=human-en`
- AI/Human ID: `?lang=id&sample=ai-id` / `?lang=id&sample=human-id`
- AI/Human ES: `?lang=es&sample=ai-es` / `?lang=es&sample=human-es`
- AI/Human MS: `?lang=ms&sample=ai-ms` / `?lang=ms&sample=human-ms`
- AI/Human FR: `?lang=fr&sample=ai-fr` / `?lang=fr&sample=human-fr`
- AI/Human DE: `?lang=de&sample=ai-de` / `?lang=de&sample=human-de`
- AI/Human PT: `?lang=pt&sample=ai-pt` / `?lang=pt&sample=human-pt`
- AI/Human ZH: `?lang=zh&sample=ai-zh` / `?lang=zh&sample=human-zh`

## Editorial search intents

`perbaiki tulisan AI yang kaku`; `hilangkan kata klise AI`; `audit ritme kalimat dan burstiness`; `polish robotic LLM drafts`; `remove repetitive AI stock phrases`; `lint markdown documentation and copywriting`; `消除AI写作腔`; `提升文章可读性`.

## Links

- Full reference: https://humanizer.aiclub.ai.id/llms-full.txt
- skills.sh: https://www.skills.sh/yanstd888/humanizer-lint/humanizer-lint
- GitHub: https://github.com/yanstd888/humanizer-lint
- npm: https://www.npmjs.com/package/humanizer-lint

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).

## Multilingual writing intents

- EN: AI humanizer, humanize AI text, prose linter, anti-slop linter, AI writing style editor, sentence burstiness checker, Markdown prose linter and copywriting/CTA linter.
- ID: humanizer bahasa Indonesia; perbaiki tulisan AI yang kaku, hilangkan kata klise AI, dan cek variasi ritme kalimat.
- MS: humanizer teks bahasa Melayu; semak dan baiki gaya ayat AI.
- ES: humanizador de texto IA; mejorar textos generados por IA y eliminar clichés de ChatGPT.
- FR: humaniseur de texte IA; corriger le style robotique IA et supprimer les clichés de rédaction.
- DE: KI-Schreibstil verbessern und KI-Floskeln entfernen.
- PT: humanizador de texto IA; deixar texto de IA mais natural e remover clichês de IA.
- ZH: AI文章润色与人性化，消除AI写作腔，去除生硬翻译腔，提升文章可读性与句式节奏。
