honey-memory について
honey-memoryは、セッション間での調査の繰り返しを減らすため、リポジトリ単位のメモリを作成・保守するエージェントスキルです。再発見に手間がかかり、ソースから分からない安定した事実を扱い、バックアップや検証、更新の方法も定めます。
主な機能
- 01Markdown形式でリポジトリのメモリを作成・更新
- 02構成・規約・コマンド・決定事項を記録
- 03ソースから分かる情報、秘密、暫定状況を除外
- 04古いパスやメモリ関連の問題を確認
- 05同じ変更内での更新と随時の再確認を案内
活用シーン
- 01リポジトリの規約やビルドコマンドを記録
- 02コードから分かりにくい決定事項を保存
- 03コード変更で事実が古くなった後にメモリを更新
- 04リポジトリメモリ内の古い参照を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ green-pt/ honey-for-devs --skill honey-memoryインストール後、Claude Code で/honey-memoryを入力して読み込まれたか確認します。
詳細
Honey Memory
発見コストに適用するレバー 2 です。セッションを新たに始めるたびに、同じことを何度も grep します。認証の場所、ビルドコマンド、X が Y の形になっている理由などです。コミット済みのファイルを 1 つ用意すれば、今後のすべてのセッションで、N 回の再発見の往復を、キャッシュされた読み込み 1 回に置き換えられます。最も安価なトークンは、導き直さずに済むトークンです。
メリットはセッションごとに得られ、繰り返し発生します。リスクは情報の陳腐化です。誤ったキャッシュ済みの事実は、ファイルがない場合よりも大きなコストになります。そのため、このファイルは git に保存し、内容を無効にし得るコードの隣に置き、内容が無効になる変更と同時に修正します。
骨組みを作成する
- リポジトリごとにルートに
PROJECT.mdを 1 つ作成し、コミットします(~/.claudeには置きません)。 リポジトリにCLAUDE.md/AGENTS.mdがすでにある場合は、代わりにそこへ## Memoryセクションを追加または更新します。2 つ目のファイルは追加しないでください。 - 既存のファイルを上書きする前に、バックアップを作成します。コピーして →
FILE.original.mdにします。 バックアップがすでに存在する場合は、停止して確認を求めてください。復元ポイントを上書きしてはいけません。 - 次の 3 種類の事実だけを書きます(リポジトリを読んで導き出します)。
- アーキテクチャと規約:エージェントが手軽に grep できない情報です。どこに何があるか、 そしてその理由(意図であり、ファイル一覧ではありません)。
- ビルド/テスト/実行のコマンド、環境変数、注意点。
- 決定事項と行き止まり:採用した選択肢、試して却下した方法。これは意図であり、コードには記されません。
- 報告:何を書いたか、ファイルパスを伝えます。
保存してはいけない情報
- ソースから導き出せる情報:コードの構造、シンボルの場所、過去の修正、git の履歴です。 維持するより導き直すほうが安価で、情報が古くなることもありません。
- シークレット、トークン、認証情報。このファイルはコミットされます。
- 一時的な状態:未完了の TODO、今週の状況などです。こうした情報は最も早く劣化します。
安定していて、再発見にコストがかかり、コードには記されていない事実なら、記録します。 それ以外は、必要に応じてエージェントに導き出させてください。こうした情報をキャッシュすると、 システムは気づかれないまま費用を浪費します。
更新
Markdown ファイルは自動では更新されません。信頼性を支えるのはインフラではなく、規律です。
- 同時変更のルール(基本)。 コードの変更によって事実が無効になったら、同じコミットでその事実も修正します。ファイルが git にあるため、レビューで食い違いを発見できます。
- 必要に応じた更新。 リポジトリを読み直し、古くなった項目を書き直して、差分を表示します。やみくもに追記しないでください。追記すると、ファイルが肥大化し劣化します。
- 更新前と更新後に lint を実行します。
node "${CLAUDE_PLUGIN_ROOT}/bin/check.js" memory(モデル不要)を実行すると、ファイル内で名前が挙げられているものの存在しなくなったパス、何も読み込まない@imports、 2 つのファイルから読み込まれる同じルール、セッション開始時に読み込まれる 200 行または 25KB を超えた Claude Code のMEMORY.mdが見つかります。 各指摘はユーザーの許可を得て修正してください。頼まれていないメモリ内容を削除してはいけません。 (CLAUDE_PLUGIN_ROOTが展開されていない場合、bin/check.jsはこのファイルから 2 つ上のディレクトリにあるプラグインのルートにあります。) - 事実は蓄積させず、古い情報に取って代わるものとして扱います。古い行を置き換え、隣に新しい行を積み重ねないでください。
ファイルは 1 つか、複数か
まずはファイル 1 つから始めます。約 150~200 行を超えるか、明確に分けられる領域を扱うようになった場合に限り、分割します。その場合は、薄いインデックスと、必要に応じて読み込むトピック別ファイルにします。それ以下では、インデックスが節約するコストよりも、常に読み込まれる負担のほうが大きくなります。
簡潔に保つ
内容にも Honey のレバー 2 を適用します。段落より断片を使い、コードにすでに書かれていることを説明しないでください。肥大化したメモリファイルは、セッションごとに入力コストを発生させます。人が読める Markdown を維持してください。あなたやレビュー担当者が手で編集するため、ワイヤー形式は使わないでください。情報の陳腐化は、密度の高い形式で節約できるトークンよりも大きなコストになります。
境界
復元可能です。上書きした場合は FILE.original.md から復元できます。完了を報告する前に、書いた事実をすべて現在のコードと照合して確認してください。未確認の事実は、記載がないよりも悪いものです。