Skill Numbering Changes: - 01-03: OurDigital core (was 30-32) - 31-32: Notion tools (was 01-02) - 99_archive: Renamed from _archive for sorting New Files: - AGENTS.md: Claude Code agent routing guide - requirements.txt for 00-claude-code-setting, 32-notion-writer, 43-jamie-youtube-manager Documentation Updates: - CLAUDE.md: Updated skill inventory (23 skills) - AUDIT_REPORT.md: Current completion status (91%) - Archived REFACTORING_PLAN.md (most tasks complete) Removed: - ga-agent-skills/ (moved to separate repo ~/Project/dintel-ga4-agent) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
87 lines
2.2 KiB
Markdown
87 lines
2.2 KiB
Markdown
---
|
|
name: notion-writer
|
|
description: Push markdown content to Notion pages or databases. Supports appending to pages, replacing page content, creating database rows, listing accessible content, and getting page/database info. Use when working with Notion documentation, saving reports to Notion, or managing Notion content programmatically.
|
|
allowed-tools: Read, Glob, Grep, Write, Edit, Bash
|
|
---
|
|
|
|
# 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
|
|
```
|