Session Logs
Inspect this agent's stored JSONL session transcripts — list, read, search, or recall recent turns.
Files1
View on GitHubSKILL.mdskills/session-logs/SKILL.md
GitHubSession Logs
Use this skill when the agent needs to look at its own prior conversations:
"what did I tell you yesterday?", "search whether we ever discussed X",
"show me the last 5 things from this session". Reads the JSONL transcripts under
transcripts_dir (Phase 10.4 writes them).
Use when
- Self-reflection: "what did I commit to in the previous chat?"
- Debugging: "what tool result did I see in session X?"
- Lightweight search across the agent's history
- Replaying recent turns when memory/workspace is insufficient
Do not use when
- Long-term semantic search across all memory — use the
memorytool (vector/keyword) instead; this one is per-session raw transcript - Editing the transcript — this tool is read-only
- Cross-agent inspection — scope is limited to this agent's transcripts
Tools
Single tool session_logs with action dispatch:
list_sessions
limit(integer, optional, 1–500, default 50) — most-recent first
Returns {sessions: [{session_id, agent_id, source_plugin, entry_count, first_timestamp, last_timestamp}, ...]}.
read_session
session_id(UUID, required)limit(integer, optional) — max entries returnedmax_chars(integer, optional, 20–4000, default 200) — truncate each content preview
Returns {header, total_entries, returned, truncated, entries: [...]}.
search
query(string, required) — case-insensitive substring matchlimit(integer, optional, default 50)max_chars(integer, optional) — preview length per hit
Returns {hits: [{session_id, timestamp, role, source_plugin, preview}, ...]}.
recent
session_id(UUID, optional) — defaults to the current session when omittedlimit(integer, optional, default 10)max_chars(integer, optional)
Returns {session_id, count, entries: [...]}.
Execution guidance
- Start with
recentfor "what did I just say" questions — cheap and enough for short windows. - Use
searchfor "did we ever discuss X" queries; pair withlist_sessionsif you need to know which session to thenread_session. - Always set a reasonable
max_chars— full transcripts can blow the LLM context window fast. - If
transcripts_diris not configured, the tool returns{ok: false, error: "transcripts_dir is not configured..."}— ask the operator to setagents[].transcripts_dirinagents.yaml. - For semantic search (what I meant vs what I literally typed), use
the
memorytool withmode: "vector". - The tool is read-only and session-scoped to this agent — no risk of cross-agent bleed.