Rules Distill
インストールされているスキルをスキャンし、複数のスキルにまたがる横断的な原理原則を抽出し、ルールに蒸留します。既存のルールファイルへの追加、古い内容の修正、または新しいルールファイルの作成を行います。
「決定的収集 + LLM判断」の原則を適用します。スクリプトが網羅的に事実を収集し、LLMが全コンテキストを横断的に読み込み、判断を下します。
使用すべきタイミング
- 定期的なルールメンテナンス(毎月、または新しいスキルのインストール後)
- スキルの棚卸し後に、ルールとすべきパターンが明らかになった場合
- 使用しているスキルと比較してルールが不十分だと感じられる場合
仕組み
ルール蒸留プロセスは3つのフェーズで構成されます。
フェーズ1: 棚卸し(決定的収集)
1a. スキル一覧の収集
bash ~/.claude/skills/rules-distill/scripts/scan-skills.sh
1b. ルール一覧の収集
bash ~/.claude/skills/rules-distill/scripts/scan-rules.sh
1c. ユーザーへの表示
ルール蒸留 — フェーズ1: 棚卸し
────────────────────────────────────────
スキル: {N} ファイルスキャン完了
ルール: {M} ファイル ({K} 見出しインデックス済み)
横断読み取り分析に進みます...
フェーズ2: 横断読み取り、マッチング、判断(LLM判断)
抽出とマッチングは単一のパスで統合されます。ルールファイルは十分に小さいため(合計約800行)、全文をLLMに提供できます。grepによる事前フィルタリングは不要です。
バッチ処理
スキルをその説明に基づいてテーマ別クラスタにグループ化します。各クラスタを、完全なルールテキストとともにサブエージェントで分析します。
バッチ間マージ
すべてのバッチが完了したら、バッチ間で候補をマージします。
- 同一または重複する原理を持つ候補を重複排除
- すべてのバッチからの証拠を組み合わせて「2つ以上のスキル」要件を再確認 — 各バッチで1つのスキルに見つかった原理でも、合計で2つ以上のスキルに見つかれば有効
サブエージェントプロンプト
汎用エージェントを起動し、以下のプロンプトを与えます。
あなたは、ルールに昇格させるべき原理を抽出するためにスキルを横断的に読み取るアナリストです。
## 入力
- スキル: {このバッチのスキルの全文}
- 既存のルール: {すべてのルールファイルの全文}
## 抽出基準
以下の**すべて**が真の場合にのみ候補を含めます。
1. **2つ以上のスキルに出現**: 1つのスキルにしか見られない原理はそのスキルに留めるべき
2. **実行可能な行動変容**: 「Xをせよ」「Yをするな」の形で記述可能 — 「Xは重要」ではない
3. **明確な違反リスク**: この原理が無視された場合に何が問題になるか(1文)
4. **ルールにまだない**: 全文のルールを確認 — 異なる表現で表された概念も含む
## マッチングと判断
各候補について、全文のルールと比較し、以下の判断を割り当てます。
- **追加**: 既存のルールファイルの既存セクションに追加
- **修正**: 既存のルール内容が不正確または不十分 — 修正案を提案
- **新規セクション**: 既存のルールファイルに新しいセクションを追加
- **新規ファイル**: 新しいルールファイルを作成
- **既存でカバー済み**: 既存のルールで十分にカバーされている(表現が異なっていても)
- **特化しすぎ**: スキルレベルに留めるべき
## 出力形式(候補ごと)
```json
{
"principle":