{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-notion-api",
    "name": "Openclaw Notion Api",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/ionepub/openclaw-notion-api",
    "canonicalUrl": "https://clawhub.ai/ionepub/openclaw-notion-api",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openclaw-notion-api",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-notion-api",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "SKILL_en.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/openclaw-notion-api"
    },
    "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/openclaw-notion-api",
    "agentPageUrl": "https://openagent3.xyz/skills/openclaw-notion-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-notion-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-notion-api/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": "openclaw-notion-api",
        "body": "使用 Notion API 创建/读取/更新页面、数据源（数据库）和块。"
      },
      {
        "title": "Setup（设置）",
        "body": "在 https://www.notion.so/profile/integrations/internal 创建内部集成\n复制 API 密钥（以 ntn_ 或 secret_ 开头）\n存储密钥：\n\nmkdir -p ~/.config/notion\necho \"ntn_your_key_here\" > ~/.config/notion/api_key\n\n将目标页面/数据库与集成共享（点击 \"...\" → \"Connect to\" → 你的集成名称）"
      },
      {
        "title": "API Basics（API 基础）",
        "body": "所有请求都需要：\n\nNOTION_KEY=$(cat ~/.config/notion/api_key)\ncurl -X GET \"https://api.notion.com/v1/...\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\"\n\n注意： Notion-Version header 是必需的。本技能使用 2025-09-03（最新版本）。在此版本中，数据库在 API 中称为\"数据源\"。"
      },
      {
        "title": "Common Operations（常用操作）",
        "body": "搜索页面和数据源：\n\ncurl -X POST \"https://api.notion.com/v1/search\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"query\": \"page title\"}'\n\n获取页面：\n\ncurl \"https://api.notion.com/v1/pages/{page_id}\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\"\n\n获取页面内容（块）：\n\ncurl \"https://api.notion.com/v1/blocks/{page_id}/children\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\"\n\n在数据源中创建页面：\n\ncurl -X POST \"https://api.notion.com/v1/pages\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"parent\": {\"database_id\": \"xxxxxx\"},\n    \"properties\": {\n      \"Name\": {\"title\": [{\"text\": {\"content\": \"New Item\"}}]},\n      \"Status\": {\"select\": {\"name\": \"Todo\"}}\n    }\n  }'\n\n查询数据源（数据库）：\n\ncurl -X POST \"https://api.notion.com/v1/data_sources/{data_source_id}/query\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"filter\": {\"property\": \"Status\", \"select\": {\"equals\": \"Active\"}},\n    \"sorts\": [{\"property\": \"Date\", \"direction\": \"descending\"}]\n  }'\n\n创建数据源（数据库）：\n\ncurl -X POST \"https://api.notion.com/v1/data_sources\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"parent\": {\"page_id\": \"xxx\"},\n    \"title\": [{\"text\": {\"content\": \"My Database\"}}],\n    \"properties\": {\n      \"Name\": {\"title\": {}},\n      \"Status\": {\"select\": {\"options\": [{\"name\": \"Todo\"}, {\"name\": \"Done\"}]}},\n      \"Date\": {\"date\": {}}\n    }\n  }'\n\n更新页面属性：\n\ncurl -X PATCH \"https://api.notion.com/v1/pages/{page_id}\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"properties\": {\"Status\": {\"select\": {\"name\": \"Done\"}}}}'\n\n向页面添加块：\n\ncurl -X PATCH \"https://api.notion.com/v1/blocks/{page_id}/children\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"children\": [\n      {\"type\": \"paragraph\", \"paragraph\": {\"rich_text\": [{\"text\": {\"content\": \"Hello\"}}]}}\n    ]\n  }'"
      },
      {
        "title": "Property Types（属性类型）",
        "body": "数据库项的常用属性格式：\n\n标题（Title）： {\"title\": [{\"text\": {\"content\": \"...\"}}]}\n富文本（Rich text）： {\"rich_text\": [{\"text\": {\"content\": \"...\"}}]}\n选择（Select）： {\"select\": {\"name\": \"Option\"}}\n多选（Multi-select）： {\"multi_select\": [{\"name\": \"A\"}, {\"name\": \"B\"}]}\n日期（Date）： {\"date\": {\"start\": \"2024-01-15\", \"end\": \"2024-01-16\"}}\n复选框（Checkbox）： {\"checkbox\": true}\n数字（Number）： {\"number\": 42}\nURL： {\"url\": \"https://...\"}\n邮箱（Email）： {\"email\": \"a@b.com\"}\n关联（Relation）： {\"relation\": [{\"id\": \"page_id\"}]}"
      },
      {
        "title": "Key Differences in 2025-09-03（2025-09-03 版本的关键差异）",
        "body": "数据库 → 数据源： 使用 /data_sources/ 端点进行查询和检索\n双 ID： 每个数据库现在同时拥有 database_id 和 data_source_id\n\n创建页面时使用 database_id（parent: {\"database_id\": \"...\"}）\n查询时使用 data_source_id（POST /v1/data_sources/{id}/query）\n\n\n搜索结果： 数据库以 \"object\": \"data_source\" 形式返回，并带有其 data_source_id\n响应中的父级： 页面显示 parent.data_source_id 以及 parent.database_id\n查找 data_source_id： 搜索数据库，或调用 GET /v1/data_sources/{data_source_id}"
      },
      {
        "title": "File Upload（文件上传）",
        "body": "使用 Direct Upload 方法上传图片或文件到 Notion（文件大小不超过 20MB）。两者的步骤完全相同，仅在 Step 3 的块类型上有区别。"
      },
      {
        "title": "Step 1: Create File Upload Object（创建文件上传对象）",
        "body": "创建上传对象以获取上传 URL：\n\ncurl --request POST \\\n  --url 'https://api.notion.com/v1/file_uploads' \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  -H 'Notion-Version: 2025-09-03' \\\n  --data '{}'\n\n响应包含：\n\nid：文件上传 ID（在步骤 3 中使用）\nupload_url：上传文件内容的 URL"
      },
      {
        "title": "Step 2: Upload File Content（上传文件内容）",
        "body": "使用 multipart/form-data 上传实际的文件：\n\ncurl --request POST \\\n  --url 'https://api.notion.com/v1/file_uploads/{file_upload_id}/send' \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H 'Notion-Version: 2025-09-03' \\\n  -H 'Content-Type: multipart/form-data' \\\n  -F \"file=@/path/to/file.png\"\n\n重要：\n\n使用 POST 方法（不是 PUT）\n包含 Authorization 和 Notion-Version headers\n使用 -F 进行 multipart/form-data\n文件大小必须 ≤ 20MB"
      },
      {
        "title": "Step 3: Insert into Page（插入到页面）",
        "body": "将上传的文件作为块添加。根据文件类型选择不同的块类型：\n\n上传图片：\n\ncurl --request PATCH \\\n  --url \"https://api.notion.com/v1/blocks/{page_id}/children\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  -H 'Notion-Version: 2025-09-03' \\\n  --data '{\n    \"children\": [\n      {\n        \"type\": \"image\",\n        \"image\": {\n          \"type\": \"file_upload\",\n          \"file_upload\": {\n            \"id\": \"{file_upload_id}\"\n          }\n        }\n      }\n    ]\n  }'\n\n上传文件：\n\ncurl --request PATCH \\\n  --url \"https://api.notion.com/v1/blocks/{page_id}/children\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  -H 'Notion-Version: 2025-09-03' \\\n  --data '{\n    \"children\": [\n      {\n        \"type\": \"file\",\n        \"file\": {\n          \"type\": \"file_upload\",\n          \"file_upload\": {\n            \"id\": \"{file_upload_id}\"\n          }\n        }\n      }\n    ]\n  }'\n\n注意： 不要在块定义中包含 \"object\": \"block\"。"
      },
      {
        "title": "Common Errors（常见错误）",
        "body": "invalid_request_url：检查是否使用了 POST 方法和正确的 URL 格式\nunauthorized：确保步骤 2 中存在 Authorization 和 Notion-Version headers\nvalidation_error：必须在附加（步骤 3）之前上传文件（步骤 2）"
      },
      {
        "title": "Notes（注意事项）",
        "body": "页面/数据库 ID 是 UUID（带或不带连字符）\nAPI 无法设置数据库视图过滤器 — 这是 UI 专属功能\n速率限制：平均约 3 请求/秒\n创建数据源时使用 is_inline: true 以将其嵌入页面中"
      }
    ],
    "body": "openclaw-notion-api\n\n使用 Notion API 创建/读取/更新页面、数据源（数据库）和块。\n\nSetup（设置）\n在 https://www.notion.so/profile/integrations/internal 创建内部集成\n复制 API 密钥（以 ntn_ 或 secret_ 开头）\n存储密钥：\nmkdir -p ~/.config/notion\necho \"ntn_your_key_here\" > ~/.config/notion/api_key\n\n将目标页面/数据库与集成共享（点击 \"...\" → \"Connect to\" → 你的集成名称）\nAPI Basics（API 基础）\n\n所有请求都需要：\n\nNOTION_KEY=$(cat ~/.config/notion/api_key)\ncurl -X GET \"https://api.notion.com/v1/...\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\"\n\n\n注意： Notion-Version header 是必需的。本技能使用 2025-09-03（最新版本）。在此版本中，数据库在 API 中称为\"数据源\"。\n\nCommon Operations（常用操作）\n\n搜索页面和数据源：\n\ncurl -X POST \"https://api.notion.com/v1/search\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"query\": \"page title\"}'\n\n\n获取页面：\n\ncurl \"https://api.notion.com/v1/pages/{page_id}\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\"\n\n\n获取页面内容（块）：\n\ncurl \"https://api.notion.com/v1/blocks/{page_id}/children\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\"\n\n\n在数据源中创建页面：\n\ncurl -X POST \"https://api.notion.com/v1/pages\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"parent\": {\"database_id\": \"xxxxxx\"},\n    \"properties\": {\n      \"Name\": {\"title\": [{\"text\": {\"content\": \"New Item\"}}]},\n      \"Status\": {\"select\": {\"name\": \"Todo\"}}\n    }\n  }'\n\n\n查询数据源（数据库）：\n\ncurl -X POST \"https://api.notion.com/v1/data_sources/{data_source_id}/query\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"filter\": {\"property\": \"Status\", \"select\": {\"equals\": \"Active\"}},\n    \"sorts\": [{\"property\": \"Date\", \"direction\": \"descending\"}]\n  }'\n\n\n创建数据源（数据库）：\n\ncurl -X POST \"https://api.notion.com/v1/data_sources\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"parent\": {\"page_id\": \"xxx\"},\n    \"title\": [{\"text\": {\"content\": \"My Database\"}}],\n    \"properties\": {\n      \"Name\": {\"title\": {}},\n      \"Status\": {\"select\": {\"options\": [{\"name\": \"Todo\"}, {\"name\": \"Done\"}]}},\n      \"Date\": {\"date\": {}}\n    }\n  }'\n\n\n更新页面属性：\n\ncurl -X PATCH \"https://api.notion.com/v1/pages/{page_id}\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"properties\": {\"Status\": {\"select\": {\"name\": \"Done\"}}}}'\n\n\n向页面添加块：\n\ncurl -X PATCH \"https://api.notion.com/v1/blocks/{page_id}/children\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"children\": [\n      {\"type\": \"paragraph\", \"paragraph\": {\"rich_text\": [{\"text\": {\"content\": \"Hello\"}}]}}\n    ]\n  }'\n\nProperty Types（属性类型）\n\n数据库项的常用属性格式：\n\n标题（Title）： {\"title\": [{\"text\": {\"content\": \"...\"}}]}\n富文本（Rich text）： {\"rich_text\": [{\"text\": {\"content\": \"...\"}}]}\n选择（Select）： {\"select\": {\"name\": \"Option\"}}\n多选（Multi-select）： {\"multi_select\": [{\"name\": \"A\"}, {\"name\": \"B\"}]}\n日期（Date）： {\"date\": {\"start\": \"2024-01-15\", \"end\": \"2024-01-16\"}}\n复选框（Checkbox）： {\"checkbox\": true}\n数字（Number）： {\"number\": 42}\nURL： {\"url\": \"https://...\"}\n邮箱（Email）： {\"email\": \"a@b.com\"}\n关联（Relation）： {\"relation\": [{\"id\": \"page_id\"}]}\nKey Differences in 2025-09-03（2025-09-03 版本的关键差异）\n数据库 → 数据源： 使用 /data_sources/ 端点进行查询和检索\n双 ID： 每个数据库现在同时拥有 database_id 和 data_source_id\n创建页面时使用 database_id（parent: {\"database_id\": \"...\"}）\n查询时使用 data_source_id（POST /v1/data_sources/{id}/query）\n搜索结果： 数据库以 \"object\": \"data_source\" 形式返回，并带有其 data_source_id\n响应中的父级： 页面显示 parent.data_source_id 以及 parent.database_id\n查找 data_source_id： 搜索数据库，或调用 GET /v1/data_sources/{data_source_id}\nFile Upload（文件上传）\n\n使用 Direct Upload 方法上传图片或文件到 Notion（文件大小不超过 20MB）。两者的步骤完全相同，仅在 Step 3 的块类型上有区别。\n\nStep 1: Create File Upload Object（创建文件上传对象）\n\n创建上传对象以获取上传 URL：\n\ncurl --request POST \\\n  --url 'https://api.notion.com/v1/file_uploads' \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  -H 'Notion-Version: 2025-09-03' \\\n  --data '{}'\n\n\n响应包含：\n\nid：文件上传 ID（在步骤 3 中使用）\nupload_url：上传文件内容的 URL\nStep 2: Upload File Content（上传文件内容）\n\n使用 multipart/form-data 上传实际的文件：\n\ncurl --request POST \\\n  --url 'https://api.notion.com/v1/file_uploads/{file_upload_id}/send' \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H 'Notion-Version: 2025-09-03' \\\n  -H 'Content-Type: multipart/form-data' \\\n  -F \"file=@/path/to/file.png\"\n\n\n重要：\n\n使用 POST 方法（不是 PUT）\n包含 Authorization 和 Notion-Version headers\n使用 -F 进行 multipart/form-data\n文件大小必须 ≤ 20MB\nStep 3: Insert into Page（插入到页面）\n\n将上传的文件作为块添加。根据文件类型选择不同的块类型：\n\n上传图片：\n\ncurl --request PATCH \\\n  --url \"https://api.notion.com/v1/blocks/{page_id}/children\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  -H 'Notion-Version: 2025-09-03' \\\n  --data '{\n    \"children\": [\n      {\n        \"type\": \"image\",\n        \"image\": {\n          \"type\": \"file_upload\",\n          \"file_upload\": {\n            \"id\": \"{file_upload_id}\"\n          }\n        }\n      }\n    ]\n  }'\n\n\n上传文件：\n\ncurl --request PATCH \\\n  --url \"https://api.notion.com/v1/blocks/{page_id}/children\" \\\n  -H \"Authorization: Bearer $NOTION_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  -H 'Notion-Version: 2025-09-03' \\\n  --data '{\n    \"children\": [\n      {\n        \"type\": \"file\",\n        \"file\": {\n          \"type\": \"file_upload\",\n          \"file_upload\": {\n            \"id\": \"{file_upload_id}\"\n          }\n        }\n      }\n    ]\n  }'\n\n\n注意： 不要在块定义中包含 \"object\": \"block\"。\n\nCommon Errors（常见错误）\ninvalid_request_url：检查是否使用了 POST 方法和正确的 URL 格式\nunauthorized：确保步骤 2 中存在 Authorization 和 Notion-Version headers\nvalidation_error：必须在附加（步骤 3）之前上传文件（步骤 2）\nNotes（注意事项）\n页面/数据库 ID 是 UUID（带或不带连字符）\nAPI 无法设置数据库视图过滤器 — 这是 UI 专属功能\n速率限制：平均约 3 请求/秒\n创建数据源时使用 is_inline: true 以将其嵌入页面中"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ionepub/openclaw-notion-api",
    "publisherUrl": "https://clawhub.ai/ionepub/openclaw-notion-api",
    "owner": "ionepub",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-notion-api",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-notion-api",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-notion-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-notion-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-notion-api/agent.md"
  }
}