# Notion Writer Skill Push markdown content to Notion pages or databases via Claude Code. ## Prerequisites - Python virtual environment at `~/Project/claude-skills/custom-skills/02-notion-writer/code/scripts/venv` - Notion API key configured in `.env` file - Target pages/databases must be shared with the integration ## Quick Start ```bash cd ~/Project/claude-skills/custom-skills/02-notion-writer/code/scripts source venv/bin/activate ``` ## Commands ### Test Connection ```bash python notion_writer.py --test ``` ### List Accessible Content ```bash python notion_writer.py --list python notion_writer.py --list --filter pages python notion_writer.py --list --filter databases ``` ### Get Page/Database Info ```bash python notion_writer.py -p PAGE_URL --info python notion_writer.py -d DATABASE_URL --info ``` ### Write to Page ```bash # Append content python notion_writer.py -p PAGE_URL -f content.md # Replace content python notion_writer.py -p PAGE_URL -f content.md --replace # From stdin cat report.md | python notion_writer.py -p PAGE_URL --stdin ``` ### Create Database Row ```bash python notion_writer.py -d DATABASE_URL -t "Entry Title" -f content.md ``` ## Supported Markdown | Markdown | Notion Block | |----------|--------------| | `# Heading` | Heading 1 | | `## Heading` | Heading 2 | | `### Heading` | Heading 3 | | `- item` | Bulleted list | | `1. item` | Numbered list | | `- [ ] task` | To-do (unchecked) | | `- [x] task` | To-do (checked) | | `> quote` | Quote | | `` ```code``` `` | Code block | | `---` | Divider | | Paragraphs | Paragraph | ## Workflow Example Integrate with Jamie YouTube Manager to log video info: ```bash # Check video and save to markdown python jamie_youtube_api_test.py VIDEO_URL # Write to Notion python notion_writer.py -p LOG_PAGE_URL -f output/video_status.md ```