🎯

session-logs

🎯Skill

from steipete/clawdis

VibeIndex|
What it does

Searches and analyzes session logs using jq to retrieve historical conversation context across different sessions.

πŸ“¦

Part of

steipete/clawdis(48 items)

session-logs

Installation

npm installInstall npm package
npm install -g openclaw@latest
git cloneClone repository
git clone https://github.com/openclaw/openclaw.git
pnpmRun with pnpm
pnpm install
πŸ“– Extracted from docs: steipete/clawdis
13Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Search and analyze your own session logs (older/parent conversations) using jq.

Overview

# session-logs

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.

Trigger

Use this skill when the user asks about prior chats, parent conversations, or historical context that isn't in memory files.

Location

Session logs live at: ~/.openclaw/agents//sessions/ (use the agent= value from the system prompt Runtime line).

  • sessions.json - Index mapping session keys to session IDs
  • .jsonl - Full conversation transcript per session

Structure

Each .jsonl file contains messages with:

  • type: "session" (metadata) or "message"
  • timestamp: ISO timestamp
  • message.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 response

Common Queries

List all sessions by date and size

```bash

for f in ~/.openclaw/agents//sessions/*.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

```

Find sessions from a specific day

```bash

for f in ~/.openclaw/agents//sessions/*.jsonl; do

head -1 "$f" | jq -r '.timestamp' | grep -q "2026-01-06" && echo "$f"

done

```

Extract user messages from a session

```bash

jq -r 'select(.message.role == "user") | .message.content[]? | select(.type == "text") | .text' .jsonl

```

Search for keyword in assistant responses

```bash

jq -r 'select(.message.role == "assistant") | .message.content[]? | select(.type == "text") | .text' .jsonl | rg -i "keyword"

```

Get total cost for a session

```bash

jq -s '[.[] | .message.usage.cost.total // 0] | add' .jsonl

```

Daily cost summary

```bash

for f in ~/.openclaw/agents//sessions/*.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

```

Count messages and tokens in a session

```bash

jq -s '{

messages: length,

user: [.[] | select(.message.role == "user")] | length,

assistant: [.[] | select(.message.role == "assistant")] | length,

first: .[0].timestamp,

last: .[-1].timestamp

}' .jsonl

```

Tool usage breakdown

```bash

jq -r '.message.content[]? | select(.type == "toolCall") | .name' .jsonl | sort | uniq -c | sort -rn

```

Search across ALL sessions for a phrase

```bash

rg -l "phrase" ~/.openclaw/agents//sessions/*.jsonl

```

Tips

  • Sessions are append-only JSONL (one JSON object per line)
  • Large sessions can be several MB - use head/tail for sampling
  • The sessions.json index maps chat providers (discord, whatsapp, etc.) to session IDs
  • Deleted sessions have .deleted. suffix

Fast text-only hint (low noise)

```bash

jq -r 'select(.type=="message") | .message.content[]? | select(.type=="text") | .text' ~/.openclaw/agents//sessions/.jsonl | rg 'keyword'

```

More from this repository10

🎯
gog🎯Skill

Manages Gmail, Calendar, Drive, Contacts, Sheets, and Docs via CLI with OAuth-based Google Workspace interactions.

🎯
weather🎯Skill

Retrieves current weather and forecasts for any location using free services, with multiple output formats and no API key required.

🎯
summarize🎯Skill

Quickly summarizes URLs, local files, and YouTube links using AI models with flexible extraction options.

🎯
coding-agent🎯Skill

Runs coding agents like Claude Code or Codex in bash with PTY support, enabling programmatic control and background processing.

🎯
mcporter🎯Skill

Streamlines interaction with MCP servers through CLI, enabling listing, configuration, authentication, and direct tool calls via HTTP or stdio.

🎯
apple-reminders🎯Skill

Manages Apple Reminders via CLI, enabling listing, adding, editing, completing, and deleting tasks with flexible date and list filtering.

🎯
gifgrep🎯Skill

Searches and downloads GIFs from Tenor/Giphy with a CLI/TUI, enabling preview, extraction, and easy sharing.

🎯
nano-pdf🎯Skill

Edits PDFs using natural language instructions, allowing precise page-level modifications with simple CLI commands.

🎯
obsidian🎯Skill

Automates interactions with Obsidian vaults, enabling searching, creating, moving, and managing Markdown notes via obsidian-cli.

🎯
peekaboo🎯Skill

Automates macOS UI interactions by capturing screens, targeting elements, driving input, and managing apps via a powerful CLI tool.