Skip to content
batuhan-basPublic

About

AI writing patterns for Turkish, English and Arabic. The only humanize skill with native Arabic and Turkish pattern sets.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

trilingua logo

trilingua

Removes AI writing patterns and restores the rhythm of human prose.


An agent skill that strips AI writing patterns and puts human rhythm back, in Turkish, English and Arabic. It works in any agent that can read a file, such as Claude Code, Codex or Cursor. It exists because the default output of a language model is the statistical average of everything ever published: fluent, clean, the voice of no one in particular. This skill helps you deviate from that average.

What makes it different

Two claims, both held loosely.

  • As far as we know, this is the only skill with a pattern set built specifically for Arabic, where detectors perform worst and generic advice does the least good.
  • And as far as we know, it is the only one that covers the Turkish, English and Arabic triad in one place, with separate thresholds for each rather than one English checklist translated three ways.

If you know of another that does either, the claim is happily retired.

Install

trilingua works in any agent that can read a file; SKILL.md is the whole skill. Four channels below, with full per-tool steps and verification in INSTALL.md. The .claude-plugin/ directory is only used by the Claude Code marketplace; other methods ignore it.

Claude Code (plugin marketplace):

/plugin marketplace add batuhan-bas/trilingua
/plugin install trilingua@trilingua

Or clone into the skills directory (SKILL.md is at the repo root, so it is discovered as-is):

git clone https://github.com/batuhan-bas/trilingua.git ~/.claude/skills/trilingua

npx skills (installs into any supported tool):

npx skills add batuhan-bas/trilingua

Codex CLI: link the repo into ~/.codex/skills/; the skill triggers implicitly. Cursor, Gemini CLI: each has a thin adapter under adapters/ that points the tool at SKILL.md. See INSTALL.md for exact commands.

Any other tool or chat interface: paste SKILL.md as a system instruction and add the matching references/ file. See INSTALL.md.

To confirm any install, ask the tool to clean a deliberately AI-flavored sentence (examples in INSTALL.md). If it routes by language and reports the patterns instead of only rewording, it loaded. You can also run python lint.py --help to check the measurement tool is in place.

Tested on Claude Code and Codex CLI. The Cursor and Gemini adapters follow each tool's documented format but have not been verified on a live install. If you use either, a confirmation or a fix is welcome.

Use

Three modes, described in full in SKILL.md.

Mode What it does Example command
Rewrite (default) flag the patterns, fix them, then run the audit pass "Rewrite this post so it doesn't read as AI-generated."
Detect flag without changing anything; for text you must not alter, or a quick scan "Just tell me what reads as AI here, don't edit it."
Edit in place minimal targeted edits to a prose file, leaving passages that already read as human alone "Edit README.md in place, touch only the parts that sound machine-written."

What it covers

Three languages. The shared SKILL.md carries the structural and tonal patterns, the format and sourcing tells, and the seven language-agnostic thresholds. Each reference file adds what is specific to its language:

Language What's specific Reference file
Turkish the -maktadır rhyme, nominalization pileups, six Turkish thresholds, adapted from the insanca project references/turkish.md
English the flagged-word list, participial pileups, em dash math, six thresholds references/english.md
Arabic register collision, من قبل, accidental saj', six thresholds references/arabic.md

Every threshold is a countable number, not a vibe:

Threshold Alarm
Burstiness below 0.4
Em dash (English) more than 20 per 1000 words
Em dash (Turkish, Arabic) over 2 per 1000
X-not-Y constructions three or more

...and so on.

What it is not

It is not a detector-evasion tool. Detectors are unreliable; research puts human accuracy near a coin flip, and automated tools regularly misflag genuine human writing. Chasing a green score teaches you to write like the average the model already produces. The goal here is the opposite: text carries a human signature because of what the writer knows, saw, or got wrong, and no amount of detector-gaming supplies that. SKILL.md also warns that overcorrection, forced fragments and artificial roughness, is its own signature. Write well; don't perform authenticity.

lint.py

A deterministic companion. It measures what the skill describes so a machine can check it, and it never rewrites: it only counts.

python lint.py draft.md            # auto-detect language
python lint.py draft.md --lang tr  # force a language
python lint.py draft.md --json     # machine-readable
python lint.py posts/*.md          # several files

It detects the language, excludes code and inline code, URLs, headings, quotes from the count, prints a row per metric with its value, threshold, status, and exits non-zero if any threshold is crossed so it fits in CI. It needs only the Python standard library and runs on 3.9 and up.

One warning it prints, and worth repeating: no single metric proves anything. Three or four falling together is the signal. Read the flagged passages yourself.

Contributing

To add a language, follow the references/ pattern. Write a file that covers only what is specific to that language, ending in a threshold table with three columns: measure, how to count it, and the alarm value. Then add the language's word lists, regexes, thresholds to lint.py, keeping the numbers in the THRESHOLDS dictionary at the top of the file rather than in the code. Add a before/after file under examples/.

Sources

The full source list lives at the end of SKILL.md. The Turkish patterns are adapted from tahiryildiz/insanca, an open-source agent skill (MIT) for cleaning AI patterns out of Turkish text, which supplied 48 patterns and 17 flow rules: https://github.com/tahiryildiz/insanca

Pattern inventories: Wikipedia's "Signs of AI writing"; SlopDetector's "Signs of AI Writing: 12 Patterns With Reproducible Thresholds"; Barış Özkul, "Türkçenin Yapay Zekâyla İmtihanı," Birikim.

Quantitative research: Kobak et al. (2024, arXiv:2406.07016) on 14.2M PubMed abstracts; Freeburg (2026, arXiv:2603.27006) on em dash measurement; Al-Shaibani and Ahmed (2025, arXiv:2505.23276) on Arabic stylometry; GPTZero's burstiness formula.

Craft: William Zinsser, On Writing Well; George Orwell, "Politics and the English Language."

License

MIT. Copyright (c) 2026 Batuhan Baş. See LICENSE.

About

AI writing patterns for Turkish, English and Arabic. The only humanize skill with native Arabic and Turkish pattern sets.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages