Claude Codeで日本語テキストを書くとき、日付と曜日の不一致を自動検出するフックです。
メルマガ、告知文、議事録、HTMLなどで「4月29日は月曜」と書いたけど実は水曜だった... こういう 曜日の書き間違い をClaude Codeが自動で検出・修正してくれます。
ファイルを保存するたびにバックグラウンドでチェックが走り、間違いがあればその場で警告が出ます。
[日付エラー] 行12: "4月29日‹月›" → 正しくは【水曜日】です
Claudeはこの警告を受け取ると、自動的に正しい曜日に修正します。
| フォーマット | 例 |
|---|---|
| 年月日(曜日) | 2026年4月29日(水) / 2026年4月29日(水曜日) |
| 月日(曜日) | 4月29日(水) / 4月29日(水) |
| スラッシュ(年あり) | 2026/4/29(水) / 2026-4-29(水) |
| スラッシュ(年なし) | 4/29(水) |
- 半角括弧
()と全角括弧()の両方に対応 - 年を省略した場合は現在の年(または翌年)を自動推定
- 対象ファイル:
.md.html.txt.csv.json
- Claude Code がインストール済み
- Python 3.10以上
git clone https://github.com/FP-sudo/weekday-validator.git
cd weekday-validator
bash install.sh- Releases からZIPをダウンロード
- 解凍して
bash install.shを実行
# 1. スクリプトを配置
mkdir -p ~/.claude/hooks
cp validate_dates.py ~/.claude/hooks/
chmod +x ~/.claude/hooks/validate_dates.py
# 2. ~/.claude/settings.json に以下を追加(hooks > PostToolUse 配列内){
"hooks": {
"PostToolUse": [
{
"hooks": [
{
"command": "python3 ~/.claude/hooks/validate_dates.py",
"statusMessage": "曜日チェック中...",
"timeout": 10,
"type": "command"
}
],
"matcher": "Write|Edit|MultiEdit"
}
]
}
}インストールが完了すると、Claude Codeで以下のツールが実行されるたびに自動チェックが走ります:
| トリガー | 説明 |
|---|---|
Write |
新規ファイル作成時 |
Edit |
ファイル編集時 |
MultiEdit |
複数箇所の同時編集時 |
何もしなくてOK — バックグラウンドで動作し、曜日の間違いがある場合のみ警告が表示されます。
cd weekday-validator
bash install.sh --uninstallスクリプトの削除とsettings.jsonからのフック設定除去を自動で行います。
ファイル編集 (Write/Edit)
|
v
PostToolUse hook 発火
|
v
validate_dates.py 実行
|
v
正規表現で日付+曜日パターンを検出
|
v
Python datetime で正しい曜日を計算
|
v
不一致 → stderr にエラー出力 (exit 2)
一致 → 正常終了 (exit 0)
|
v
Claudeがエラーを受け取り自動修正
A: 現在は日本語の曜日(月火水木金土日)のみ対応しています。
A: ありません。既存のPostToolUse設定はそのまま維持され、新しいエントリが追加されるだけです。インストール前にsettings.jsonのバックアップも自動作成されます。
A: スクリプト単体としても使えます。stdinにJSON形式でファイルパスを渡せば動作します:
echo '{"tool_input":{"file_path":"test.md"}}' | python3 validate_dates.pyMIT