← Back to list

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 comparisoncontains,!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>
Search
# 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
--debugor-doption for detailed logs - Destructive operations (delete, update) require
-foption
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