Agent Skill that makes AI sound like it actually speaks Latin Uzbek.
AI is fluent. Latin Uzbek from models is still weirdly stiff - wrong apostrophes, English word order, broken suffixes,
Sizmixed with-san, and calques nobody in Toshkent says.
uzbek-humanizer is a real Agent Skills skill (not a README cosplay). Install once. Cursor, Claude, Codex, Windsurf, Copilot and friends load it when you ask for Uzbek copy - then rewrite like a human.
Before After
───────────────────────────── ─────────────────────────────
Men haqiqatan ham bu Bu ilova menga juda yoqadi.
ilovani yoqtiraman. Toʻgʻri javobni belgilang.
To'g'ri javobni select
qiling.
Honest bar: calque-safe, more natural drafts. Product quiz / marketing still need synonym taste + often a native pass. Heavy slang / legal / medical = draft.
npx skills add xusnitdinov/uzbek-humanizer --skill '*'Package name: uzbek-humanizer-cli (bin: uzhumanizer).
# Install CLI globally
npm install -g uzbek-humanizer-cli
# Go to your project
cd /path/to/your/project
# Install for your AI assistant
uzhumanizer init --ai claude # Claude Code
uzhumanizer init --ai cursor # Cursor
uzhumanizer init --ai windsurf # Windsurf
uzhumanizer init --ai antigravity # Antigravity
uzhumanizer init --ai copilot # GitHub Copilot
uzhumanizer init --ai kilo # Kilo Code (alias: kilocode)
uzhumanizer init --ai codex # Codex CLI
uzhumanizer init --ai roo # Roo Code (alias: roocode)
uzhumanizer init --ai gemini-cli # Gemini CLI (alias: gemini)
uzhumanizer init --ai trae # Trae
uzhumanizer init --ai opencode # OpenCode
uzhumanizer init --ai continue # Continue
uzhumanizer init --ai cline # Cline
uzhumanizer init --ai amp # Amp
uzhumanizer init --ai goose # Goose
uzhumanizer init --ai agents # universal .agents/skills (alias: universal)
uzhumanizer init --ai all # every supported targetuzhumanizer init --ai cursor --global # ~/.cursor/skills/ (all Cursor projects)
uzhumanizer init --ai claude --global # ~/.claude/skills/
uzhumanizer init --ai agents --global # XDG agents/skills (universal)
uzhumanizer init --ai all --global # all supported agentsProject install only affects the current folder. Use --global so other repos (e.g. Oria) see the skill without re-init.
uzhumanizer versions # CLI + skill versions
uzhumanizer update --ai cursor # refresh skill files from packaged CLI
uzhumanizer update --ai cursor --global # refresh global install
uzhumanizer uninstall --ai cursor # remove project install
uzhumanizer uninstall --ai cursor --global
uzhumanizer uninstall --ai all --globalPackage: npmjs.com/package/uzbek-humanizer-cli
After install, open a new Agent chat and try:
/uzbek-humanize add Uzbek language to this web app - natural Latin Uzbek UI
GitHub Packages mirror (optional)
Scoped @xusnitdinov/uzbek-humanizer-cli - needs a GitHub token with read:packages. Prefer npmjs for normal installs.
npm i -g @xusnitdinov/uzbek-humanizer-cli --registry=https://npm.pkg.github.com
uzhumanizer init --ai all --globalFrom source
git clone https://github.com/xusnitdinov/uzbek-humanizer.git
cd uzbek-humanizer/cli
npm install -g .
uzhumanizer init --ai all --globalMore detail: INSTALL.md · CONTRIBUTING.md · CHANGELOG.md
In Agent chat, type /uzbek-humanize then your task - e.g. add Uzbek to an English site:
/uzbek-humanize add Uzbek to this site - translate UI strings and landing to natural o'zbekcha
/uzbek-humanize create uz.json from en.json (keep keys, natural Latin Uzbek values)
/uzbek-humanize wire next-intl for uz-UZ and translate the navbar + home hero
The skill inspects your i18n setup (locale files, next-intl, react-i18next, hardcoded EN, …), then adds / translates natural Latin Uzbek - not stiff machine translation.
Also available: /uzbek-humanizer for broader Uzbek copy work (auto + slash).
Just ask - the main skill still auto-triggers:
Humanize this Uzbek: ...
matnni tabiiylashtirish
Localize these buttons to o'zbekcha
| You say something like… | Skill leans on |
|---|---|
“Humanize this Uzbek” / matnni tabiiylashtirish |
calques + before/after |
| “Localize these buttons to oʻzbekcha” | UI glossary + microcopy |
| “DTM uslubida quiz stem” | quiz glossary |
| Bank / OTP / SMS warning | bank-sms + politeness |
| Soft ToS / consent UI | legal-copy (draft) |
| Appointment / symptom UI | medical-copy (draft, never diagnose) |
| “Faqat kirillcha yoz” | cyrillic (Latin is default otherwise) |
| Youth / Telegram tone | youth-slang (only when asked) |
Ask
Localize to natural Uzbek Latin: Save / Cancel / No results found / Invalid password
Expect
Saqlash
Bekor qilish
Soʻrovingiz boʻyicha hech narsa topilmadi
Notoʻgʻri parol
Ask
Humanize: Siz eshikni yopishga qarshi emasmisiz? Keyinroq urinib ko'ring.
Expect
Iltimos, eshikni yopib qoʻying. Keyinroq qayta urinib koʻring.
Output contract
## Matn
[final Uzbek]
## Oʻzgarishlar
- ...
## Holat
final | draft/native_review_required| Piece | Job |
|---|---|
SKILL.md (uzbek-humanizer) |
Auto + slash brain - triggers, router, gotchas |
SKILL.md (uzbek-humanize) |
Slash /uzbek-humanize - localize sites/apps into natural Uzbek |
references/ |
On-demand packs under the main skill |
scripts/ |
Apostrophe normalize, banned + stiff linters, eval runner |
examples/ |
Product UI, quiz, marketing rewrites |
eval/ |
200 golden cases, trigger queries, native bakeoff rubric |
cli/ |
uzhumanizer multi-agent installer (both skills bundled) |
Progressive disclosure (Agent Skills style):
- Agent sees name + description (~100 tokens)
- Activates → loads SKILL.md
- Loads references / scripts only when the router says when
| Problem | Direction |
|---|---|
ASCII ' spam |
ʻ / ʼ orthography |
berdimga, kitoblerimiz |
morphology stack order |
| EN word-order mush | natural SOV |
chelakni tepdi |
real meaning, not literal idioms |
Siz + -san |
one address lane |
| Stiff UI / quiz / bank SMS | product corpora (Payme / my.gov / DTM-ish) |
Fake EN cool (ship, vibe, portladi) |
banned |
| Youth slang by default | off unless you ask |
npm run test:evalScores goldens, validates triggers + bakeoff schema, lints example Matn.
Bakeoff (human): skills/uzbek-humanizer/eval/bakeoff-rubric.md
node skills/uzbek-humanizer/scripts/lint-stiff.mjs path/to/draft.txt
node skills/uzbek-humanizer/scripts/normalize-apostrophe.mjs --check path/to/draft.txtYour global CLI is old. Upgrade, then retry:
npm install -g uzbek-humanizer-cli@latest
uzhumanizer versionsInstalls are scoped to project cwd unless you used --global.
# Option A - run from the project where you installed
cd /path/to/your/project
uzhumanizer uninstall --ai cursor
# Option B - remove global install
uzhumanizer uninstall --ai cursor --global
# Option C - manual
# .cursor/skills/uzbek-humanizer
# .cursor/skills/uzbek-humanize
# .claude/skills/uzbek-humanizer
# .claude/skills/uzbek-humanize
# .agents/skills/uzbek-humanizer
# .agents/skills/uzbek-humanize- Open a new agent chat (skills are often loaded at session start)
- Confirm folders exist:
.cursor/skills/uzbek-humanizer/SKILL.mdand.cursor/skills/uzbek-humanize/SKILL.md(or your agent’s paths) - Ask with a clear trigger:
Humanize this Uzbek: …/matnni tabiiylashtirish//uzbek-humanize … - Refresh files after upgrading the npm package:
uzhumanizer update --ai cursor
Use npmjs for normal installs. GitHub Packages needs a token with read:packages and an .npmrc scope mapping for @xusnitdinov.
| Channel | Status |
|---|---|
npmjs uzbek-humanizer-cli |
Live - preferred install |
GitHub Packages @xusnitdinov/uzbek-humanizer-cli |
Live mirror |
npx skills add |
Live - Agent Skills discovery |
| Claude Code plugin marketplace | Not submitted (skipped for now). Manifest file exists if you ever want it later. |
| Cursor “marketplace” | No public Cursor Skills store like Claude’s plugin directory. Distribution is GitHub + npx skills + this CLI. |
uzbek-humanizer/
├── skills/
│ ├── uzbek-humanizer/ ← main skill (auto + /uzbek-humanizer)
│ └── uzbek-humanize/ ← slash companion (/uzbek-humanize …)
├── cli/ ← uzhumanizer (npm)
├── .github/workflows/
├── INSTALL.md
├── CONTRIBUTING.md
├── CHANGELOG.md
├── LICENSE
└── README.md
We intentionally don’t ship UI/UX Pro Max extras (gallery/, screenshots/, stack/, CODE_OF_CONDUCT.md, etc.). Those fit a huge multi-platform design product - not a focused Uzbek copy skill.
- Default voice: spoken clear product / student Latin Uzbek
- Not a presidential speech generator
- Not a full slang dictionary
- Not "native-perfect forever"
- Invented idioms / maqollar are banned on purpose
- Legal / medical / slang-heavy / invented bank SMS →
draft/native_review_required - Cyrillic only when you ask
MIT © 2026 xusnitdinov
Made by Xusnitdinov Azizbek
Oʻzbekcha yoz. Odamiy yoz.
Install the skill. Let the agents catch up.