Help us improve
Share bugs, ideas, or general feedback.
From conversation-search
Find and resume Claude Code conversations by searching topics or filtering by date. Returns session IDs and project paths for easy resumption via 'claude --resume'. Use when user asks "find that conversation about X", "what did we discuss", "what did we work on yesterday", "summarize today's work", "show this week's conversations", "recent projects we accomplished", or wants to locate past work by topic, date, or time period (yesterday, today, last week, specific dates).
npx claudepluginhub amitkot/claude-code-tools --plugin conversation-searchHow this skill is triggered — by the user, by Claude, or both
Slash command
/conversation-search:conversation-searchThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Find past conversations in your Claude Code history and get the commands to resume them. Drives the upstream `cc-conversation-search` CLI against a local SQLite FTS5 index at `~/.conversation-search/index.db`.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
Share bugs, ideas, or general feedback.
Find past conversations in your Claude Code history and get the commands to resume them. Drives the upstream cc-conversation-search CLI against a local SQLite FTS5 index at ~/.conversation-search/index.db.
This skill assumes cc-conversation-search is on $PATH. If it isn't, stop and tell the user:
The conversation-search CLI isn't installed. Run /conversation-search-setup
(or ask me to "set up conversation search") to install it, then try again.
Do not attempt to install it from this skill — installs belong in the conversation-search-setup sibling skill so the search hot path stays fast.
command -v cc-conversation-search >/dev/null 2>&1 || { echo "CLI missing — run setup skill first"; exit 0; }
The upstream CLI (v0.5.3) passes the query string straight into SQLite FTS5. A bare hyphen breaks the parser:
cc-conversation-search search "conversation-search plugin" # → Error: no such column: search
cc-conversation-search search '"conversation-search plugin"' # → works
Rule: any query containing - or other punctuation must be wrapped in inner double quotes (so the shell sends "conversation-search plugin" to the CLI). Plain space-separated words don't need it.
In practice: when in doubt, quote. It's safe for single words too.
Tracked upstream: https://github.com/akatz-ai/cc-conversation-search/issues (file one if missing).
Before doing anything else, use TodoWrite to create this checklist:
- Classify query type (temporal/topic/hybrid)
- Execute Level 1: focused search with cc-conversation-search
- Execute Level 2: broader search if Level 1 fails
- Execute Level 3: manual exploration if Level 1 and 2 fail
- Present results to user
Constraints:
grep, find, cat, or any manual file operations on .jsonl files.cc-conversation-search for all search operations.Mark each todo in_progress when starting it, completed when done.
Examples:
Action: cc-conversation-search list with date filters.
Examples:
Action: cc-conversation-search search "query".
Examples:
Action: cc-conversation-search search "query" with date filters.
Execute in order. Do not skip levels.
Topic / hybrid:
# Plain words — no inner quotes needed
cc-conversation-search search "search terms" --days 14 --json
# Hyphenated or punctuation-containing — inner quotes mandatory (see CRITICAL section)
cc-conversation-search search '"conversation-search plugin"' --days 14 --json
Temporal:
cc-conversation-search list --date yesterday --json
# or: --days N, --since YYYY-MM-DD, --until YYYY-MM-DD
Parse the JSON. If you find relevant matches, skip to Level 4.
Search auto-indexes recent conversations before running, so the result is fresh.
Only if Level 1 found nothing useful.
Topic / hybrid:
cc-conversation-search search "terms" --json.auth vs authentication, db vs postgres.Temporal:
--days 30 instead of --days 7.If matches found, skip to Level 4.
Only if Levels 1 and 2 both failed.
cc-conversation-search list --days 30 --jsoncc-conversation-search tree <SESSION_ID> --json.Format for the user:
**Session Details**
- **Session**: <session-id>
- **Project**: <project-path>
- **Time**: <YYYY-MM-DD HH:MM>
- **Message**: <message-uuid> (if applicable)
**To resume**
```bash
cd <project-path>
claude --resume <session-id>
For counting / analysis queries:
- Parse JSON.
- Filter by `message_type` if needed (`user` vs `assistant`).
- Count matches, present with evidence snippets.
If nothing found after all three levels:
- Tell the user: "No matching conversations found after exhaustive search."
- Suggest: `cc-conversation-search index --days 90` to reindex older history.
- Note that the conversation may predate the indexed range.
## Command quick-reference
### Search (topic / hybrid)
```bash
cc-conversation-search search "query" --days N --json
cc-conversation-search search "query" --date yesterday --json
cc-conversation-search search "query" --date 2025-11-13 --json
cc-conversation-search search "query" --since 2025-11-10 --until 2025-11-13 --json
cc-conversation-search search "query" --json # all time
Date filter options:
--days N — last N days from now.--date DATE — specific calendar day.--since DATE / --until DATE — inclusive range.YYYY-MM-DD, yesterday, today.--days with --date/--since/--until.cc-conversation-search list --date yesterday --json
cc-conversation-search list --days 7 --json
cc-conversation-search list --since 2025-11-10 --until today --json
cc-conversation-search context <message-uuid> --json
cc-conversation-search tree <session-id> --json
Always pass --json for structured output.
Full flag reference: REFERENCE.md in this skill directory.
Topic query — "Find that conversation where we fixed the authentication bug"
cc-conversation-search search "authentication bug" --days 14 --json.cc-conversation-search search "auth bug" --json.Temporal query — "What did we work on yesterday?"
cc-conversation-search list --date yesterday --json.Hybrid — "Show me yesterday's authentication work"
cc-conversation-search search "authentication" --date yesterday --json.Counting — "How many times did you say 'absolutely right' in the past week?"
cc-conversation-search search "absolutely right" --days 7 --json.message_type == "assistant", count.cc-conversation-search: command not found — point at /conversation-search-setup. Do not silently install.Adapted from akatz-ai/cc-conversation-search (MIT). The Python CLI is upstream's; this skill is the workflow wrapper. Install/upgrade is delegated to the conversation-search-setup sibling skill.