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/markpdfdown/markpdfdown-desktop/claude-mdgit clone --depth 1 https://github.com/MarkPDFdown/markpdfdown-desktopWhat 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.01196 | $0.01196 |
| Opus 5 | $0.00598 | $0.00598 |
| Sonnet 5 | $0.00239 | $0.00239 |
| Haiku 4.5 | $0.00120 | $0.00120 |
Grade A, and why
markpdfdown-desktop CLAUDE.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 2d 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.
How it starts
The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
MarkPDFdown Desktop is an Electron application that converts PDF/images to Markdown using LLM visual recognition. Built with Electron 38 + React 18 + TypeScript + Vite (via electron-vite) + Prisma (SQLite) + Ant Design 5.
Commands
# Development
npm run dev # Generate Prisma client + start dev server
# Build
npm run build # Generate Prisma client + production build
npm run build:win # Build Windows NSIS installer
npm run build:mac # Build macOS DMG
npm run build:linux # Build Linux AppImage
# Testing (Vitest)
npm test # Run all tests (watch mode)
npm run test:unit # Unit tests only (main process + core, node env)
npm run test:renderer # Component tests only (React, jsdom env)
npm run test:watch # Watch mode
npm run test:coverage # Coverage report
# Single test file
npx vitest run path/to/file.test.ts --config vitest.config.ts # unit test
npx vitest run path/to/file.test.tsx --config vitest.config.renderer.ts # renderer test
# Database
npm run generate # Generate Prisma client
npm run migrate:dev # Run migrations (dev)
# Code quality
npm run lint # ESLint with auto-fix
npm run typecheck # TypeScript type checking
Architecture
Three-process Electron structure
- Main process (
src/main/): Window management, IPC handler registration, app lifecycle - Preload (
src/preload/): Secure bridge exposingwindow.apito renderer - Renderer (
src/renderer/): React SPA with Ant Design, HashRouter routing
Core business logic (src/core/) — Clean Architecture
core/
├── domain/ # Interfaces only: ILLMClient, ISplitter, repositories
├── application/ # Business logic orchestration
│ ├── services/ # WorkerOrchestrator, ModelService, PresetProviderService
│ └── workers/ # WorkerBase (abstract), SplitterWorker, ConverterWorker, MergerWorker
├── infrastructure/ # External implementations
│ ├── db/ # Prisma schema, migrations, client
│ ├── adapters/
│ │ ├── llm/ # OpenAIClient, AnthropicClient, GeminiClient, OllamaClient, OpenAIResponsesClient
│ │ └── split/ # PDFSplitter, ImageSplitter, SplitterFactory
│ └── services/ # FileService
└── shared/events/ # EventBus for worker coordination
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.
- 2d ago First seen · 113 lines · 1,196 tokens per session scan A 1e53aa4c8baf
markpdfdown-desktop CLAUDE.md is an instructions file published in the GitHub repository MarkPDFdown/markpdfdown-desktop (58 stars, last pushed 3mo ago), licensed Apache-2.0. It adds 1,196 tokens to every session, about $0.0060 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
flexberry-markitdown-mcp CLAUDE.md
Claude Code instructions for Flexberry/flexberry-markitdown-mcp, covering claude.md, project overview, commands, install in development mode (all test/lint deps) and install with both pdf backends.
firecrawl CLAUDE.md
Claude Code instructions for firecrawl/firecrawl: Firecrawl is a web scraper API. The directory you have access to is a monorepo.
siyuan AGENTS.md
AGENTS.md instructions for siyuan-note/siyuan, covering agents.md, 1. non-negotiable constraints, do not hand-edit, verification and prohibited operations and 2. project-specific rules.
mq commit.instructions.md
Instructions for harehare/mq: Use the following format for commit messages.
core copilot-instructions.md
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.
kipi-system AGENTS.md
AGENTS.md instructions for assafkip/kipi-system, covering q entrepreneur os, project structure, conventions, commands and build and test.