session-loglisted
Install: claude install-skill trapple/skills
# session-log - セッション生ログ可視化
`~/.claude/projects/<proj>/<uuid>.jsonl` に保存されている Claude Code の生セッションログを、人間が読める形に整形して出力する。
## 重要: シークレットのマスク(必読)
出力する内容に **API キー / アクセストークン / パスワード / 秘密鍵 / `.env` の値** など機密情報と思われる文字列が含まれていたら、**必ず `****` で塗りつぶしてからユーザーに表示すること**。整形後のテキストはそのまま PR / Issue / Slack / ブログに貼られる可能性があり、生ログを横流しすると事故になる。
**マスク対象は出力されるすべてのブロック**: `tool_result` の中身はもちろん、`tool_use.input`(コマンドラインに API キーや `Authorization: Bearer` を直書きしているケースが多く、見落とすと事故になる)、`user` メッセージ本文(ユーザーが secret を貼り付けていることがある)、`assistant.text` も対象。整形構造のどこに出てきても塗る。
検出対象の例(疑わしきはマスク):
- API キー prefix: `sk-...`, `sk-ant-...`, `pk-...`, `ghp_...`, `gho_...`, `ghs_...`, `xox[bp]-...`, `AKIA[0-9A-Z]{16}`, `AIza[0-9A-Za-z_-]{35}`, `xai-...`
- 認証ヘッダ: `Authorization: Bearer <...>`, `Authorization: Basic <...>`, `X-Api-Key: <...>`, `Cookie: <...>`
- 代入形式: `password=...`, `token=...`, `secret=...`, `api_key=...`, `PRIVATE_KEY=...`
- ブロック: `-----BEGIN ... PRIVATE KEY-----` 〜 `-----END ... PRIVATE KEY-----`
- ファイル: `.env` / `.env.*` / `credentials.json` / `id_rsa` 等の中身全文
- 接続文字列: `postgres://user:password@host/db`, `mysql://`, `mongodb://`, `redis://` 等のユーザー情報部
- その他: 32 文字以上の高エントロピー英数字列で文脈的にトークンに見えるもの
マスク方法:
- 値部分を `****` に置換する。識別性が欲しければ prefix だけ残す(例: `sk-ant-****`, `ghp_****`, `AKIA****`)。prefix は **トークン種別が識別できる程度(3〜8 文字目安)** に留め、それ以上は残さない
- ブロック型は `-----BEGIN ... PRIVATE KEY-----\n****\n-----END ... PRIVATE KEY-----` に短縮
- `.env` 行は `KEY=****` の形にする(KEY 名は残す)
- 接続文字列は user 部分は残してパスワード部のみ `****` にする(例: `postgres: