mcpField
H
honey-memory

honey-memory

github.com/green-ptエージェントワークフロー34440 回インストール1 週間前に更新
リポジトリ

honey-memory について

honey-memoryは、セッション間での調査の繰り返しを減らすため、リポジトリ単位のメモリを作成・保守するエージェントスキルです。再発見に手間がかかり、ソースから分からない安定した事実を扱い、バックアップや検証、更新の方法も定めます。

主な機能

  1. 01Markdown形式でリポジトリのメモリを作成・更新
  2. 02構成・規約・コマンド・決定事項を記録
  3. 03ソースから分かる情報、秘密、暫定状況を除外
  4. 04古いパスやメモリ関連の問題を確認
  5. 05同じ変更内での更新と随時の再確認を案内

活用シーン

  1. 01リポジトリの規約やビルドコマンドを記録
  2. 02コードから分かりにくい決定事項を保存
  3. 03コード変更で事実が古くなった後にメモリを更新
  4. 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 に保存し、内容を無効にし得るコードの隣に置き、内容が無効になる変更と同時に修正します。

骨組みを作成する

  1. リポジトリごとにルートに PROJECT.md を 1 つ作成し、コミットします(~/.claude には置きません)。 リポジトリに CLAUDE.md/AGENTS.md がすでにある場合は、代わりにそこへ ## Memory セクションを追加または更新します。2 つ目のファイルは追加しないでください。
  2. 既存のファイルを上書きする前に、バックアップを作成します。コピーして → FILE.original.md にします。 バックアップがすでに存在する場合は、停止して確認を求めてください。復元ポイントを上書きしてはいけません。
  3. 次の 3 種類の事実だけを書きます(リポジトリを読んで導き出します)。
    • アーキテクチャと規約:エージェントが手軽に grep できない情報です。どこに何があるか、 そしてその理由(意図であり、ファイル一覧ではありません)。
    • ビルド/テスト/実行のコマンド、環境変数、注意点。
    • 決定事項と行き止まり:採用した選択肢、試して却下した方法。これは意図であり、コードには記されません。
  4. 報告:何を書いたか、ファイルパスを伝えます。

保存してはいけない情報

  • ソースから導き出せる情報:コードの構造、シンボルの場所、過去の修正、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 から復元できます。完了を報告する前に、書いた事実をすべて現在のコードと照合して確認してください。未確認の事実は、記載がないよりも悪いものです。

コメント