← 返回 Skills 市场
qfish

notion-test

作者 qfish · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
275
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install notion-test
功能描述
Notion API for creating and managing pages, databases, and blocks.
使用说明 (SKILL.md)

notion

Use the Notion API to create/read/update pages, data sources (databases), and blocks.

Setup

  1. Create an integration at https://notion.so/my-integrations
  2. Copy the API key (starts with ntn_ or secret_)
  3. Store it:
mkdir -p ~/.config/notion
echo "ntn_your_key_here" > ~/.config/notion/api_key
  1. Share target pages/databases with your integration (click "..." → "Connect to" → your integration name)

API Basics

All requests need:

NOTION_KEY=$(cat ~/.config/notion/api_key)
curl -X GET "https://api.notion.com/v1/..." \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json"

Note: The Notion-Version header is required. This skill uses 2025-09-03 (latest). In this version, databases are called "data sources" in the API.

Common Operations

Search for pages and data sources:

curl -X POST "https://api.notion.com/v1/search" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"query": "page title"}'

Get page:

curl "https://api.notion.com/v1/pages/{page_id}" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03"

Get page content (blocks):

curl "https://api.notion.com/v1/blocks/{page_id}/children" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03"

Create page in a data source:

curl -X POST "https://api.notion.com/v1/pages" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": {"database_id": "xxx"},
    "properties": {
      "Name": {"title": [{"text": {"content": "New Item"}}]},
      "Status": {"select": {"name": "Todo"}}
    }
  }'

Query a data source (database):

curl -X POST "https://api.notion.com/v1/data_sources/{data_source_id}/query" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": {"property": "Status", "select": {"equals": "Active"}},
    "sorts": [{"property": "Date", "direction": "descending"}]
  }'

Create a data source (database):

curl -X POST "https://api.notion.com/v1/data_sources" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": {"page_id": "xxx"},
    "title": [{"text": {"content": "My Database"}}],
    "properties": {
      "Name": {"title": {}},
      "Status": {"select": {"options": [{"name": "Todo"}, {"name": "Done"}]}},
      "Date": {"date": {}}
    }
  }'

Update page properties:

curl -X PATCH "https://api.notion.com/v1/pages/{page_id}" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"properties": {"Status": {"select": {"name": "Done"}}}}'

Add blocks to page:

curl -X PATCH "https://api.notion.com/v1/blocks/{page_id}/children" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "children": [
      {"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"text": {"content": "Hello"}}]}}
    ]
  }'

Property Types

Common property formats for database items:

  • Title: {"title": [{"text": {"content": "..."}}]}
  • Rich text: {"rich_text": [{"text": {"content": "..."}}]}
  • Select: {"select": {"name": "Option"}}
  • Multi-select: {"multi_select": [{"name": "A"}, {"name": "B"}]}
  • Date: {"date": {"start": "2024-01-15", "end": "2024-01-16"}}
  • Checkbox: {"checkbox": true}
  • Number: {"number": 42}
  • URL: {"url": "https://..."}
  • Email: {"email": "[email protected]"}
  • Relation: {"relation": [{"id": "page_id"}]}

Key Differences in 2025-09-03

  • Databases → Data Sources: Use /data_sources/ endpoints for queries and retrieval
  • Two IDs: Each database now has both a database_id and a data_source_id
    • Use database_id when creating pages (parent: {"database_id": "..."})
    • Use data_source_id when querying (POST /v1/data_sources/{id}/query)
  • Search results: Databases return as "object": "data_source" with their data_source_id
  • Parent in responses: Pages show parent.data_source_id alongside parent.database_id
  • Finding the data_source_id: Search for the database, or call GET /v1/data_sources/{data_source_id}

Notes

  • Page/database IDs are UUIDs (with or without dashes)
  • The API cannot set database view filters — that's UI-only
  • Rate limit: ~3 requests/second average
  • Use is_inline: true when creating data sources to embed them in pages
安全使用建议
This skill is an instruction-only Notion API guide and appears coherent with its purpose, but consider the following before installing/using: - The instructions expect a Notion integration key; create an integration with the minimum scopes needed and share only the pages/databases necessary. - The SKILL.md suggests storing the key in ~/.config/notion/api_key using echo; prefer creating the file with restrictive permissions (chmod 600) or use a secrets manager or environment variable to avoid leaving plaintext credentials accessible to other users/processes. - The skill metadata does not declare the required credential (primaryEnv), so treat the missing declaration as a small quality issue rather than a security exploit; verify you understand where your token is stored and how the agent will access it. - Because it's instruction-only, there is no downloaded code, but the agent (or a user following the guide) will read the local key and send it to api.notion.com — ensure you trust the environment and the agent's permissions before enabling autonomous actions. - Rotate the token if you stop using the integration or suspect misuse.
功能分析
Type: OpenClaw Skill Name: notion-test Version: 1.0.0 The skill bundle provides standard instructions and curl commands for interacting with the Notion API. It includes setup steps for storing an API key in ~/.config/notion/api_key and demonstrates common operations like searching, creating, and updating pages or databases (referred to as 'data sources' in the provided documentation). No malicious behavior, data exfiltration, or obfuscation was detected in SKILL.md or _meta.json.
能力评估
Purpose & Capability
Name/description match the instructions: the skill shows how to call the Notion API to create/read/update pages, data sources, and blocks. The actions and endpoints in the instructions are consistent with a Notion integration and the stated purpose.
Instruction Scope
Instructions tell the agent/user to store a Notion API key at ~/.config/notion/api_key and to read it into NOTION_KEY for curl calls. This is expected for a Notion integration, but the guide suggests writing the key to a plain file via echo without mentioning file permissions — a minor operational/security caveat. The instructions do not reference other system files, unrelated credentials, or external endpoints besides api.notion.com.
Install Mechanism
No install spec and no code files (instruction-only). This is lowest-risk: nothing is downloaded or written by an installer step.
Credentials
The skill requires a Notion API token in practice, but the registry metadata lists no required env vars or primary credential. The only credential used is the Notion integration key (ntn_/secret_), which is appropriate for the functionality and there are no unrelated credential requests.
Persistence & Privilege
always is false, no install steps, and the skill does not request persistent or elevated privileges. It does instruct use of a local API key file (its own config area), which is normal for this kind of skill.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install notion-test
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /notion-test 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
v1.0.0
元数据
Slug notion-test
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

notion-test 是什么?

Notion API for creating and managing pages, databases, and blocks. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 275 次。

如何安装 notion-test?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install notion-test」即可一键安装,无需额外配置。

notion-test 是免费的吗?

是的,notion-test 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

notion-test 支持哪些平台?

notion-test 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 notion-test?

由 qfish(@qfish)开发并维护,当前版本 v1.0.0。

💬 留言讨论