Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
sawyerhood avatar

Memory

  • 1 installs
  • 260 repo stars
  • Updated February 6, 2026
  • sawyerhood/gitclaw

Helps with ai & agent building tasks.

About

memory is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • memory
  • AI & Agent Building
  • AI-coding skill

Memory by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #14,098 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/sawyerhood/gitclaw --skill memory

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars260
Last updatedFebruary 6, 2026
Repositorysawyerhood/gitclaw

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Memory

You don't have to start every session blank. Past context lives in files you can search.

Where Memory Lives

  • state/memory.log — Append-only log of important facts, preferences, and decisions
  • *state/sessions/.jsonl** — Full conversation transcripts per session

When to Search

  • User says "remember when..." or "you said..." or "we talked about..."
  • User references a preference, decision, or fact you should know
  • You need context from a previous session
  • Before asking the user something they may have already told you

Quick Searches

# Search memory log
rg -i "search term" state/memory.log

# Recent memories
tail -30 state/memory.log

# Search all sessions
rg -i "search term" state/sessions/

# Search with context (2 lines before/after)
rg -i -C 2 "search term" state/memory.log state/sessions/

Writing to Memory

When you learn something worth keeping:

echo "[$(date -u '+%Y-%m-%d %H:%M')] Memory entry here." >> state/memory.log

Keep entries atomic — one fact per line. Future you will grep this.

---

Session Log Deep Queries

Session files are JSONL. Each line:

{
  "type": "message",
  "timestamp": "2026-02-05T05:16:04.856Z",
  "message": {
    "role": "user" | "assistant" | "toolResult",
    "content": [
      { "type": "text", "text": "..." },
      { "type": "thinking", "thinking": "..." },
      { "type": "toolCall", "name": "bash", "arguments": {...} }
    ]
  }
}

List sessions by date

for f in state/sessions/*.jsonl; do
  [ -f "$f" ] || continue
  ts=$(head -1 "$f" | jq -r '.timestamp // empty' 2>/dev/null)
  echo "$(echo "$ts" | cut -dT -f1) $(basename $f)"
done | sort -r

Extract user messages

jq -r 'select(.message.role == "user") | .message.content[]? | select(.type == "text") | .text' state/sessions/<file>.jsonl

Extract assistant responses

jq -r 'select(.message.role == "assistant") | .message.content[]? | select(.type == "text") | .text' state/sessions/<file>.jsonl

Conversation overview (skip thinking/tools)

jq -r 'select(.message.role == "user" or .message.role == "assistant") | .message.content[]? | select(.type == "text") | .text' state/sessions/<file>.jsonl | head -100

Tool usage stats

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

Tips

  • Sessions are append-only JSONL (one JSON per line)
  • Large sessions can be several MB — use head/tail for sampling
  • Filter type=="text" to skip thinking blocks and tool calls
  • Use jq -r for raw output without JSON escaping

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.