Mmk notion database
Claude Code skills for Magic Meal Kits CLI — Notion, Paymint, Threads, YouTube automation
npx -y skills add magic-meal-kits/mmk-skills --skill mmk-notion-databaseAssembled 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.mdfor 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:
| Flag | Default | Description |
|---|---|---|
--filter | Filter: Key=Value or Key:operator=Value (repeatable, AND logic) | |
--sort | Sort: Property:asc or Property:desc (repeatable) | |
--limit | Max results per page (max 100) | |
--properties | Property names to return (comma-separated) | |
--cursor | Pagination 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:
| Flag | Description |
|---|---|
--show-schema | Show database schema and exit |
--icon-emoji | Emoji icon for new pages |
--template-id | Template 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:
| Flag | Description |
|---|---|
--update-properties | Property names to update on match (optional — updates all if omitted) |
--show-schema | Show database schema and exit |
--icon-emoji | Emoji icon for new pages |
--template-id | Template 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:
| Flag | Description |
|---|---|
--data-source-id | Notion data source ID (overrides --database-id) |
--notion-id | Notion 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:
| Flag | Description |
|---|---|
--db-page-id | Database page ID for inline databases (optional) |
--property-id | Filter to specific AI property ID(s) (repeatable) |
See Also
- mmk-shared — Auth, global flags, error handling
- mmk-notion — All Notion commands overview
- mmk-notion-page — Page invite, publish, and config
- mmk-notion-database-ai-summary — Bulk AI summary generation (recipe)
- mmk-paymint-notion-invoice — Batch Paymint invoice from Notion database (recipe)
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.