| name | distill-auto-memory |
| argument-hint | [steering instructions] |
| description | auto-memory に溜まった学びを永続度の高い層 — グローバル CLAUDE.md / rules / スキル / プロジェクト CLAUDE.md — へ蒸留・昇格し、 昇格済みエントリをメモリから除去する。
|
| user-invocable | true |
| disable-model-invocation | true |
Auto-memory の蒸留
auto-memory は揮発層 — セッションで得た学びが最初に落ちる場所であり、終着点ではない。蒸留はそこに溜まった知見を恒久層へ昇格させ、昇格済みエントリをメモリから除去するパスである。同じ意味を2層に持たない(single source of truth)。
$ARGUMENTS(あれば)は自由形式の操舵指示として蒸留の判定で考慮する。
1. 蒸留 — 全エントリに verdict を付ける
ライブストアの全メモリファイルを読み、各エントリに verdict を1つ付ける。全エントリに verdict が付くまでこのステップは終わらない — 「主要なものだけ」は不可。
判定ラダー(上から順に検討し、最初に該当した層へ):
| verdict | 条件 |
|---|
グローバル CLAUDE.md (~/.claude/CLAUDE.md) | プロジェクト非依存の普遍原則のうち、無ければ明確に損をするものだけ。全セッションに常時ロードされる最も高価な層であり、既定の行き先ではない。既存セクションに収まる短い断言へ圧縮する |
rules (~/.claude/rules/<topic>.md) | プロジェクト非依存だがトピック限定 — 特定ツール・言語・状況でのみ効く詳細ルール。トピックごとに1ファイル。対象ファイルを glob で絞れることが必須条件 |
| スキル | 「手順」の形をした知見 — 再実行可能なワークフロー。適用フェーズで skill-creator を起動して作り切る |
| プロジェクト CLAUDE.md(現リポジトリ直下) | 現在のプロジェクト固有で、コードや git 履歴から導出できない事実・制約 |
| 残留 | 個人的文脈(user 型など)、外部状態に依存し陳腐化しうるもの、1回しか観測しておらず一般化に確証がないもの |
判定の目安: 「別のプロジェクトでも効くか?」→ yes ならグローバル系。「命令形の手順列か?」→スキル候補。「1度きりの観測か?」→ 残留。迷ったら残留 — 昇格は次回の蒸留でもできるが、恒久層に入ったノイズは気づかれにくい。
グローバル CLAUDE.md への昇格だけは、次の3つを具体的に書けることを確認してから決める。 (1) この記述が無いと、どの場面で・どう間違うか(利益の言明ではなく、具体的な誤りの筋書き)(2) その誤りは実際に起きたか(今回の観測・過去の実例)(3) 既存の記述のどれも止められないと言える根拠(該当箇所を名指しする)。1つでも書けなければ昇格しない — 1段下の層へ落とすか、残留させる。
rules へ昇格するものは frontmatter の paths でスコープを必ず限定する。
---
paths: "**/skills/**/SKILL.md"
---
どのファイルを触るときでも効いてほしいもの(= glob で絞れないもの)は rules への昇格を禁止する。
ただしスキル化だけは前のめりに判断する。 「次に同じ状況が来たらこの手順をなぞる」と言えるなら、2〜3ステップでもスキルにする。複数のメモリエントリが1つの手順の別々の断片になっている場合は、まとめて1スキルとして切り出す。判断に迷うスキル候補は残留させず、候補として報告に載せてユーザーの判断を仰ぐ。
昇格するエントリは、昇格先のトンマナ(言語・箇条書きスタイル・絵文字方針)に合わせた書き込み文面をこの時点で確定させる。
2. 報告と承認 — 別ターンに分離する
報告ターンと承認ターンを分ける。ツール呼び出し前の途中テキストはユーザーに表示されないことがあり、同一ターンにまとめると説明のない「適用しますか?」だけが届く事故になるため。
- 報告ターン: 全エントリの verdict 一覧、昇格先ごとの書き込み文面、昇格に伴い削除されるメモリを、ツール呼び出しを伴わない単独の最終メッセージで提示する。締めは「適用してよければそのままお伝えください」の形にする。
- 承認ターン: ユーザーが「ok」等のテキストで応答した場合は、それを承認として扱い、メニューを再提示せずそのまま適用へ進む。判断がつかない応答のときだけ AskUserQuestion で「全適用 / 個別選択 / 破棄」を問う。個別選択なら multiSelect で昇格対象を選ばせる。
恒久層への書き込みは全セッションに影響する。推測の yes で適用しない。
3. 適用
承認された昇格だけを実行する:
- 昇格先ファイルへ確定済み文面を書き込む(Edit/Write)。
- スキル候補は skill-creator スキルを起動して委譲する。
- 昇格済みメモリファイルを削除し、
MEMORY.md インデックスを更新する。
完了条件: 承認された全昇格が書き込まれ、対応するメモリが除去され、MEMORY.md が実ファイル一覧と一致していること。
~/.claude/CLAUDE.md / ~/.claude/rules/ は dotfiles への symlink のため、編集は dotfiles リポジトリに未コミットの変更として残る。最終報告に「コミットはユーザーが手動で行う」旨と変更ファイル一覧を含める。