Search and analyze past session logs with jq for context and insights.
The material indicates an open-source, prompt/documentation-only skill that mainly instructs users to use jq to inspect local session logs, with no declared secrets or remote network connections. Overall risk is low, but its purpose inherently involves reading historical conversation data, so local sensitive data exposure should be considered.
The material explicitly states that no keys or environment variables are required, and it does not request API tokens, account credentials, or other sensitive authentication data, so credential leakage or misuse risk is low.
No remote endpoints or network steps are declared, and the README focuses on querying local session JSONL files; based on the provided material, there is no indication of exporting user data to external services.
The system checks mark it as prompt-only; the README only provides example jq/grep/awk/sort commands for analysis and does not show that the skill itself installs software, starts background processes, or obtains additional system execution privileges.
The skill is specifically designed to read historical session logs under `$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/`, including user, assistant, and tool-result content as well as cost data; this is normal for its purpose, but it means it can access fairly complete local conversation history, which may contain sensitive information.
The source is an open-source GitHub repository, and the system flags it as open-source with very high community adoption (about 377k stars), which are strong positive signals that lower risk. The license and maintenance status are not clearly stated, creating some audit uncertainty, but not enough to raise it to high risk.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "session-logs" skill from askskill: 1. Download https://raw.githubusercontent.com/openclaw/openclaw/main/skills/session-logs/SKILL.md 2. Save it as ~/.claude/skills/session-logs/SKILL.md 3. Reload skills and tell me it's ready
Use the session-logs skill with jq to search my past sessions for mentions of “RAG evaluation”, and list session titles, timestamps, and relevant snippets in reverse chronological order.
A reverse-chronological list of matching past sessions with key snippets for quick review.
Analyze my session logs from the past 30 days, identify the top 5 recurring technical issues I mentioned, rank them by frequency, and provide representative examples for each.
A ranked summary of recurring issues with counts and examples to reveal ongoing bottlenecks.
Search all my past sessions about “internal knowledge base search”, trace how the requirements evolved, and summarize the reason for each change and the final conclusion.
A concise requirement evolution summary showing discussion flow, change reasons, and final decisions.
Search your complete conversation history stored in session JSONL files. Use this when a user references older/parent conversations or asks what was said before.
Use this skill when the user asks about prior chats, parent conversations, or historical context that isn't in memory files.
Session logs live under the active state directory:
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ (default: ~/.openclaw/agents/<agentId>/sessions/).
Use the agent=<id> value from the system prompt Runtime line.
sessions.json - Index mapping session keys to session IDs<session-id>.jsonl - Full conversation transcript per sessionEach .jsonl file contains messages with:
type: "session" (metadata) or "message"timestamp: ISO timestampmessage.role: "user", "assistant", or "toolResult"message.content[]: Text, thinking, or tool calls (filter type=="text" for human-readable content)message.usage.cost.total: Cost per responseAGENT_ID="<agentId>"
SESSION_DIR="${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/agents/$AGENT_ID/sessions"
for f in "$SESSION_DIR"/*.jsonl; do
date=$(head -1 "$f" | jq -r '.timestamp' | cut -dT -f1)
size=$(ls -lh "$f" | awk '{print $5}')
echo "$date $size $(basename $f)"
done | sort -r
AGENT_ID="<agentId>"
SESSION_DIR="${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/agents/$AGENT_ID/sessions"
for f in "$SESSION_DIR"/*.jsonl; do
head -1 "$f" | jq -r '.timestamp' | grep -q "2026-01-06" && echo "$f"
done
jq -r 'select(.message.role == "user") | .message.content[]? | select(.type == "text") | .text' <session>.jsonl
jq -r 'select(.message.role == "assistant") | .message.content[]? | select(.type == "text") | .text' <session>.jsonl | rg -i "keyword"
jq -s '[.[] | .message.usage.cost.total // 0] | add' <session>.jsonl
AGENT_ID="<agentId>"
SESSION_DIR="${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/agents/$AGENT_ID/sessions"
for f in "$SESSION_DIR"/*.jsonl; do
date=$(head -1 "$f" | jq -r '.timestamp' | cut -dT -f1)
cost=$(jq -s '[.[] | .message.usage.cost.total // 0] | add' "$f")
echo "$date $cost"
done | awk '{a[$1]+=$2} END {for(d in a) print d, "$"a[d]}' | sort -r
jq -s '{
messages: length,
user: [.[] | select(.message.role == "user")] | length,
assistant: [.[] | select(.message.role == "assistant")] | length,
first: .[0].timestamp,
last: .[-1].timestamp
}' <session>.jsonl
jq -r '.message.content[]? | select(.type == "toolCall") | .name' <session>.jsonl | sort | uniq -c | sort -rn
AGENT_ID="<agentId>"
SESSION_DIR="${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/agents/$AGENT_ID/sessions"
rg -l "phrase" "$SESSION_DIR"/*.jsonl
head/tail for samplingsessions.json index maps chat providers (discord, whatsapp, etc.) to session IDs.deleted.<timestamp> suffixAGENT_ID="<agentId>"
SESSION_DIR="${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/agents/$AGENT_ID/sessions"
jq -r 'select(.type=="message") | .message.content[]? | select(.type=="text") | .text' "$SESSION_DIR"/<id>.jsonl | rg 'keyword'
Fetch GitHub issues, create fixes, open PRs, and handle reviews.
Convert text to speech locally and offline with sherpa-onnx, no cloud needed.
Regenerate OpenClaw release changelog sections from Git history before releases.
Prepare and verify OpenClaw stable or beta releases and release notes.
Automate web page workflows, login checks, tab handling, and recovery steps.
Verify an OpenClaw release is fully published and working across all channels.
Analyze Copilot session history for summaries, search, reindexing, and usage guidance.
Analyze JSONL debug logs to explain chat agent issues and behavior.
Analyze log files with natural language to find errors and anomalies fast.
Diagnose misconfigurations, failures, and unexpected behavior in the current Amplifier session.
Search Auralogs production logs, inspect errors, and review AI analyses.
Search past Claude Code chats to recover facts, decisions, and context.