Search claude-mem's persistent cross-session memory database. Use when user asks "did we already solve this?", "how did we do X last time?", or needs work from previous sessions.
Inherits all available tools
Additional assets for this skill
This skill inherits all available tools. When active, it can use any tool Claude has access to.
operations/by-concept.mdoperations/by-file.mdoperations/by-type.mdoperations/common-workflows.mdoperations/formatting.mdoperations/help.mdoperations/observations.mdoperations/prompts.mdoperations/recent-context.mdoperations/sessions.mdoperations/timeline-by-query.mdoperations/timeline.mdprinciples/anti-patterns.mdprinciples/progressive-disclosure.mdSearch past work across all sessions. Simple workflow: search → get IDs → fetch details by ID.
Use when users ask about PREVIOUS sessions (not current conversation):
ALWAYS follow this exact flow:
Use the search MCP tool:
Required parameters:
query - Search termlimit: 20 - You can request large indexes as necessaryproject - Project name (required)Example:
search(query="authentication", limit=20, project="my-project")
Returns:
| ID | Time | T | Title | Read | Work |
|----|------|---|-------|------|------|
| #11131 | 3:48 PM | 🟣 | Added JWT authentication | ~75 | 🛠️ 450 |
| #10942 | 2:15 PM | 🔴 | Fixed auth token expiration | ~50 | 🛠️ 200 |
You MUST understand "what was happening" around a result.
Use the timeline MCP tool:
Example with observation ID:
timeline(anchor=11131, depth_before=3, depth_after=3, project="my-project")
Example with query (finds anchor automatically):
timeline(query="authentication", depth_before=3, depth_after=3, project="my-project")
Returns exactly depth_before + 1 + depth_after items - observations, sessions, and prompts interleaved chronologically around the anchor.
When to use:
Review the index results (and timeline if used). Identify which IDs are actually relevant. Discard the rest.
For each relevant ID, fetch full details using MCP tools:
Fetch multiple observations (ALWAYS use for 2+ IDs):
get_observations(ids=[11131, 10942, 10855])
With ordering and limit:
get_observations(
ids=[11131, 10942, 10855],
orderBy="date_desc",
limit=10,
project="my-project"
)
Fetch single observation (only when fetching exactly 1):
get_observation(id=11131)
Fetch session:
get_session(id=2005) # Just the number from S2005
Fetch prompt:
get_prompt(id=5421)
ID formats:
Batch optimization:
get_observations for 2+ observationsBasic:
query - What to search for (required)limit - How many results (default 20)project - Filter by project name (required)Filters (optional):
type - Filter to "observations", "sessions", or "prompts"dateStart - Start date (YYYY-MM-DD or epoch timestamp)dateEnd - End date (YYYY-MM-DD or epoch timestamp)obs_type - Filter observations by type (comma-separated): bugfix, feature, decision, discovery, changeFind recent bug fixes:
Use the search MCP tool with filters:
search(query="bug", type="observations", obs_type="bugfix", limit=20, project="my-project")
Find what happened last week:
Use date filters:
search(type="observations", dateStart="2025-11-11", limit=20, project="my-project")
Search everything:
Simple query search:
search(query="database migration", limit=20, project="my-project")
Get detailed instructions:
Use the help tool to load full instructions on-demand:
help(topic="workflow") # Get 4-step workflow
help(topic="search_params") # Get parameters reference
help(topic="examples") # Get usage examples
help(topic="all") # Get complete guide
Token efficiency:
Batch fetching:
Clarity:
Remember:
get_observations when fetching 2+ observationsComprehensive parameter documentation for all memory tools. For MCP usage, call help(topic="search") to load specific tool docs.
Search across all memory types (observations, sessions, prompts).
Parameters:
query (string, optional) - Search term for full-text searchlimit (number, optional) - Maximum results to return. Default: 20, Max: 100offset (number, optional) - Number of results to skip. Default: 0project (string, required) - Project name to filter bytype (string, optional) - Filter by type: "observations", "sessions", "prompts"dateStart (string, optional) - Start date filter (YYYY-MM-DD or epoch ms)dateEnd (string, optional) - End date filter (YYYY-MM-DD or epoch ms)obs_type (string, optional) - Filter observations by type (comma-separated): bugfix, feature, decision, discovery, changeorderBy (string, optional) - Sort order: "date_desc" (default), "date_asc", "relevance"Returns: Table of results with IDs, timestamps, types, titles
Get chronological context around a specific point in time or observation.
Parameters:
anchor (number, optional) - Observation ID to center timeline around. If not provided, uses most recent result from queryquery (string, optional) - Search term to find anchor automatically (if anchor not provided)depth_before (number, optional) - Items before anchor. Default: 5, Max: 20depth_after (number, optional) - Items after anchor. Default: 5, Max: 20project (string, required) - Project name to filter byReturns: Exactly depth_before + 1 + depth_after items in chronological order, with observations, sessions, and prompts interleaved
Get the most recent observations from current or recent sessions.
Parameters:
limit (number, optional) - Maximum observations to return. Default: 10, Max: 50project (string, required) - Project name to filter byReturns: Recent observations in reverse chronological order
Get timeline context around a specific observation ID.
Parameters:
anchor (number, required) - Observation ID to center timeline arounddepth_before (number, optional) - Items before anchor. Default: 5, Max: 20depth_after (number, optional) - Items after anchor. Default: 5, Max: 20project (string, optional) - Project name to filter byReturns: Timeline items centered on the anchor observation
Fetch a single observation by ID with full details.
Parameters:
id (number, required) - Observation ID to fetchReturns: Complete observation object with title, subtitle, narrative, facts, concepts, files, timestamps
Batch fetch multiple observations by IDs. Always prefer this over individual fetches for 2+ observations.
Parameters:
ids (array of numbers, required) - Array of observation IDs to fetchorderBy (string, optional) - Sort order: "date_desc" (default), "date_asc"limit (number, optional) - Maximum observations to return. Default: no limitproject (string, optional) - Project name to filter byReturns: Array of complete observation objects, 10-100x faster than individual fetches
Fetch a single session by ID with metadata.
Parameters:
id (number, required) - Session ID to fetch (just the number, not "S2005" format)Returns: Session object with ID, start time, end time, project, model info
Fetch a single prompt by ID with full text.
Parameters:
id (number, required) - Prompt ID to fetchReturns: Prompt object with ID, text, timestamp, session reference
Load detailed instructions for specific topics or all documentation.
Parameters:
topic (string, optional) - Specific topic to load: "workflow", "search", "timeline", "get_recent_context", "get_context_timeline", "get_observation", "get_observations", "get_session", "get_prompt", "all". Default: "all"Returns: Formatted documentation for the requested topic