agentsclimarketplace

Mmk notion page

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

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-page

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 pages — invite, revoke, publish, unpublish, config, publish-settings, duplicate, list-published, markdown (get/create/append/replace/update), transcript, get, update. Triggers on "invite to page", "revoke access", "publish page", "unpublish", "page config", "full width", "publish settings", "duplicate page", "list published", "page markdown", "create page from markdown", "append markdown", "replace markdown", "update markdown", "page transcript", "meeting transcript", "get page", "page by id", "update page", "archive page", "lock page", "erase page".

SKILL.md

12.2 KB, as published. Nobody here has run it

MMK Notion — Page 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.


invite — Invite a user to a page

mmk notion page invite --email <email> --role <role> --block-id <page-id-or-url> -o json

Required: --email, --role, --block-id

Available roles:

RoleAccess LevelWorks With
editorFull access — edit structure, content, manage permissionsPages & Databases
read_and_writeCan edit — modify contentPages & Databases
content_only_editorCan edit content — edit rows but not DB structureDatabases only
comment_onlyCan comment — view and add comments onlyPages & Databases
readerCan view — read-onlyPages & Databases

revoke — Revoke a user's access to a page

mmk notion page revoke --email <email> --block-id <page-id-or-url> -o json

Required: --email, --block-id


publish — Publish a page to the web

mmk notion page publish --block-id <page-id-or-url> -o json

Required: --block-id

Returns public URL on success. Returns 409 if already published (not an error — returns existing public URL).


unpublish — Unpublish a page from the web

mmk notion page unpublish --block-id <page-id-or-url> -o json

Required: --block-id

Returns 409 if already private (not an error).


config — Configure page display settings

mmk notion page config --block-id <page-id> --full-width -o json
mmk notion page config --block-id id1 --block-id id2 --small-text=false -o json

Required: --block-id (string slice — supports multiple pages) At least one of: --full-width (bool), --small-text (bool)


publish-settings — Update publish settings for a published page

mmk notion page publish-settings --block-id <id> --allow-duplicate=false -o json
mmk notion page publish-settings --block-id <id> --seo-title "Title" --slug "my-page" -o json

Required: --block-id At least one of: --allow-duplicate (bool), --search-engine-index (bool), --seo-title, --seo-description, --social-image, --slug


duplicate — Duplicate a page into a parent page

mmk notion page duplicate --source-id <page-id> --parent-id <parent-id> -o json

Required: --source-id, --parent-id


list-published — List all published pages in the workspace

mmk notion page list-published -o json
mmk notion page list-published --type forms -o json

Optional: --typesites (default), forms, or links


markdown — Verb-based sub-commands (get, create, append, replace, update)

markdown is a sub-command group. All verbs accept --markdown (inline string), --file (read from file), or stdin.

markdown get — Retrieve a Notion page as markdown

mmk notion page markdown get <page_id> -o json
mmk notion page markdown get <page_id> --include-transcript -o json

Required: <page_id> (positional) Optional: --include-transcript — include meeting note transcripts


markdown create — Create a new Notion page from markdown

mmk notion page markdown create --parent <page_id> --title "Sprint planning" --file ./plan.md -o json
mmk notion page markdown create --parent <db_id> --title "Task X" --markdown "..." --set Status=InProgress --set Priority=High -o json
cat notes.md | mmk notion page markdown create --parent <page_id> --title "Notes" -o json

Required: --parent (page id, database id, or Notion URL)

Optional:

FlagDescription
--titlePage title (page parent: optional, derived from first H1; database parent: required)
--markdownInline markdown body
--fileRead markdown from a file
--setExtra database properties: Key=Value (repeatable; database parent only)
--icon-emojiPage icon (emoji)
--cover-urlPage cover image (https URL)

For a database parent, --title becomes the title-property value and --set Key=Value populates additional schema properties.


markdown append — Append markdown to an existing Notion page

mmk notion page markdown append <page_id> --markdown "## Notes" -o json
echo "## Notes" | mmk notion page markdown append <page_id> -o json
mmk notion page markdown append <page_id> --file ./notes.md --after "start text...end text" -o json

Required: <page_id> (positional), one of --markdown, --file, or piped stdin

Optional:

FlagDescription
--afterEllipsis selector 'start text...end text' — insert after this location (omit to append at end)
--fileRead markdown from a file

markdown replace — Overwrite an existing Notion page with new markdown

mmk notion page markdown replace <page_id> --markdown "# Fresh start" -o json
mmk notion page markdown replace <page_id> --file ./new.md --yes -o json

Required: <page_id> (positional), one of --markdown, --file, or piped stdin

Optional:

FlagDescription
--fileRead markdown from a file
--allow-deleting-contentPermit removal of child pages/databases
-y, --yesSkip the destructive-overwrite confirmation prompt

DESTRUCTIVE — replaces entire page content. Prompts for confirmation when running interactively (pass --yes or pipe stdin to skip).


markdown update — Edit a Notion page via search-and-replace

mmk notion page markdown update <page_id> --from "Draft" --to "Final" -o json
mmk notion page markdown update <page_id> --from "TODO" --to "DONE" --from "Draft" --to "Final" -o json
mmk notion page markdown update <page_id> --data '[{"old_str":"x","new_str":"y","replace_all_matches":true}]' -o json

Required: <page_id> (positional), one of --from/--to pairs or --data

Optional:

FlagDescription
--fromOld text to find (paired with --to; repeatable)
--toNew text to substitute (paired with --from; repeatable)
--allSet replace_all_matches=true on every operation
--allow-deleting-contentPermit removal of child pages/databases
--dataRaw JSON array of {old_str, new_str, replace_all_matches} for power users

Matching is case-sensitive and whitespace-sensitive. Each old_str must match exactly one location unless --all is set.

Optional:

FlagDescription
--markdownInline markdown to append
--fileRead markdown from a file
--afterEllipsis selector 'start text...end text' — insert after this anchor (omit to append at end)

markdown replace — Overwrite an existing Notion page with new markdown

mmk notion page markdown replace <page_id> --markdown "# Fresh start" -o json
mmk notion page markdown replace <page_id> --file ./new.md --yes -o json

Required: <page_id> (positional)

Optional:

FlagDescription
--markdownInline markdown body
--fileRead markdown from a file
-y, --yesSkip the destructive-overwrite confirmation prompt
--allow-deleting-contentPermit removal of child pages/databases

DESTRUCTIVE — replaces all page content. Prompts for confirmation when run interactively (use --yes or pipe stdin to suppress).


markdown update — Edit a page in place via search-and-replace

mmk notion page markdown update <page_id> --from "Draft" --to "Final" -o json
mmk notion page markdown update <page_id> --from "TODO" --to "DONE" --from "Draft" --to "Final" -o json
mmk notion page markdown update <page_id> --data '[{"old_str":"x","new_str":"y","replace_all_matches":true}]' -o json

Required: <page_id> (positional), --from + --to (paired), or --data

Optional:

FlagDescription
--fromOld text to find (repeatable, paired with --to)
--toNew text to substitute (repeatable, paired with --from)
--allSet replace_all_matches=true on every operation
--dataRaw JSON array of {old_str, new_str, replace_all_matches}
--allow-deleting-contentPermit removal of child pages/databases

Matching is case-sensitive and whitespace-sensitive.


get — Get a page by ID

mmk notion page get <page_id> -o json

Required: <page_id> (positional — accepts UUID or full Notion URL)


transcript — Get meeting note transcript, summary, and notes from a page

mmk notion page transcript <page_id> -o json
mmk notion page transcript <page_id> --include summary,notes -o json

Required: <page_id> (positional) Optional: --include — sections to include: summary, notes, transcript (comma-separated, default: all)


update — Update a Notion page (archive, trash, lock, erase content)

mmk notion page update <page_id> --archive -o json
mmk notion page update <page_id> --lock -o json
mmk notion page update <page_id> --erase-content --yes -o json
mmk notion page update <page_id> --data '{"properties": {...}}' -o json

Required: <page_id> (positional)

Optional flags:

FlagDescription
--archiveArchive the page
--unarchiveUnarchive the page
--trashMove page to trash
--restoreRestore page from trash
--lockLock page editing
--unlockUnlock page editing
--erase-contentErase all page content (DESTRUCTIVE, cannot be undone)
--dataRaw JSON request body (Notion API format)
-y, --yesSkip confirmation for destructive operations

WARNING: --erase-content permanently deletes all page content and cannot be undone via API.


update-markdown — [DEPRECATED] Update a page's content using markdown

Deprecated: Use the verb-based markdown sub-commands instead:

  • --markdown / --replacemmk notion page markdown replace <page_id>
  • --appendmmk notion page markdown append <page_id>
mmk notion page update-markdown <page_id> --markdown "# New Content" -o json
mmk notion page update-markdown <page_id> --append "## Appended Section" -o json
mmk notion page update-markdown <page_id> --replace "# Replaced Content" --timezone "Asia/Seoul" -o json

Required: <page_id> (positional), one of --markdown, --append, or --replace

Optional flags:

FlagDescription
--markdownFull markdown content (replaces all existing content)
--appendMarkdown to append to existing content
--replaceMarkdown to replace all content (uses replace_content operation)
--timezoneTimezone for date-related content (e.g. Asia/Seoul)

Tips

  1. --block-id accepts both raw UUIDs and full Notion URLs — the CLI extracts the ID automatically
  2. For bulk operations, run commands sequentially and check each result
  3. Page invite errors for non-Notion users indicate the email is not associated with a Notion account — consider using the mmk-notion-onboard skill for automatic email fallback

See Also

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.