Back to list
hirokidaichi

noti

by hirokidaichi

Notion CLI

0🍴 0📅 Jan 14, 2026

SKILL.md


name: noti description: Notion CLI tool for managing pages, databases, and content. Use when working with Notion data, creating/updating pages, querying databases, or syncing content.

noti - Notion CLI Tool Skill

noti is a CLI tool for operating Notion from the command line. With this skill, you can create/edit pages, manipulate databases, search, and more.

Installing the Skill

# Install to user directory (available for all projects)
noti setup-skills --user

# Install to project directory (this project only)
noti setup-skills --project

Initial Setup

Set your Notion API token:

noti configure --token <your_token>

# Check current settings
noti configure --show

Get your Notion Integration Token from https://www.notion.so/my-integrations

Page Operations

Get Page

# Get as Markdown
noti page get <page_id_or_url>

# Get as JSON
noti page get <page_id_or_url> -f json

# Output to file
noti page get <page_id_or_url> -o output.md

Create Page

# Create page from Markdown file
noti page create <parent_page_id> content.md

# Create with specific title
noti page create <parent_page_id> content.md -t "New Page"

The first # heading in the Markdown file is used as the title (can be overridden with -t option).

Update Page

# Replace page content (-f required)
noti page update <page_id> new_content.md -f

Append to Page

noti page append <page_id> additional_content.md

Delete Page

# -f option required
noti page remove <page_id> -f

Database Operations

List Databases

# Tab-separated list
noti database list

# JSON output
noti database list --json

Query Database

# Basic query
noti database query <database_id>

# Query with filter
noti database query <database_id> -f "Status=Done"
noti database query <database_id> -f "Priority!=Low" -f "Status=In Progress"

# Query with sort
noti database query <database_id> -s "Name:asc"
noti database query <database_id> -s "created_time:desc"

# Combined query
noti database query <database_id> -f "Status=Done" -s "Name:asc" --limit 10

Filter Operators:

  • =, != - Equality comparison
  • >, <, >=, <= - Numeric/date comparison
  • contains, !contains - Text/multi-select search

Export Database

# JSON format
noti database export <database_id> -f json -o data.json

# CSV format
noti database export <database_id> -f csv -o data.csv

# Markdown format
noti database export <database_id> -f markdown -o data.md

Import to Database

# Import from CSV
noti database import -f data.csv -d <database_id>

# Dry run (validation only)
noti database import -f data.csv -d <database_id> --dry-run

# Use mapping file
noti database import -f data.csv -d <database_id> --map-file mapping.json

Create Database

# Create with schema JSON file
noti database create <parent_page_id> schema.json

Schema JSON format:

{
  "title": "Task Management",
  "properties": {
    "Name": { "type": "title" },
    "Status": { "type": "select", "options": ["Todo", "In Progress", "Done"] },
    "Priority": { "type": "number" },
    "DueDate": { "type": "date" }
  }
}

Database Page Operations

# Add page from JSON file
noti database page add <database_id> page_data.json

# Get page
noti database page get <page_id>

# Delete page (-f required)
noti database page remove <page_id> -f

Page data JSON format:

{
  "properties": {
    "Name": "Task Name",
    "Status": "Todo",
    "Priority": 1
  }
}

Comment Operations

# Get comments
noti page comment get <page_id>

# Display as threads
noti page comment get <page_id> -f thread

# Add comment
noti page comment add <page_id> "Comment content"

# Reply to thread
noti page comment reply <page_id> <thread_id> "Reply content"

# List threads
noti page comment list-threads <page_id>
# Keyword search
noti search "search keyword"

# JSON output
noti search "keyword" --json

# Limit results
noti search "keyword" --limit 50

Block Operations

# Get block
noti block get <block_id>

# Get with children
noti block get <block_id> -c

# List blocks
noti block list <page_id>

# Delete block (-f required)
noti block delete <block_id> -f

Alias Management

Set aliases for frequently used pages:

# Add alias
noti alias add mypage <page_id_or_url>

# List aliases
noti alias list

# Remove alias
noti alias remove mypage

# Open page using alias
noti open mypage

User Information

# Current user
noti user me

# List workspace users
noti user list

# Get specific user
noti user get <user_id>

Open in Browser

noti open <page_id_or_url_or_alias>

Examples: Typical Workflows

1. Create and Save Meeting Notes

# Write meeting notes in Markdown and save to Notion
echo "# Meeting Notes 2024-01-15

## Attendees
- Alice
- Bob

## Agenda
1. Project progress
2. Next actions

## Decisions
- Finalize design by next week
" > meeting.md

noti page create <parent_page_id> meeting.md

2. Search and Update Tasks

# Search incomplete tasks
noti database query <task_db_id> -f "Status!=Done" -s "Priority:desc"

# Check specific task
noti database page get <task_page_id>

3. Data Backup

# Export entire database as CSV
noti database export <database_id> -f csv -o backup_$(date +%Y%m%d).csv

4. Bulk Data Import

# Import to database from CSV
noti database import -f new_data.csv -d <database_id> --dry-run  # Validate first
noti database import -f new_data.csv -d <database_id>            # Execute

Notes

  • Page ID, database ID, or Notion URL can be specified
  • Set aliases to access with short names instead of IDs or URLs
  • Use --debug or -d option for detailed logs
  • Destructive operations (delete, update) require -f option

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon