session-logger について
session-logger は、範囲を限定しプライバシーに配慮したセッション復旧用メモを作るスキルです。ホスト提供の Agent Playbook hook による記録と、ユーザーの許可に基づく手動要約に対応します。
主な機能
- 01範囲を限定した情報の秘匿化
- 02非公開のローカル保存
- 03任意のリポジトリ内出力
- 04手動引き継ぎ要約の形式
- 05書き込み権限の明示的な確認
活用シーン
- 01後続作業のためのセッション記録
- 02簡潔なタスク引き継ぎの準備
- 03選択したセッション情報のローカル保存
- 04transcript イベントがない場合の要約作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zhaono1/ agent-playbook --skill session-loggerインストール後、Claude Code で/session-loggerを入力して読み込まれたか確認します。
同梱ファイルREADME.md
詳細
セッションロガー
生の会話履歴を永続的な記憶として扱わず、簡潔な復旧用アーティファクトを作成します。
このスキルを使用する場面
- ユーザーが現在のセッションを保存または記録するよう明示的に依頼した場合。
- 対応ホストが、トランスクリプトのパスを指定して Agent Playbook の
SessionEndフックを呼び出した場合。 - 後続のタスクで簡潔な引き継ぎ用アーティファクトが必要で、ユーザーがその書き込みを許可している場合。
生のトランスクリプト、認証情報、顧客の個人データ、または上限のないエージェント出力を、黙って保存してはいけません。ホストの対応状況と書き込み権限は明示する必要があります。スキルのメタデータだけではフックは実行されません。
CLI ランタイムの仕様
Claude Code のインストールでは、次を呼び出せます。
agent-playbook session-log
このコマンドは、ホストから提供された JSONL トランスクリプトを読み込み、上限を設けて機密情報を削除した詳細のみを保存します。
- メッセージ数。
- 最後のユーザープロンプト(機密情報の削除後に切り詰めたもの)。
- 検出されたコマンドとファイル参照(最大 12 件)。
- 検出された質問(最大 8 件)。
- ハッシュ化されたセッション参照とプロジェクト ID。
デフォルトでは、ファイルはローカルの非公開アーティファクトとして保存されます。
~/.agent-playbook/sessions/<project-id>/YYYY-MM-DD-<topic>.md
AGENT_PLAYBOOK_DATA_DIR を設定するか、--data-dir を渡すと、非公開データのルートディレクトリを変更できます。リポジトリ内への書き込みは、明示的に選択した場合に限られます。
apb session-log --session-dir ./sessions
リポジトリ内のディレクトリを選択した場合は、書き込む前に、そのディレクトリが無視対象かどうかと保持ポリシーを確認してください。他のリポジトリで sessions/ が無視されると決めつけてはいけません。
手動要約の仕様
ホストからトランスクリプトイベントを取得できない場合は、現在のセッションで実際に確認できるコンテキストに基づき、ユーザーの許可を得て要約を作成します。次の内容だけを含めます。
- 成果と現在の状態。
- 今後の作業に影響する決定事項。
- 関連するファイルまたはコマンド。
- 未解決の質問と次の検証ゲート。
省略した内容は正直に伝えてください。現在のランタイムで明確に提供されていない限り、会話全体の記録、構造化された意思決定の抽出、自動追記、またはセッションをまたいだ想起ができると主張してはいけません。
プライバシーと安全性
- 書き込む前に、一般的な認証情報、ベアラートークン、秘密鍵、メールアドレス、パスワードやシークレットの割り当てを削除してください。
- 生成されたメタデータ内では、現在のプロジェクトルートをプロジェクト ID に置き換えてください。
- プラットフォームが対応している場合は、所有者のみがアクセスできる権限で生成した要約を書き込んでください。
- ユーザーが別途コミット、アップロード、または共有を許可しない限り、アーティファクトはローカルに保持してください。
- 機密情報の削除はリスクを軽減するものであり、あらゆる機密テキストが安全になる保証ではありません。
完了チェック
- 保存先と書き込み権限が明確です。
- 要約に上限が設けられており、既知の生のシークレットが含まれていません。
- リポジトリ内への保存が明示的に選択され、無視ポリシーが確認されています。
- 返されたパスが存在し、ユーザーが読み取れます。