agentsclimarketplace

Notion seed

Skill chiragg-ds/claude-skills/skills/notion-seed

Composable Claude Code skills for building Notion CRM + Operations OS workspaces.

Install
npx -y skills add chiragg-ds/claude-skills --skill notion-seed

Assembled 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

Bulk import rows into Notion databases from JSON seed files. Supports relation rewiring via template-group lookup (e.g. Tasks Dependencies). Use when you have many rows to add at once.

SKILL.md

2.9 KB, 638 tokens by cl100k_base, as published. Nobody here has run it

notion-seed

Load rows from a JSON file into a Notion database. Supports all common property types: select, multi_select, checkbox, date, number, rich_text, title, url, email, phone_number, relation.

Includes a relation rewiring pass: when seeding self-relating data (e.g. Tasks with Dependencies), use a Template Group text property as a stable ID, store dependencies as comma-separated group IDs in another text property, and then call rewire_relations_by_group to map group IDs to real page IDs.

Prerequisites

  • NOTION_API_KEY env var
  • Target DB ID
  • A JSON seed file (see format below)

Seed JSON format

[
  {
    "title": "Site measurement and as-built drawings",
    "properties": {
      "Task Category": {"select": "Design Iteration"},
      "Project Stage": {"select": "Client Consultation and Pre-Planning"},
      "Applicable Scopes": {"multi_select": ["Full Home Interior", "Modular Kitchen"]},
      "Is Template": {"checkbox": true},
      "Template Group": {"rich_text": "design-01"},
      "Depends On Groups": {"rich_text": "boq-01"}
    }
  }
]

Steps

  1. Confirm the target DB ID and title property name (often "Name", "Item Name", "Task Action", etc.).
  2. Always check schema first — invoke notion-schema-dump if SCHEMA-REFERENCE.md is missing or stale. Verify every property name in the seed file matches the live DB exactly (case-sensitive).
  3. Run:
    from notion_os_toolkit import auth, client, seeder
    nc = client.NotionClient(auth.load_token())
    created = seeder.seed_from_json(nc, "<db_id>", "<title_prop>", "seeds/things.json")
    
  4. If the seed file uses Template Group + Depends On Groups for self-relations, second pass:
    seeder.rewire_relations_by_group(
        nc, created,
        group_property="Template Group",
        depends_property="Depends On Groups",
        relation_property="Dependencies",
    )
    
  5. Report count seeded and count rewired.

Input/Output contract

Input: seed JSON path, target DB ID, title property name Output: list of created page IDs; on rewire pass, count of rows updated

When NOT to use

  • For < 5 rows, just use the Notion UI directly.
  • For relations to a DIFFERENT DB (not self), set the relation property directly in the seed file with the target page IDs.

Schema-first reminder

If a property name in your seed file doesn't match the live DB exactly, the API returns 400 and the row is rejected. Always check SCHEMA-REFERENCE.md (regenerate via notion-schema-dump) before running this skill.

Gives 0 of the 12 instructions most note taking skills give in 638 tokens

Counted across 686 of the 876 authors here whose files we hold, read 2026-08-06

  • include a visual element on every slidein 44 of 686, across 13 files
  • use wikilinks for internal vault linksin 35 of 686, across 11 files
  • commit to a single visual motif across every slidein 34 of 686, across 9 files
  • read pptxgenjs guide before creating presentations from scratchin 30 of 686, across 6 files
  • keep 0.5 inch minimum marginsin 30 of 686, across 7 files
  • use subagents to visually inspect rendered slidesin 30 of 686, across 6 files
  • re-verify affected slides after every fixin 27 of 686, across 5 files
  • run content QA checks before declaring successin 26 of 686, across 3 files
  • Use Markdown links for external URLs onlyin 26 of 686, across 10 files
  • pick a bold topic specific color palettein 24 of 686, across 2 files
  • read editing guide before editing existing presentationsin 23 of 686, across 1 file
  • use one dominant color across all slidesin 23 of 686, across 1 file

Said here and by no other author read

  • confirm the target DB ID
  • check schema before running
  • invoke notion-schema-dump if schema reference is stale
  • verify seed property names match the live DB exactly
  • load rows using seed_from_json
  • run a rewire pass for self-relations

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.