minorun365

Claude Code Japanese Guard — Development skill for Claude Code

Development community

Claude Code の応答が英語に切り替わったら、日本語で書き直させる Stop hook.

How to install Claude Code Japanese Guard

This entry records only its repository, not the path inside it, so there is no exact command to give. Open minorun365/claude-code-japanese-guard and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Claude Code Japanese Guard does

Claude Code の応答が英語に切り替わったら、日本語で書き直させる Stop hook.

Alternatives in Development

  • Kaizen — Applies continuous improvement methodology with multiple analytical approaches, based on Japanese Kaizen philo 663 ★
  • Maestro Guard — Manage editing boundary restrictions 530 ★
  • Taskmaster — Stop hook for Claude Code that keeps the agent working until all plans and user requests are 100% complete 494 ★

README

claude-code-japanese-guard

Claude Code の応答が、いつの間にか英語に切り替わるのを止める Stop hook です。

日本語で指示していても、ツールを何度も呼ぶ長い作業のあとや、英語のツール出力を読んだ直後に、途中報告や最終報告が英語で返ってくることがあります。CLAUDE.md に「日本語で応答する」と書いても、この切り替わりは止まりませんでした。そこで、ターンの終わりに本文を機械で検査し、英語だったら日本語で書き直させる hook を作りました。

動き

  1. Claude がターンを終えようとすると、Stop hook が会話の記録(transcript)を読みます
  2. そのターンの最終回答(最後のツール呼び出しより後に Claude が書いた本文)を取り出し、英字と日本語の文字数を数えます
  3. 英語主体の本文があれば、終了を止めて「日本語で書き直して」と差し戻します
  4. Claude が同じターンのうちに日本語で出し直します

ツールを呼ぶ前の途中の一言は検査しません。画面では実行ログの間に小さく出るだけで、英語が混ざっても最終回答が日本語なら読む側は困らないからです。

差し戻しは1ターンに1回だけです。書き直しがまた英語でも、そこで終了させるので、差し戻しが続くことはありません。

次のものは数えません。英語のコマンドや英文の下書きを見せるのは正当な使い方だからです。

  • コードブロック(```)とインラインコード
  • URL・メールアドレス・Markdown のリンク
  • 英字が25文字未満の短い本文(「OK」程度の返事)

入れ方

Claude Desktop(Claude Code)に、このリポジトリの URL を渡して頼むだけです。

https://github.com/minorun365/claude-code-japanese-guard これ設定しといて

あとは Claude Code が下の手順で入れてくれます。

Claude Code 向けの設定手順

ユーザーからこのリポジトリの設定を頼まれた Claude Code は、次の手順で入れてください。CLI で自分で入れる人も、同じ手順で入れられます。

  1. **hook を置く。** `hooks/japanese-guard.py` を `~/.claude/hooks/japanese-guard.py` に保存し、実行権限を付ける。

    mkdir -p ~/.claude/hooks
    curl -fsSL https://raw.githubusercontent.com/minorun365/claude-code-japanese-guard/main/hooks/japanese-guard.py -o ~/.claude/hooks/japanese-guard.py
    chmod +x ~/.claude/hooks/japanese-guard.py
  2. **`~/.claude/settings.json` に Stop hook を登録する。** 既存の設定は消さず、`hooks.Stop` の配列に次の1件を足す。`hooks` や `Stop` が無ければ作る。同じ `command` がすでに登録されていれば、何もしない。

    { "hooks": [ { "type": "command", "command": "~/.claude/hooks/japanese-guard.py" } ] }

    書き換えたあと、ファイルが JSON として読めることを確かめる。

    python3 -c "import json,os;json.load(open(os.path.expanduser('~/.claude/settings.json')));print('OK')"

    自分の設定ファイルの書き換えが権限の都合で止められた場合は、無理に回避しない。足す内容をユーザーに示し、ユーザー自身で `settings.json` に足してもらう。

  3. **動くことを確かめる。** 何も渡さずに実行してエラーにならないこと(何も出力されなければ正常)を確かめる。

    echo '{}' | ~/.claude/hooks/japanese-guard.py && echo OK
  4. **ユーザーに伝える。** 入れたことと、設