Agent skill

Solid Notion

by LeoYeAI in LeoYeAI/openclaw-master-skills

Read, edit, and write Notion pages as Markdown using the solid-notion CLI.

MITAuto-check passedDocuments & Office

Install Solid Notion

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill solid-notion -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills solid-notion --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/solid-notion .claude/skills/solid-notion && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
solid-notion
GitHub stars
2.2k
Token cost
~5.3k tokens
SKILL.md length
1,775 words
Files
2
Skills in repo
1,215
Repo updated
First seen
Licence
MIT

At a glance

Read, edit, and write Notion pages as Markdown using the solid-notion CLI.

  • Works in 8 steps: Installation → Authentication Setup → Command Reference → …
  • Pulling Notion content
  • SKILL.md covers 0. Installation, 1. Authentication Setup, 2. Command Reference and 3. Agent Workflows, plus 4 more sections
  • Calls pnpm and npm; reaches notion.so; needs NOTION_TOKEN

What it does

Solid Notion is an agent skill from LeoYeAI/openclaw-master-skills. Read, edit, and write Notion pages as Markdown using the solid-notion CLI. Use when pulling Notion content, editing pages, managing changesets, submitting edits, restoring changes, or setting up Notion API authentication. Keywords: solid-notion, Notion, Notion API, markdown, pull, edit, write, submit, restore, changeset, notion page, notion block.

Its SKILL.md is about 5.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_meta.json`).

It sits in Documents & Office, covering Markdown and Authentication. It works with Notion. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • Pulling Notion content
  • Managing changesets
  • Submitting edits
  • Restoring changes

Example prompts

  • “/solid-notion”

Requirements

  • Node.js
  • A credential in NOTION_TOKEN

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Installation
  2. Authentication Setup
  3. Command Reference
  4. Agent Workflows
  5. Storage Concepts & Layout
  6. Global Flags
  7. Error Handling
  8. Anti-Patterns

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • notion.so

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • NOTION_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Solid Notion loads about 5.3k tokens when it runs. Until then it costs about 91 tokens; SKILL.md has 1,775 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~91
When it runs · the whole SKILL.md, loaded when a task matches
~5.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,775 words, ~5,250 tokens.

Download SKILL.mdSave it as .claude/skills/solid-notion/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
solid-notion
description
Read, edit, and write Notion pages as Markdown using the solid-notion CLI. Use when pulling Notion content, editing pages, managing changesets, submitting edits, restoring changes, or setting up Notion API authentication. Keywords: solid-notion, Notion, Notion API, markdown, pull, edit, write, submit, restore, changeset, notion page, notion block.
metadata
author: DZ Chen version: "0.1"

solid-notion CLI Guide

solid-notion is a CLI for reading, editing, and writing Notion pages as Markdown with local reversible changesets.


0. Installation

For normal usage (published package):

bash
npm install -g solid-notion
solid-notion --version

For local development from source:

bash
pnpm install
pnpm build

1. Authentication Setup

Before using any command that talks to Notion, a token must be configured.

Getting a Notion Token

Create a Notion integration to get an API token:

  1. Visit https://www.notion.so/profile/integrations/internal
  2. Click "New integration" and give it a name
  3. Copy the "Internal Integration Token"
  4. Share your pages with this integration (via page "Share" settings)
Check current auth status
bash
solid-notion auth status --json

Returns:

json
{
  "ok": true,
  "profile": "default",
  "config_path": "...",
  "token_present": true,
  "token_fingerprint": "a1b2c3d4",
  "token_valid": null
}

If token_present is false, run init first.

bash
printf "%s" "$NOTION_TOKEN" | solid-notion init --token-stdin --json

Returns on success:

json
{
  "ok": true,
  "action": "init",
  "profile": "default",
  "config_path": "...",
  "token_saved": true,
  "overwritten": false,
  "ignored_inputs": [],
  "dry_run": false
}

Other token input methods (in precedence order):

MethodFlagNotes
Direct--token <value>Visible in ps / shell history
Stdin--token-stdinRecommended for agents
JSON--input-json '{"token":"..."}'Useful for structured protocols

Additional flags:

FlagEffect
--jsonMachine-readable JSON output only
--dry-runPreview without writing
--forceOverwrite existing token
--profile <name>Use a named profile (default: "default")
Remove a token
bash
solid-notion auth logout --json

2. Command Reference

2.1 Browse
List locally pulled pages
bash
solid-notion ls
solid-notion ls --json

Lists all pages that have been pulled to $SOLID_NOTION_HOME/. Does not call the Notion API.

Default output: tab-separated <pulled_at>\t<page_id>\t<title>, sorted newest first.

JSON output (--json): array of objects with page_id, title, pulled_at, path.

List all pages (remote)
bash
solid-notion pages

Output: tab-separated lines of <last_edited>\t<page_id>\t<title>.

Search pages
bash
solid-notion search <query>

Output: same tab-separated format as pages.

2.2 Read
Show a page (non-recursive, stdout)
bash
solid-notion show page <page_id_or_name> --format markdown
solid-notion show page <page_id_or_name> --format json

<page_id_or_name> can be a UUID or a page title. Default format: markdown.

Show a block (JSON only)
bash
solid-notion show block <block_id> --format json
Pull a page to local files
bash
solid-notion pull page <page_id_or_name> --format markdown --outdir ./output

Options:

FlagDefaultDescription
--format <format>jsonjson or markdown
--outdir <dir>$SOLID_NOTION_HOME/<page_id>Output directory
--no-local-images(images downloaded)Skip downloading images
--no-local-videos(videos downloaded)Skip downloading videos
--no-recursive(recursive)Only first-level blocks

Outputs the path of the written file.

If the page was already pulled locally, running pull page again fetches the latest content from Notion and overwrites local output files in that directory.

Pull a block to local file
bash
solid-notion pull block <block_id> --outdir ./output

Options: --outdir <dir>, --no-recursive

2.3 Edit and Write

All edit/write/submit commands require a strict Notion page ID (UUID format like aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee). Page names are NOT accepted.

Apply a JSON patch

Pipe a JSON patch object to stdin:

bash
echo '{"ops": [...]}' | solid-notion edit <page_id>

Also accepts a markdown file path (notion-page-<uuid>.md) to resolve the page ID.

CRITICAL: Valid Patch Schema

The patch object must have exactly these keys: ops (array) and notes (string). No other keys allowed.

json
{
  "ops": [
    { "op": "replace_block_text", "block_id": "...", "new_markdown": "...", "reason": "..." },
    { "op": "append_blocks", "parent_block_id": "...", "blocks": [...], "reason": "..." },
    { "op": "set_props", "page_id": "...", "set": {...}, "reason": "..." }
  ],
  "notes": "optional notes"
}

Three allowed operation types:

replace_block_text

Replaces rich_text content of a block. Supported block types:

paragraph, heading_1, heading_2, heading_3, bulleted_list_item, numbered_list_item, to_do, quote, callout

json
{
  "op": "replace_block_text",
  "block_id": "block-uuid",
  "new_markdown": "## New heading",
  "reason": "Clarified section title"
}
append_blocks

Appends new blocks under a parent block.

  • Most block types need type + rich_text_md
  • divider needs only type
  • code supports optional language (defaults to plain text)
json
{
  "op": "append_blocks",
  "parent_block_id": "parent-uuid",
  "blocks": [
    { "type": "paragraph", "rich_text_md": "New paragraph content" },
    { "type": "heading_2", "rich_text_md": "New section" }
  ],
  "reason": "Added conclusion section"
}

Allowed block types:

  • paragraph, heading_1, heading_2, heading_3
  • bulleted_list_item, numbered_list_item, to_do, quote, callout
  • code, divider
set_props

Updates page properties (title, rich_text, number, checkbox, select, multi_select, date).

json
{
  "op": "set_props",
  "page_id": "page-uuid",
  "set": {
    "Status": { "type": "select", "name": "Done" },
    "Priority": { "type": "number", "value": 3 },
    "Done": { "type": "checkbox", "value": true },
    "Tags": { "type": "multi_select", "names": ["urgent", "important"] },
    "Due Date": { "type": "date", "start": "2026-03-02", "end": null },
    "Title": { "type": "title", "md": "New page title" },
    "Notes": { "type": "rich_text", "md": "Some notes" }
  },
  "reason": "Updated status to Done"
}

Property value types:

TypeShapeExample
number{ "type": "number", "value": 42 }-
checkbox{ "type": "checkbox", "value": true }-
select{ "type": "select", "name": "Option" }-
multi_select{ "type": "multi_select", "names": ["A", "B"] }-
date{ "type": "date", "start": "2026-03-02", "end": null }end optional
title{ "type": "title", "md": "markdown" }-
rich_text{ "type": "rich_text", "md": "markdown" }-
Write workspace changes back to Notion
bash
solid-notion write <page_id>

Reads the workspace files (page.md, .original.md), replaces the page content in Notion, creates a changeset, and cleans up the workspace.

Submit pending edits with rollback
bash
solid-notion submit <page_id> -m "description of changes"

CRITICAL: How submit works

submit consumes pending edit logs (created by previous edit commands) and applies them to Notion with transaction-like semantics:

  1. Phase 0: Load — Reads all edit log files from edit-logs/<page_id>/ that don't have .submitted markers
  2. Phase 1: Prepare — Fetches before-snapshots (current block content, property values) so rollback is possible
  3. Phase 2: Apply — Applies ops sequentially to Notion
  4. Phase 3: Finalize — On success, saves commit to versions/. On failure, rolls back already-applied ops using before-snapshots.

Exit statuses:

statusMeaningok
pushedAll ops applied successfullytrue
nothing_to_submitNo pending edits foundfalse
rolled_backApply failed but rollback succeededfalse
failed_needs_reconcileApply failed AND rollback partially failedfalse

Submit result format:

json
{
  "ok": true,
  "commit_id": "cmt_20260302_143022",
  "notion_id": "3d1b-...",
  "status": "pushed",
  "applied_ops": 3,
  "included_edits": 2
}

Best practices:

  • Always run submit after edit operations to publish changes
  • If submit returns rolled_back, the page is back to original state — no manual cleanup needed
  • If submit returns failed_needs_reconcile, manual intervention may be required
  • The -m (message) flag is required
2.4 Create New Pages

CRITICAL: Use the new command to create Notion pages programmatically

The new command creates a new page under a parent (page or database) with metadata only (title, icon, cover, props) via stdin as JSON. After creation, the page is automatically pulled locally as markdown. To add content (blocks), use the existing edit + submit workflow.

Create a new page
bash
echo '{"title":"My New Page","notes":""}' | solid-notion new --parent <parent_id> -m "Create page" --json

Required flags:

  • --parent <parent_id> — Parent page or database ID
  • -m, --message <message> — Commit message

Optional flags:

  • --database — Parent is a database (creates as database entry)
  • --json — Output JSON only
  • --dry-run — Validate without creating

CRITICAL: Valid Payload Schema

The JSON payload via stdin must have exactly these keys:

json
{
  "title": "Page Title",
  "icon": { "type": "emoji", "emoji": "📝" },
  "cover": { "type": "external", "url": "https://..." },
  "props": {
    "Status": { "type": "select", "name": "In Progress" }
  },
  "notes": "optional notes about this creation"
}

Required fields:

  • title (string, non-empty)
  • notes (string, can be empty)

Optional fields:

  • icon — { "type": "emoji", "emoji": "🎉" } or { "type": "external", "url": "..." }
  • cover — { "type": "external", "url": "..." }
  • props — Page properties (database entries), same types as set_props plus url, email, phone_number

No blocks field. Content is added via edit + submit after creation.

Property types for props (database entries):

All types from set_props plus:

  • url: { "type": "url", "value": "https://..." }
  • email: { "type": "email", "value": "user@example.com" }
  • phone_number: { "type": "phone_number", "value": "+1234567890" }

CRITICAL rules:

  • Payload must have exactly title, notes, and optional fields — no extra keys
  • For database pages, props must match the database schema
  • After creation, the page is auto-pulled locally as markdown

Transaction semantics:

new follows the same 4-phase pipeline as submit:

  1. Phase 0: Parse — Read and validate JSON from stdin
  2. Phase 1: Prepare — Verify parent exists, derive internal ops, create commit draft
  3. Phase 2: Apply — Create page on Notion (metadata only)
  4. Phase 3: Finalize — Persist version record, auto-pull page. On failure, rollback (archive page).

Rollback for new:

  • Archives the created page (soft-delete)

Success output (JSON mode):

json
{
  "ok": true,
  "commit_id": "parent-id-20260304T120000Z",
  "action": "new",
  "status": "pushed",
  "created_page_id": "abc123-def456",
  "page_url": "https://notion.so/abc123def456",
  "title": "My New Page",
  "parent_id": "parent-id",
  "parent_type": "page",
  "pulled_to": "/path/to/notion-page-abc123-def456.md"
}

Dry run output:

json
{
  "ok": true,
  "action": "new",
  "status": "dry_run",
  "dry_run": true,
  "validation": "passed",
  "title": "My New Page",
  "parent_id": "parent-id"
}
2.5 History and Restore
View history
bash
solid-notion history <page_id>

Output: tab-separated <id>\t<created_at>\t<type>.

Types:

  • changeset — Created by write or restore
  • new — Created by new command
  • submit — Created by submit command
Restore to a previous changeset or version
bash
solid-notion restore <page_id> <changeset_or_commit_id>
solid-notion restore <changeset_or_commit_id>

Behavior depends on type:

  • Changeset (from write/restore): Restores page to that changeset's state
  • Version (submit or new): Restore to the target hash by undoing only the later submit versions, then writes a new changeset

Hash-only lookup is supported. If the hash exists in multiple pages, CLI asks you to disambiguate with page ID.

After restore-to-version, local version files after the target hash are deleted.

Outputs the new changeset ID created by restore.


3. Agent Workflows

Workflow: Read a page as Markdown
bash
solid-notion pull page <page_id_or_name> --format markdown --outdir /tmp/notion-work

Then read the output file path printed to stdout.

Show full SKILL.md (767 more words)Show less
Workflow: Full edit cycle (Markdown mode)
  1. Pull the page to a workspace:

    bash
    solid-notion pull page <page_id> --format markdown --outdir ~/.local/share/solid-notion-cli/<page_id>
  2. Edit the local page.md file as needed.

  3. Write changes back:

    bash
    solid-notion write <page_id>
  4. Submit with a message:

    bash
    solid-notion submit <page_id> -m "Updated section headings"
Workflow: Edit via JSON patch (Programmatic mode)

Use this workflow when making precise, targeted edits without pulling full markdown.

  1. Get the target block IDs (you may need to pull JSON first):

    bash
    solid-notion pull page <page_id> --format json --outdir /tmp
    # or inspect specific block:
    solid-notion show block <block_id> --format json
  2. Construct a valid patch with ops array and notes:

    json
    {
      "ops": [
        {
          "op": "replace_block_text",
          "block_id": "block-uuid-here",
          "new_markdown": "Updated content here",
          "reason": "Clarified the explanation"
        },
        {
          "op": "set_props",
          "page_id": "page-uuid-here",
          "set": {
            "Status": { "type": "select", "name": "In Progress" }
          },
          "reason": "Moving to next phase"
        }
      ],
      "notes": "Batch update from review session"
    }
  3. Apply the patch via stdin:

    bash
    cat patch.json | solid-notion edit <page_id>
  4. Submit the pending edits:

    bash
    solid-notion submit <page_id> -m "Applied review feedback"

CRITICAL rules for JSON patch editing:

  • The patch must have exactly ops and notes — no extra keys
  • Each op must have op, reason, and type-specific fields
  • block_id in replace_block_text must be a valid Notion block ID
  • page_id in set_props must be the target page UUID
  • append_blocks creates new blocks — the created_block_ids are recorded in edit logs for rollback
Workflow: Batch multiple edits before submit

You can run multiple edit commands before a single submit. All pending edits are aggregated:

bash
# First edit
echo '{"ops":[...],"notes":"First change"}' | solid-notion edit <page_id>

# Second edit  
echo '{"ops":[...],"notes":"Second change"}' | solid-notion edit <page_id>

# Third edit
echo '{"ops":[...],"notes":"Third change"}' | solid-notion edit <page_id>

# Submit all at once
solid-notion submit <page_id> -m "Batch: three related updates"

Submit reads all edit logs from edit-logs/<page_id>/, marks them .submitted on success, and creates a single commit record.

Workflow: Restore a change
  1. List changesets:

    bash
    solid-notion history <page_id>
  2. Restore to a specific hash:

    bash
    solid-notion restore <page_id> <changeset_or_commit_id>
    # or hash-only when unique:
    solid-notion restore <changeset_or_commit_id>

4. Storage Concepts & Layout

All data is stored under $SOLID_NOTION_HOME (default: ~/.local/share/solid-notion-cli).

Storage Concepts Explained

Workspace files (<page_id>/) — Created by pull, used by write:

  • page.md — The markdown you edit
  • .original.md — Snapshot before editing (for diff/comparison)
  • page.meta.md — Page metadata (properties, etc.)
  • Lifecycle: Created on pull, deleted on successful write

Edit logs (edit-logs/<page_id>/) — Created by edit, consumed by submit:

  • JSONL files recording each patch operation with before/after snapshots
  • Purpose: Enable rollback if submit fails
  • Format: Each line is a JSON object with op, block_id/page_id, reason, and before/after values
  • Lifecycle: Created on edit, marked .submitted on successful submit

Versions (<page_id>/versions/) — Created by submit:

  • Commit records with full operation history and snapshots
  • Purpose: Immutable history of what was published to Notion
  • Format: JSON with commitId, status, ops, beforeSnapshots, applyState
  • Lifecycle: Created on every submit attempt (even failures)

Changesets (changesets/<page_id>/) — Created by write and restore:

  • Reversible markdown diffs for the "write -> restore" workflow
  • Purpose: Track full page content changes for history and restore
  • Format: Markdown files with YAML frontmatter containing before/after content
  • Lifecycle: Created on write, referenced by history and restore
Directory Layout
$SOLID_NOTION_HOME/
  config.json                          # Auth tokens (mode 0600)
  
  # Workspace (markdown editing workflow)
  <page_id>/
    page.md                            # Edited markdown
    page.meta.md                       # Page metadata
    .original.md                       # Original for diff
    versions/                          # Submit commits (JSON)
  
  # Edit logs (JSON patch workflow)
  edit-logs/<page_id>/
    <page_id>-<timestamp>.jsonl        # Pending edits (before submit)
    <page_id>-<timestamp>.jsonl.submitted  # Marker file (after submit)
  
  # Changesets (restorable full-page versions)
  changesets/<page_id>/
    <page_id>-<timestamp>.md           # Changeset with YAML frontmatter

Override the base directory with SOLID_NOTION_HOME environment variable.


5. Global Flags

FlagEffect
-v, --verbosePrint debug logs to stderr
-V, --versionPrint version

6. Error Handling

init command error codes
Exit codeErrorMeaning
2missing_argumentsNo token provided
3invalid_tokenToken is empty or invalid
4token_already_existsToken exists, use --force
5write_failedCould not write config file
General errors

All other commands exit 1 on failure and print diagnostics to stderr including error name, message, metadata (status, code, errno, syscall, hostname), cause chain, and stack trace.


7. Anti-Patterns

Authentication
  • Do NOT use --token <value> in automated flows. Use --token-stdin to avoid leaking tokens in process lists.
  • Do NOT skip solid-notion auth status --json before running commands. If there is no token, all Notion API calls will fail.
Page IDs
  • Do NOT pass page names to edit, write, submit, history, or restore. These commands require strict page UUIDs.
Output parsing
  • Do NOT forget --json when you need to parse command output programmatically.
Submit command
  • Do NOT call submit without -m. The message flag is required.
  • Do NOT assume submit takes stdin — it reads from local edit-logs/, not from stdin.
  • Do NOT ignore status: "rolled_back" — this means Notion writes failed but were undone.
  • Do NOT ignore status: "failed_needs_reconcile" — this means both apply AND rollback failed.
Edit patch schema
  • Do NOT include extra keys in the patch object (only ops and notes allowed).
  • Do NOT forget the reason field in each op — it is required.
  • Do NOT use unsupported block types in replace_block_text or append_blocks.
  • Do NOT use set_props on properties with unsupported types (only: number, checkbox, select, multi_select, date, title, rich_text).
  • Do NOT pass Notion block objects as new_markdown — pass simple Markdown text (e.g., "## Heading" or "Paragraph with bold").

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/solid-notion of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • _meta.json

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Solid Notion next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Solid Notion compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Solid Notion this skillLeoYeAI/openclaw-master-skills2.2k—~5.3kAutomated safety check: PassMIT
Notion To Blogwasp-lang/wasp19k—~922Automated safety check: PassMIT
Prismer NotionPrismer-AI/PrismerCloud1.6k3 repos~4.6kAutomated safety check: PassMIT
Crosspostingwasp-lang/wasp19k—~1.1kAutomated safety check: PassMIT
Notcrawlopenclaw/notcrawl134—~698Automated safety check: PassMIT
Notion APIintellectronica/agent-skills2951 repos~3.7kAutomated safety check: PassCC0-1.0

Similar skills

  • Notion To Blog

    wasp-lang/wasp

    Transfer a blog post from Notion to the Wasp blog. An agent skill from wasp-lang/wasp.

    19k GitHub stars~922 tokensUpdated today
    Writing & ContentAuto-check passed
  • Prismer Notion

    Prismer-AI/PrismerCloud

    Notion API + ntn CLI: pages, databases, markdown, Workers. An agent skill from Prismer-AI/PrismerCloud.

    1.6k GitHub starsUsed in 3 repos~4.6k tokens
    Documents & OfficeAuto-check passed
  • Crossposting

    wasp-lang/wasp

    Crosspost Wasp blog articles (MDX) to DEV.to and Medium. An agent skill from wasp-lang/wasp.

    19k GitHub stars~1.1k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Notcrawl

    openclaw/notcrawl

    A skill your agent uses for local Notion archive search, sync freshness, Markdown/database exports, git-share snapshots, and Notcrawl repo/release work.

    134 GitHub stars~698 tokensUpdated today
    DatabasesAuto-check passed
  • Notion API

    intellectronica/agent-skills

    This skill provides comprehensive instructions for interacting with the Notion API via REST calls.

    295 GitHub starsUsed in 1 repo~3.7k tokens
    Backend & APIsAuto-check passed
  • Typespec Create API Plugin

    github/awesome-copilot

    Official

    Generate a TypeSpec API plugin with REST operations, authentication, and Adaptive Cards for Microsoft 365 Copilot

    40k GitHub starsUsed in 2 repos~1k tokens
    Documents & OfficeAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 1,215 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Solid Notion

What does Solid Notion do?

Read, edit, and write Notion pages as Markdown using the solid-notion CLI. Solid Notion is an agent skill from LeoYeAI/openclaw-master-skills. Read, edit, and write Notion pages as Markdown using the solid-notion CLI.

When should I use Solid Notion?

Solid Notion fits situations like: pulling Notion content; managing changesets; submitting edits; restoring changes.

How do I install Solid Notion in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill solid-notion -a claude-code`. Or copy the skill folder (skills/solid-notion in LeoYeAI/openclaw-master-skills) into .claude/skills/solid-notion in your project. Claude Code loads it when a task matches its description.

How do I install Solid Notion in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill solid-notion -a codex`. Or copy the skill folder (skills/solid-notion in LeoYeAI/openclaw-master-skills) into .agents/skills/solid-notion in your project. Codex loads it when a task matches its description.

Can I use Solid Notion in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill solid-notion -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/solid-notion, .gemini/skills/solid-notion, .github/skills/solid-notion and .opencode/skills/solid-notion in your project.

What does Solid Notion need to run?

Going by SKILL.md and its folder, Solid Notion needs the command-line tools its instructions call (pnpm and npm) and credentials named NOTION_TOKEN. Our summary lists: Node.js; A credential in NOTION_TOKEN.

Does Solid Notion access the network?

SKILL.md names 1 domain. In commands or code: notion.so; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Solid Notion safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Solid Notion use?

Solid Notion is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Solid Notion use?

About 5.3k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Solid Notion?

Skills that share tags, products or a category with Solid Notion: Notion To Blog (wasp-lang/wasp, 19k stars), Prismer Notion (Prismer-AI/PrismerCloud, 1.6k stars), Crossposting (wasp-lang/wasp, 19k stars) and Notcrawl (openclaw/notcrawl, 134 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Solid Notion?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,158 GitHub stars. The repository holds 1,215 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.