krishagel/geoffrey

pdf-to-markdown

Convert PDF to clean Markdown with image content described as text. Use when user wants to convert a PDF to markdown, extract content from PDF, or prepare PDF content for AI tools.

First seen Jan 29, 2026

Installation

$ npx skills add krishagel/geoffrey --skill pdf-to-markdown

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from krishagel/geoffrey · top by installs.

npx skills add krishagel/geoffrey

Browse all from krishagel/geoffrey

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 5
License LICENSE
Default branch main
Open issues 2
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
Allowed toolsRead, Bash

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,248 B
  • docs SUMMARY.md 203 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 22 installs

SKILL.md

PDF to Markdown Converter

Convert PDF files to clean, well-structured Markdown. Tables become markdown tables. Images and graphics are described as text (no image files generated).

Quick Start

uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py input.pdf

Output: ~/Desktop/{filename}.md

Options

Flag Description
--no-llm Skip LLM processing (faster, images become [Image] placeholders)
--force-ocr Force OCR on all pages (for scanned PDFs)
--page-range "0,5-10" Process specific pages only

Common Use Cases

Convert a PDF with default settings

uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py ~/Documents/report.pdf

Specify output location

uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py report.pdf ~/Documents/report.md

Fast conversion (no image descriptions)

uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py --no-llm report.pdf

Scanned PDF (force OCR)

uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py --force-ocr scanned_doc.pdf

Extract specific pages

uv run skills/pdf-to-markdown/scripts/convert_to_markdown.py --page-range "0-5" large_report.pdf

Output

  • Pure Markdown text (no embedded images)
  • Tables converted to Markdown table format
  • Images/charts described as text using LLM
  • Clean formatting suitable for AI processing

Requirements

  • GEMINIAPIKEY: Required for LLM image descriptions (loaded from 1Password)
  • Use --no-llm flag if you don't have Gemini API access

First Run Note

The first run downloads ML models (~1-2GB) which are cached at ~/.cache/marker/. Subsequent runs are faster.

Technical Details

Uses Marker library:

  • 31k+ GitHub stars
  • Best-in-class PDF conversion accuracy
  • Surya OCR for 90+ languages
  • Gemini LLM integration for image understanding