notion-clipper-skill
v1.0.0Clip web pages to Notion. Fetches any URL via Chrome CDP, converts HTML to Markdown, then to Notion blocks, and saves to user-specified Notion database or page. Use when user wants to save/clip a webpage to Notion, or mentions "clip to notion", "save page to notion", "网页剪藏到Notion".
⭐ 1· 883·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The skill name/description match the implementation: it launches a local Chrome instance via CDP, renders and extracts page HTML, converts HTML→Markdown→Notion blocks, and calls the Notion API. Required artifacts (Chrome, a Notion integration key) and reading a local API key file are consistent with the stated functionality.
Instruction Scope
The SKILL.md tells the agent to run npm install (if node_modules missing) and then run the TypeScript entry with npx tsx. That is within scope for a code-based clipper but grants the agent permission to install and execute dependencies at runtime. The instructions also ask the user to store the Notion API key at ~/.config/notion/api_key and to unset proxy env vars — both are consistent with operation, though the key is stored in plaintext on disk.
Install Mechanism
There is no formal install spec; instead the runtime instructions auto-run `npm install` in the skill's scripts folder and use `npx -y tsx` at runtime. That causes packages to be fetched from the public npm registry (package-lock is included which helps reproducibility), and some dependencies (e.g., esbuild) have install scripts/binary downloads. This is expected for a Node-based tool but increases risk compared to a pure instruction-only skill because remote code and native binaries can be downloaded and executed.
Credentials
The only credential the skill needs is the Notion integration API key (the code reads a file at a path resolved by paths.ts). It optionally respects NOTION_CLIPPER_CHROME_PATH to locate Chrome. There are no unrelated secrets requested. Storing the API key as a plaintext local file is functional but carries the usual risk if other processes can read that file.
Persistence & Privilege
always:false and the skill is user-invocable (normal). The implementation creates/writes data: node_modules in the skill directory (from npm install) and a Chrome user-data-dir profile (a per-skill profile directory) for the spawned browser. That means cookies, local storage, or logged-in sessions could persist in that profile between runs — expected for a clipper but something users should be aware of.
Assessment
This skill appears to do what it says, but before installing or running it consider:
- The SKILL.md runs `npm install` and `npx -y tsx` at runtime. That will download and install packages (and native installer scripts) from npm. Review scripts/package.json and package-lock.json if you want reproducibility, or run in a sandbox/container.
- The skill reads your Notion integration key from a plaintext file (~/.config/notion/api_key). Use a dedicated, limited-scope Notion integration and be prepared to revoke the key if you stop trusting the skill.
- The tool creates a Chrome user-data-dir for its headful browsing; cookies and logged-in sessions can be stored there and persist between runs. If you need ephemeral behavior, remove the profile dir after use or run inside an isolated environment.
- If you want extra caution: inspect the package.json and the top-level files, run `npm ci` yourself in an isolated environment, or run the script in a disposable VM/container. If anything looks unexpected, do not provide your real Notion API key.Like a lobster shell, security has layers — review code before you run it.
latestvk977na2w1dn4sxngfag7txtv55811fs1
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
