Agent skill

Notion

by RedWoodOG in RedWoodOG/Hermes-Desktop

Notion API for creating and managing pages, databases, and blocks via curl.

MITAuto-check: notes

Install Notion

skills CLI
$ npx skills add RedWoodOG/Hermes-Desktop --skill notion -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install RedWoodOG/Hermes-Desktop notion --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/RedWoodOG/Hermes-Desktop.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/productivity/notion .claude/skills/notion && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
notion
GitHub stars
177
Used in
2 other repos
Token cost
~1.3k tokens
SKILL.md length
279 words
Files
2 (incl. references)
Skills in repo
62
Repo updated
First seen
Licence
MIT

At a glance

Notion API for creating and managing pages, databases, and blocks via curl.

  • Works in 4 steps: Create an integration at… → Copy the API key (starts with ntn_ or… → Store it in ~/.hermes/.env → …
  • SKILL.md covers Prerequisites, API Basics, Common Operations and Property Types, plus 2 more sections
  • Calls curl and jq; reaches api.notion.com; needs NOTION_API_KEY

What it does

Notion is an agent skill from RedWoodOG/Hermes-Desktop. Notion API for creating and managing pages, databases, and blocks via curl. Search, create, update, and query Notion workspaces directly from the terminal.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/block-types.md`).

It works with Notion. The licence is MIT.

Example prompts

  • “/notion”

Requirements

  • A credential in NOTION_API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Create an integration at https://notion.so/my-integrations
  2. Copy the API key (starts with ntn_ or secret_)
  3. Store it in ~/.hermes/.env
  4. Important: Share target pages/databases with your integration in Notion (click "..." → "Connect to" → your integration name)

What it can do on your machine

Read from SKILL.md and the folder at commit be46b39. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.notion.com

    Also links to:

    • notion.so

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • NOTION_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Notion loads about 1.3k tokens when it runs, and up to ~2.1k if it reads all its reference files. Until then it costs about 41 tokens; SKILL.md has 279 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:23
    3. Store it in `~/.hermes/.env`:

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from RedWoodOG/Hermes-Desktop at commit be46b39, republished under its MIT licence (© RedWoodOG). 279 words, ~1,323 tokens.

Download SKILL.mdSave it as .claude/skills/notion/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
notion
description
Notion API for creating and managing pages, databases, and blocks via curl. Search, create, update, and query Notion workspaces directly from the terminal.
version
1.0.0
author
community
license
MIT
prerequisites.env_vars
NOTION_API_KEY

Notion API

Use 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.

Prerequisites

  1. Create an integration at https://notion.so/my-integrations
  2. Copy the API key (starts with ntn_ or secret_)
  3. Store it in ~/.hermes/.env:
    NOTION_API_KEY=ntn_your_key_here
  4. Important: Share target pages/databases with your integration in Notion (click "..." → "Connect to" → your integration name)

API Basics

All requests use this pattern:

bash
curl -s -X GET "https://api.notion.com/v1/..." \
  -H "Authorization: Bearer $NOTION_API_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json"

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

bash
curl -s -X POST "https://api.notion.com/v1/search" \
  -H "Authorization: Bearer $NOTION_API_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"query": "page title"}'
Get Page
bash
curl -s "https://api.notion.com/v1/pages/{page_id}" \
  -H "Authorization: Bearer $NOTION_API_KEY" \
  -H "Notion-Version: 2025-09-03"
Get Page Content (blocks)
bash
curl -s "https://api.notion.com/v1/blocks/{page_id}/children" \
  -H "Authorization: Bearer $NOTION_API_KEY" \
  -H "Notion-Version: 2025-09-03"
Create Page in a Database
bash
curl -s -X POST "https://api.notion.com/v1/pages" \
  -H "Authorization: Bearer $NOTION_API_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 Database
bash
curl -s -X POST "https://api.notion.com/v1/data_sources/{data_source_id}/query" \
  -H "Authorization: Bearer $NOTION_API_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 Database
bash
curl -s -X POST "https://api.notion.com/v1/data_sources" \
  -H "Authorization: Bearer $NOTION_API_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
bash
curl -s -X PATCH "https://api.notion.com/v1/pages/{page_id}" \
  -H "Authorization: Bearer $NOTION_API_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"properties": {"Status": {"select": {"name": "Done"}}}}'
Add Content to a Page
bash
curl -s -X PATCH "https://api.notion.com/v1/blocks/{page_id}/children" \
  -H "Authorization: Bearer $NOTION_API_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "children": [
      {"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"text": {"content": "Hello from Hermes!"}}]}}
    ]
  }'

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": "2026-01-15", "end": "2026-01-16"}}
  • Checkbox: {"checkbox": true}
  • Number: {"number": 42}
  • URL: {"url": "https://..."}
  • Email: {"email": "user@example.com"}
  • Relation: {"relation": [{"id": "page_id"}]}

Key Differences in API Version 2025-09-03

  • Databases → Data Sources: Use /data_sources/ endpoints for queries and retrieval
  • Two IDs: Each database 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

Notes

  • Page/database IDs are UUIDs (with or without dashes)
  • Rate limit: ~3 requests/second average
  • The API cannot set database view filters — that's UI-only
  • Use is_inline: true when creating data sources to embed them in pages
  • Add -s flag to curl to suppress progress bars (cleaner output for Hermes)
  • Pipe output through jq for readable JSON: ... | jq '.results[0].properties'

© RedWoodOG, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/productivity/notion of RedWoodOG/Hermes-Desktop.

  • SKILL.md
  • references/block-types.md

Open the folder on GitHubat commit be46b39

Used in 2 other repositories

We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in RedWoodOG/Hermes-Desktop, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Notion next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Notion compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Notion this skillRedWoodOG/Hermes-Desktop1772 repos~1.3kAutomated safety check: NotesMIT
Xiaohei Chinese Article Illustrationshelloianneo/ian-xiaohei-illustrations12k3 repos~470Automated safety check: WarnMIT
ComposioComposioHQ/composio30k1 repos~1.7kAutomated safety check: PassMIT
Debug SkillTypeCellOS/BlockNote10k—~1.8kAutomated safety check: PassCustom licence
Marketing PlanNexus-JPF/note-companion8705 repos~5.2kAutomated safety check: PassMIT
Docs SkillTypeCellOS/BlockNote10k—~1.9kAutomated safety check: PassCustom licence

Similar skills

  • Xiaohei Chinese Article Illustrations

    helloianneo/ian-xiaohei-illustrations

    Plans and generates 16:9 hand-drawn illustrations for Chinese articles on a white background, with a recurring black character and a few red, orange and blue handwritten notes.

    12k GitHub starsUsed in 3 repos~470 tokens
    Media & CreativeAuto-check: warnings
  • Composio

    ComposioHQ/composio

    Route and complete Composio work across Composio For You and Composio Platform.

    30k GitHub starsUsed in 1 repo~1.7k tokens
    Productivity & AutomationAuto-check passed
  • Debug Skill

    TypeCellOS/BlockNote

    Instructions for navigating and debugging BlockNote in a browser.

    10k GitHub stars~1.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Marketing Plan

    Nexus-JPF/note-companion

    When the user needs a comprehensive marketing plan for a client, a company they advise, or their own product.

    870 GitHub starsUsed in 5 repos~5.2k tokens
    Marketing & SEOAuto-check passed
  • Docs Skill

    TypeCellOS/BlockNote

    Conventions and verification workflow for writing and restructuring the documentation site (docs/content).

    10k GitHub stars~1.9k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Lead Magnets

    coreyhaines31/marketingskills

    When the user wants to create, plan, or optimize a lead magnet for email capture or lead generation.

    54k GitHub starsUsed in 5 repos~2.8k tokens
    Marketing & SEOAuto-check passed

More from RedWoodOG/Hermes-Desktop

All 62 skills in this repo
  • Excalidraw

    RedWoodOG/Hermes-Desktop

    Create hand-drawn style diagrams using Excalidraw JSON format.

    177 GitHub starsUsed in 5 repos~1.8k tokens
    Auto-check passed
  • Obliteratus

    RedWoodOG/Hermes-Desktop

    Remove refusal behaviors from open-weight LLMs using OBLITERATUS — mechanistic interpretability techniques (diff-in-means, SVD, whitened SVD, LEACE, SAE decomposition, etc.) to excise guardrails…

    177 GitHub starsUsed in 5 repos~3.8k tokens
    Auto-check passed
  • Ascii Video

    RedWoodOG/Hermes-Desktop

    Production pipeline for ASCII art video — any format. An agent skill from RedWoodOG/Hermes-Desktop.

    177 GitHub starsUsed in 2 repos~3.2k tokens
    Auto-check passed
  • Systematic Debugging

    RedWoodOG/Hermes-Desktop

    A skill your agent uses when encountering any bug, test failure, or unexpected behavior.

    177 GitHub starsUsed in 6 repos~2.6k tokens
    Auto-check passed
  • Test Driven Development

    RedWoodOG/Hermes-Desktop

    A skill your agent uses when implementing any feature or bugfix, before writing implementation code.

    177 GitHub starsUsed in 6 repos~2.4k tokens
    Auto-check passed
  • Claude Code

    RedWoodOG/Hermes-Desktop

    Delegate coding tasks to Claude Code (Anthropic's CLI agent).

    177 GitHub starsUsed in 4 repos~784 tokens
    Auto-check passed

Works with

Questions about Notion

What does Notion do?

Notion API for creating and managing pages, databases, and blocks via curl. Notion is an agent skill from RedWoodOG/Hermes-Desktop. Notion API for creating and managing pages, databases, and blocks via curl.

How do I install Notion in Claude Code?

Run `npx skills add RedWoodOG/Hermes-Desktop --skill notion -a claude-code`. Or copy the skill folder (skills/productivity/notion in RedWoodOG/Hermes-Desktop) into .claude/skills/notion in your project. Claude Code loads it when a task matches its description.

How do I install Notion in Codex?

Run `npx skills add RedWoodOG/Hermes-Desktop --skill notion -a codex`. Or copy the skill folder (skills/productivity/notion in RedWoodOG/Hermes-Desktop) into .agents/skills/notion in your project. Codex loads it when a task matches its description.

Can I use Notion in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add RedWoodOG/Hermes-Desktop --skill notion -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/notion, .gemini/skills/notion, .github/skills/notion and .opencode/skills/notion in your project.

What does Notion need to run?

Going by SKILL.md and its folder, Notion needs the command-line tools its instructions call (curl and jq) and credentials named NOTION_API_KEY. Our summary lists: A credential in NOTION_API_KEY.

Does Notion access the network?

SKILL.md names 2 domains. In commands or code: api.notion.com; the agent is likely to contact it when it follows the instructions. As links in the text: notion.so. This is read from the text; nothing was executed.

Is Notion safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Notion use?

Notion is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Notion use?

About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 756 tokens, read only when the agent opens those files.

What are the alternatives to Notion?

Skills that share tags, products or a category with Notion: Xiaohei Chinese Article Illustrations (helloianneo/ian-xiaohei-illustrations, 12k stars), Composio (ComposioHQ/composio, 30k stars), Debug Skill (TypeCellOS/BlockNote, 10k stars) and Marketing Plan (Nexus-JPF/note-companion, 870 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Notion?

RedWoodOG (a GitHub user) maintains it in RedWoodOG/Hermes-Desktop, which has 177 GitHub stars. The repository holds 62 skills in this directory. The repository was last updated on May 30, 2026.

Source: RedWoodOG/Hermes-Desktop on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.