honey-ccr について
honey-ccrは、冗長なJSON配列や繰り返しのあるBash出力を調べる際のコンテキスト量を抑えるスキルです。サンプルを残し、元データはキャッシュして後から取得できます。
主な機能
- 01大きな均質JSON配列のサンプリング
- 02ハッシュによる元データの取得
- 03連続する重複テキスト行の集約
- 04フックによるBash出力の自動処理
活用シーン
- 01ログ、検索結果、メトリクス、イベントの確認
- 02Claude Codeでの冗長なBash出力の削減
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ green-pt/ honey-for-devs --skill honey-ccrインストール後、Claude Code で/honey-ccrを入力して読み込まれたか確認します。
詳細
Honey CCR
最も安いトークンは、送信しないトークンです。1行のエラーを探すために500行のログを読み込むと、コンテキストを500行分消費します。CCR はシグナルを含む行を残し、それ以外をキャッシュします。ハッシュで復元できるため、何も失われません。
headroom の SmartCrusher に着想を得ています。意図的に情報を失う設計です。ざっと目を通すデータにのみ使用し、すべての行が重要なペイロードには使用しないでください(たとえば、実装担当者がすべての指摘を必要とするコードレビューの引き継ぎには、代わりに eson encode を使ってロスレスに処理してください)。
使用する場面
- ツールが、レコードを多数含む均一な JSON 配列(5件以上を目安とし、内容に重複があるもの)を返す場合。
- 読む必要はあるものの、大半はざっと確認するだけでよい場合(ログ、検索結果、メトリクス、イベントなど)。
- 完全なデータに引き続きアクセスでき、重要でない中間部分を省略しても問題ない場合。
使用しない場面
- 小さな配列(そのまま出力されます)や、配列以外のデータ。
- すべての要素が重要な配列。圧縮せず、エンコードしてください。
使用方法
tool-that-spews-json | eson crush # → sampled view + sentinel; originals cached
eson retrieve <hash> # → the full original array, verbatim
crush は、保持されたサンプルと、センチネル
{"_ccr":"<<ccr:HASH N_rows_offloaded>>"} を出力します。省略された行が必要になったら、センチネルからハッシュを読み取り、eson retrieve <hash> を実行してください。
- キャッシュディレクトリ:
.honey-ccr/(HONEY_CCR_DIRで変更できます)。 - サイズのしきい値を下回る場合、
crushはセンチネルを付けずに配列をそのまま返すため、どのようなデータでも安全にパイプできます。
常時有効なフック(エントリー時の GC)
Honey が有効な間は、登録済みの PostToolUse フックが Bash の出力にこれを自動適用するため、呼び出しごとに有効化する必要はありません。大きな均一 JSON 配列(20件以上、2k文字以上)は圧縮され、繰り返しの多いテキスト(25行以上)は連続する重複が ⟨×N⟩ にまとめられます。元のデータは必ず先に保存され、書き換え後の結果の末尾には、元に戻すための正確な eson retrieve <hash> コマンドが付加されます。/honey off でフックを無効にできます。すでにコンテキストにある履歴は変更できません。フックが動作できるのは、エントリー時だけです。
注意:このフックには Claude Code 2.1.121 以降が必要です。それ以前のビルドでは Bash の出力を書き換えられません(セッション開始時に警告が表示されます)。手動の some-tool | eson crush によるパイプ処理はどのバージョンでも使えるため、古いバージョンではこちらを推奨します。