Read-only Notion workspace access. Syncs pages, surfaces comments, and pulls content into a knowledge base.
54
68%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
The notion-cli command is available globally after setup (see SKILL.md). Output is JSON by default. Add --markdown for human-readable output.
pages listReturn all pages the agent has access to:
notion-cli pages listFilter to pages modified after a datetime:
notion-cli pages list --since "2026-03-19T00:00:00.000Z"pages getFetch a single page's content as markdown:
notion-cli pages get <page-id>Returns the page title, URL, and full markdown content. Use this to evaluate whether a page belongs in the KB or to update an existing KB file.
comments listGet recent comments (--since is required):
notion-cli comments list --since "2026-03-20T08:00:00.000Z"Get comments for a specific page:
notion-cli comments list --since "2026-03-20T08:00:00.000Z" --page "page-uuid"Each comment includes: page title, comment content, commenter name, timestamp.
pullPull latest Notion content into KB files that have frontmatter:
notion-cli pull --kb /path/to/tesslkbScans the KB for files with notion_id in their frontmatter, fetches the latest content from Notion, and updates the files. Reports which files were updated, unchanged, or errored.
Scope to a single page (useful for testing):
notion-cli pull --kb /path/to/tesslkb --page "page-uuid"Output example:
Updated: core/product/recipe-runner.md
Unchanged: core/thesis/vision.md
Error: core/domain/personas.md (404 — page not found or access revoked)On errors, note the affected file in the daily note and continue — do not abort the sync.
pushPush local KB content back to Notion for files that have frontmatter:
notion-cli push --kb /path/to/tesslkbScans the KB for files with notion_id in their frontmatter and replaces each Notion page's content with the local markdown. Reports which files were pushed or errored.
Scope to a single page (useful for testing):
notion-cli push --kb /path/to/tesslkb --page "page-uuid"