Notion schema dump
Composable Claude Code skills for building Notion CRM + Operations OS workspaces.
npx -y skills add chiragg-ds/claude-skills --skill notion-schema-dumpAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Generate a canonical SCHEMA-REFERENCE.md from a live Notion workspace. Use before authoring any filter, formula, view, or rollup — schema-first rule.
SKILL.md
2.3 KB, 467 tokens by cl100k_base, as published. Nobody here has run it
notion-schema-dump
Query each Notion database via the API and produce:
SCHEMA-REFERENCE.md— human-readable table per DB (property name, type, select options, formula expression, relation targets, rollup signatures)schema-reference.json— machine-readable companion
This is the single source of truth for property names and select option values when authoring filters, formulas, views, or rollups.
Why it matters
Notion property names are case-sensitive. Select option values must match exactly. Filters/formulas authored from memory or stale CSVs silently drift from live schema and break. Always regenerate this file before touching anything that references DB properties.
Prerequisites
NOTION_API_KEYenv var- A dict of
{db_name: db_id}for the DBs you want to dump (or anids.jsonfrom a priornotion-provisionrun)
Steps
- Find the DB IDs. If
ids.jsonexists in the project, use that. Otherwise ask the user. - Run:
from notion_os_toolkit import auth, client, schema_dump from pathlib import Path nc = client.NotionClient(auth.load_token()) db_ids = {"Projects": "...", "Tasks": "...", ...} schema_dump.dump(nc, db_ids, out_dir=Path("./"), brand_name="My Studio") - The two output files will appear in
out_dir. Show the user the first few rows ofSCHEMA-REFERENCE.mdto confirm.
Input/Output contract
Input: db_ids dict (or ids.json file path), output directory
Output: SCHEMA-REFERENCE.md + schema-reference.json written to out_dir
When to invoke
- Always before authoring any new filter / formula / view spec.
- After any schema change (added property, renamed select option, etc.).
- When debugging "filter doesn't match anything" — usually a property-name typo.
Reference
scripts/run.py— driver- Notion limit reminder: formula properties cannot reference other formula properties in date comparisons. Inline the underlying date column instead.