Skip to content
Back to skills

Past Conversations

ASecurity

Search or resume past Claude Code chats by topic or session id. Trigger /past-conversations, 'search past conversations', 'resume where I left off'.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
ai-agentsgobash

Works with

  • claude code

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add Pawel-Kica/claude-code-100 --skill past-conversations --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Past Conversations?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Past Conversations
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pawel-kica-past-conversations/badge)](https://www.skillsdirectory.com/skills/pawel-kica-past-conversations)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: past-conversations
description: "Search or resume past Claude Code chats by topic or session id. Trigger /past-conversations, 'search past conversations', 'resume where I left off'."
argument-hint: <search | resume> <topic | session-id>
---

Search and resume your own Claude Code chat history. Transcripts: `~/.claude/projects/*/*.jsonl`, skip `subagents/` and `workflows/`.

| Mode | Triggers | Does |
|---|---|---|
| **search** | "what did I land on about X", "find conversation about X" | Find, read, report. Don't continue work. |
| **resume** | "resume X", "pick up where I left off", a session id | Reconstruct state, continue here. |

No request → ask. Unclear → search, offer resume.

## Find candidates

Pass A, titles (`ai-title`, first user turn):

```bash
cd ~/.claude/projects
for f in ./*/*.jsonl; do
  t=$(grep -m1 '"type":"ai-title"' "$f" 2>/dev/null | jq -r '.aiTitle // empty' 2>/dev/null)
  [ -n "$t" ] && printf '%s\t%s\t%s\n' "$(stat -f '%Sm' -t '%Y-%m-%d %H:%M' "$f")" "$t" "$f"
done
```

Filter for query terms, sort date desc. Title hit > body hit > recency. Skip current session. Scope ("in <project>") → filter paths matching that project.

Pass B, full-text fallback: `grep -rl "<term>" ~/.claude/projects --include='*.jsonl'`. Quote globs in zsh.

## Read matches

```bash
jq -rc 'select(.type=="user" or .type=="assistant") |
  (if .message.role=="user" then "U" else "A" end) as $r |
  (.message.content | if type=="string" then . else ([.[]|select(.type=="text")|.text]|join(" ")) end) as $txt |
  select(($txt|length)>0) | select(($txt|startswith("<"))|not) | "\($r): \($txt)"' "<file>"
```

Project: `grep -m1 '"type":"user"' "<file>" | jq -r '.cwd'`. Skip skill-injection / `<local-command` preamble on first turns.

## Respond

Tag each citation `(2026-06-09)`. Session id = `.jsonl` basename.

**Search** - top 1-3 matches, lead with answer: one-line conclusion, then per match Established / Decided / Stopped. 0 hits → say so, suggest broader terms.

**Resume** - one best session, read fully, reconstruct goal / done / pending, continue.

Mirror language of matched chat (en/pl). >30 days old → flag stale before acting.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…