Notion Database Architect
Most Notion workspaces rot because someone built 15 interconnected databases with rollups three levels deep that break the moment a property gets renamed. The Notion Database Architect designs schemas that are simple at the interaction layer and complex only where complexity earns its keep.
What this skill does
Notion is simultaneously flexible and dangerous. Flexible because inline databases, relations, rollups, and formulas let you build surprisingly sophisticated systems. Dangerous because most people build systems they can't maintain — 15 interconnected databases with rollups of rollups that break when a property gets renamed and can't be debugged when they do. Good Notion architecture is simple at the interaction layer and complex only where complexity earns its keep.
The skill won't design anything before three things are clear: the actual workflow (walk me through what you do, step by step), who else uses this, and what already exists. Don't ask "what database do you want?" — ask what work happens. The workflow reveals what data matters; the user's preconceptions about structure usually don't. Existing spreadsheets are gold because they reveal the real schema — which columns were actually used and which were always empty.
The relational rules are explicit. Use a relation when the related item has its own properties that matter, when you need to roll up data from it, or when one item gets linked to multiple things. Use a multi-select tag for simple labels with no properties of their own and under 20 values. Use a separate database only when the entity has its own lifecycle, gets viewed on its own, and is referenced by multiple things. The most common mistake is creating a database for something that should be a select — if your "Categories" DB has nothing but a name column, it shouldn't exist.
Rollups are for aggregation — counting, summing, progress, status inheritance — not for displaying a single property from a related item. Formulas should be useful and short: calculated dates, simple math, conditional text. Anything that requires a comment to explain has crossed into territory Notion handles badly. When the user requests nested cascading rollups, the skill pushes back explicitly — Notion formulas referencing rollups of rollups are fragile, break silently when properties get renamed, and can't be debugged. If you need that level of calculation, you need a spreadsheet or Airtable.
There's also a redirect mode. The skill will tell you Notion isn't the right tool when you need complex calculations (use a spreadsheet), real-time collaboration on structured data (Airtable handles concurrent edits better), high-volume data above 1,000 items in a single view (Notion slows down), or complex automation triggers (use Zapier/Make alongside). The deliverable is a schema with every property typed, options listed, relations targeted, formulas defined, marked required or optional, and why each property exists — so you don't open it in three months wondering what something was for.
When this triggers
- ·You're about to build a Notion system and want it designed properly the first time
- ·Your existing workspace has overlapping databases — Blog Posts, Newsletter Issues, Social Drafts — that should probably be one
- ·You don't know when something should be a relation, a tag, or a separate database
- ·You're migrating from Airtable, Trello, or a spreadsheet and need a Notion-native schema, not a port
- ·You've built rollups that break silently and formulas you can't debug
Example
Trigger
User: 'Freelance designer. Want to track projects, clients, invoices in Notion. Currently in three different spreadsheets.'
Output
Interview before building (3 questions): 1. Walk me through a project from inquiry to invoice paid. → 6 stages, mix of solo + occasional sub-contractor 2. Who else uses this? → Solo, but assistant logs invoices 3. What already exists? → 3 Google Sheets, ~80 historical projects Recommended: 3 databases, NOT 5. Clients DB (the "people" layer) ├── Name, Company, Email, Type (Active/Past/Lead) ├── Projects (relation) ├── Total Revenue (rollup: sum of paid invoices) └── Last Project (rollup: latest project end date) Projects DB (the work layer — where time is spent) ├── Name, Client (relation), Status (6 stages), Start/End dates ├── Fee (number), Invoices (relation) ├── Invoiced % (formula: sum invoiced ÷ fee) └── Notes (page body — brief, requirements, files) Invoices DB (the money layer — needed because invoices have their own lifecycle: drafted, sent, paid, overdue) ├── Number, Project (relation), Amount, Status, Sent/Paid dates └── Days Overdue (formula) Why NOT a separate Services DB or Tasks DB: services would be a select on Projects; tasks for a solo workflow go in the Projects page body, not a separate DB. Both would be dead weight you'd maintain forever. Migration plan, 4 views per DB, templates, relations map — all in the output.
Get this skill + 4 more
Get the full Notion pillar (5 skills) or the complete library.
Get the full stack — $299What you get
- 177-line SKILL.md, ready to drop into ~/.claude/skills/
- Tested through 3 Karpathy-loop iterations (versions v1.0.0 → v1.3.0)
- Triggers automatically when relevant — no command to remember
- Lifetime updates as the skill is refined further
More from Notion
Builds client and deal tracking systems that work for solo operators, freelancers, and small teams who need real pipeline management but not Salesforce
Builds personal and professional dashboards that surface the right information at the right moment — not pretty pages that look good in YouTube thumbnails but don't survive contact with real life
Helps users extract content from Notion and prepare it for use as Claude context — whether in Claude Code, the API, or Claude.ai
Builds structured weekly review templates in Notion that balance reflection (what happened and what it means) with planning (what to do next)
Browse the full library
297 skills across 31 categories. One purchase, lifetime updates.
See all bundles