[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698XPP9CXE6QTBY3BX3K2DM":3,"skill-same:01M698XPP9CXE6QTBY3BX3K2DM":87},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":64,"commitSha":65,"skillDirectory":66,"forksCount":67,"repositoryHtmlUrl":68,"repositoryHomepageUrl":69,"ownerHtmlUrl":70,"ownerBlogUrl":69,"ownerDescription":71,"updatedAt":72,"install":73,"resources":86},"01M698XPP9CXE6QTBY3BX3K2DM","notion",null,"Notion CLI\u002FAPI for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.","openclaw\u002Fopenclaw","openclaw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F252820863?v=4","01M698P3FSAZ6B4R928ZF19KPT","01M698PDMDRVH56MV30D253NFP",394352,"MIT","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fnotion\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[5,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"data sources","cli","for","ntn","notion cli","calls","comments","sources","pages","get","files","workers","overview","curl","markdown content","markdown","api","search","official","2026-11-10 10:12:30",false,"---\nname: notion\ndescription: \"Notion CLI\u002FAPI for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.\"\nhomepage: https:\u002F\u002Fdevelopers.notion.com\u002Fcli\u002Fget-started\u002Foverview\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"emoji\": \"?\",\n        \"requires\": { \"anyBins\": [\"ntn\", \"curl\"] },\n        \"primaryEnv\": \"NOTION_API_TOKEN\",\n        \"install\":\n          [\n            {\n              \"id\": \"node\",\n              \"kind\": \"node\",\n              \"package\": \"ntn\",\n              \"bins\": [\"ntn\"],\n              \"label\": \"Install official Notion CLI (npm)\",\n            },\n          ],\n      },\n  }\n---\n\n# Notion\n\nPrefer official `ntn` CLI. Use curl only when `ntn` is unavailable or a raw request is clearer.\n\n## Setup\n\n```bash\nnpm install -g ntn\nntn --version\nntn login\n```\n\nScript\u002Fheadless auth:\n\n```bash\nexport NOTION_API_TOKEN=secret_or_ntn_token\nexport NOTION_API_VERSION=2026-03-11\n```\n\n`ntn api` sets `Authorization` and `Notion-Version` automatically. It uses CLI login by default, or `NOTION_API_TOKEN` when set.\n\n## Inspect\n\n```bash\nntn doctor\nntn api ls\nntn api ls --json\nntn api v1\u002Fcomments --help\nntn api v1\u002Fcomments --spec -X POST\nntn api v1\u002Fcomments --docs -X POST\n```\n\n## Pages\n\nMarkdown-first helpers:\n\n```bash\nntn pages get \u003Cpage-id>\nntn pages get \u003Cpage-id> --json\nntn pages create --parent page:\u003Cpage-id> --content '# Title\\n\\nBody'\nntn pages create --parent data-source:\u003Cdata-source-id> \u003C page.md\nntn pages update \u003Cpage-id> --content '# Updated'\nntn pages update \u003Cpage-id> \u003C page.md\nntn pages trash \u003Cpage-id> --yes\n```\n\nNotes:\n\n- `pages get` prints Markdown with page properties as frontmatter.\n- Content input: `--content`, stdin, or editor in a TTY.\n- Parent refs: `page:\u003Cid>`, `database:\u003Cid>`, `data-source:\u003Cid>`.\n- For properties\u002Ftemplates\u002Ffull Pages API, use `ntn api v1\u002Fpages`.\n\n## Data sources\n\n```bash\nntn datasources resolve \u003Cdatabase-id>\nntn datasources resolve \u003Cdatabase-id> --json\nntn datasources query \u003Cdata-source-id>\nntn datasources query \u003Cdata-source-id> --limit 50 --json\nntn datasources query \u003Cdata-source-id> --sort 'Date desc'\nntn datasources query \u003Cdata-source-id> --filter '{\"property\":\"Done\",\"checkbox\":{\"equals\":true}}'\n```\n\nUse `resolve` when you have a database ID. Query needs a data source ID.\n\n## Raw API\n\n```bash\nntn api v1\u002Fusers\u002Fme\nntn api v1\u002Fsearch query=roadmap page_size:=10\nntn api v1\u002Fpages 'parent[data_source_id]='\"$DS_ID\" 'properties[Name][title][0][text][content]=New item'\nntn api \"v1\u002Fpages\u002F$PAGE_ID\" -X PATCH in_trash:=true\nntn api \"v1\u002Fblocks\u002F$PAGE_ID\u002Fchildren\" -X PATCH \\\n  'children[0][type]=paragraph' \\\n  'children[0][paragraph][rich_text][0][text][content]=Hello'\n```\n\nInput syntax:\n\n- `path=value`: string body field.\n- `path:=json`: typed JSON body field.\n- `name==value`: query parameter.\n- `Header:Value`: request header.\n- `--data '\u003Cjson>'` or stdin JSON for larger bodies.\n- Only one body source per request.\n\n## Files\n\n```bash\nntn files create \u003C image.png\nntn files create --filename photo.png --content-type image\u002Fpng \u003C \u002Ftmp\u002Fphoto\nntn files create --external-url https:\u002F\u002Fexample.com\u002Fphoto.png\nntn files get \u003Cupload-id>\nntn files list\n```\n\n## Workers\n\n```bash\nntn workers new\nntn workers deploy\nntn workers list --json\nntn workers runs list --json\nntn workers runs logs \u003Crun-id>\n```\n\nWorkers may require Business\u002FEnterprise plan and workspace enablement.\n\n## Curl fallback\n\n```bash\ncurl -sS \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fusers\u002Fme\" \\\n  -H \"Authorization: Bearer $NOTION_API_TOKEN\" \\\n  -H \"Notion-Version: 2026-03-11\" \\\n  -H \"Content-Type: application\u002Fjson\"\n```\n\n## Version notes\n\n- Current latest API version: `2026-03-11`.\n- Use `in_trash`, not `archived`.\n- Append block positioning uses `position`, not flat `after`.\n- `transcription` block renamed to `meeting_notes`.\n- Databases can contain multiple data sources; page parents generally use `data_source_id`.\n","# Notion\n\nPrefer official `ntn` CLI. Use curl only when `ntn` is unavailable or a raw request is clearer.\n\n## Setup\n\n```bash\nnpm install -g ntn\nntn --version\nntn login\n```\n\nScript\u002Fheadless auth:\n\n```bash\nexport NOTION_API_TOKEN=secret_or_ntn_token\nexport NOTION_API_VERSION=2026-03-11\n```\n\n`ntn api` sets `Authorization` and `Notion-Version` automatically. It uses CLI login by default, or `NOTION_API_TOKEN` when set.\n\n## Inspect\n\n```bash\nntn doctor\nntn api ls\nntn api ls --json\nntn api v1\u002Fcomments --help\nntn api v1\u002Fcomments --spec -X POST\nntn api v1\u002Fcomments --docs -X POST\n```\n\n## Pages\n\nMarkdown-first helpers:\n\n```bash\nntn pages get \u003Cpage-id>\nntn pages get \u003Cpage-id> --json\nntn pages create --parent page:\u003Cpage-id> --content '# Title\\n\\nBody'\nntn pages create --parent data-source:\u003Cdata-source-id> \u003C page.md\nntn pages update \u003Cpage-id> --content '# Updated'\nntn pages update \u003Cpage-id> \u003C page.md\nntn pages trash \u003Cpage-id> --yes\n```\n\nNotes:\n\n- `pages get` prints Markdown with page properties as frontmatter.\n- Content input: `--content`, stdin, or editor in a TTY.\n- Parent refs: `page:\u003Cid>`, `database:\u003Cid>`, `data-source:\u003Cid>`.\n- For properties\u002Ftemplates\u002Ffull Pages API, use `ntn api v1\u002Fpages`.\n\n## Data sources\n\n```bash\nntn datasources resolve \u003Cdatabase-id>\nntn datasources resolve \u003Cdatabase-id> --json\nntn datasources query \u003Cdata-source-id>\nntn datasources query \u003Cdata-source-id> --limit 50 --json\nntn datasources query \u003Cdata-source-id> --sort 'Date desc'\nntn datasources query \u003Cdata-source-id> --filter '{\"property\":\"Done\",\"checkbox\":{\"equals\":true}}'\n```\n\nUse `resolve` when you have a database ID. Query needs a data source ID.\n\n## Raw API\n\n```bash\nntn api v1\u002Fusers\u002Fme\nntn api v1\u002Fsearch query=roadmap page_size:=10\nntn api v1\u002Fpages 'parent[data_source_id]='\"$DS_ID\" 'properties[Name][title][0][text][content]=New item'\nntn api \"v1\u002Fpages\u002F$PAGE_ID\" -X PATCH in_trash:=true\nntn api \"v1\u002Fblocks\u002F$PAGE_ID\u002Fchildren\" -X PATCH \\\n  'children[0][type]=paragraph' \\\n  'children[0][paragraph][rich_text][0][text][content]=Hello'\n```\n\nInput syntax:\n\n- `path=value`: string body field.\n- `path:=json`: typed JSON body field.\n- `name==value`: query parameter.\n- `Header:Value`: request header.\n- `--data '\u003Cjson>'` or stdin JSON for larger bodies.\n- Only one body source per request.\n\n## Files\n\n```bash\nntn files create \u003C image.png\nntn files create --filename photo.png --content-type image\u002Fpng \u003C \u002Ftmp\u002Fphoto\nntn files create --external-url https:\u002F\u002Fexample.com\u002Fphoto.png\nntn files get \u003Cupload-id>\nntn files list\n```\n\n## Workers\n\n```bash\nntn workers new\nntn workers deploy\nntn workers list --json\nntn workers runs list --json\nntn workers runs logs \u003Crun-id>\n```\n\nWorkers may require Business\u002FEnterprise plan and workspace enablement.\n\n## Curl fallback\n\n```bash\ncurl -sS \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fusers\u002Fme\" \\\n  -H \"Authorization: Bearer $NOTION_API_TOKEN\" \\\n  -H \"Notion-Version: 2026-03-11\" \\\n  -H \"Content-Type: application\u002Fjson\"\n```\n\n## Version notes\n\n- Current latest API version: `2026-03-11`.\n- Use `in_trash`, not `archived`.\n- Append block positioning uses `position`, not flat `after`.\n- `transcription` block renamed to `meeting_notes`.\n- Databases can contain multiple data sources; page parents generally use `data_source_id`.\n",{"name":5,"homepage":52,"metadata":53,"description":7},"https:\u002F\u002Fdevelopers.notion.com\u002Fcli\u002Fget-started\u002Foverview",{"openclaw":54},{"emoji":55,"install":56,"requires":61,"primaryEnv":63},"?",[57],{"id":58,"bins":59,"kind":58,"label":60,"package":31},"node",[31],"Install official Notion CLI (npm)",{"anyBins":62},[31,41],"NOTION_API_TOKEN","main","f1c93577085244aa96aa87b53a2df9b59d293bd7","skills\u002Fnotion",82861,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw","https:\u002F\u002Fopenclaw.ai","https:\u002F\u002Fgithub.com\u002Fopenclaw","Your personal, open source AI assistant.","2026-11-12 03:01:25",{"source":8,"skillName":5,"commands":74,"prompt":84,"zipAvailable":85},[75,78,81],{"tool":76,"command":77},"npx","npx skills add openclaw\u002Fopenclaw --skill notion",{"tool":79,"command":80},"bunx","bunx skills add openclaw\u002Fopenclaw --skill notion",{"tool":82,"command":83},"pnpm","pnpm dlx skills add openclaw\u002Fopenclaw --skill notion","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fnotion\u002FSKILL.md",true,[],[88,94,111,128,148,166],{"skillNo":89,"name":90,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":47},"01M698VP84FNM6G9MR1HPX7MF7","lobster","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002FSKILL.md",[],[90],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":47},"01M698YY8QGQ7S8TJNKJG6VTPH","xurl","xurl CLI for authenticated X posts, replies, reads\u002Fsearch, DMs, media upload, followers, auth status, or raw v2 API calls.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fxurl\u002FSKILL.md",[],[96,30,44,33,101,102,103,104,105,106,58,107,45,108,109,110,29],"replies","posts","upload","tap","install","brew","Media","npm","status","auth",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":47},"01M698YWT1CJ0WK88WB909R9RT","weather","Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fweather\u002FSKILL.md",[],[113,118,119,105,120,106,41,121,122,123,124,125,30,126,127],"travel planning","travel","fetch","https","help","planning","web","back","temperature","with",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":137,"publishedAt":47},"01M698YV2Q0R0JJKAWGFS21K0N","visualize","Create inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with show_widget.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fvisualize\u002FSKILL.md",[134],{"categoryNo":135,"categoryName":136,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000033","数据分析师",[130,138,139,140,141,30,127,142,143,144,145,146,9,147],"widgets","openclaw dashboard","author","inline","show","code","create","visuals","dashboard","widget",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":156,"publishedAt":47},"01M698YS2TRJH9ENG28HD9CD87","trello","Manage Trello boards, lists, and cards via the Trello REST API.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftrello\u002FSKILL.md",[154,155],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},[150,121,157,158,159,160,161,162,105,106,163,41,44,164,165],"cloud","manage","via","rest api","token","atlassian","jq","REST","developer",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":47},"01M698YQ9Q3M4W78EWV2KSCSVW","tmux","Control tmux sessions\u002Fpanes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftmux\u002FSKILL.md",[],[168,105,173,174,30,175,176,177,178,179,180,181,106,182,183,184,185,186,187],"send","darwin","keys","paste","output","control","prompts","interactive","list","capture","panes","text","monitor","sessions","linux"]