{
  "schemaVersion": "1.0",
  "item": {
    "slug": "2nd-brain",
    "name": "2nd Brain",
    "source": "tencent",
    "type": "skill",
    "category": "其他",
    "sourceUrl": "https://clawhub.ai/coderaven/2nd-brain",
    "canonicalUrl": "https://clawhub.ai/coderaven/2nd-brain",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/2nd-brain",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=2nd-brain",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "templates/attachments-index.md",
      "templates/event.md",
      "templates/game.md",
      "templates/idea.md",
      "templates/media.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "2nd-brain",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-22T14:04:09.960Z",
      "expiresAt": "2026-04-29T14:04:09.960Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=2nd-brain",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=2nd-brain",
        "contentDisposition": "attachment; filename=\"2nd-brain-1.3.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "2nd-brain"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/2nd-brain"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/2nd-brain",
    "agentPageUrl": "https://openagent3.xyz/skills/2nd-brain/agent",
    "manifestUrl": "https://openagent3.xyz/skills/2nd-brain/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/2nd-brain/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Brain Skill — 2nd Brain Knowledge Base",
        "body": "A personal knowledge management system for capturing and retrieving information about people, places, things, and ideas."
      },
      {
        "title": "When to Use This Skill",
        "body": "Brain takes precedence over daily logs for named entities.\n\nTrigger this skill when:\n\nUser asks you to remember someone, something, or somewhere\nUser shares information about a person, place, game, tech, event, media, idea, or organization\nUser expresses a preference about an entity (\"I like X at Y restaurant\" → update Y's file)\nUser asks about something that might be in the brain (\"Who was that guy from...\", \"What did I think about...\")\nUser updates existing knowledge (\"Actually, he's 27 now\", \"I finished that game\")\n\nKeywords that trigger: \"remember\", \"note that\", \"met this person\", \"visited\", \"played\", \"watched\", \"read\", \"idea:\", \"what do I know about\", \"who is\", \"where was\"\n\n⚠️ 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.\n\n🚨 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."
      },
      {
        "title": "Data Location",
        "body": "All brain data lives in: ~/.openclaw/workspace/brain/\n\nbrain/\n  people/       # Contacts, people you've met\n  places/       # Restaurants, landmarks, venues\n  games/        # Video games and interactions\n  tech/         # Devices, products, specs, gotchas\n  events/       # Conferences, meetups, gatherings\n  media/        # Books, shows, films, podcasts\n  ideas/        # Business ideas, concepts, thoughts\n  orgs/         # Companies, communities, groups"
      },
      {
        "title": "Search & Retrieval",
        "body": "This skill uses OpenClaw's built-in memory_search and memory_get tools, which work out of the box with any configured memory backend."
      },
      {
        "title": "Searching",
        "body": "Use memory_search for all brain lookups:\n\nmemory_search(\"Raven Duran\")              # find a person\nmemory_search(\"Mamou Prime restaurant\")   # find a place\nmemory_search(\"what games has Raven played\") # natural language\n\nmemory_search works transparently whether the backend is the built-in SQLite indexer or QMD. No direct CLI calls needed."
      },
      {
        "title": "Reading a File",
        "body": "Use memory_get to read a specific brain file once you know its path:\n\nmemory_get(\"brain/people/raven-duran.md\")\nmemory_get(\"brain/places/mamou-prime-sm-podium/mamou-prime-sm-podium.md\")"
      },
      {
        "title": "Direct CLI (Optional / Advanced Only)",
        "body": "Only use the qmd CLI directly when searching a non-workspace collection (e.g., the skills collection). For all brain lookups, use memory_search.\n\n# Only for skills collection or non-workspace paths:\nexport PATH=\"$HOME/.bun/bin:$PATH\"\nqmd search \"keyword\" -c skills"
      },
      {
        "title": "Creating a New Entry",
        "body": "Search first — Run memory_search(\"<name or topic>\") to check for existing entries\nNo match — Create new file using the appropriate template from skills/brain/templates/\nPossible clash — List all potential matches and ask user to confirm before creating"
      },
      {
        "title": "Updating an Existing Entry",
        "body": "Find the file — Use memory_search or direct path if known\nSurgical edit — Update only the relevant section, don't rewrite the whole file\nLog the date — Add timestamp to Notes or Interactions section\nUpdate frontmatter — Bump last_updated field"
      },
      {
        "title": "Searching / Retrieving",
        "body": "Query memory_search — memory_search(\"<natural language question>\") for semantic search\nAmbiguous results — Surface all candidates to user, ask which one\nNo results — Tell user nothing found, offer to create entry"
      },
      {
        "title": "Disambiguation Protocol",
        "body": "When user references something ambiguous (e.g., \"John\"):\n\nSearch brain for all matches using memory_search(\"John\")\nIf multiple results: list them with context\nFound 2 matches for \"John\":\n1. John Smith (Symph colleague, met 2024)\n2. John Doe (GeeksOnABeach speaker, met 2026)\nWhich one?\n\n\nWait for confirmation before updating"
      },
      {
        "title": "Templates",
        "body": "Templates live in skills/brain/templates/. Each has:\n\nYAML frontmatter with structured fields\nMarkdown body with standard sections\n\nWhen creating a new entry:\n\nRead the appropriate template\nFill in known fields\nLeave unknown fields empty or with placeholder\nWrite to brain/<category>/<slug>.md"
      },
      {
        "title": "Categories Reference",
        "body": "CategoryFolderUse ForPeoplebrain/people/Anyone user has met or wants to rememberPlacesbrain/places/Restaurants, landmarks, venues, locationsGamesbrain/games/Video games — status, opinions, notesTechbrain/tech/Devices, products, specs, quirksEventsbrain/events/Conferences, meetups, gatheringsMediabrain/media/Books, shows, films, podcastsIdeasbrain/ideas/Business ideas, concepts, random thoughtsOrgsbrain/orgs/Companies, communities, groups"
      },
      {
        "title": "Linking Entities",
        "body": "Use wikilink-style references to connect entities:\n\n[[people/raven-duran]] — link to a person\n[[events/geeksonabeach-2026]] — link to an event\n[[orgs/symph]] — link to an org\n\nThis makes relationships explicit and searchable."
      },
      {
        "title": "Example Workflow",
        "body": "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.\"\n\nAgent does:\n\nmemory_search(\"Raven Duran\") → no results\nRead skills/brain/templates/person.md\nCreate brain/people/raven-duran.md with filled template\nOptionally check/create brain/events/geeksonabeach-ph-2026.md and link\n\nUser says: \"The Raven Duran guy, he's still 26 years old\"\n\nAgent does:\n\nmemory_search(\"Raven Duran\") → finds brain/people/raven-duran.md\nRead file via memory_get(\"brain/people/raven-duran.md\"), update age: 26 in frontmatter\nAdd note: - **2026-02-21**: Confirmed still 26 years old\nUpdate last_updated field"
      },
      {
        "title": "Attachments",
        "body": "Brain entries can have attachments: photos, PDFs, videos, audio, transcripts, etc."
      },
      {
        "title": "🚨 MANDATORY: Save All Media Files",
        "body": "When user sends ANY media (photos, audio, video, PDF) related to a brain entry:\n\nALWAYS save the actual file to attachments/ — this is NON-NEGOTIABLE\nTHEN analyze/transcribe the content into the profile\nNEVER skip saving the file just because you processed its content\n\n\"Saved\" means the FILE exists in attachments/, not just that content was transcribed.\n\n# REQUIRED: Copy the file\ncp /path/to/inbound/media.jpg brain/places/entry/attachments/descriptive-name.jpg\n\nIf you transcribed content but didn't save the file → YOU DID IT WRONG. Go back and save it."
      },
      {
        "title": "Structure",
        "body": "Flat file (no attachments):\n\nbrain/places/manam.md\n\nFolder structure (with attachments):\n\nbrain/places/mamou-prime-sm-podium/\n  mamou-prime-sm-podium.md      # Profile (keeps original name)\n  attachments/\n    index.md                    # Describes each attachment\n    menu-page-1.jpg\n    menu-page-2.jpg\n    receipt.pdf\n    storefront.mp4"
      },
      {
        "title": "Attachments Index (attachments/index.md)",
        "body": "# Attachments\n\n| File | Description | Added |\n|------|-------------|-------|\n| menu-page-1.jpg | Menu first page, mains section | 2026-02-21 |\n| menu-page-2.jpg | Menu second page, desserts | 2026-02-21 |\n| receipt.pdf | Receipt from Feb visit, ₱2,400 | 2026-02-21 |\n| storefront.mp4 | Quick video of the entrance | 2026-02-21 |\n\nQMD (if enabled) indexes this file, making attachments searchable by description."
      },
      {
        "title": "Adding Attachments",
        "body": "When user sends media about an entity (e.g., \"Here's the menu for Mamou Prime\"):\n\nFind the entry — memory_search(\"Mamou Prime\") → brain/places/mamou-prime-sm-podium.md\n\n\nConvert to folder structure (if flat file):\n# Create folder\nmkdir -p brain/places/mamou-prime-sm-podium/attachments\n# Move profile into folder\nmv brain/places/mamou-prime-sm-podium.md brain/places/mamou-prime-sm-podium/\n# Create attachments index\ntouch brain/places/mamou-prime-sm-podium/attachments/index.md\n\n\n\nSave media to attachments/ with descriptive filename\n\n\nUpdate attachments/index.md with file description"
      },
      {
        "title": "⚠️ Always Save Original Files",
        "body": "Do BOTH:\n\nAnalyze/transcribe the content → add processed text to the profile (e.g., menu tables, business card info, transcript)\nSave the original files → preserve in attachments/\n\nThe text is searchable and processable. The originals are preserved artifacts.\n\nNever discard attachments unless user explicitly says \"cleanup\", \"remove\", or \"delete\" the files.\n\nExample: User sends menu photos\n\n✅ Transcribe menu into markdown tables in profile\n✅ Save original photos to attachments/menu-1.jpg, menu-2.jpg\n✅ Update attachments/index.md\n\nWrong: Only transcribing without saving originals"
      },
      {
        "title": "Naming Attachments",
        "body": "Be descriptive — the index provides context:\n\nmenu-1.jpg, menu-2.jpg\nbusiness-card.jpg\nproduct-demo.mp4\nmeeting-transcript.md\nvoice-memo-2026-02-21.mp3"
      },
      {
        "title": "Example: Adding Menu Photos",
        "body": "User sends: 2 photos with message \"Menu at Mamou Prime\"\n\nAgent does:\n\nFind brain/places/mamou-prime-sm-podium.md via memory_search(\"Mamou Prime\")\nConvert to folder structure (if needed)\nAnalyze photos → transcribe menu items, prices into markdown tables\nUpdate profile with transcribed menu section\nSave original photos as attachments/menu-1.jpg, attachments/menu-2.jpg\nUpdate attachments/index.md:\n# Attachments\n\n| File | Description | Added |\n|------|-------------|-------|\n| menu-1.jpg | Menu page 1 (transcribed to profile) | 2026-02-21 |\n| menu-2.jpg | Menu page 2 (transcribed to profile) | 2026-02-21 |\n\n\nConfirm to user: \"Transcribed menu and saved 2 photos to Mamou Prime\""
      }
    ],
    "body": "Brain Skill — 2nd Brain Knowledge Base\n\nA personal knowledge management system for capturing and retrieving information about people, places, things, and ideas.\n\nWhen to Use This Skill\n\nBrain takes precedence over daily logs for named entities.\n\nTrigger this skill when:\n\nUser asks you to remember someone, something, or somewhere\nUser shares information about a person, place, game, tech, event, media, idea, or organization\nUser expresses a preference about an entity (\"I like X at Y restaurant\" → update Y's file)\nUser asks about something that might be in the brain (\"Who was that guy from...\", \"What did I think about...\")\nUser updates existing knowledge (\"Actually, he's 27 now\", \"I finished that game\")\n\nKeywords that trigger: \"remember\", \"note that\", \"met this person\", \"visited\", \"played\", \"watched\", \"read\", \"idea:\", \"what do I know about\", \"who is\", \"where was\"\n\n⚠️ 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.\n\n🚨 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.\n\nData Location\n\nAll brain data lives in: ~/.openclaw/workspace/brain/\n\nbrain/\n  people/       # Contacts, people you've met\n  places/       # Restaurants, landmarks, venues\n  games/        # Video games and interactions\n  tech/         # Devices, products, specs, gotchas\n  events/       # Conferences, meetups, gatherings\n  media/        # Books, shows, films, podcasts\n  ideas/        # Business ideas, concepts, thoughts\n  orgs/         # Companies, communities, groups\n\nSearch & Retrieval\n\nThis skill uses OpenClaw's built-in memory_search and memory_get tools, which work out of the box with any configured memory backend.\n\nSearching\n\nUse memory_search for all brain lookups:\n\nmemory_search(\"Raven Duran\")              # find a person\nmemory_search(\"Mamou Prime restaurant\")   # find a place\nmemory_search(\"what games has Raven played\") # natural language\n\n\nmemory_search works transparently whether the backend is the built-in SQLite indexer or QMD. No direct CLI calls needed.\n\nReading a File\n\nUse memory_get to read a specific brain file once you know its path:\n\nmemory_get(\"brain/people/raven-duran.md\")\nmemory_get(\"brain/places/mamou-prime-sm-podium/mamou-prime-sm-podium.md\")\n\nDirect CLI (Optional / Advanced Only)\n\nOnly use the qmd CLI directly when searching a non-workspace collection (e.g., the skills collection). For all brain lookups, use memory_search.\n\n# Only for skills collection or non-workspace paths:\nexport PATH=\"$HOME/.bun/bin:$PATH\"\nqmd search \"keyword\" -c skills\n\nOperational Rules\nCreating a New Entry\nSearch first — Run memory_search(\"<name or topic>\") to check for existing entries\nNo match — Create new file using the appropriate template from skills/brain/templates/\nPossible clash — List all potential matches and ask user to confirm before creating\nUpdating an Existing Entry\nFind the file — Use memory_search or direct path if known\nSurgical edit — Update only the relevant section, don't rewrite the whole file\nLog the date — Add timestamp to Notes or Interactions section\nUpdate frontmatter — Bump last_updated field\nSearching / Retrieving\nQuery memory_search — memory_search(\"<natural language question>\") for semantic search\nAmbiguous results — Surface all candidates to user, ask which one\nNo results — Tell user nothing found, offer to create entry\nDisambiguation Protocol\n\nWhen user references something ambiguous (e.g., \"John\"):\n\nSearch brain for all matches using memory_search(\"John\")\nIf multiple results: list them with context\nFound 2 matches for \"John\":\n1. John Smith (Symph colleague, met 2024)\n2. John Doe (GeeksOnABeach speaker, met 2026)\nWhich one?\n\nWait for confirmation before updating\nTemplates\n\nTemplates live in skills/brain/templates/. Each has:\n\nYAML frontmatter with structured fields\nMarkdown body with standard sections\n\nWhen creating a new entry:\n\nRead the appropriate template\nFill in known fields\nLeave unknown fields empty or with placeholder\nWrite to brain/<category>/<slug>.md\nCategories Reference\nCategory\tFolder\tUse For\nPeople\tbrain/people/\tAnyone user has met or wants to remember\nPlaces\tbrain/places/\tRestaurants, landmarks, venues, locations\nGames\tbrain/games/\tVideo games — status, opinions, notes\nTech\tbrain/tech/\tDevices, products, specs, quirks\nEvents\tbrain/events/\tConferences, meetups, gatherings\nMedia\tbrain/media/\tBooks, shows, films, podcasts\nIdeas\tbrain/ideas/\tBusiness ideas, concepts, random thoughts\nOrgs\tbrain/orgs/\tCompanies, communities, groups\nLinking Entities\n\nUse wikilink-style references to connect entities:\n\n[[people/raven-duran]] — link to a person\n[[events/geeksonabeach-2026]] — link to an event\n[[orgs/symph]] — link to an org\n\nThis makes relationships explicit and searchable.\n\nExample Workflow\n\nUser 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.\"\n\nAgent does:\n\nmemory_search(\"Raven Duran\") → no results\nRead skills/brain/templates/person.md\nCreate brain/people/raven-duran.md with filled template\nOptionally check/create brain/events/geeksonabeach-ph-2026.md and link\n\nUser says: \"The Raven Duran guy, he's still 26 years old\"\n\nAgent does:\n\nmemory_search(\"Raven Duran\") → finds brain/people/raven-duran.md\nRead file via memory_get(\"brain/people/raven-duran.md\"), update age: 26 in frontmatter\nAdd note: - **2026-02-21**: Confirmed still 26 years old\nUpdate last_updated field\nAttachments\n\nBrain entries can have attachments: photos, PDFs, videos, audio, transcripts, etc.\n\n🚨 MANDATORY: Save All Media Files\n\nWhen user sends ANY media (photos, audio, video, PDF) related to a brain entry:\n\nALWAYS save the actual file to attachments/ — this is NON-NEGOTIABLE\nTHEN analyze/transcribe the content into the profile\nNEVER skip saving the file just because you processed its content\n\n\"Saved\" means the FILE exists in attachments/, not just that content was transcribed.\n\n# REQUIRED: Copy the file\ncp /path/to/inbound/media.jpg brain/places/entry/attachments/descriptive-name.jpg\n\n\nIf you transcribed content but didn't save the file → YOU DID IT WRONG. Go back and save it.\n\nStructure\n\nFlat file (no attachments):\n\nbrain/places/manam.md\n\n\nFolder structure (with attachments):\n\nbrain/places/mamou-prime-sm-podium/\n  mamou-prime-sm-podium.md      # Profile (keeps original name)\n  attachments/\n    index.md                    # Describes each attachment\n    menu-page-1.jpg\n    menu-page-2.jpg\n    receipt.pdf\n    storefront.mp4\n\nAttachments Index (attachments/index.md)\n# Attachments\n\n| File | Description | Added |\n|------|-------------|-------|\n| menu-page-1.jpg | Menu first page, mains section | 2026-02-21 |\n| menu-page-2.jpg | Menu second page, desserts | 2026-02-21 |\n| receipt.pdf | Receipt from Feb visit, ₱2,400 | 2026-02-21 |\n| storefront.mp4 | Quick video of the entrance | 2026-02-21 |\n\n\nQMD (if enabled) indexes this file, making attachments searchable by description.\n\nAdding Attachments\n\nWhen user sends media about an entity (e.g., \"Here's the menu for Mamou Prime\"):\n\nFind the entry — memory_search(\"Mamou Prime\") → brain/places/mamou-prime-sm-podium.md\n\nConvert to folder structure (if flat file):\n\n# Create folder\nmkdir -p brain/places/mamou-prime-sm-podium/attachments\n# Move profile into folder\nmv brain/places/mamou-prime-sm-podium.md brain/places/mamou-prime-sm-podium/\n# Create attachments index\ntouch brain/places/mamou-prime-sm-podium/attachments/index.md\n\n\nSave media to attachments/ with descriptive filename\n\nUpdate attachments/index.md with file description\n\n⚠️ Always Save Original Files\n\nDo BOTH:\n\nAnalyze/transcribe the content → add processed text to the profile (e.g., menu tables, business card info, transcript)\nSave the original files → preserve in attachments/\n\nThe text is searchable and processable. The originals are preserved artifacts.\n\nNever discard attachments unless user explicitly says \"cleanup\", \"remove\", or \"delete\" the files.\n\nExample: User sends menu photos\n\n✅ Transcribe menu into markdown tables in profile\n✅ Save original photos to attachments/menu-1.jpg, menu-2.jpg\n✅ Update attachments/index.md\n\nWrong: Only transcribing without saving originals\n\nNaming Attachments\n\nBe descriptive — the index provides context:\n\nmenu-1.jpg, menu-2.jpg\nbusiness-card.jpg\nproduct-demo.mp4\nmeeting-transcript.md\nvoice-memo-2026-02-21.mp3\nExample: Adding Menu Photos\n\nUser sends: 2 photos with message \"Menu at Mamou Prime\"\n\nAgent does:\n\nFind brain/places/mamou-prime-sm-podium.md via memory_search(\"Mamou Prime\")\nConvert to folder structure (if needed)\nAnalyze photos → transcribe menu items, prices into markdown tables\nUpdate profile with transcribed menu section\nSave original photos as attachments/menu-1.jpg, attachments/menu-2.jpg\nUpdate attachments/index.md:\n# Attachments\n\n| File | Description | Added |\n|------|-------------|-------|\n| menu-1.jpg | Menu page 1 (transcribed to profile) | 2026-02-21 |\n| menu-2.jpg | Menu page 2 (transcribed to profile) | 2026-02-21 |\n\nConfirm to user: \"Transcribed menu and saved 2 photos to Mamou Prime\""
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/coderaven/2nd-brain",
    "publisherUrl": "https://clawhub.ai/coderaven/2nd-brain",
    "owner": "coderaven",
    "version": "1.3.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/2nd-brain",
    "downloadUrl": "https://openagent3.xyz/downloads/2nd-brain",
    "agentUrl": "https://openagent3.xyz/skills/2nd-brain/agent",
    "manifestUrl": "https://openagent3.xyz/skills/2nd-brain/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/2nd-brain/agent.md"
  }
}