{
  "schemaVersion": "1.0",
  "item": {
    "slug": "nate-jones-second-brain",
    "name": "Nate Jones Second Brain",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/justfinethanku/nate-jones-second-brain",
    "canonicalUrl": "https://clawhub.ai/justfinethanku/nate-jones-second-brain",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/nate-jones-second-brain",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nate-jones-second-brain",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/concepts.md",
      "references/ingest.md",
      "references/openrouter.md",
      "references/retrieval.md",
      "references/schema.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",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/nate-jones-second-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/nate-jones-second-brain",
    "agentPageUrl": "https://openagent3.xyz/skills/nate-jones-second-brain/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nate-jones-second-brain/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nate-jones-second-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": "Nate Jones Second Brain",
        "body": "When intelligence is abundant, context becomes the scarce resource. This skill is context architecture — a persistent, searchable knowledge layer that turns your agent into a personal knowledge manager.\n\nTwo opinionated primitives:\n\nSupabase — your database, and so much more. PostgreSQL + pgvector. Stores thoughts, people, projects, ideas, and tasks as structured data with vector embeddings. REST API built in. Your data, your infrastructure. Models come and go; your context persists. And once you have a Supabase project, you've unlocked the foundation for everything else you'll want to build — the Second Brain is just the beginning.\nOpenRouter — your AI gateway. One API key, every model. Embeddings and LLM calls for classification and routing. Swap models by changing a string. Future-proof by design.\n\nEverything else — how you capture thoughts, how you retrieve them, what you build on top — is application layer. The skill covers the foundation.\n\nIf the tables don't exist yet, see {baseDir}/references/setup.md"
      },
      {
        "title": "Building Blocks",
        "body": "These are the operational concepts behind the system. Understanding them helps you operate correctly.\n\nBlockWhat It DoesImplementationDrop BoxOne frictionless capture pointEverything goes to thoughts firstSorterAI classification + routingLLM classifies type, then routes to structured tableFormConsistent data contractsEach table has a defined schemaFiling CabinetSource of truth per categorypeople, projects, ideas, admin tablesBouncerConfidence thresholdconfidence < 0.6 = don't route, stay in inboxReceiptAudit trailthoughts row logs what came in, where it wentTap on the ShoulderProactive surfacingDaily digest queries (application layer)Fix ButtonAgent-mediated correctionsMove records between tables on user request\n\nFull conceptual framework: {baseDir}/references/concepts.md"
      },
      {
        "title": "Five Tables",
        "body": "TableRoleKey FieldsthoughtsInbox Log / audit trailcontent, embedding, metadata (type, topics, people, confidence, routed_to)peopleRelationship trackingname (unique), context, follow_ups, tags, embeddingprojectsWork trackingname, status, next_action, notes, tags, embeddingideasInsight capturetitle, summary, elaboration, topics, embeddingadminTask managementname, due_date, status, notes, embedding\n\nEvery table has semantic search via its own match_* function. Cross-table search via search_all."
      },
      {
        "title": "Routing Rules",
        "body": "When a thought is classified:\n\nTypeRouteActionperson_notepeopleUpsert: create person or append to existing contexttaskadminInsert new task (status=pending)ideaideasInsert new ideaobservationnoneStays in thoughts onlyreferencenoneStays in thoughts only\n\nIf confidence < 0.6, don't route. Leave in thoughts, tell user."
      },
      {
        "title": "Capture a thought (full pipeline)",
        "body": "# 1. Embed\nEMBEDDING=$(curl -s -X POST \"https://openrouter.ai/api/v1/embeddings\" \\\n  -H \"Authorization: Bearer $OPENROUTER_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"openai/text-embedding-3-small\", \"input\": \"Sarah mentioned she is thinking about leaving her job to start consulting\"}' \\\n  | jq -c '.data[0].embedding')\n\n# 2. Classify (run in parallel with step 1)\nMETADATA=$(curl -s -X POST \"https://openrouter.ai/api/v1/chat/completions\" \\\n  -H \"Authorization: Bearer $OPENROUTER_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"openai/gpt-4o-mini\", \"response_format\": {\"type\": \"json_object\"}, \"messages\": [{\"role\": \"system\", \"content\": \"Extract metadata from the captured thought. Return JSON with: type (observation/task/idea/reference/person_note), topics (1-3 tags), people (array), action_items (array), dates_mentioned (array), confidence (0-1), suggested_route (people/projects/ideas/admin/null), extracted_fields (structured data for destination table).\"}, {\"role\": \"user\", \"content\": \"Sarah mentioned she is thinking about leaving her job to start consulting\"}]}' \\\n  | jq -r '.choices[0].message.content')\n\n# 3. Store in thoughts (the Receipt)\ncurl -s -X POST \"$SUPABASE_URL/rest/v1/thoughts\" \\\n  -H \"apikey: $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Authorization: Bearer $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Prefer: return=representation\" \\\n  -d \"[{\\\"content\\\": \\\"Sarah mentioned she is thinking about leaving her job to start consulting\\\", \\\"embedding\\\": $EMBEDDING, \\\"metadata\\\": $METADATA}]\"\n\n# 4. Route based on classification (if confidence >= 0.6)\n\nFull pipeline with routing logic: {baseDir}/references/ingest.md"
      },
      {
        "title": "Semantic search (single table)",
        "body": "QUERY_EMBEDDING=$(curl -s -X POST \"https://openrouter.ai/api/v1/embeddings\" \\\n  -H \"Authorization: Bearer $OPENROUTER_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"openai/text-embedding-3-small\", \"input\": \"career changes\"}' \\\n  | jq -c '.data[0].embedding')\n\ncurl -s -X POST \"$SUPABASE_URL/rest/v1/rpc/match_thoughts\" \\\n  -H \"apikey: $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Authorization: Bearer $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"query_embedding\\\": $QUERY_EMBEDDING, \\\"match_threshold\\\": 0.5, \\\"match_count\\\": 10, \\\"filter\\\": {}}\""
      },
      {
        "title": "Cross-table search",
        "body": "curl -s -X POST \"$SUPABASE_URL/rest/v1/rpc/search_all\" \\\n  -H \"apikey: $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Authorization: Bearer $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"query_embedding\\\": $QUERY_EMBEDDING, \\\"match_threshold\\\": 0.5, \\\"match_count\\\": 20}\"\n\nReturns table_name, record_id, label, detail, similarity, created_at from all tables."
      },
      {
        "title": "List active projects",
        "body": "curl -s \"$SUPABASE_URL/rest/v1/projects?status=eq.active&select=name,next_action,notes&order=updated_at.desc\" \\\n  -H \"apikey: $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Authorization: Bearer $SUPABASE_SERVICE_ROLE_KEY\""
      },
      {
        "title": "List pending tasks",
        "body": "curl -s \"$SUPABASE_URL/rest/v1/admin?status=eq.pending&select=name,due_date,notes&order=due_date.asc\" \\\n  -H \"apikey: $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Authorization: Bearer $SUPABASE_SERVICE_ROLE_KEY\""
      },
      {
        "title": "Ingest Pipeline",
        "body": "When content arrives from any source:\n\nEmbed the text via OpenRouter (1536-dim vector)\nClassify via OpenRouter LLM (type, topics, people, confidence, suggested route)\nLog in thoughts (the Receipt — always, regardless of routing)\nBounce check — if confidence < 0.6, stop here\nRoute to structured table based on type (the Sorter)\nConfirm to the user what was captured and where it was filed\n\nFull pipeline details: {baseDir}/references/ingest.md"
      },
      {
        "title": "Metadata Schema",
        "body": "Every thought gets classified with:\n\nFieldTypeValuestypestringobservation, task, idea, reference, person_notetopicsstring[]1-3 short topic tags (always at least one)peoplestring[]People mentioned (empty if none)action_itemsstring[]Implied to-dos (empty if none)dates_mentionedstring[]Dates in YYYY-MM-DD format (empty if none)sourcestringWhere it came from: slack, signal, cli, manual, etc.confidencefloatLLM classification confidence (0-1). The Bouncer uses this.routed_tostringWhich table the thought was filed into (null if unrouted)routed_idstringUUID of the record in the destination table (null if unrouted)"
      },
      {
        "title": "References",
        "body": "Conceptual framework: {baseDir}/references/concepts.md\nFirst-time setup: {baseDir}/references/setup.md\nDatabase schema (SQL): {baseDir}/references/schema.md\nIngest pipeline details: {baseDir}/references/ingest.md\nRetrieval operations: {baseDir}/references/retrieval.md\nOpenRouter API patterns: {baseDir}/references/openrouter.md"
      },
      {
        "title": "Env Vars",
        "body": "VariableServiceSUPABASE_URLSupabase project REST base URLSUPABASE_SERVICE_ROLE_KEYSupabase auth (full access)OPENROUTER_API_KEYOpenRouter API key"
      },
      {
        "title": "Security Notes",
        "body": "Why service_role key? Supabase provides two keys: anon (public, respects RLS) and service_role (full access, bypasses RLS). This skill uses service_role because:\n\nThis is a single-user personal knowledge base, not a multi-tenant app\nYour agent IS the trusted server-side component\nThe RLS policy restricts access to service_role only — the most restrictive option\nUsing the anon key would require loosening RLS to allow anonymous access to your thoughts, which is worse\n\nData sent to OpenRouter: All captured text (thoughts, names, action items) is sent to OpenRouter for embedding and classification. This is inherent to the design — you need AI to understand meaning. Don't capture highly sensitive information unless you accept OpenRouter's data handling policies.\n\nKey handling: Store SUPABASE_SERVICE_ROLE_KEY and OPENROUTER_API_KEY securely. Never commit them to public repos. Rotate periodically. In OpenClaw, store them in openclaw.json under skills.entries or as environment variables.\n\nBuilt by Limited Edition Jonathan • natebjones.com"
      }
    ],
    "body": "Nate Jones Second Brain\n\nWhen intelligence is abundant, context becomes the scarce resource. This skill is context architecture — a persistent, searchable knowledge layer that turns your agent into a personal knowledge manager.\n\nTwo opinionated primitives:\n\nSupabase — your database, and so much more. PostgreSQL + pgvector. Stores thoughts, people, projects, ideas, and tasks as structured data with vector embeddings. REST API built in. Your data, your infrastructure. Models come and go; your context persists. And once you have a Supabase project, you've unlocked the foundation for everything else you'll want to build — the Second Brain is just the beginning.\nOpenRouter — your AI gateway. One API key, every model. Embeddings and LLM calls for classification and routing. Swap models by changing a string. Future-proof by design.\n\nEverything else — how you capture thoughts, how you retrieve them, what you build on top — is application layer. The skill covers the foundation.\n\nIf the tables don't exist yet, see {baseDir}/references/setup.md\n\nBuilding Blocks\n\nThese are the operational concepts behind the system. Understanding them helps you operate correctly.\n\nBlock\tWhat It Does\tImplementation\nDrop Box\tOne frictionless capture point\tEverything goes to thoughts first\nSorter\tAI classification + routing\tLLM classifies type, then routes to structured table\nForm\tConsistent data contracts\tEach table has a defined schema\nFiling Cabinet\tSource of truth per category\tpeople, projects, ideas, admin tables\nBouncer\tConfidence threshold\tconfidence < 0.6 = don't route, stay in inbox\nReceipt\tAudit trail\tthoughts row logs what came in, where it went\nTap on the Shoulder\tProactive surfacing\tDaily digest queries (application layer)\nFix Button\tAgent-mediated corrections\tMove records between tables on user request\n\nFull conceptual framework: {baseDir}/references/concepts.md\n\nFive Tables\nTable\tRole\tKey Fields\nthoughts\tInbox Log / audit trail\tcontent, embedding, metadata (type, topics, people, confidence, routed_to)\npeople\tRelationship tracking\tname (unique), context, follow_ups, tags, embedding\nprojects\tWork tracking\tname, status, next_action, notes, tags, embedding\nideas\tInsight capture\ttitle, summary, elaboration, topics, embedding\nadmin\tTask management\tname, due_date, status, notes, embedding\n\nEvery table has semantic search via its own match_* function. Cross-table search via search_all.\n\nRouting Rules\n\nWhen a thought is classified:\n\nType\tRoute\tAction\nperson_note\tpeople\tUpsert: create person or append to existing context\ntask\tadmin\tInsert new task (status=pending)\nidea\tideas\tInsert new idea\nobservation\tnone\tStays in thoughts only\nreference\tnone\tStays in thoughts only\n\nIf confidence < 0.6, don't route. Leave in thoughts, tell user.\n\nQuick Start\nCapture a thought (full pipeline)\n# 1. Embed\nEMBEDDING=$(curl -s -X POST \"https://openrouter.ai/api/v1/embeddings\" \\\n  -H \"Authorization: Bearer $OPENROUTER_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"openai/text-embedding-3-small\", \"input\": \"Sarah mentioned she is thinking about leaving her job to start consulting\"}' \\\n  | jq -c '.data[0].embedding')\n\n# 2. Classify (run in parallel with step 1)\nMETADATA=$(curl -s -X POST \"https://openrouter.ai/api/v1/chat/completions\" \\\n  -H \"Authorization: Bearer $OPENROUTER_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"openai/gpt-4o-mini\", \"response_format\": {\"type\": \"json_object\"}, \"messages\": [{\"role\": \"system\", \"content\": \"Extract metadata from the captured thought. Return JSON with: type (observation/task/idea/reference/person_note), topics (1-3 tags), people (array), action_items (array), dates_mentioned (array), confidence (0-1), suggested_route (people/projects/ideas/admin/null), extracted_fields (structured data for destination table).\"}, {\"role\": \"user\", \"content\": \"Sarah mentioned she is thinking about leaving her job to start consulting\"}]}' \\\n  | jq -r '.choices[0].message.content')\n\n# 3. Store in thoughts (the Receipt)\ncurl -s -X POST \"$SUPABASE_URL/rest/v1/thoughts\" \\\n  -H \"apikey: $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Authorization: Bearer $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Prefer: return=representation\" \\\n  -d \"[{\\\"content\\\": \\\"Sarah mentioned she is thinking about leaving her job to start consulting\\\", \\\"embedding\\\": $EMBEDDING, \\\"metadata\\\": $METADATA}]\"\n\n# 4. Route based on classification (if confidence >= 0.6)\n\n\nFull pipeline with routing logic: {baseDir}/references/ingest.md\n\nSemantic search (single table)\nQUERY_EMBEDDING=$(curl -s -X POST \"https://openrouter.ai/api/v1/embeddings\" \\\n  -H \"Authorization: Bearer $OPENROUTER_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"openai/text-embedding-3-small\", \"input\": \"career changes\"}' \\\n  | jq -c '.data[0].embedding')\n\ncurl -s -X POST \"$SUPABASE_URL/rest/v1/rpc/match_thoughts\" \\\n  -H \"apikey: $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Authorization: Bearer $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"query_embedding\\\": $QUERY_EMBEDDING, \\\"match_threshold\\\": 0.5, \\\"match_count\\\": 10, \\\"filter\\\": {}}\"\n\nCross-table search\ncurl -s -X POST \"$SUPABASE_URL/rest/v1/rpc/search_all\" \\\n  -H \"apikey: $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Authorization: Bearer $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"query_embedding\\\": $QUERY_EMBEDDING, \\\"match_threshold\\\": 0.5, \\\"match_count\\\": 20}\"\n\n\nReturns table_name, record_id, label, detail, similarity, created_at from all tables.\n\nList active projects\ncurl -s \"$SUPABASE_URL/rest/v1/projects?status=eq.active&select=name,next_action,notes&order=updated_at.desc\" \\\n  -H \"apikey: $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Authorization: Bearer $SUPABASE_SERVICE_ROLE_KEY\"\n\nList pending tasks\ncurl -s \"$SUPABASE_URL/rest/v1/admin?status=eq.pending&select=name,due_date,notes&order=due_date.asc\" \\\n  -H \"apikey: $SUPABASE_SERVICE_ROLE_KEY\" \\\n  -H \"Authorization: Bearer $SUPABASE_SERVICE_ROLE_KEY\"\n\nIngest Pipeline\n\nWhen content arrives from any source:\n\nEmbed the text via OpenRouter (1536-dim vector)\nClassify via OpenRouter LLM (type, topics, people, confidence, suggested route)\nLog in thoughts (the Receipt — always, regardless of routing)\nBounce check — if confidence < 0.6, stop here\nRoute to structured table based on type (the Sorter)\nConfirm to the user what was captured and where it was filed\n\nFull pipeline details: {baseDir}/references/ingest.md\n\nMetadata Schema\n\nEvery thought gets classified with:\n\nField\tType\tValues\ntype\tstring\tobservation, task, idea, reference, person_note\ntopics\tstring[]\t1-3 short topic tags (always at least one)\npeople\tstring[]\tPeople mentioned (empty if none)\naction_items\tstring[]\tImplied to-dos (empty if none)\ndates_mentioned\tstring[]\tDates in YYYY-MM-DD format (empty if none)\nsource\tstring\tWhere it came from: slack, signal, cli, manual, etc.\nconfidence\tfloat\tLLM classification confidence (0-1). The Bouncer uses this.\nrouted_to\tstring\tWhich table the thought was filed into (null if unrouted)\nrouted_id\tstring\tUUID of the record in the destination table (null if unrouted)\nReferences\nConceptual framework: {baseDir}/references/concepts.md\nFirst-time setup: {baseDir}/references/setup.md\nDatabase schema (SQL): {baseDir}/references/schema.md\nIngest pipeline details: {baseDir}/references/ingest.md\nRetrieval operations: {baseDir}/references/retrieval.md\nOpenRouter API patterns: {baseDir}/references/openrouter.md\nEnv Vars\nVariable\tService\nSUPABASE_URL\tSupabase project REST base URL\nSUPABASE_SERVICE_ROLE_KEY\tSupabase auth (full access)\nOPENROUTER_API_KEY\tOpenRouter API key\nSecurity Notes\n\nWhy service_role key? Supabase provides two keys: anon (public, respects RLS) and service_role (full access, bypasses RLS). This skill uses service_role because:\n\nThis is a single-user personal knowledge base, not a multi-tenant app\nYour agent IS the trusted server-side component\nThe RLS policy restricts access to service_role only — the most restrictive option\nUsing the anon key would require loosening RLS to allow anonymous access to your thoughts, which is worse\n\nData sent to OpenRouter: All captured text (thoughts, names, action items) is sent to OpenRouter for embedding and classification. This is inherent to the design — you need AI to understand meaning. Don't capture highly sensitive information unless you accept OpenRouter's data handling policies.\n\nKey handling: Store SUPABASE_SERVICE_ROLE_KEY and OPENROUTER_API_KEY securely. Never commit them to public repos. Rotate periodically. In OpenClaw, store them in openclaw.json under skills.entries or as environment variables.\n\nBuilt by Limited Edition Jonathan • natebjones.com"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/justfinethanku/nate-jones-second-brain",
    "publisherUrl": "https://clawhub.ai/justfinethanku/nate-jones-second-brain",
    "owner": "justfinethanku",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/nate-jones-second-brain",
    "downloadUrl": "https://openagent3.xyz/downloads/nate-jones-second-brain",
    "agentUrl": "https://openagent3.xyz/skills/nate-jones-second-brain/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nate-jones-second-brain/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nate-jones-second-brain/agent.md"
  }
}