# Notion Docs

> Notion page search and reading. Use when searching for documentation, notes, or knowledge stored in Notion workspaces.

- Skill: `incidentfox/notion-docs` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add incidentfox/notion-docs`
- Raw SKILL.md: https://api.skillmd.com/api/skills/incidentfox/notion-docs/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: incidentfox (https://skillmd.com/u/incidentfox)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/incidentfox/notion-docs

---


# Notion Documentation

## Authentication

Set the `NOTION_API_KEY` environment variable with a Notion internal integration token.

The integration must be connected to the pages/databases you want to access (via the "Connections" menu in Notion).

---

## Available Scripts

All scripts are in `.claude/skills/notion-docs/scripts/`

### search.py - Search Pages
```bash
python .claude/skills/notion-docs/scripts/search.py --query "onboarding" [--max-results 10]

# Examples:
python .claude/skills/notion-docs/scripts/search.py --query "engineering handbook"
python .claude/skills/notion-docs/scripts/search.py --query "team processes" --max-results 20
```

---

## Client Library Functions

The `notion_client.py` module provides:

| Function | Purpose |
|----------|---------|
| `search_pages(query, max_results)` | Search across all connected pages |
| `get_page(page_id)` | Get page metadata |
| `get_page_content(page_id)` | Get all blocks (content) of a page |

---

## Common Workflows

### 1. Find Documentation

```bash
# Search for topic
python search.py --query "deployment process"

# Get full content (using client library from Python)
# notion_client.get_page_content("page-id-here")
```

### 2. Research Before Answering

```bash
# Search for existing answers
python search.py --query "how to reset password"
```

---

## Quick Reference

| Goal | Command |
|------|---------|
| Search pages | `search.py --query "topic"` |
| Search with limit | `search.py --query "topic" --max-results 20` |

---

## Best Practices

- **Integration access** — The Notion integration must be connected to pages to see them
- **Search is full-text** — Notion searches page titles and content
- **Use page IDs** — After finding pages via search, use the page ID for full content retrieval

