Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Enakoneschniy/claude-dev-stack --skill notion-importergit clone --depth 1 https://github.com/Enakoneschniy/claude-dev-stackWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/enakoneschniy/claude-dev-stack/notion-importer)<a href="https://agentmods.dev/skills/enakoneschniy/claude-dev-stack/notion-importer"><img src="https://agentmods.dev/badge/skills/enakoneschniy/claude-dev-stack/notion-importer.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00096 | $0.00890 |
| Opus 5 | $0.00048 | $0.00445 |
| Sonnet 5 | $0.00019 | $0.00178 |
| Haiku 4.5 | $0.00010 | $0.00089 |
Grade B, and why
notion-importer scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
cat .claude/notion_pages.json Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
notion-fetch(page_id: "<page_id>") How it starts
The opening of the file, as written. The whole thing — 89 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Notion Importer Skill
Import Notion pages into the project vault using the claude.ai Notion MCP server.
This skill calls MCP tools directly from a live Claude session — no subprocess needed.
Trigger Phrases
English: "import notion", "notion docs", "sync notion", "sync notion pages", "import notion pages" Russian: "импортируй notion", "обнови notion", "обнови notion docs", "синхронизируй notion"
Required Setup
The project must have .claude/notion_pages.json configured.
Run claude-dev-stack notion add <url> to add pages.
Import Steps
- Read config: Load
.claude/notion_pages.jsonto get the list of pages.
cat .claude/notion_pages.json
- Fetch each page: For each page in
config.pages, call thenotion-fetchMCP tool with thepage_idto retrieve markdown content. Use the MCP tool directly:
notion-fetch(page_id: "<page_id>")
Or use notion-search MCP tool if you need to locate pages by title.
-
Determine vault path: Use the
vault_pathfield from the page config (default:docs/notion). Resolve against the vault project directory:vault/projects/{project-slug}/docs/notion/ -
Write with provenance: Each imported file gets a frontmatter stamp:
---
notion_page_id: <page_id>
notion_last_synced: <ISO timestamp>
notion_content_hash: <SHA-256 of content below frontmatter>
---
<page content>
-
3-way hash check (overwrite protection, per D-06):
- If file does not exist → create it with stamp (status: created)
- If
notion_content_hashin frontmatter matches hash of new content → skip (status: unchanged) - If local body hash matches stored
notion_content_hash(no local edits) → overwrite in place (status: updated) - If local body hash differs from stored
notion_content_hash(local edits detected) → write{filename}.notion-update.mdsibling and warn (status: conflict)
-
Filename convention: Use the page title for the filename, cleaned with the same rules as
cleanNotionFilename()inlib/docs.mjs— strip Notion UUID suffixes, lowercase, replace spaces with hyphens. Example:My Page abc123...→my-page.md
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 89 lines · 96 tokens per session scan B 003a2275254d
notion-importer is a skill published in the GitHub repository Enakoneschniy/claude-dev-stack (5 stars, last pushed 3d ago), licensed MIT. It adds 96 tokens to every session and 890 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it B with 2 findings (reads agent configuration directories, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
joycraft-add-fact
Invoked by session-end or the human after a fact surfaces — route it to the correct context document (production map, dangerous assumptions, decision log, institutional knowledge, troubleshooting).
long-doc-governance
A set of rules for managing long documents by checking their length and splitting them when substantial changes would make them too large.
doc-html-style
A manually triggered style guide for turning settled content into a self-contained HTML technical document designed mainly for desktop reading.
bmad-shard-doc
Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document.
ai-image-to-pptx
A workflow that creates a set of related images with AI and places them into a real PowerPoint file. The resulting .pptx file can be opened and edited in PowerPoint, Keynote, or WPS.
notion-cli
Work with Notion from the terminal using the notion CLI. Use when the user needs to read, create, update, query, or manage Notion pages, databases, blocks, comments, users, or files programmatically. Covers the entire Notion API with 50+ commands. Triggers: Notion workspace automation, database queries, page creation…