[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M74DJWZGSK7HQK6FWB8W9M23":3,"skill-same:01M74DJWZGSK7HQK6FWB8W9M23":63},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":13,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":42,"install":43,"resources":56},"01M74DJWZGSK7HQK6FWB8W9M23","notion",null,"Notion API via curl: pages, databases, blocks, search.","LyrikNilpferd71\u002FHermes-Backup","LyrikNilpferd71","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F187173780?v=4","01M727S8GPB77P0S9ECRRMZT58","01M727S8HF63B0MD53F496MK1V",0,"MIT","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-05-10T18-32-17Z\u002Fskills\u002Fproductivity\u002Fnotion\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: notion\ndescription: \"Notion API via curl: pages, databases, blocks, search.\"\nversion: 1.0.0\nauthor: community\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [Notion, Productivity, Notes, Database, API]\n    homepage: https:\u002F\u002Fdevelopers.notion.com\nprerequisites:\n  env_vars: [NOTION_API_KEY]\n---\n\n# Notion API\n\nUse the Notion API via curl to create, read, update pages, databases (data sources), and blocks. No extra tools needed — just curl and a Notion API key.\n\n## Prerequisites\n\n1. Create an integration at https:\u002F\u002Fnotion.so\u002Fmy-integrations\n2. Copy the API key (starts with `ntn_` or `secret_`)\n3. Store it in `~\u002F.hermes\u002F.env`:\n   ```\n   NOTION_API_KEY=ntn_your_key_here\n   ```\n4. **Important:** Share target pages\u002Fdatabases with your integration in Notion (click \"...\" → \"Connect to\" → your integration name)\n\n## API Basics\n\nAll requests use this pattern:\n\n```bash\ncurl -s -X GET \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002F...\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\"\n```\n\nThe `Notion-Version` header is required. This skill uses `2025-09-03` (latest). In this version, databases are called \"data sources\" in the API.\n\n## Common Operations\n\n### Search\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fsearch\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"query\": \"page title\"}'\n```\n\n### Get Page\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fpages\u002F{page_id}\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\"\n```\n\n### Get Page Content (blocks)\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fblocks\u002F{page_id}\u002Fchildren\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\"\n```\n\n### Create Page in a Database\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fpages\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"parent\": {\"database_id\": \"xxx\"},\n    \"properties\": {\n      \"Name\": {\"title\": [{\"text\": {\"content\": \"New Item\"}}]},\n      \"Status\": {\"select\": {\"name\": \"Todo\"}}\n    }\n  }'\n```\n\n### Query a Database\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fdata_sources\u002F{data_source_id}\u002Fquery\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filter\": {\"property\": \"Status\", \"select\": {\"equals\": \"Active\"}},\n    \"sorts\": [{\"property\": \"Date\", \"direction\": \"descending\"}]\n  }'\n```\n\n### Create a Database\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fdata_sources\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\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### Update Page Properties\n\n```bash\ncurl -s -X PATCH \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fpages\u002F{page_id}\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"properties\": {\"Status\": {\"select\": {\"name\": \"Done\"}}}}'\n```\n\n### Add Content to a Page\n\n```bash\ncurl -s -X PATCH \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fblocks\u002F{page_id}\u002Fchildren\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"children\": [\n      {\"object\": \"block\", \"type\": \"paragraph\", \"paragraph\": {\"rich_text\": [{\"text\": {\"content\": \"Hello from Hermes!\"}}]}}\n    ]\n  }'\n```\n\n## Property Types\n\nCommon property formats for database items:\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\": \"2026-01-15\", \"end\": \"2026-01-16\"}}`\n- **Checkbox:** `{\"checkbox\": true}`\n- **Number:** `{\"number\": 42}`\n- **URL:** `{\"url\": \"https:\u002F\u002F...\"}`\n- **Email:** `{\"email\": \"user@example.com\"}`\n- **Relation:** `{\"relation\": [{\"id\": \"page_id\"}]}`\n\n## Key Differences in API Version 2025-09-03\n\n- **Databases → Data Sources:** Use `\u002Fdata_sources\u002F` endpoints for queries and retrieval\n- **Two IDs:** Each database has both a `database_id` and a `data_source_id`\n  - Use `database_id` when creating pages (`parent: {\"database_id\": \"...\"}`)\n  - Use `data_source_id` when querying (`POST \u002Fv1\u002Fdata_sources\u002F{id}\u002Fquery`)\n- **Search results:** Databases return as `\"object\": \"data_source\"` with their `data_source_id`\n\n## Notes\n\n- Page\u002Fdatabase IDs are UUIDs (with or without dashes)\n- Rate limit: ~3 requests\u002Fsecond average\n- The API cannot set database view filters — that's UI-only\n- Use `is_inline: true` when creating data sources to embed them in pages\n- Add `-s` flag to curl to suppress progress bars (cleaner output for Hermes)\n- Pipe output through `jq` for readable JSON: `... | jq '.results[0].properties'`\n","# Notion API\n\nUse the Notion API via curl to create, read, update pages, databases (data sources), and blocks. No extra tools needed — just curl and a Notion API key.\n\n## Prerequisites\n\n1. Create an integration at https:\u002F\u002Fnotion.so\u002Fmy-integrations\n2. Copy the API key (starts with `ntn_` or `secret_`)\n3. Store it in `~\u002F.hermes\u002F.env`:\n   ```\n   NOTION_API_KEY=ntn_your_key_here\n   ```\n4. **Important:** Share target pages\u002Fdatabases with your integration in Notion (click \"...\" → \"Connect to\" → your integration name)\n\n## API Basics\n\nAll requests use this pattern:\n\n```bash\ncurl -s -X GET \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002F...\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\"\n```\n\nThe `Notion-Version` header is required. This skill uses `2025-09-03` (latest). In this version, databases are called \"data sources\" in the API.\n\n## Common Operations\n\n### Search\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fsearch\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"query\": \"page title\"}'\n```\n\n### Get Page\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fpages\u002F{page_id}\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\"\n```\n\n### Get Page Content (blocks)\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fblocks\u002F{page_id}\u002Fchildren\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\"\n```\n\n### Create Page in a Database\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fpages\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"parent\": {\"database_id\": \"xxx\"},\n    \"properties\": {\n      \"Name\": {\"title\": [{\"text\": {\"content\": \"New Item\"}}]},\n      \"Status\": {\"select\": {\"name\": \"Todo\"}}\n    }\n  }'\n```\n\n### Query a Database\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fdata_sources\u002F{data_source_id}\u002Fquery\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filter\": {\"property\": \"Status\", \"select\": {\"equals\": \"Active\"}},\n    \"sorts\": [{\"property\": \"Date\", \"direction\": \"descending\"}]\n  }'\n```\n\n### Create a Database\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fdata_sources\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\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### Update Page Properties\n\n```bash\ncurl -s -X PATCH \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fpages\u002F{page_id}\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"properties\": {\"Status\": {\"select\": {\"name\": \"Done\"}}}}'\n```\n\n### Add Content to a Page\n\n```bash\ncurl -s -X PATCH \"https:\u002F\u002Fapi.notion.com\u002Fv1\u002Fblocks\u002F{page_id}\u002Fchildren\" \\\n  -H \"Authorization: Bearer $NOTION_API_KEY\" \\\n  -H \"Notion-Version: 2025-09-03\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"children\": [\n      {\"object\": \"block\", \"type\": \"paragraph\", \"paragraph\": {\"rich_text\": [{\"text\": {\"content\": \"Hello from Hermes!\"}}]}}\n    ]\n  }'\n```\n\n## Property Types\n\nCommon property formats for database items:\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\": \"2026-01-15\", \"end\": \"2026-01-16\"}}`\n- **Checkbox:** `{\"checkbox\": true}`\n- **Number:** `{\"number\": 42}`\n- **URL:** `{\"url\": \"https:\u002F\u002F...\"}`\n- **Email:** `{\"email\": \"user@example.com\"}`\n- **Relation:** `{\"relation\": [{\"id\": \"page_id\"}]}`\n\n## Key Differences in API Version 2025-09-03\n\n- **Databases → Data Sources:** Use `\u002Fdata_sources\u002F` endpoints for queries and retrieval\n- **Two IDs:** Each database has both a `database_id` and a `data_source_id`\n  - Use `database_id` when creating pages (`parent: {\"database_id\": \"...\"}`)\n  - Use `data_source_id` when querying (`POST \u002Fv1\u002Fdata_sources\u002F{id}\u002Fquery`)\n- **Search results:** Databases return as `\"object\": \"data_source\"` with their `data_source_id`\n\n## Notes\n\n- Page\u002Fdatabase IDs are UUIDs (with or without dashes)\n- Rate limit: ~3 requests\u002Fsecond average\n- The API cannot set database view filters — that's UI-only\n- Use `is_inline: true` when creating data sources to embed them in pages\n- Add `-s` flag to curl to suppress progress bars (cleaner output for Hermes)\n- Pipe output through `jq` for readable JSON: `... | jq '.results[0].properties'`\n",{"name":5,"author":23,"license":14,"version":24,"metadata":25,"description":7,"prerequisites":34},"community","1.0.0",{"hermes":26},{"tags":27,"homepage":33},[28,29,30,31,32],"Notion","Productivity","Notes","Database","API","https:\u002F\u002Fdevelopers.notion.com",{"env_vars":35},[36],"NOTION_API_KEY","main","404fd33aabef3b6bc1cc913117ba2160ade62625","snapshots\u002F2026-05-10T18-32-17Z\u002Fskills\u002Fproductivity\u002Fnotion","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71","2026-11-08 20:00:57",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add LyrikNilpferd71\u002FHermes-Backup --skill notion",{"tool":49,"command":50},"bunx","bunx skills add LyrikNilpferd71\u002FHermes-Backup --skill notion",{"tool":52,"command":53},"pnpm","pnpm dlx skills add LyrikNilpferd71\u002FHermes-Backup --skill notion","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-05-10T18-32-17Z\u002Fskills\u002Fproductivity\u002Fnotion\u002FSKILL.md",true,[57],{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"references\u002Fblock-types.md","REFERENCE","参考文档",3021,"https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-05-10T18-32-17Z\u002Fskills\u002Fproductivity\u002Fnotion\u002Freferences\u002Fblock-types.md",[64,72,79,86,93,100],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":71},"01M76BBCCNA7WQ82Q8QNZH8PBK","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[],[],"2026-11-12 13:55:43",{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":71},"01M76BB8YS41CA3NKW0YMSSB88","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[],[],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":71},"01M76BB680FPNT998E1GM2QW10","subagent-driven-development","Execute plans via delegate_task subagents (2-stage review).","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[],[],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":71},"01M76BB3C4ZB9S4RWPMM8MX0YB","plan","Write a markdown plan to .hermes\u002Fplans\u002F; no execution.","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fplan\u002FSKILL.md",[],[],{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":71},"01M76BB0NK28KMP51YDB5R3EXA","hermes-agent-skill-authoring","Author in-repo SKILL.md files: frontmatter and structure.","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fhermes-agent-skill-authoring\u002FSKILL.md",[],[],{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":71},"01M76BAYV58H0CKNSTZE3ZH4NY","debugging-hermes-tui-commands","Debug Hermes TUI slash commands: Python, gateway, Ink UI.","https:\u002F\u002Fgithub.com\u002FLyrikNilpferd71\u002FHermes-Backup\u002Fblob\u002Fmain\u002Fsnapshots\u002F2026-11-08T13-00-51+0100\u002Fskills\u002Fsoftware-development\u002Fdebugging-hermes-tui-commands\u002FSKILL.md",[],[]]