.claude/skills/api-notion/SKILL.md
Notion REST API for pages, databases, blocks. Uses internal integration token for headless/CI. Activate for Notion operations.
npx skillsauth add d0nghyun/neuron api-notionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Credentials File: .credentials/notion.json
{
"api_token": "ntn_..."
}
Create internal integration at: https://www.notion.so/my-integrations
Important: Pages must be shared with the integration to be accessible.
Load credentials before API calls:
NOTION_API_TOKEN=$(jq -r '.api_token' /Users/dhlee/Git/personal/neuron/.credentials/notion.json)
https://api.notion.com/v1
Authorization: Bearer $NOTION_API_TOKEN
Notion-Version: 2022-06-28
Content-Type: application/json
curl -s -H "Authorization: Bearer $NOTION_API_TOKEN" \
-H "Notion-Version: 2022-06-28" \
https://api.notion.com/v1/users
curl -s -X POST \
-H "Authorization: Bearer $NOTION_API_TOKEN" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{"query": "search term", "filter": {"property": "object", "value": "page"}}' \
https://api.notion.com/v1/search
curl -s -H "Authorization: Bearer $NOTION_API_TOKEN" \
-H "Notion-Version: 2022-06-28" \
https://api.notion.com/v1/pages/{page_id}
curl -s -X POST \
-H "Authorization: Bearer $NOTION_API_TOKEN" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{"filter": {"property": "Status", "select": {"equals": "Done"}}}' \
https://api.notion.com/v1/databases/{database_id}/query
curl -s -X POST \
-H "Authorization: Bearer $NOTION_API_TOKEN" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{
"parent": {"database_id": "{database_id}"},
"properties": {
"Name": {"title": [{"text": {"content": "New page title"}}]},
"Status": {"select": {"name": "In Progress"}}
}
}' \
https://api.notion.com/v1/pages
curl -s -X PATCH \
-H "Authorization: Bearer $NOTION_API_TOKEN" \
-H "Notion-Version: 2022-06-28" \
-H "Content-Type: application/json" \
-d '{
"children": [
{
"object": "block",
"type": "paragraph",
"paragraph": {
"rich_text": [{"type": "text", "text": {"content": "New paragraph"}}]
}
}
]
}' \
https://api.notion.com/v1/blocks/{block_id}/children
curl -s -H "Authorization: Bearer $NOTION_API_TOKEN" \
-H "Notion-Version: 2022-06-28" \
"https://api.notion.com/v1/blocks/{block_id}/children?page_size=100"
| Status | Meaning | Action | |--------|---------|--------| | 401 | Invalid token | Check .credentials/notion.json | | 403 | Page not shared | Share page with integration | | 404 | Resource not found | Verify page/database ID | | 429 | Rate limited | Wait and retry |
databases
Notion schedule management. Query today/weekly schedules, add/modify/complete schedules.
testing
Recap session memory into vault and validate vault structure
testing
Counterfactual review of decision paths after Moderate+ tasks
tools
Create a release with version tag. Converts UNRELEASED.md to version file and creates git tag.