Natural Japanese

Detects AI-smelling Japanese with a real morphological linter, then fixes it

Tested · Works

Test report

Verdict
Tested · Works
Score
9.6/10
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-japanese Detects 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.