用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/lidge-jun/cli-jaw-skills --skill notion命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | notion |
| description | Notion API for creating and managing pages, databases, and blocks. |
| metadata | {"homepage":"https://developers.notion.com","openclaw":{"emoji":"📝","requires":{"env":"[Truncated]"},"primaryEnv":"NOTION_API_KEY"}} |
Create, read, and update Notion pages, data sources (databases), and blocks via the API.
ntn_ prefix) stored at ~/.config/notion/api_keyNOTION_KEY=$(cat ~/.config/notion/api_key)NOTION_KEY=$(cat ~/.config/notion/api_key)
# Helper — all examples below use this
notion_api() {
local method=$1 endpoint=$2 data=$3
curl -s -X "$method" "https://api.notion.com/v1$endpoint" \
-H "Authorization: Bearer $NOTION_KEY" \
-H "Notion-Version: 2025-09-03" \
-H "Content-Type: application/json" \
${data:+-d "$data"}
}
API version 2025-09-03 (latest). Databases are called "data sources" in this version.
# Search
notion_api POST /search '{"query": "page title"}'
# Get page
notion_api GET /pages/{page_id}
# Get page content (blocks)
notion_api GET /blocks/{page_id}/children
# Create page in a data source
notion_api POST /pages '{
"parent": {"database_id": "xxx"},
"properties": {
"Name": {"title": [{"text": {"content": "New Item"}}]},
"Status": {"select": {"name": "Todo"}}
}
}'
# Query a data source
notion_api POST /data_sources/{data_source_id}/query '{
"filter": {"property": "Status", "select": {"equals": "Active"}},
"sorts": [{"property": "Date", "direction": "descending"}]
}'
# Create a data source
notion_api POST /data_sources '{
"parent": {"page_id": "xxx"},
"title": [{"text": {"content": "My Database"}}],
"properties": {
"Name": {"title": {}},
"Status": {"select": {"options": [{"name": "Todo"}, {"name": "Done"}]}},
"Date": {"date": {}}
}
}'
# Update page properties
notion_api PATCH /pages/{page_id} \
'{"properties": {"Status": {"select": {"name": "Done"}}}}'
# Add blocks to page
notion_api PATCH /blocks/{page_id}/children '{
"children": [
{"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"text": {"content": "Hello"}}]}}
]
}'
{"title": [{"text": {"content": "..."}}]}{"rich_text": [{"text": {"content": "..."}}]}{"select": {"name": "Option"}}{"multi_select": [{"name": "A"}, {"name": "B"}]}{"date": {"start": "2024-01-15", "end": "2024-01-16"}}{"checkbox": true}{"number": 42}{"url": "https://..."}{"email": "a@b.com"}{"relation": [{"id": "page_id"}]}/data_sources/ endpoints for queriesdatabase_id (for creating pages) and data_source_id (for querying)"object": "data_source"parent.data_source_id and parent.database_id~/.config/notion/api_key (also ~/.config/notion/access_token)~/.config/notion/oauth.envnotion_api POST /search '{"query": "page name"}'Mention links create backlinks and show page icons automatically.
// ✓ mention
{"type": "mention", "mention": {"type": "page", "page": {"id": "페이지-UUID"}}}
// ✗ plain text
{"type": "text", "text": {"content": "페이지 이름"}}
Mentions display the page icon automatically — adding emoji causes duplication.
{"object": "block", "type": "callout", "callout": {
"rich_text": [
{"type": "mention", "mention": {"type": "page", "page": {"id": "대시보드-UUID"}}},
{"type": "text", "text": {"content": " · "}},
{"type": "mention", "mention": {"type"
Deleting child_page blocks archives subpages permanently. Always filter them out:
for block in children:
if block["type"] != "child_page":
delete_block(block["id"])
callout (intro/slogan) + color_background
divider
heading_2 (section)
callout (mention links) + gray_background ← navigation
divider
heading_2 (Quick Links)
bulleted_list_item (mention → description)
time.sleep(0.35)is_inline: true to embed data sources in pages