Natural Japanese
Detects AI-smelling Japanese with a real morphological linter, then fixes it
Test report
- Verdict
- Tested · Works
- Score
- Tested
- Jul 17, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · d2bacef
Task: write a Japanese business report (調査レポート on reducing meeting time) first using baseline — as I write by default — then strictly following the skill's body, and run both versions through the built-in lint.py. The numbers were stark: baseline — 8 findings (4 forbidden clichés like «と言えるでしょる», translationese «することができます», low_sentence_variance with a variation coefficient of 0.246 and burstiness -0.600), skill version — 1 finding. All clichés, all translated syntax, and sentence length monotony were gone; burstiness rose from -0.600 to -0.380, but still did not reach the -0.24 threshold — the only remaining issue, and an honest sign of threshold strictness, not a failure. The linter was real: sudachipy-morphology, not a regex-hack; detection provided line numbers and exact quotes; outline.py separately extracted the heading skeleton with line numbers. Stage 0 was clean: 4223 lines of scripts, no network calls, no subprocess, no environment reading; the heavy semantic.py with ~1GB model load was honestly moved to opt-in and declared in SKILL.md. It requires uv (brew install uv) for scripts — documented in README, plus there is a fallback references/manual-checklist.md for environments without uv.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 5/5
- Output vs. baseline 9/10
- Docs & honesty 5/5
What Natural Japanese does
Writes and rewrites Japanese business documents — minutes, reports, guides, memos, blog posts — using a 12-article style constitution plus a sudachipy-based linter that mechanically detects forbidden phrases, translationese and monotone sentence rhythm. Triggers on Japanese writing, rewriting, proofreading, and "this sounds AI-written" requests, and has a score-only diagnostic mode.
How to install Natural Japanese
git clone https://github.com/coji/natural-japanese.git
mkdir -p ~/.claude/skills
cd natural-japanese && cp -r skills/natural-japanese ~/.claude/skills/natural-japanese
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Natural Japanese
-
/natural-japaneseDetects AI-smelling Japanese with a real morphological linter, then fixes it
It also activates on plain-language prompts like these:
-
この議事録、AIが書いたみたいで硬いと言われたので、自然な日本語に直してほしいです -
翻訳っぽくて硬い日本語のブログ記事があるので、もっと自然な文体に書き直してもらえますか -
社内向けの調査レポートの文章が単調で機械的だと指摘されたので、言い回しを見直したいのですが
Frequently asked questions
- Is the Natural Japanese skill free?
- Yes. The skill itself is free from coji/natural-japanese. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Natural Japanese work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 17, 2026. Verdict: Tested · Works. Task: write a Japanese business report (調査レポート on reducing meeting time) first using baseline — as I write by default — then strictly following the skill's body, and run both versions through the built-in lint.py. The numbers were stark: baseline — 8 findings (4 forbidden clichés like «と言えるでしょる», translationese «することができます», low_sentence_variance with a variation coefficient of 0.246 and burstiness -0.600), skill version — 1 finding. All clichés, all translated syntax, and sentence length monotony were gone; burstiness rose from -0.600 to -0.380, but still did not reach the -0.24 threshold — the only remaining issue, and an honest sign of threshold strictness, not a failure. The linter was real: sudachipy-morphology, not a regex-hack; detection provided line numbers and exact quotes; outline.py separately extracted the heading skeleton with line numbers. Stage 0 was clean: 4223 lines of scripts, no network calls, no subprocess, no environment reading; the heavy semantic.py with ~1GB model load was honestly moved to opt-in and declared in SKILL.md. It requires uv (brew install uv) for scripts — documented in README, plus there is a fallback references/manual-checklist.md for environments without uv.
- What is the Natural Japanese SkillProof Score?
- 9.6/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 9/10, docs & honesty 5/5.
- How do I install Natural Japanese?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Natural Japanese with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.