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_batch_observations(ids=[11131, 10942, 10855])
With ordering and limit:
get_batch_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_batch_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 progressive_description tool to load full instructions on-demand:
progressive_description(topic="workflow") # Get 4-step workflow
progressive_description(topic="search_params") # Get parameters reference
progressive_description(topic="examples") # Get usage examples
progressive_description(topic="all") # Get complete guide
Token efficiency:
Batch fetching:
Clarity:
Remember:
get_batch_observations when fetching 2+ observations