2nd-brainPersonal knowledge base for capturing and retrieving information about people, places, restaurants, games, tech, events, media, ideas, and organizations. Use...
Install via ClawdBot CLI:
clawdbot install coderaven/2nd-brainA personal knowledge management system for capturing and retrieving information about people, places, things, and ideas.
Brain takes precedence over daily logs for named entities.
Trigger this skill when:
Keywords that trigger: "remember", "note that", "met this person", "visited", "played", "watched", "read", "idea:", "what do I know about", "who is", "where was"
⚠️ Do NOT put brain-eligible content in daily logs. If it's a named entity (person, place, restaurant, product, game, etc.), it belongs in brain/, not memory/YYYY-MM-DD.md. Daily logs are for session context and ephemeral notes only.
🚨 MEDIA FILES MUST BE SAVED. When user sends photos/audio/video/PDFs about a brain entry, you MUST save the actual file to attachments/. Transcribing content is NOT the same as saving the file. Do BOTH.
All brain data lives in: ~/.openclaw/workspace/brain/
brain/
people/ # Contacts, people you've met
places/ # Restaurants, landmarks, venues
games/ # Video games and interactions
tech/ # Devices, products, specs, gotchas
events/ # Conferences, meetups, gatherings
media/ # Books, shows, films, podcasts
ideas/ # Business ideas, concepts, thoughts
orgs/ # Companies, communities, groups
This skill uses OpenClaw's built-in memory_search and memory_get tools, which work out of the box with any configured memory backend.
Use memory_search for all brain lookups:
memory_search("Raven Duran") # find a person
memory_search("Mamou Prime restaurant") # find a place
memory_search("what games has Raven played") # natural language
memory_search works transparently whether the backend is the built-in SQLite indexer or QMD. No direct CLI calls needed.
Use memory_get to read a specific brain file once you know its path:
memory_get("brain/people/raven-duran.md")
memory_get("brain/places/mamou-prime-sm-podium/mamou-prime-sm-podium.md")
Only use the qmd CLI directly when searching a non-workspace collection (e.g., the skills collection). For all brain lookups, use memory_search.
# Only for skills collection or non-workspace paths:
export PATH="$HOME/.bun/bin:$PATH"
qmd search "keyword" -c skills
memory_search("") to check for existing entriesskills/brain/templates/memory_search or direct path if knownlast_updated fieldmemory_search("") for semantic searchWhen user references something ambiguous (e.g., "John"):
memory_search("John")
Found 2 matches for "John":
1. John Smith (Symph colleague, met 2024)
2. John Doe (GeeksOnABeach speaker, met 2026)
Which one?
Templates live in skills/brain/templates/. Each has:
When creating a new entry:
brain//.md | Category | Folder | Use For |
|----------|--------|---------|
| People | brain/people/ | Anyone user has met or wants to remember |
| Places | brain/places/ | Restaurants, landmarks, venues, locations |
| Games | brain/games/ | Video games — status, opinions, notes |
| Tech | brain/tech/ | Devices, products, specs, quirks |
| Events | brain/events/ | Conferences, meetups, gatherings |
| Media | brain/media/ | Books, shows, films, podcasts |
| Ideas | brain/ideas/ | Business ideas, concepts, random thoughts |
| Orgs | brain/orgs/ | Companies, communities, groups |
Use wikilink-style references to connect entities:
[[people/raven-duran]] — link to a person[[events/geeksonabeach-2026]] — link to an event[[orgs/symph]] — link to an orgThis makes relationships explicit and searchable.
User says: "Hey, I just met this guy called Raven Duran. He's positioning himself as an Agentic coder, met him at GeeksOnABeach PH last February."
Agent does:
memory_search("Raven Duran") → no resultsskills/brain/templates/person.mdbrain/people/raven-duran.md with filled templatebrain/events/geeksonabeach-ph-2026.md and linkUser says: "The Raven Duran guy, he's still 26 years old"
Agent does:
memory_search("Raven Duran") → finds brain/people/raven-duran.mdmemory_get("brain/people/raven-duran.md"), update age: 26 in frontmatter- 2026-02-21: Confirmed still 26 years oldlast_updated fieldBrain entries can have attachments: photos, PDFs, videos, audio, transcripts, etc.
When user sends ANY media (photos, audio, video, PDF) related to a brain entry:
attachments/ — this is NON-NEGOTIABLE"Saved" means the FILE exists in attachments/, not just that content was transcribed.
# REQUIRED: Copy the file
cp /path/to/inbound/media.jpg brain/places/entry/attachments/descriptive-name.jpg
If you transcribed content but didn't save the file → YOU DID IT WRONG. Go back and save it.
Flat file (no attachments):
brain/places/manam.md
Folder structure (with attachments):
brain/places/mamou-prime-sm-podium/
mamou-prime-sm-podium.md # Profile (keeps original name)
attachments/
index.md # Describes each attachment
menu-page-1.jpg
menu-page-2.jpg
receipt.pdf
storefront.mp4
attachments/index.md)# Attachments
| File | Description | Added |
|------|-------------|-------|
| menu-page-1.jpg | Menu first page, mains section | 2026-02-21 |
| menu-page-2.jpg | Menu second page, desserts | 2026-02-21 |
| receipt.pdf | Receipt from Feb visit, ₱2,400 | 2026-02-21 |
| storefront.mp4 | Quick video of the entrance | 2026-02-21 |
QMD (if enabled) indexes this file, making attachments searchable by description.
When user sends media about an entity (e.g., "Here's the menu for Mamou Prime"):
memory_search("Mamou Prime") → brain/places/mamou-prime-sm-podium.md
# Create folder
mkdir -p brain/places/mamou-prime-sm-podium/attachments
# Move profile into folder
mv brain/places/mamou-prime-sm-podium.md brain/places/mamou-prime-sm-podium/
# Create attachments index
touch brain/places/mamou-prime-sm-podium/attachments/index.md
attachments/ with descriptive filenameattachments/index.md with file descriptionDo BOTH:
attachments/The text is searchable and processable. The originals are preserved artifacts.
Never discard attachments unless user explicitly says "cleanup", "remove", or "delete" the files.
Example: User sends menu photos
attachments/menu-1.jpg, menu-2.jpgattachments/index.mdWrong: Only transcribing without saving originals
Be descriptive — the index provides context:
menu-1.jpg, menu-2.jpgbusiness-card.jpgproduct-demo.mp4meeting-transcript.mdvoice-memo-2026-02-21.mp3User sends: 2 photos with message "Menu at Mamou Prime"
Agent does:
brain/places/mamou-prime-sm-podium.md via memory_search("Mamou Prime")attachments/menu-1.jpg, attachments/menu-2.jpgattachments/index.md:
# Attachments
| File | Description | Added |
|------|-------------|-------|
| menu-1.jpg | Menu page 1 (transcribed to profile) | 2026-02-21 |
| menu-2.jpg | Menu page 2 (transcribed to profile) | 2026-02-21 |
Generated Feb 25, 2026
A sales professional uses the skill to capture details about contacts met at conferences, including conversation notes and follow-up actions. This ensures personalized follow-ups and maintains relationship history across events.
A traveler documents experiences at restaurants, landmarks, and events visited during trips. The skill helps retrieve preferences and recommendations for future visits or when advising friends on travel destinations.
An enthusiast logs books, shows, and games consumed, including personal ratings and thoughts. This aids in recalling preferences for recommendations or avoiding repeats, enhancing media discovery and sharing.
A tech hobbyist records specifications, usage notes, and issues for devices and software. This creates a searchable knowledge base for troubleshooting, comparisons, and informed purchasing decisions.
An event planner captures details about venues, speakers, and attendee interactions. The skill facilitates retrieval of past event data for planning future gatherings and managing stakeholder relationships.
Offer basic memory search and entry creation for free, with advanced features like QMD backend integration, priority support, and enhanced analytics as paid tiers. This attracts individual users while monetizing power users and small teams.
Sell customized versions to businesses for internal knowledge management, with features like team collaboration, audit logs, and integration with CRM systems. This targets organizations needing secure, scalable personal knowledge bases.
Develop a marketplace for third-party templates, plugins, and integrations (e.g., with calendar apps or note-taking tools). Revenue is generated through commissions on sales or fees for featured listings, enhancing ecosystem value.
💬 Integration Tip
Start with the built-in memory tools for simplicity; enable QMD backend only if richer search is needed, as it requires additional setup but offers enhanced retrieval capabilities.
Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
Create, search, and manage Bear notes via grizzly CLI.
Track water and sleep with JSON file storage
Notion API for creating and managing pages, databases, and blocks.
Smart ClawdBot documentation access with local search index, cached snippets, and on-demand fetch. Token-efficient and freshness-aware.
Work with Obsidian vaults as a knowledge base. Features: fuzzy/phonetic search across all notes, auto-folder detection for new notes, create/read/edit notes with frontmatter, manage tags and wikilinks. Use when: querying knowledge base, saving notes/documents, editing existing notes by user instructions.