rules-check-drift について
rules-check-driftは、コード変更に合わせてCLAUDE.mdやAGENTS.mdの内容を正確に保つスキルです。差分を確認し、古くなったルールや構成マップ、新たな恒久的制約だけを最小限修正するよう提案します。
主な機能
- 01ルールファイルと変更の照合
- 02古いルールやパスの検出
- 03新たな恒久的制約の特定
- 04最小限の編集を提案
- 05正確なファイルは変更しない
活用シーン
- 01マージ前のルール確認
- 02ファイル移動後のパス参照更新
- 03新しいアーキテクチャ制約の記録
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ coleam00/ skills --skill rules-check-driftインストール後、Claude Code で/rules-check-driftを入力して読み込まれたか確認します。
詳細
/rules-check-drift — ルールファイルを長くせず、正確に保つ
ルールファイル — CLAUDE.md または AGENTS.md — はドキュメントではなく、指針を示すものです。基本ルール、規約、そして現在の配置マップを記します。重要な問題はただ一つ、内容が誤っていることです。古くなったルールや実態とずれたマップは、実行のたびにエージェントを誤った方向へ導きます。このスキルでは、ルールファイルと直近の変更を照合し、内容を正確に保つための最小限の修正を提案します。
誤ったルールは、ルールがないよりも悪いものです。長いルールファイルは、簡潔なものよりも劣ります。 ほとんどの変更では、修正は不要です。誤った内容や冗長な行を加えると、かえって悪化します。
入力
$ARGUMENTS— 任意の差分範囲。デフォルト:未コミット分 + ステージ済み分(git diff HEAD)。利用できない場合はmain...HEADにフォールバックします。- 対象:プロジェクトのルールファイルのみ —
CLAUDE.mdおよび/またはAGENTS.md。ルートのファイルとパッケージ単位のファイルが対象です。(CLAUDE.mdが単に@AGENTS.mdを読み込むだけの場合は、AGENTS.mdを確認します。)README、docs/、.claude/内のエージェント/コマンド/スキルのファイルは無視します。このスキルが扱うのは、ルールの正確さだけです。
手順
1. 変更内容を確認する
git diff <range> と git status を実行します。移動/名前変更/削除されたファイル、新しいモジュール、規約の変更、そして今回の変更で定められた新しい不変条件を確認します。
2. 現在のルールファイルを読む
プロジェクトのルールファイル — CLAUDE.md または AGENTS.md(およびパッケージ単位のファイル)— を読み込み、各記述を変更内容と照らし合わせます。
3. 次の3点だけを指摘する
- 記載されたルールや事実が誤りになった — 例:「ルートは
src/routes/にある」と記載されているが、移動されている。→ 修正します。 - アーキテクチャマップが実態とずれている — パスや「配置場所」を示す記述が、実際の構成と一致しなくなっている。→ 誤った記述を修正します(新しいファイルをすべて列挙する必要はありません)。
- 今後も守るべき新しい不変条件が加わった — 今回の変更で、今後も維持すべきルールが定められている(例:「ハンドラーから DB を直接呼び出さず、
repository/を経由する」)。→ 1行で追加します。
それ以外は変更しません。機能が追加されたことを記録するための修正は提案しないでください(それは変更履歴の役割であり、信頼できる情報源はコードベースです)。コードを見れば明らかなことを言い換えたり、今後の作業の指針にならない背景、理由、説明文を追加したりすることも避けてください。
4. CLAUDE.md に記載する形で提案を書く
- 段落ではなく箇条書き1つ。 ルールは行であり、論説ではありません。
- マップは最新に保ち、肥大化させない。 誤ったパスを修正し、新しいパスを列挙しないでください。
- ルールは自然な言葉で記し、コードではなくコードベースを参照する。 コピーしたコードは古くなりますが、コードベースは正確な情報源です。良い例:「
src/core/errors/のエラーパターンに従う。」悪い例:クラスをそのまま貼り付ける。
出力
## Rules-file drift check — range: <range>
### Fix (now false)
| Where | What's wrong | Minimal fix |
|-------|--------------|-------------|
| "Architecture" map | routes moved `src/routes/` → `src/api/routes/` | update the one path |
### Add (new invariant only)
- <one-line rule> — established by <the change that made it durable>
### Checked, still true — no edit
- <areas you verified need no change>
ずれがない場合:「今回の変更に対してルールファイルは正確です — 修正は不要です。」
ルール
- 提案のみ。 ずれを報告します。呼び出し元から明示的に依頼された場合に限り、編集を適用/ピボットコミットします。
- 対象はルールファイルのみ(
CLAUDE.md/AGENTS.md)。README やドキュメントは対象外です。 - 簡潔さを優先。 判断に迷ったら、何も提案しません。
- マージの前(または
/piv-review-changesの一部として)に毎回実行し、ルールがコードに追いつかなくなるのを防ぎます。