name: notion-tracker
description: Spin up a new Notion tracker database from a brief — typed schema, 2–3 default views (table, board, chart-total tile), placed under the right parent page. Use when the user says "build me a Notion tracker for X", "new database for Y", "I need to track Z", or names a category of recurring data to capture (invoices, contractors, leads, OPEX, deals, content calendar). Asks for the missing pieces, drafts the schema, gates on confirm, then builds.
/notion-tracker
Create a new Notion database with the right types, default values, and views from day one — so users don't end up converting text columns to number columns later (a common mid-life pain).
- Tracker name (required). e.g. "Contractor Invoices", "Cold Outreach Leads".
- What you're tracking (required, plain language). e.g. "Each contractor's payments, when they're due, status, project they belong to." If terse, ask 1 follow-up before drafting.
- Parent page (required). Notion page URL or ID where the database should be created. Default to the "Master" page if user is ambiguous and prompt to confirm.
- Default views needed (optional). If omitted, infer: a table view as the working surface + a board view if there's a status-like select + a chart-number tile if there's a numeric property.
Steps
- Brief. Confirm the tracker name + intent. Ask up to 2 clarifying questions if intent is too thin to type the schema (e.g. "are amounts always in USD or do you need multi-currency?", "is this per-row a single event or a recurring record?").
- Draft schema. Output a typed schema table:
- Title property (always the most-identifying field — e.g. "Contractor name" for invoices, NOT "Invoice ID")
- Money fields →
NUMBER FORMAT 'dollar' (or 'euro' / 'pound' / 'percent' per intent) - Categorical fields →
SELECT with 3–6 sensible default options + colors - Status fields →
STATUS (better than SELECT for status — Notion treats it specially) - Multi-tag fields →
MULTI_SELECT - Dates →
DATE - URL/email → typed appropriately
- Optional
UNIQUE_ID if rows need stable external references (invoices, tickets)
- Preview gate. Show the schema DDL + proposed views. Wait for confirmation.
- Build.
notion-create-database with the CREATE TABLE DDL.- For each view:
notion-create-view. Always include a chart-number tile if a numeric field exists (sum or count).
- Seed (optional). If the user provides example rows in the brief, create them with
notion-create-pages after the schema is up. - Confirm. Print the database URL, data source ID, and each view URL.
Decision rules for schema
- Money column? Always NUMBER from the start. Never text — even if values look identical.
- 3–6 select options. Don't enumerate 12. Better to start small + let user add.
- Status property for anything that flows (Active / Done / Cancelled).
STATUS type, not SELECT — it groups under Not-started / In-progress / Complete buckets. - Renewal-style dates get a DATE column AND a STATUS column ("Active" / "Expiring soon" / "Cancelled"). The two together let users build "expiring in 30 days" views.
- Workstream tags are common — if the user mentions multiple parts of the business this could belong to, add MULTI_SELECT.
Output
- Database URL.
- Schema summary (one line per property).
- Views created with URLs.
- An adjacent Obsidian vault note proposal: "Should I draft a human-readable doc at
Admin/<tracker-name>.md?" — wait for yes/no.
Anti-patterns
- Don't create a tracker with no numeric or aggregable property — defeats the point.
- Don't dump 15 properties on day one. Start tight, let the user grow it.
- Don't make property names ALL CAPS or sentence-case mixed. Use Title Case for properties throughout.
- Don't omit Status when the data has lifecycle.
Hard-won gotchas
Same as /notion-dashboard — chart number titles are static, view DSL has no Calculate footer, single-source DBs only for the most part.