notion-tool

Notion integration tool for searching, reading, creating, and updating pages and databases via the API. Use when: editing Notion pages, adding database rows, or searching a workspace.

224 stars

Best use case

notion-tool is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Notion integration tool for searching, reading, creating, and updating pages and databases via the API. Use when: editing Notion pages, adding database rows, or searching a workspace.

Teams using notion-tool should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/notion-tool/SKILL.md --create-dirs "https://raw.githubusercontent.com/xuiltul/animaworks/main/templates/en/common_skills/notion-tool/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/notion-tool/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How notion-tool Compares

Feature / Agentnotion-toolStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Notion integration tool for searching, reading, creating, and updating pages and databases via the API. Use when: editing Notion pages, adding database rows, or searching a workspace.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Notion Tool

External tool for searching, reading, creating, and updating Notion pages and databases via the Notion API.

## Invocation via Bash

Use **Bash** with `animaworks-tool notion <subcommand> [args]`. See Actions below for syntax.

## Actions

### search — Search workspace
```json
{"tool_name": "notion", "action": "search", "args": {"query": "search term", "page_size": 10}}
```

### get_page — Get page metadata
```json
{"tool_name": "notion", "action": "get_page", "args": {"page_id": "page-id"}}
```

### get_page_content — Get page body
```json
{"tool_name": "notion", "action": "get_page_content", "args": {"page_id": "page-id"}}
```

### get_database — Get database metadata
```json
{"tool_name": "notion", "action": "get_database", "args": {"database_id": "database-id"}}
```

### query — Query database
```json
{"tool_name": "notion", "action": "query", "args": {"database_id": "database-id", "filter": {}, "sorts": [], "page_size": 10}}
```
- `filter`: Notion API filter JSON (optional)
- `sorts`: Array of sort conditions (optional)

### create_page — Create page
```json
{"tool_name": "notion", "action": "create_page", "args": {"parent_page_id": "parent-page-id", "properties": {"title": [{"text": {"content": "Title"}}]}}}
```
- Either `parent_page_id` or `parent_database_id` is required
- `children`: Array of page content blocks (optional)

### update_page — Update page
```json
{"tool_name": "notion", "action": "update_page", "args": {"page_id": "page-id", "properties": {}}}
```

### create_database — Create database
```json
{"tool_name": "notion", "action": "create_database", "args": {"parent_page_id": "parent-page-id", "title": "DB name", "properties": {}}}
```

## CLI Usage (S/C/D/G-mode)

```bash
animaworks-tool notion search [query] -j
animaworks-tool notion get-page PAGE_ID -j
animaworks-tool notion get-page-content PAGE_ID -j
animaworks-tool notion get-database DATABASE_ID -j
animaworks-tool notion query DATABASE_ID [--filter JSON] [--sorts JSON] [-n 10] -j
animaworks-tool notion create-page --parent-page-id ID --properties JSON -j
animaworks-tool notion update-page PAGE_ID --properties JSON -j
animaworks-tool notion create-database --parent-page-id ID --title "name" --properties JSON -j
```

## Notes

- Notion API Token must be configured in credentials
- Page/database IDs accept both hyphenated and non-hyphenated formats
- Property structures follow the Notion API schema

Related Skills

x-search-tool

224
from xuiltul/animaworks

X (Twitter) search tool for keyword search and fetching tweets from a specified account. Use when: searching X for topics, reading a user timeline, or tracking trends and posts.

web-search-tool

224
from xuiltul/animaworks

Web search tool. Queries the public internet via the Brave Search API. Use when: researching current events, finding documentation, fact-checking, or fetching ranked search results.

transcribe-tool

224
from xuiltul/animaworks

Audio transcription tool. Converts audio files to text with Whisper and optional LLM post-processing. Use when: transcribing meetings, podcasts, or extracting text from recorded audio files.

tool-creator

224
from xuiltul/animaworks

Meta-skill for building AnimaWorks Python external tools: ExternalToolDispatcher, get_credential, and permissions. Use when: adding a module under core/tools, wrapping a Web API, or exposing commands via animaworks-tool.

slack-tool

224
from xuiltul/animaworks

Slack integration tool for send/receive messages, search, unreplied checks, channel listing, and emoji reactions. Use when: posting to Slack, listing channels, replying in threads, checking unreplied items, or adding reactions.

machine-tool

224
from xuiltul/animaworks

Delegates work to external agent CLIs (machine tools) for large code changes, investigation, or analysis. Use when: offloading implementation via the machine command, heavy refactors, or batched agent runs.

local-llm-tool

224
from xuiltul/animaworks

Local LLM execution tool for text generation and chat through Ollama or vLLM endpoints. Use when: running on-prem inference, calling a local GPU model, or summarizing with a self-hosted LLM.

google-calendar-tool

224
from xuiltul/animaworks

Google Calendar integration tool for listing and creating events via OAuth2 Calendar API access. Use when: checking upcoming events, creating appointments, or updating your schedule.

gmail-tool

224
from xuiltul/animaworks

Gmail integration tool for unread checks, reading bodies, and drafts via OAuth2 Gmail API access. Use when: reading inbox mail, fetching message bodies, writing drafts, or searching labeled mail.

github-tool

224
from xuiltul/animaworks

GitHub integration tool for listing and creating issues and PRs via the gh CLI wrapper. Use when: creating or listing issues or pull requests, or checking repository work on GitHub.

discord-tool

224
from xuiltul/animaworks

Discord integration tool for messaging, search, guild and channel listing, and reactions. Use when: posting to Discord, listing channels, searching messages, or adding reactions in guilds.

chatwork-tool

224
from xuiltul/animaworks

Chatwork integration tool for send/receive messages, search, unreplied checks, and room listing. Use when: posting to Chatwork, listing rooms, checking unreplied threads, searching messages, or handling mentions.