mem0-plugin/.opencode-plugin/opencode-skills/peek/SKILL.md
Quick search with compact output. Lighter than /mem0:tour.
The user provides a search query: /mem0:peek auth middleware
If no query provided, ask: "What should I search for?"
Memory ID detection: If the query matches any of these patterns, treat it as a direct memory ID lookup instead of a search:
^[a-f0-9]{8}$ (short ID) or ^[a-f0-9]{8}-[a-f0-9-]+$ (full UUID)[mem0:<hex>] — extract the hex portionWhen an ID is detected:
get_memory(<id>) directly (if short ID, try as prefix of full UUID)Run 2 parallel search_memories calls:
query=<user's query>, filters={"AND": [{"user_id": "<id>"}, {"app_id": "<pid>"}]}, top_k=10, rerank=truequery=<user's query>, filters={"AND": [{"user_id": "<id>"}, {"app_id": "<pid>"}, {"metadata": {"type": "decision"}}]}, top_k=5, rerank=trueDeduplicate by ID, then show compact results:
## mem0 peek: "<query>" (<N> results)
1. [decision] Auth module uses JWT with RS256 keys (2025-05-15) [mem0:a3f8b2c1]
2. [anti_pattern] Don't use symmetric HS256 — leaked in env (2025-05-10) [mem0:7e2d9f4a]
3. [convention] All middleware in src/middleware/ (2025-05-08) [mem0:c4d5e6f7]
Format: <number>. [<type>] <content, 80 chars> (<date>) [mem0:<short_id>]
If no results:
No memories matching "<query>" for project <project_id>.
IMPORTANT: Do NOT use markdown in your output. OpenCode TUI renders text verbatim — markdown like bold, ## headers, and | table | syntax appears as raw characters. Use plain text with indentation for structure. Use dashes for lists. Use spaces to align columns instead of markdown tables.