{
  "schemaVersion": "1.0",
  "item": {
    "slug": "big-memory",
    "name": "Big Memory",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/obekt/big-memory",
    "canonicalUrl": "https://clawhub.ai/obekt/big-memory",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/big-memory",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=big-memory",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "references/openclaw-config.md",
      "references/TASK-SNAPSHOT.md",
      "SKILL.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": "big-memory",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T02:04:42.566Z",
      "expiresAt": "2026-05-07T02:04:42.566Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=big-memory",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=big-memory",
        "contentDisposition": "attachment; filename=\"big-memory-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "big-memory"
      },
      "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/big-memory"
    },
    "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/big-memory",
    "agentPageUrl": "https://openagent3.xyz/skills/big-memory/agent",
    "manifestUrl": "https://openagent3.xyz/skills/big-memory/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/big-memory/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": "Big Memory",
        "body": "Structured task snapshots that survive context compaction. Three-phase protocol:\n\nCAPTURE -- Save a structured task snapshot before compaction wipes your context\nDETECT -- Recognize when compaction has occurred and context is missing\nRECOVER -- Search memory for the latest snapshot and resume exactly where you left off\n\nUses only OpenClaw built-in tools (memory_search, memory_get, Read, Edit). No scripts, no external databases, no API keys."
      },
      {
        "title": "Task Snapshot Schema",
        "body": "Every snapshot MUST follow this exact structure. Do not omit fields -- write \"none\" if a field is empty. For the full template with field-by-field guidelines, read {baseDir}/references/TASK-SNAPSHOT.md.\n\n<!-- BIG-MEMORY-SNAPSHOT v1 -->\n<!-- timestamp: YYYY-MM-DDTHH:MM:SS -->\n<!-- snapshot-id: YYYY-MM-DD-NN -->\n\n### [SNAPSHOT] Active Goal\nOne sentence: what is the user trying to accomplish right now? Include the \"why\".\n\n### [SNAPSHOT] Current State\n- Phase: {planning|implementing|debugging|testing|reviewing|deploying}\n- Branch: {git branch name or \"n/a\"}\n- Blocked: {yes|no} -- {blocker description if yes}\n- Progress: {rough percentage or milestone}\n\n### [SNAPSHOT] Files In Play\n- `/path/to/file.ts` -- What is happening in this file\n- `/path/to/other.ts` -- Purpose of this file in current task\n\n### [SNAPSHOT] Decisions Made\n1. Decision description -- rationale for why this was chosen\n2. Another decision -- its rationale\n\n### [SNAPSHOT] Code Context\nKey code that must survive compaction. Only include what cannot be reconstructed from reading files (function signatures being designed, error messages being debugged, exact patterns being replicated). Keep under 50 lines total.\n\n### [SNAPSHOT] Key Names & Values\nExact identifiers that are easy to forget:\n- API endpoint: `POST /api/v1/users`\n- Table name: `user_sessions`\n- Env var: `DATABASE_URL`\n- Error: `ERR_DUPLICATE_KEY`\n\n### [SNAPSHOT] Blockers & Open Questions\n- Blocker: description with context\n- Question: unresolved decision with options considered\n\n### [SNAPSHOT] Next Steps\nOrdered, specific, actionable:\n1. Finish implementing X in `/path/to/file` covering edge cases A, B, C\n2. Write tests for Y endpoint: success (201), duplicate (409), missing fields (400)\n3. Update config to include Z\n\n<!-- /BIG-MEMORY-SNAPSHOT -->\n\nThe HTML comment markers (<!-- BIG-MEMORY-SNAPSHOT v1 --> and <!-- /BIG-MEMORY-SNAPSHOT -->) are critical. They act as machine-parseable delimiters that memory_search matches via BM25 exact-term matching, enabling precise retrieval."
      },
      {
        "title": "Trigger 1: Pre-Compaction Flush (Automatic)",
        "body": "When you receive a system message related to compaction (containing \"compact\", \"memory flush\", \"store durable memories\", or \"nearing compaction\"), execute the CAPTURE protocol instead of writing generic notes. Create a full structured snapshot following the schema above."
      },
      {
        "title": "Trigger 2: Milestone Capture (Agent-Initiated)",
        "body": "After completing a significant unit of work -- implementing a feature, fixing a bug, making an architecture decision -- self-assess: \"If compaction happened right now, would I lose critical context?\" If yes, create a snapshot.\n\nGood times to snapshot:\n\nAfter a design decision that affects multiple files\nAfter writing code the user will refer back to\nAfter debugging a complex issue (capture the root cause and fix)\nWhen switching between subtasks within a larger task"
      },
      {
        "title": "Trigger 3: User Command (User-Initiated)",
        "body": "When the user says /big-memory save, \"save snapshot\", \"checkpoint\", or \"big-memory save\", create a snapshot immediately."
      },
      {
        "title": "How to Store Snapshots",
        "body": "Read the current daily log memory/{YYYY-MM-DD}.md using Read. If it does not exist, you will create it.\nAPPEND the snapshot. Never overwrite existing content. Read the file first, then use Edit to append at the end. Alternatively, use Write with the full existing content plus the new snapshot.\nPrecede the snapshot with a horizontal rule and heading:\n\n---\n\n## Task Snapshot -- HH:MM\n\n<!-- BIG-MEMORY-SNAPSHOT v1 -->\n...\n<!-- /BIG-MEMORY-SNAPSHOT -->\n\nMultiple snapshots in the same file is expected. Each captures a point-in-time state. The most recent snapshot is the source of truth."
      },
      {
        "title": "Step 1: Detect Compaction",
        "body": "Suspect compaction when ANY of these are true:\n\nThe conversation begins with a summary/compaction block rather than the original exchange\nYou cannot recall specific details (file paths, variable names, exact code) that should be known\nThe user says \"you forgot\", \"we were working on\", \"remember when\", \"what was I doing\", or similar\nA system message contains \"Auto-compaction complete\" or similar"
      },
      {
        "title": "Step 2: Search for Latest Snapshot",
        "body": "Execute this search:\n\nmemory_search(\"BIG-MEMORY-SNAPSHOT\")\n\nThis triggers hybrid vector + BM25 search across all memory files. The HTML comment markers ensure high BM25 relevance scoring.\n\nIf results are found, use memory_get or Read to retrieve the full file content at the matched path and line range.\n\nIf no results from the primary search, try broader queries:\n\nmemory_search(\"SNAPSHOT Active Goal Next Steps\")\nmemory_search(\"{today's date} task snapshot\")"
      },
      {
        "title": "Step 3: Inject and Orient",
        "body": "After retrieving a snapshot:\n\nParse the content between <!-- BIG-MEMORY-SNAPSHOT v1 --> and <!-- /BIG-MEMORY-SNAPSHOT --> markers\nInform the user: \"I detected context was compacted. Restoring task state from snapshot taken at {timestamp}...\"\nPresent the recovered state concisely:\n\nGoal: {from Active Goal}\nPhase: {from Current State}\nWorking on: {from Files In Play}\nNext up: {from Next Steps}\n\n\nAsk: \"Does this match where we left off? Anything to update before I continue?\"\nResume work from the Next Steps section"
      },
      {
        "title": "If No Snapshot Found",
        "body": "If no snapshot exists in memory:\n\nSearch more broadly: memory_search(\"{project name}\"), memory_search(\"decided\"), memory_search(\"working on\")\nCheck MEMORY.md for any relevant long-term notes\nTell the user: \"I couldn't find a structured snapshot. Can you briefly remind me what we were working on? I'll save a snapshot this time so it won't happen again.\""
      },
      {
        "title": "Multiple Snapshots",
        "body": "If multiple snapshots are found:\n\nUse the one with the most recent timestamp (check the <!-- timestamp: --> comment)\nIf the user indicates the latest is stale, check the next one back"
      },
      {
        "title": "/big-memory save",
        "body": "Create a snapshot now. Execute the full CAPTURE protocol:\n\nRead {baseDir}/references/TASK-SNAPSHOT.md for the template (first time only)\nAssess the current task state\nFill in all 8 schema sections\nAppend to today's daily log (memory/YYYY-MM-DD.md)\nConfirm: \"Snapshot saved to memory/{date}.md\""
      },
      {
        "title": "/big-memory recall",
        "body": "Search for and display the most recent snapshot:\n\nExecute memory_search(\"BIG-MEMORY-SNAPSHOT\")\nRetrieve the full snapshot via memory_get or Read\nDisplay the recovered state (goal, phase, files, next steps)\nAsk if the user wants to resume from this state"
      },
      {
        "title": "/big-memory status",
        "body": "Show current snapshot information:\n\nSearch for snapshots in today's daily log\nReport: number of snapshots today, timestamp of most recent, whether the current task state has diverged from the last snapshot\nSuggest /big-memory save if no recent snapshot exists, or /big-memory recall if context seems incomplete"
      },
      {
        "title": "/big-memory (no arguments)",
        "body": "Default to status. Show the current state and suggest the most useful action."
      },
      {
        "title": "Recommended Configuration",
        "body": "For optimal automatic capture, add these settings to your project's openclaw.json. See {baseDir}/references/openclaw-config.md for the full configuration.\n\nThe most impactful change is replacing the default generic flush prompt:\n\n{\n  \"agents\": {\n    \"defaults\": {\n      \"compaction\": {\n        \"memoryFlush\": {\n          \"enabled\": true,\n          \"softThresholdTokens\": 40000,\n          \"systemPrompt\": \"You are capturing structured task state for post-compaction recovery. Follow the BIG-MEMORY-SNAPSHOT schema exactly.\",\n          \"prompt\": \"Context compaction is imminent. Create a structured task snapshot following the BIG-MEMORY-SNAPSHOT schema and APPEND it to memory/YYYY-MM-DD.md. Include: active goal, current state, files in play, decisions made, code context (key snippets only), key names/values, blockers, and next steps. Read the existing file first -- never overwrite. Reply NO_FLUSH if nothing worth storing.\"\n        }\n      }\n    }\n  }\n}\n\nThis replaces the default \"store durable memories now\" with instructions that trigger our structured capture protocol."
      },
      {
        "title": "Best Practices",
        "body": "Keep code snippets short. Only include lines that matter: function signatures, error-producing code, regex patterns, config values. If the code is in a committed file, reference the file path instead.\nDon't snapshot trivially. If the conversation is simple Q&A with no state to preserve, skip it. Snapshots are for complex, multi-step tasks.\nLatest snapshot wins. When multiple snapshots exist, the most recent one is the source of truth. Earlier snapshots provide history but should not override later decisions.\nUpdate after corrections. If the user corrects something after recovery, create a new snapshot reflecting the correction.\nPair with MEMORY.md. Use MEMORY.md for long-term knowledge (project architecture, conventions, preferences). Use snapshots only for transient task state that needs to survive the next compaction.\nSnapshot before switching tasks. If you're about to pivot to a different part of the codebase, snapshot the current task so you can return to it."
      }
    ],
    "body": "Big Memory\n\nStructured task snapshots that survive context compaction. Three-phase protocol:\n\nCAPTURE -- Save a structured task snapshot before compaction wipes your context\nDETECT -- Recognize when compaction has occurred and context is missing\nRECOVER -- Search memory for the latest snapshot and resume exactly where you left off\n\nUses only OpenClaw built-in tools (memory_search, memory_get, Read, Edit). No scripts, no external databases, no API keys.\n\nTask Snapshot Schema\n\nEvery snapshot MUST follow this exact structure. Do not omit fields -- write \"none\" if a field is empty. For the full template with field-by-field guidelines, read {baseDir}/references/TASK-SNAPSHOT.md.\n\n<!-- BIG-MEMORY-SNAPSHOT v1 -->\n<!-- timestamp: YYYY-MM-DDTHH:MM:SS -->\n<!-- snapshot-id: YYYY-MM-DD-NN -->\n\n### [SNAPSHOT] Active Goal\nOne sentence: what is the user trying to accomplish right now? Include the \"why\".\n\n### [SNAPSHOT] Current State\n- Phase: {planning|implementing|debugging|testing|reviewing|deploying}\n- Branch: {git branch name or \"n/a\"}\n- Blocked: {yes|no} -- {blocker description if yes}\n- Progress: {rough percentage or milestone}\n\n### [SNAPSHOT] Files In Play\n- `/path/to/file.ts` -- What is happening in this file\n- `/path/to/other.ts` -- Purpose of this file in current task\n\n### [SNAPSHOT] Decisions Made\n1. Decision description -- rationale for why this was chosen\n2. Another decision -- its rationale\n\n### [SNAPSHOT] Code Context\nKey code that must survive compaction. Only include what cannot be reconstructed from reading files (function signatures being designed, error messages being debugged, exact patterns being replicated). Keep under 50 lines total.\n\n### [SNAPSHOT] Key Names & Values\nExact identifiers that are easy to forget:\n- API endpoint: `POST /api/v1/users`\n- Table name: `user_sessions`\n- Env var: `DATABASE_URL`\n- Error: `ERR_DUPLICATE_KEY`\n\n### [SNAPSHOT] Blockers & Open Questions\n- Blocker: description with context\n- Question: unresolved decision with options considered\n\n### [SNAPSHOT] Next Steps\nOrdered, specific, actionable:\n1. Finish implementing X in `/path/to/file` covering edge cases A, B, C\n2. Write tests for Y endpoint: success (201), duplicate (409), missing fields (400)\n3. Update config to include Z\n\n<!-- /BIG-MEMORY-SNAPSHOT -->\n\n\nThe HTML comment markers (<!-- BIG-MEMORY-SNAPSHOT v1 --> and <!-- /BIG-MEMORY-SNAPSHOT -->) are critical. They act as machine-parseable delimiters that memory_search matches via BM25 exact-term matching, enabling precise retrieval.\n\nWhen to Capture\nTrigger 1: Pre-Compaction Flush (Automatic)\n\nWhen you receive a system message related to compaction (containing \"compact\", \"memory flush\", \"store durable memories\", or \"nearing compaction\"), execute the CAPTURE protocol instead of writing generic notes. Create a full structured snapshot following the schema above.\n\nTrigger 2: Milestone Capture (Agent-Initiated)\n\nAfter completing a significant unit of work -- implementing a feature, fixing a bug, making an architecture decision -- self-assess: \"If compaction happened right now, would I lose critical context?\" If yes, create a snapshot.\n\nGood times to snapshot:\n\nAfter a design decision that affects multiple files\nAfter writing code the user will refer back to\nAfter debugging a complex issue (capture the root cause and fix)\nWhen switching between subtasks within a larger task\nTrigger 3: User Command (User-Initiated)\n\nWhen the user says /big-memory save, \"save snapshot\", \"checkpoint\", or \"big-memory save\", create a snapshot immediately.\n\nHow to Store Snapshots\nRead the current daily log memory/{YYYY-MM-DD}.md using Read. If it does not exist, you will create it.\nAPPEND the snapshot. Never overwrite existing content. Read the file first, then use Edit to append at the end. Alternatively, use Write with the full existing content plus the new snapshot.\nPrecede the snapshot with a horizontal rule and heading:\n---\n\n## Task Snapshot -- HH:MM\n\n<!-- BIG-MEMORY-SNAPSHOT v1 -->\n...\n<!-- /BIG-MEMORY-SNAPSHOT -->\n\nMultiple snapshots in the same file is expected. Each captures a point-in-time state. The most recent snapshot is the source of truth.\nPost-Compaction Recovery Protocol\nStep 1: Detect Compaction\n\nSuspect compaction when ANY of these are true:\n\nThe conversation begins with a summary/compaction block rather than the original exchange\nYou cannot recall specific details (file paths, variable names, exact code) that should be known\nThe user says \"you forgot\", \"we were working on\", \"remember when\", \"what was I doing\", or similar\nA system message contains \"Auto-compaction complete\" or similar\nStep 2: Search for Latest Snapshot\n\nExecute this search:\n\nmemory_search(\"BIG-MEMORY-SNAPSHOT\")\n\n\nThis triggers hybrid vector + BM25 search across all memory files. The HTML comment markers ensure high BM25 relevance scoring.\n\nIf results are found, use memory_get or Read to retrieve the full file content at the matched path and line range.\n\nIf no results from the primary search, try broader queries:\n\nmemory_search(\"SNAPSHOT Active Goal Next Steps\")\nmemory_search(\"{today's date} task snapshot\")\n\nStep 3: Inject and Orient\n\nAfter retrieving a snapshot:\n\nParse the content between <!-- BIG-MEMORY-SNAPSHOT v1 --> and <!-- /BIG-MEMORY-SNAPSHOT --> markers\nInform the user: \"I detected context was compacted. Restoring task state from snapshot taken at {timestamp}...\"\nPresent the recovered state concisely:\nGoal: {from Active Goal}\nPhase: {from Current State}\nWorking on: {from Files In Play}\nNext up: {from Next Steps}\nAsk: \"Does this match where we left off? Anything to update before I continue?\"\nResume work from the Next Steps section\nIf No Snapshot Found\n\nIf no snapshot exists in memory:\n\nSearch more broadly: memory_search(\"{project name}\"), memory_search(\"decided\"), memory_search(\"working on\")\nCheck MEMORY.md for any relevant long-term notes\nTell the user: \"I couldn't find a structured snapshot. Can you briefly remind me what we were working on? I'll save a snapshot this time so it won't happen again.\"\nMultiple Snapshots\n\nIf multiple snapshots are found:\n\nUse the one with the most recent timestamp (check the <!-- timestamp: --> comment)\nIf the user indicates the latest is stale, check the next one back\n/big-memory Command\n/big-memory save\n\nCreate a snapshot now. Execute the full CAPTURE protocol:\n\nRead {baseDir}/references/TASK-SNAPSHOT.md for the template (first time only)\nAssess the current task state\nFill in all 8 schema sections\nAppend to today's daily log (memory/YYYY-MM-DD.md)\nConfirm: \"Snapshot saved to memory/{date}.md\"\n/big-memory recall\n\nSearch for and display the most recent snapshot:\n\nExecute memory_search(\"BIG-MEMORY-SNAPSHOT\")\nRetrieve the full snapshot via memory_get or Read\nDisplay the recovered state (goal, phase, files, next steps)\nAsk if the user wants to resume from this state\n/big-memory status\n\nShow current snapshot information:\n\nSearch for snapshots in today's daily log\nReport: number of snapshots today, timestamp of most recent, whether the current task state has diverged from the last snapshot\nSuggest /big-memory save if no recent snapshot exists, or /big-memory recall if context seems incomplete\n/big-memory (no arguments)\n\nDefault to status. Show the current state and suggest the most useful action.\n\nRecommended Configuration\n\nFor optimal automatic capture, add these settings to your project's openclaw.json. See {baseDir}/references/openclaw-config.md for the full configuration.\n\nThe most impactful change is replacing the default generic flush prompt:\n\n{\n  \"agents\": {\n    \"defaults\": {\n      \"compaction\": {\n        \"memoryFlush\": {\n          \"enabled\": true,\n          \"softThresholdTokens\": 40000,\n          \"systemPrompt\": \"You are capturing structured task state for post-compaction recovery. Follow the BIG-MEMORY-SNAPSHOT schema exactly.\",\n          \"prompt\": \"Context compaction is imminent. Create a structured task snapshot following the BIG-MEMORY-SNAPSHOT schema and APPEND it to memory/YYYY-MM-DD.md. Include: active goal, current state, files in play, decisions made, code context (key snippets only), key names/values, blockers, and next steps. Read the existing file first -- never overwrite. Reply NO_FLUSH if nothing worth storing.\"\n        }\n      }\n    }\n  }\n}\n\n\nThis replaces the default \"store durable memories now\" with instructions that trigger our structured capture protocol.\n\nBest Practices\nKeep code snippets short. Only include lines that matter: function signatures, error-producing code, regex patterns, config values. If the code is in a committed file, reference the file path instead.\nDon't snapshot trivially. If the conversation is simple Q&A with no state to preserve, skip it. Snapshots are for complex, multi-step tasks.\nLatest snapshot wins. When multiple snapshots exist, the most recent one is the source of truth. Earlier snapshots provide history but should not override later decisions.\nUpdate after corrections. If the user corrects something after recovery, create a new snapshot reflecting the correction.\nPair with MEMORY.md. Use MEMORY.md for long-term knowledge (project architecture, conventions, preferences). Use snapshots only for transient task state that needs to survive the next compaction.\nSnapshot before switching tasks. If you're about to pivot to a different part of the codebase, snapshot the current task so you can return to it."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/obekt/big-memory",
    "publisherUrl": "https://clawhub.ai/obekt/big-memory",
    "owner": "obekt",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/big-memory",
    "downloadUrl": "https://openagent3.xyz/downloads/big-memory",
    "agentUrl": "https://openagent3.xyz/skills/big-memory/agent",
    "manifestUrl": "https://openagent3.xyz/skills/big-memory/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/big-memory/agent.md"
  }
}