agentsclimarketplace

Mmk notion database

Skill magic-meal-kits/mmk-skills/skills/mmk-notion-database

Claude Code skills for Magic Meal Kits CLI — Notion, Paymint, Threads, YouTube automation

Install
npx -y skills add magic-meal-kits/mmk-skills --skill mmk-notion-database

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 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

Manage Notion databases — show property schema, query with filters/sorts, trigger AI summary generation, insert/update/upsert/delete records. Triggers on "database schema", "AI summary", "database properties", "detect AI", "ai-summary", "ai-summary-auto", "auto AI summary", "database structure", "query database", "filter", "sort", "database query", "insert records", "update records", "upsert", "delete pages", "bulk insert", "bulk update", "bulk delete", "check duplicates", "find duplicates", "dedupe records".

SKILL.md

8.2 KB, as published. Nobody here has run it

MMK Notion — Database Commands

Prerequisite: Read ../mmk-shared/SKILL.md for auth, global flags, and error handling. Parent: mmk-notion

Always use -o json when parsing results or composing with other commands.


schema — Show database property schema

mmk notion database schema --database-id <db-uuid> -o json
mmk notion database schema --database-id <db-uuid> --detect-ai --page-id <page-uuid> -o json

Required: --database-id Optional: --detect-ai (bool), --page-id (required with --detect-ai — accepts UUID or full Notion URL), --enhanced (bool — outputs LLM-friendly schema with select options and valid filter operators)

When --detect-ai is set, output includes property-id and workflow-id values needed for the ai-summary command.


query — Query a Notion database with filters, sorts, and pagination

mmk notion database query --database-id <db-uuid> -o json
mmk notion database query --database-id <db> --filter "Status=Active" --sort "CreatedDate:desc" --limit 10 -o json
mmk notion database query --database-id <db> --filter "Status=Active" --filter "Done=false" --properties "Name,Status,Price" -o json
mmk notion database query --database-id <db> --cursor "eyJsYXN0..." -o json

Required: --database-id Optional:

FlagDefaultDescription
--filterFilter: Key=Value or Key:operator=Value (repeatable, AND logic)
--sortSort: Property:asc or Property:desc (repeatable)
--limitMax results per page (max 100)
--propertiesProperty names to return (comma-separated)
--cursorPagination cursor for next page

Use schema --enhanced to discover available properties, types, and valid operators.


insert — Bulk insert records into a Notion database

mmk notion database insert --database-id <db> --data '{"Name":"Test","Status":"Active"}' -o json
mmk notion database insert --database-id <db> --data '[{"Name":"A"},{"Name":"B"}]' -o json
mmk notion database insert --database-id <db> --file records.json -o json
mmk notion database insert --database-id <db> --set Name=Test --set Status=Active -o json

Required: --database-id, one of --data, --file, --set, or piped stdin Optional:

FlagDescription
--show-schemaShow database schema and exit
--icon-emojiEmoji icon for new pages
--template-idTemplate page ID for new pages

update — Bulk update existing Notion pages

mmk notion database update --data '{"page_id":"abc-123","Status":"Done"}' -o json
mmk notion database update --data '[{"page_id":"abc","Status":"Done"},{"page_id":"def","Status":"Active"}]' -o json
mmk notion database update --page-id abc-123 --set Status=Done --set Priority=High -o json
mmk notion database update --file updates.json -o json

Required: one of --data (each object must include page_id), --file, or --page-id + --set, or piped stdin


upsert — Bulk upsert records in a Notion database

mmk notion database upsert --database-id <db> --lookup Name --data '[{"Name":"Test","Status":"Done"}]' -o json
mmk notion database upsert --database-id <db> --lookup Name,Email --file records.json -o json
mmk notion database upsert --database-id <db> --lookup Name --update-properties Status,Priority --set Name=Test --set Status=Done -o json

Required: --database-id, --lookup (property names for matching, repeatable or comma-separated), one of --data, --file, --set, or piped stdin Optional:

FlagDescription
--update-propertiesProperty names to update on match (optional — updates all if omitted)
--show-schemaShow database schema and exit
--icon-emojiEmoji icon for new pages
--template-idTemplate page ID for new pages

check-duplicates — Check which records already exist in a Notion database

Read-only check that matches each input record against existing database rows by the given lookup properties. Nothing is written. The response is a wrapper object with per-record results plus top-level unique_records and duplicate_records arrays.

mmk notion database check-duplicates --database-id <db> --lookup "Video URL" --data '[{"Video URL":"https://youtu.be/aaa"}]' -o json
mmk notion database check-duplicates --database-id <db> --lookup Name,Email --file candidates.json -o json
cat candidates.json | mmk notion database check-duplicates --database-id <db> --lookup "Video URL" -o json

To insert only the non-duplicate rows, extract the unique_records array first — do not pipe the raw wrapper into insert (it expects a JSON array of records, not the wrapper object):

mmk notion database check-duplicates --database-id <db> --lookup "Video URL" --file candidates.json -o json \
  | jq '.unique_records' \
  | mmk notion database insert --database-id <db> -o json

Required: a database target (one of --database-id, --data-source-id, or --notion-id), --lookup (property names for matching, repeatable or comma-separated), one of --data, --file, --set, or piped stdin Optional:

FlagDescription
--data-source-idNotion data source ID (overrides --database-id)
--notion-idNotion ID (auto-detect database or data source)

Sources --data, --file, --set, and stdin are mutually exclusive.


delete — Bulk delete (archive) Notion pages

mmk notion database delete --page-id abc-123 --page-id def-456 -o json
mmk notion database delete --data '["abc-123","def-456"]' -o json
mmk notion database delete --file page_ids.json -o json

Required: one of --page-id (repeatable), --data (JSON array of ID strings), --file, or piped stdin


ai-summary — Trigger AI summary generation for database items

mmk notion database ai-summary --database-id <db-uuid> --page-id <page-1> --page-id <page-2> --property-id "prop_id" -o json

Required: --database-id, --page-id (string slice, repeatable), --property-id Optional: --workflow-id

Limits: Max 10 page IDs per execution. Use schema --detect-ai first to discover --property-id and --workflow-id.


ai-summary-auto — Auto-discover AI properties and trigger summary generation

Combines schema AI detection and AI summary trigger into a single command. No need to manually find property-id or workflow-id — they are auto-detected.

mmk notion database ai-summary-auto --database-id <db-uuid> --page-id <page-1> --page-id <page-2> -o json
mmk notion database ai-summary-auto --database-id <db-uuid> --page-id <page-1> --db-page-id <page-from-url> -o json
mmk notion database ai-summary-auto --database-id <db-uuid> --page-id <page-1> --property-id "B\i_" -o json

Required: --database-id, --page-id (string slice, repeatable — pages to generate summaries for) Optional:

FlagDescription
--db-page-idDatabase page ID for inline databases (optional)
--property-idFilter to specific AI property ID(s) (repeatable)

See Also

Gives 0 of the 12 instructions most note taking skills give

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

  • Use -o json when parsing or composing commands.
  • Provide --database-id for most database commands.
  • Provide --page-id when using --detect-ai.
  • Run schema --detect-ai before the ai-summary command.
  • Limit ai-summary to 10 page IDs per execution.
  • Use --lookup to match records during upsert.

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.

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.