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 agentmods add instructions/2arons/notion-md-agent/agents-mdgit clone --depth 1 https://github.com/2aronS/notion-md-agentWrote 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/instructions/2arons/notion-md-agent/agents-md)<a href="https://agentmods.dev/instructions/2arons/notion-md-agent/agents-md"><img src="https://agentmods.dev/badge/instructions/2arons/notion-md-agent/agents-md.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 | $0.01230 | $0.01230 |
| Opus 5 | $0.00615 | $0.00615 |
| Sonnet 5 | $0.00246 | $0.00246 |
| Haiku 4.5 | $0.00123 | $0.00123 |
Grade A, and why
notion-md-agent AGENTS.md scanned grade A with 0 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 4d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
94% identical to better-notion-mcp AGENTS.md — 15 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md - notion-md-agent
MCP Server for Notion API. TypeScript, Node.js >= 24, bun, ESM.
Build / Lint / Test Commands
bun install # Install dependencies
bun run build # tsc --build && esbuild CLI bundle
bun run check # Biome check + tsc --noEmit (CI command)
bun run check:fix # Auto-fix Biome + type check
bun run test # vitest --passWithNoTests (NEVER use bare "bun test")
bun run test:watch # vitest watch
bun run test:coverage # vitest --coverage
bun run lint # biome lint src
bun run format # biome format --write .
bun run type-check # tsc --noEmit
bun run dev # tsx watch dev server
# Run a single test file
bun x vitest run src/tools/helpers/errors.test.ts
# Run a single test by name
bun x vitest run -t "test name pattern"
# Mise shortcuts
mise run setup # Full dev environment setup
mise run lint # bun run check
mise run test # bun run test
mise run fix # bun run check:fix
Code Style
Formatting (Biome)
- Indent: 2 spaces
- Line width: 120
- Quotes: Single quotes
- Semicolons: As needed (omit when possible)
- Trailing commas: None
- Arrow parens: Always
- Bracket spacing: true
- Line endings: LF
Imports
- Type imports use
import type(separate statement) - External packages first, then internal imports (relative paths)
- Node builtins with
node:prefix (node:fs,node:path,node:url) - Always use
.jsextension in import paths (ESM requirement)
import type { Client } from '@notionhq/client'
import { NotionMCPError, withErrorHandling } from '../helpers/errors.js'
import { blocksToMarkdown, markdownToBlocks } from '../helpers/markdown.js'
TypeScript
strict: true, target: es2021, module: es2022, moduleResolution: Bundlercomposite: truefor incremental buildsisolatedModules: true,forceConsistentCasingInFileNames: true
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.
- 4d ago First seen · 134 lines · 1,230 tokens per session scan A 772909cb08b7
notion-md-agent AGENTS.md is an instructions file published in the GitHub repository 2aronS/notion-md-agent (9 stars, last pushed 3mo ago), licensed MIT. It adds 1,230 tokens to every session, about $0.0062 per session on Opus 5. A static security scan graded it A with 0 findings. It is 94% identical to better-notion-mcp AGENTS.md, differing in 15 lines, and is treated as a copy.
Other instructions, from other repositories
mq commit.instructions.md
Instructions for harehare/mq: Use the following format for commit messages.
core copilot-instructions.md
Copilot instructions for asdecided/core: These decisions are already accepted. Do not re-open or contradict them; ask the AsDecided MCP tools (getartifact, searchartifacts) for the full text before proposing a change that touches one.
telegramify-markdown AGENTS.md
Instructions for sudoskys/telegramify-markdown, covering telegramify-markdown agent guide, task routing, quick commands, project rules and architecture map.
easy-notion-mcp CLAUDE.md
Claude Code instructions for Grey-Iris/easy-notion-mcp, covering easy-notion-mcp, open source context, .meta/ publication policy (hybrid, 2026-07-02), standing priorities and commands.
research-os AGENTS.md
Instructions for lxinfei5/research-os, covering researchos — constitution, §0 what this is, §1 directory discipline, §2 half-life (innovation 1) — memory design and §3 behavior pillars (innovations 2–5).
markview CLAUDE.md
Instructions for paulhkang94/markview, covering markview — ai development guide, quick reference, architecture, mcp tools (for ai integration) and safety rules.