Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
makenotion avatar

Notion Cli

  • 6.3k installs
  • 148 repo stars
  • Updated June 16, 2026
  • makenotion/skills

notion-cli is an agent skill for running the Notion ntn CLI to call the API, manage pages, upload files, and deploy workers.

About

The notion-cli skill documents the official Notion CLI (ntn) for interacting with the Notion API from the terminal. It instructs agents to look up syntax via self-documenting commands such as ntn api ls, ntn api <path> --help, --docs, and --spec rather than guessing endpoints. Authentication prefers an existing NOTION_API_TOKEN environment variable; ntn login and logout are fallbacks that open a browser URL. The ntn api subcommand infers GET vs POST, supports query params, inline body fields, JSON bodies with -d, and method overrides with -X. Page and comment content should use Markdown via ntn pages create, ntn pages update, or the markdown field on comments, falling back to rich_text only for mentions, emoji, or colors. File uploads wrap the File Uploads API through ntn files create from stdin or external URLs. Workers are scaffolded, deployed, listed, and executed with ntn workers new, deploy, ls, and exec. Install via curl -fsSL https://ntn.dev | bash.

  • Self-documenting CLI: ntn api ls, --help, --docs, and --spec before guessing syntax.
  • Prefers NOTION_API_TOKEN; ntn login only when the token env var is unset.
  • Markdown-first page and comment authoring via ntn pages and markdown API fields.
  • ntn files create supports stdin uploads and external URLs for File Uploads API.
  • ntn workers subcommands scaffold, deploy, list, and execute Notion workers.

Notion Cli by the numbers

  • 6,324 all-time installs (skills.sh)
  • +324 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #32 of 550 CLI & Terminal skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

notion-cli capabilities & compatibility

Capabilities
discover api endpoints via ntn api ls and per pa · authenticate with notion_api_token or ntn login · create and update pages with markdown content fi · upload files from stdin or external urls · scaffold and deploy notion workers from a projec
Works with
notion
Use cases
project management · documentation · api development
Platforms
macOS · Linux · Windows
Runs
Runs locally
Pricing
Free
From the docs

What notion-cli says it does

Use the Notion CLI (`ntn`) to interact with the Notion API, manage workers, and upload files.
SKILL.md
The CLI automatically uses `NOTION_API_TOKEN` when it is set.
SKILL.md
Prefer `ntn pages create` / `ntn pages update` for Markdown page content.
SKILL.md
ntn workers deploy # deploy from current directory
SKILL.md
npx skills add https://github.com/makenotion/skills --skill notion-cli

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs6.3k
repo stars148
Security audit1 / 3 scanners passed
Last updatedJune 16, 2026
Repositorymakenotion/skills

How do I call the Notion API, create pages, query databases, upload files, or deploy a worker without memorizing endpoint syntax?

Call the Notion API, create pages, query databases, upload files, and manage workers using the ntn CLI.

Who is it for?

Terminal workflows that create or update Notion pages, query databases, upload files, or manage Notion workers.

Skip if: Skip when the task is unrelated to Notion or when a GUI-only workflow is explicitly required.

When should I use this skill?

User asks to call the Notion API, deploy a worker, upload a file to Notion, create a page, query a database, or run any ntn command.

What you get

Correct ntn commands executed with Markdown content, authenticated API access, and optional worker deployment from the current directory.

  • Notion API command invocations
  • Created pages or database query output

By the numbers

  • Four ntn command families documented: api, pages, files, workers
  • Install via curl -fsSL https://ntn.dev | bash

Files

SKILL.mdMarkdownGitHub ↗

Notion CLI

Look things up before answering

The CLI is self-documenting. Always prefer running these commands over guessing syntax or relying on memorized knowledge:

  • ntn api ls — list every public API endpoint.
  • ntn api <path> --help — show methods, doc links, and usage for an endpoint.
  • ntn api <path> --docs — print the full official docs for an endpoint.
  • ntn api <path> --spec — print a reduced OpenAPI fragment (useful for

understanding request/response schemas).

  • ntn pages get <page-id> — retrieve a page as Markdown. Use this to read page

content.

  • ntn <command> --help — help for any command or subcommand.

Install

curl -fsSL https://ntn.dev | bash

Authentication

  • The CLI automatically uses NOTION_API_TOKEN when it is set.
  • Check NOTION_API_TOKEN first. If it is already set, prefer using it instead

of telling the user to run ntn login.

  • ntn login / ntn logout — log the CLI in or out (only use if not using

NOTION_API_TOKEN). ntn login requires the user to visit a URL in a web browser.

ntn api

Run ntn api --help for full syntax. Quick summary:

# GET with query param
ntn api v1/users page_size==100

# POST with inline body fields
ntn api v1/pages parent[page_id]=abc123

# POST with JSON body
ntn api v1/pages -d '{"parent":{"page_id":"abc123"}}'

The method is inferred (GET by default, POST when a body is present). Override with -X METHOD.

Markdown for pages and comments

Prefer ntn pages create / ntn pages update for Markdown page content. Use the markdown field when creating or updating comments via ntn api.

# Comment with markdown
ntn api v1/comments -d '{"parent":{"page_id":"abc123"},"markdown":"Here is a [link](https://example.com) and **bold text**."}'

# Page with markdown body
ntn pages create --parent page:abc123 --content '## Heading\n\nSome *formatted* content.'

The markdown field supports inline formatting (bold, italic, code, links, etc.). Only fall back to rich_text if you need features that Markdown cannot express (e.g. mentions, custom emoji, or colors).

ntn files

Convenience wrapper around the File Uploads API.

ntn files create < image.png
ntn files create --external-url https://example.com/photo.png
ntn files list
ntn files get <upload-id>

ntn workers

Manage Notion workers (deploy, list, execute, etc.). Run ntn workers --help for subcommands.

ntn workers new my-worker        # scaffold a new project
ntn workers deploy               # deploy from current directory
ntn workers ls                   # list workers
ntn workers exec <capability>    # execute a capability

Related skills

How it compares

Choose notion-cli when terminal-driven API discovery beats hand-maintained Notion REST examples in agent prompts.

FAQ

How should agents learn ntn syntax?

Run ntn api ls, ntn api <path> --help, --docs, or --spec instead of guessing endpoint shapes.

When is ntn login required?

Only when NOTION_API_TOKEN is not already set in the environment.

How do I upload a local image to Notion?

Use ntn files create < image.png or ntn files create --external-url for a remote file.

Is Notion Cli safe to install?

skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

CLI & Terminalnotesworkflow

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.