From interaction-logger
Automatically log every user prompt and Claude response to a persistent history file with timestamps and metadata. Use this skill whenever the user asks to log interactions, track conversation history, record prompts and outputs, audit what decisions led to a result, or review past Claude sessions. Also trigger proactively at the START of every session to initialize the log, and at the END of every response to append the interaction. If the user says "log this", "add to history", "record this interaction", "what led to this output", or similar — use this skill.
How this skill is triggered — by the user, by Claude, or both
Slash command
/interaction-logger:interaction-loggerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Log every prompt and Claude response to a persistent, human-readable history file so you can trace which inputs led to which outputs.
Log every prompt and Claude response to a persistent, human-readable history file so you can trace which inputs led to which outputs.
Default: ~/.claude/interaction_history.jsonl
The user may override this by setting CLAUDE_INTERACTION_LOG in their environment or by mentioning a different path. Always respect their preference.
Use .jsonl (JSON Lines) — one JSON object per line. This makes it easy to grep, stream, and parse.
Each line in the log file is a JSON object:
{
"id": "uuid-v4",
"timestamp": "2026-03-24T14:32:01.123Z",
"session_id": "short-random-id",
"sequence": 1,
"role": "user",
"content": "The raw text of the prompt",
"context": {
"cwd": "/path/to/working/directory",
"tool": "claude-code"
}
}
Followed immediately by the assistant's response entry:
{
"id": "uuid-v4",
"timestamp": "2026-03-24T14:32:05.456Z",
"session_id": "short-random-id",
"sequence": 2,
"role": "assistant",
"content": "The raw text of the response",
"context": {
"cwd": "/path/to/working/directory",
"tool": "claude-code"
}
}
Run the logger script (see scripts/log_interaction.py) to append entries. This handles:
~/.claude/.current_session)python3 ~/.claude/skills/interaction-logger/scripts/log_interaction.py \
--role user \
--content "The user's prompt text here"
python3 ~/.claude/skills/interaction-logger/scripts/log_interaction.py \
--role assistant \
--content "Claude's response text here"
python3 ~/.claude/skills/interaction-logger/scripts/log_interaction.py \
--new-session
python3 ~/.claude/skills/interaction-logger/scripts/log_interaction.py \
--view --last 20
python3 ~/.claude/skills/interaction-logger/scripts/log_interaction.py \
--search "keyword or phrase"
--role user--role assistantsession_id and auto-increment sequenceThis creates a paired, traceable record: for any output you're curious about, find its id, look at the entry immediately before it (same session, sequence - 1) to see exactly what prompt produced it.
For quick viewing, run the --view command above.
For power users, the .jsonl format works natively with tools like:
jq — e.g. cat ~/.claude/interaction_history.jsonl | jq 'select(.role=="user") | .content'grep — grep "keyword" ~/.claude/interaction_history.jsonl~/.claude/.current_session..current_session file, or use --new-session flag..current_session is older than 8 hours, it auto-rotates).The log file contains your raw prompts and responses in plaintext. It is stored locally at ~/.claude/interaction_history.jsonl and never sent anywhere. You are responsible for protecting this file.
If the script isn't installed yet, Claude should copy it from the skill bundle:
mkdir -p ~/.claude/skills/interaction-logger/scripts
cp <skill_bundle_path>/scripts/log_interaction.py ~/.claude/skills/interaction-logger/scripts/
chmod +x ~/.claude/skills/interaction-logger/scripts/log_interaction.py
npx claudepluginhub landonia/claude-plugins --plugin interaction-loggerSaves the current Claude Code session transcript as clean markdown (conversation only) and raw transcript files for reuse in memos, blog drafts, or articles. Supports starting, refreshing, and finalizing logs per session.
References Claude Code session log schema for JSONL files under ~/.claude/projects/. Details record types, tool call/result pairing, subagent file locations, team layouts, and config paths. Use for parsing transcripts, PostToolUse hooks, or building analyzers.
Logs activity, manages project memory, and generates reports in .claude/transformers/. Automatically handles pruning of old logs and temp directories.