notion-writinglisted
Install: claude install-skill devbasex/ai-plugins
# Notion のページを書く
Notion のページ本文は**標準 Markdown ではない**。テーブルの記法が違い、空行が消え、ある
タグを落とすと**子ページが削除される**。いずれも知らなければ必ず踏む。
**この Skill が扱うのは「どう出力するか」である。** 何を書くか(第三者が読める文章、識別子を
持ち込まない、検討過程を残さない)は `markdown-writing` が扱う。両方を通す。
## 0. 記法を推測で書かない
**作業の前に仕様を読む。** Notion-flavored Markdown(NfM)は更新される。
```text
notion-fetch notion://docs/enhanced-markdown-spec
```
読まずに標準 Markdown の記法で書くと、パイプテーブルが本文テキストとして表示される。
## 1. 標準 Markdown との差分
| 対象 | NfM での書き方 |
| --- | --- |
| テーブル | XML(`<table>` / `<colgroup>` / `<tr>` / `<td>`)。パイプテーブルは不可 |
| インデント | タブ |
| セル内の改行 | `<br>`。生の改行は別ブロックへ割れる |
| セル内の内容 | リッチテキストのみ。見出し・リスト・画像は入らない |
| セル内の強調 | `**` を使う。`<strong>` ではない |
| 複数行の引用 | `<br>` でつないで 1 ブロックにする |
| 意図した空行 | `<empty-block/>`。素の空行は削除される |
エスケープが必要な文字は `` \ * ~ ` $ [ ] < > { } | ^ `` である。**コードブロックの中では
エスケープしない**(エスケープ記号がそのまま表示される)。
## 2. テーブルの列幅を決める
**`fit-page-width="true"` は幅の指定ではない。** これだけでは列幅が内容依存で決まり、
右端が揃わない。列幅は `<colgroup>` と `<col width="...">` で明示する。
**合計を Notion 標準ページ幅の 708px に揃える。** ページ幅ちょうどに収まる。
```html
<colgroup>
<col width="52"> <!-- 連番 -->
<col width="196"> <!-- 項目名 -->
<col width="380"> <!-- 説明 -->
<col width="80"> <!-- ステータス -->
</colgroup>
```
- **役割で配分する。** 連番・ステータスなど短い列は 40〜80px に固定し、説明文へ幅を寄せる
- **同種のテーブルが複数あるページでは同じ配分を使う。** 列位置が揃い、読み手が比較できる
- ページ設定が「全幅」でも**比率を保ったまま伸長される**ため、この配分は使い回せる
- **セル結合は API から作れない。** UI での操作になることを、依頼した相手へ伝える
## 3. 子ページを消さない
**最も危険なのは `<page>` タグの扱いである。** 本文から取り除くと、そのタグが指していた
子ページ自体が削除される。
| やりたいこと | 使うもの | 誤ると |
| --- | --- | ---