
Notion Cli
Wire your coding agent to Notion pages, databases, workers, and file uploads through the self-documenting `ntn` CLI instead of guessing REST payloads.
Overview
Notion CLI is an agent skill most often used in Build (also Validate scope, Grow content ops) that runs the official `ntn` CLI to call the Notion API, manage workers, and upload files with self-documented syntax.
Install
npx skills add https://github.com/makenotion/skills --skill notion-cliWhat is this skill?
- Self-documenting CLI: `ntn api ls`, per-path `--help`, `--docs`, and `--spec` before any call
- Reads pages as Markdown via `ntn pages get` for agent context
- Auth via `NOTION_API_TOKEN` first; `ntn login` only when env token is missing
- Covers workers deploy and file upload flows alongside standard CRUD
- Official install path: `curl -fsSL https://ntn.dev | bash`
- Install script: curl -fsSL https://ntn.dev | bash
- Discovery commands include ntn api ls and per-endpoint --help, --docs, --spec
Adoption & trust: 3k installs on skills.sh; 119 GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
You want your agent to update Notion pages and databases but REST docs and auth setup make every task a one-off curl experiment.
Who is it for?
Solo builders who already use Notion as a CRM, spec hub, or content calendar and want Claude Code or Cursor to mutate that workspace via a maintained CLI.
Skip if: Teams that need a hosted MCP with OAuth UX only—skip when the job is purely offline markdown in Obsidian with no Notion account.
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 any task involving the `ntn` command.
What do I get? / Deliverables
Your agent discovers the right `ntn api` path from the CLI, executes authenticated calls, and returns page Markdown or API results without you hand-writing requests.
- Executed Notion API operations via ntn
- Page content retrieved as Markdown when using ntn pages get
- Deployed workers or uploaded files when requested
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Notion is where solo builders keep specs, roadmaps, and customer notes—automating it sits in Build as an integration layer that feeds docs and PM work downstream. Primary shelf is integrations because the skill is API/CLI execution (`ntn api`, workers, uploads), not authoring long-form docs inside the vault.
Where it fits
Push validated feature scope rows into a Notion roadmap database after a sizing session.
Script page creation and database queries while building a product that syncs status to Notion.
Let the agent read a spec page as Markdown before implementing tickets linked from Notion.
Bulk-update launch calendar entries in Notion after shipping a release.
How it compares
Use this integration skill for executable `ntn` commands instead of pasting raw OpenAPI snippets into chat.
Common Questions / FAQ
Who is notion-cli for?
Indie developers and small teams who centralize plans, leads, or wikis in Notion and want their coding agent to create pages, query databases, deploy workers, and upload files through one CLI.
When should I use notion-cli?
During Build when wiring Notion into your app or agent loop; during Validate when logging research into a Notion database; during Grow when updating launch checklists or content tables from the terminal.
Is notion-cli safe to install?
It implies network access to Notion and use of API tokens—review the Security Audits panel on this Prism page and scope tokens to least-privilege integrations before letting an agent run `ntn`.
SKILL.md
READMESKILL.md - Notion Cli
# 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 ```bash 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: ```bash # 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`. ```bash # 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. ```bash 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. ```bash 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 ``` MIT License Copyright (c) 2026 Notion Labs, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FRO