
Pdf To Markdown
Turn PDFs—native text or scanned—into clean Markdown for docs, knowledge bases, and agent-readable repos.
Overview
PDF to Markdown is an agent skill most often used in Build (also Ship testing evidence and Operate iterate) that converts PDF files to Markdown including OCR for scanned documents under a strict step-by-step protocol.
Install
npx skills add https://github.com/duc01226/easyplatform --skill pdf-to-markdownWhat is this skill?
- Converts PDF to Markdown with paths for native text PDFs and scanned pages via OCR
- Codex mirror: invoke with $skill-name; strict step-by-step protocol when user-invoked
- Workflow mandate to create/update task tracking for all steps before execution
- Explicit stop-and-ask if required tools cannot run in the environment
- disable-model-invocation: true—user-directed invocation for predictable conversion runs
- Supports two PDF paths: native text extraction and scanned document OCR
- Protocol requires task tracking synchronized before and during all workflow steps
Adoption & trust: 796 installs on skills.sh; 6 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have PDFs locked in a binary format and need Markdown in your repo for docs, agents, or diffs without hand-copying every page.
Who is it for?
Builders maintaining docs-as-code who regularly ingest PDF exports, scans, or legacy manuals into Markdown.
Skip if: One-off chat paste of a single paragraph, heavy PDF layout design, or users who refuse stepwise workflow execution and task tracking.
When should I use this skill?
User needs to convert PDF files to Markdown including OCR for scanned documents; tagged [Document Processing] in description.
What do I get? / Deliverables
You get Markdown files derived from each PDF with the workflow steps logged via task tracking, or a explicit blocker question if OCR/conversion tools cannot run.
- Markdown file(s) corresponding to input PDF structure
- Step-by-step execution evidence via task tracker entries
- Explicit user prompts when environment lacks required conversion tools
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Document conversion is most often needed while building product docs, runbooks, and repo knowledge—not at idea or launch-only moments. Output is Markdown for documentation pipelines, which maps directly to the build/docs subphase shelf.
Where it fits
Convert a vendor API PDF into Markdown chapters before publishing developer docs.
Turn QA sign-off PDFs into Markdown appendices linked from release notes.
OCR a scanned ops playbook PDF into Markdown for quick edits after an incident.
How it compares
A procedural conversion skill with OCR branching—not a passive chat summarizer of PDF attachments.
Common Questions / FAQ
Who is pdf-to-markdown for?
Solo developers and operators using Codex or similar agents who need PDFs normalized into Markdown for documentation repos and automated workflows.
When should I use pdf-to-markdown?
In Build/docs when ingesting specs or manuals; in Ship when attaching test or compliance PDFs to markdown evidence; in Operate when updating runbooks from scanned legacy PDFs.
Is pdf-to-markdown safe to install?
It may read local PDFs and run conversion/OCR tooling; review the Security Audits panel on this page and only process PDFs you are allowed to store in the repo.
SKILL.md
READMESKILL.md - Pdf To Markdown
> Codex compatibility note: > > - Invoke repository skills with `$skill-name` in Codex; this mirrored copy rewrites legacy Claude `/skill-name` references. > - Prefer the `plan-hard` skill for planning guidance in this Codex mirror. > - Task tracker mandate: BEFORE executing any workflow or skill step, create/update task tracking for all steps and keep it synchronized as progress changes. > - User-question prompts mean to ask the user directly in Codex. > - Ignore Claude-specific mode-switch instructions when they appear. > - Strict execution contract: when a user explicitly invokes a skill, execute that skill protocol as written. > - Subagent authorization: when a skill is user-invoked or AI-detected and its protocol requires subagents, that skill activation authorizes use of the required `spawn_agent` subagent(s) for that task. > - Do not skip, reorder, or merge protocol steps unless the user explicitly approves the deviation first. > - For workflow skills, execute each listed child-skill step explicitly and report step-by-step evidence. > - If a required step/tool cannot run in this environment, stop and ask the user before adapting. <!-- CODEX:PROJECT-REFERENCE-LOADING:START --> ## Codex Project-Reference Loading (No Hooks) Codex does not receive Claude hook-based doc injection. When coding, planning, debugging, testing, or reviewing, open project docs explicitly using this routing. **Always read:** - `docs/project-config.json` (project-specific paths, commands, modules, and workflow/test settings) - `docs/project-reference/docs-index-reference.md` (routes to the full `docs/project-reference/*` catalog) - `docs/project-reference/lessons.md` (always-on guardrails and anti-patterns) **Situation-based docs:** - Backend/CQRS/API/domain/entity changes: `backend-patterns-reference.md`, `domain-entities-reference.md`, `project-structure-reference.md` - Frontend/UI/styling/design-system: `frontend-patterns-reference.md`, `scss-styling-guide.md`, `design-system/README.md` - Spec/test-case planning or TC mapping: `feature-docs-reference.md` - Integration test implementation/review: `integration-test-reference.md` - E2E test implementation/review: `e2e-test-reference.md` - Code review/audit work: `code-review-rules.md` plus domain docs above based on changed files Do not read all docs blindly. Start from `docs-index-reference.md`, then open only relevant files for the task. <!-- CODEX:PROJECT-REFERENCE-LOADING:END --> ## Quick Summary **Goal:** Convert PDF files to well-formatted Markdown with auto-detection of native text vs scanned documents. **Workflow:** 1. **Auto-Detect** — Determine if PDF has native text or needs OCR 2. **Convert** — Run `scripts/convert.cjs` with input path and optional mode/output flags 3. **Output** — Returns JSON with success status, page count, and output path **Key Rules:** - Use `--mode auto` (default) to let the tool decide native vs OCR - OCR for scanned PDFs requires additional `tesseract.js` setup - Complex multi-column layouts may not preserve structure perfectly **Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).** # pdf-to-markdown Convert PDF files to Markdown format with automatic detection of native text vs scanned documents. ## Installation Required **This skill requires npm dependencies.** Run one of the following: ```bash # Option 1: Install via ClaudeKit CLI (recommended) ck init # Runs install.sh which handles all skills # Option 2: Manual installation cd .claude/skills/pdf-to-markdown npm install ``` **Dependencies:** `@opendocsg/pdf2md` (native PDFs), `pdfjs-dist` (PDF parsing) **Note:** OCR for scanned PDFs requires additional setup (see OCR section). ## Q