notion-writing

Write Notion pages using Notion-flavored Markdown with XML tables and safe child-page handling.

1|Updated Apr 21, 2026
One-click install
npx skills add https://github.com/devbasex/ai-plugins --skill notion-writing-devbasex
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: notion-writing
Source: https://github.com/devbasex/ai-plugins/tree/main/plugins/ndf/skills/notion-writing
Command: npx skills add https://github.com/devbasex/ai-plugins --skill notion-writing-devbasex

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Notion pages are not written in standard Markdown: tables require XML syntax, blank lines disappear, and removing a <page> tag silently deletes child pages. This Skill prevents those costly mistakes when creating or editing Notion pages via the API. ## Core Features & Use Cases - Notion-flavored Markdown rules: Covers XML tables (<table>, <colgroup>, <col>), tab indentation, <br> line breaks, <empty-block/> for intentional blank lines, and correct escaping. - Fixed table column widths: Distributes column widths totaling 708px so tables align with the standard Notion page width and stay consistent across a page. - Child-page safety: Explains the difference between <page> and <mention-page>, keeps allow_deleting_content at its safe default, and requires fetching <page> tags before edits. - Use Case: When asked to publish a design document to Notion with comparison tables and linked sub-pages, this Skill ensures the tables render with aligned columns and no existing child pages are accidentally deleted. ## Quick Start Create a Notion page with a comparison table and a table of contents, using fixed column widths and preserving all existing child pages.

Frequently Asked Questions about notion-writing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a table in a Notion page via the API?▼

Notion tables must be written as XML using `<table>`, `<colgroup>`, `<tr>`, and `<td>` tags, not pipe-style Markdown. Set explicit column widths with `<col width="...">` so the total equals 708px, matching the standard Notion page width.

How do I edit a Notion page without deleting its child pages?▼

Fetch the page first and record all `<page>` tags, then include them unchanged when calling replace_content. Removing a `<page>` tag deletes the child page it references, and keeping allow_deleting_content at its default false blocks such deletions.

What is the difference between <page> and <mention-page> in Notion Markdown?▼

`<page url=...>` embeds a page as a child, and using an existing page's URL moves that page. `<mention-page url=...>` only creates a reference link without moving anything, so use it when you just want to link to another page.

Why do my blank lines disappear in Notion pages?▼

Plain empty lines are removed by Notion during normalization. Insert an `<empty-block/>` tag wherever you need an intentional blank line to survive.

Can I merge table cells in Notion through the API?▼

No, cell merging cannot be created via the API. Merged cells must be done manually in the Notion UI, so inform the requester when a design requires them.