Install
openclaw skills install agent-session-recallRecover conversation context when a message arrives with unclear meaning. Use when a user's message lacks context (e.g. "I logged in" with no prior mention of logging in), when resuming after compaction or session reset, or when switching between channels and losing thread. Searches session transcripts, channel summaries, memory files, and cross-channel history to reconstruct context before asking the user.
openclaw skills install agent-session-recallRecover missing conversation context autonomously. Never ask the user "what are you talking about?" until all steps are exhausted.
.jsonl.reset exists)Execute steps in order. Stop early if sufficient context is found.
Use sessions_history to retrieve recent messages for the current channel. This requires no file I/O and is the quickest way to recover recent context.
Read the .jsonl transcript for the current session:
sessions_list or sessions.json~/.openclaw/agents/{agent}/sessions/{sessionId}.jsonl (default agent: main)tail -n 200) rather than loading the entire file.reset files with the same sessionId prefix (pre-compaction data)Read memory/channel_context/{channel-name}.md if it exists. These are user-maintained summaries of ongoing topics per channel — not a built-in OpenClaw feature, but a recommended convention.
Messages often originate from cron jobs or other channels.
.jsonl files:
./scripts/search_sessions.sh "keyword"
.jsonl:
./scripts/search_sessions.sh "{current_channel_id}"
memory/active_context.md — current shared context across channelsmemory/YYYY-MM-DD.md — today and yesterday's daily notesmemory_search tool)Only after steps 0–4 yield nothing. Be specific about what was searched:
"Searched this channel's transcript, cross-channel sessions (including cron), and memory files for '{keyword}' but couldn't find context. What are you referring to?"
Cron jobs can send messages to channels via sessions_send or direct API calls. These messages:
.jsonl, NOT the target channel's .jsonlThis is the most common cause of unrecognized messages — the user is responding to something a cron job sent.
Session transcripts may contain sensitive data (API keys, passwords, personal information). Do not pipe search output to public channels or logs. This skill assumes single-user/single-agent deployment.
~/.openclaw/agents/main/sessions/ assumes default agent name main. Adjust if using a custom agent name.memory/channel_context/) are a recommended convention, not built-in. Users create and maintain these themselves.python3, grep, and bash.