Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

FP-sudo/weekday-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

weekday-validator

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以上

方法1: GitHubからクローン(推奨)

git clone https://github.com/FP-sudo/weekday-validator.git
cd weekday-validator
bash install.sh

方法2: ZIPダウンロード

  1. Releases からZIPをダウンロード
  2. 解凍して bash install.sh を実行

方法3: 手動インストール

# 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がエラーを受け取り自動修正

FAQ

Q: 英語の曜日にも対応している?

A: 現在は日本語の曜日(月火水木金土日)のみ対応しています。

Q: 既存のhook設定に影響はある?

A: ありません。既存のPostToolUse設定はそのまま維持され、新しいエントリが追加されるだけです。インストール前にsettings.jsonのバックアップも自動作成されます。

Q: Claude Code以外でも使える?

A: スクリプト単体としても使えます。stdinにJSON形式でファイルパスを渡せば動作します:

echo '{"tool_input":{"file_path":"test.md"}}' | python3 validate_dates.py

ライセンス

MIT

About

Claude Codeで日付+曜日の不一致を自動検出するPostToolUseフック

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /