Agent skill

Oma PDF

by first-fluke in first-fluke/oh-my-agent

Convert PDF files to Markdown using opendataloader-pdf. An agent skill from first-fluke/oh-my-agent.

MITAuto-check passedDocuments & Office

Install Oma PDF

skills CLI
$ npx skills add first-fluke/oh-my-agent --skill oma-pdf -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install first-fluke/oh-my-agent oma-pdf --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/first-fluke/oh-my-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/benchmarks/runs/oma/.agents/skills/oma-pdf .claude/skills/oma-pdf && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
oma-pdf
GitHub stars
1.3k
Token cost
~1.9k tokens
SKILL.md length
892 words
Files
3
Skills in repo
57
Repo updated
First seen
Licence
MIT

At a glance

Convert PDF files to Markdown using opendataloader-pdf. An agent skill from first-fluke/oh-my-agent.

  • Works in 3 steps: Confirm that the input path exists and… → Check file size and warn when the input… → Resolve output_dir and the expected…
  • PDF to Markdown conversion
  • SKILL.md covers Scheduling, Structural Flow, Logical Operations and References
  • Calls uvx

What it does

Oma PDF is an agent skill from first-fluke/oh-my-agent. Convert PDF files to Markdown using opendataloader-pdf. Extracts text, tables, headings, lists, and images with correct reading order. Use for PDF parsing, PDF to Markdown conversion, document extraction, and AI-ready data preparation.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `config/pdf-config.yaml` and `resources/execution-protocol.md`).

It sits in Documents & Office, covering PDF. The repository describes itself as: Mechanical verification for AI coding agents — skills pack or full harness (stop-hook gates, artifact checks, independent judges). The licence is MIT.

When your agent uses it

  • PDF to Markdown conversion
  • Document extraction
  • AI-ready data preparation

Example prompts

  • “/oma-pdf”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Confirm that the input path exists and is a PDF file, PDF folder, or supported batch input.
  2. Check file size and warn when the input is large enough to risk slow conversion or memory pressure.
  3. Resolve output_dir and the expected output filename.

What it can do on your machine

Read from SKILL.md and the folder at commit b364119. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uvx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uvx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Oma PDF loads about 1.9k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 892 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~61
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from first-fluke/oh-my-agent at commit b364119, republished under its MIT licence (© first-fluke). 892 words, ~1,854 tokens.

Download SKILL.mdSave it as .claude/skills/oma-pdf/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
oma-pdf
description
Convert PDF files to Markdown using opendataloader-pdf. Extracts text, tables, headings, lists, and images with correct reading order. Use for PDF parsing, PDF to Markdown conversion, document extraction, and AI-ready data preparation.

PDF Skill - PDF to Markdown Conversion

Scheduling

Goal

Convert PDF files into structured Markdown or another requested extraction format while preserving readable document structure for LLM context, RAG, or downstream review.

Intent signature
  • User asks to convert, parse, read, extract, or transform a PDF.
  • User needs PDF text, headings, lists, tables, or images prepared for AI consumption.
  • User mentions "PDF to markdown", "parse PDF", "read this PDF", or equivalent wording.
When to use
  • Converting PDF documents to Markdown for LLM context or RAG
  • Extracting structured content such as tables, headings, lists, images, footnotes, or hyperlinks
  • Preparing PDF data for AI consumption
  • Checking whether a PDF has a text layer before choosing OCR
When NOT to use
  • Generating or creating PDFs -> use document-generation tools
  • Editing existing PDFs -> out of scope
  • Reading an already-text file -> use direct file reading
  • Processing HWP, HWPX, DOCX, XLSX, or slide decks -> use the matching document skill
Expected inputs
  • input_path: PDF file or folder path
  • output_dir: optional target directory
  • format: optional output format, default markdown
  • ocr_languages: optional OCR language list for scanned or image-based PDFs
  • extraction_options: optional flags for tagged structure, image extraction, or hybrid conversion
Expected outputs
  • Markdown, text, JSON, HTML, or combined extraction output
  • Normalized Markdown when Markdown is produced
  • A short report with output path, page count, and conversion issues
Dependencies
  • uvx opendataloader-pdf for standard conversion
  • uvx opendataloader-pdf-hybrid for OCR or hybrid conversion
  • uvx mdformat for Markdown normalization
  • Local filesystem access to input and output paths
  • Optional OCR runtime via the hybrid server
Control-flow features
  • Branches on text-layer quality, tagged PDF availability, scan/OCR needs, and user-requested output format
  • Calls external CLI tools through uvx
  • Reads local files and writes local extraction outputs
  • Uses a hybrid server only when OCR or complex extraction needs justify it

Structural Flow

Entry
  1. Confirm that the input path exists and is a PDF file, PDF folder, or supported batch input.
  2. Check file size and warn when the input is large enough to risk slow conversion or memory pressure.
  3. Resolve output_dir and the expected output filename.
Scenes
  1. PREPARE: Validate the input path, output target, and requested extraction options.
  2. ACQUIRE: Assess whether the PDF has a readable text layer by extracting a text preview.
  3. ACT: Convert using standard mode, tagged-structure mode, or hybrid OCR mode.
  4. VERIFY: Run mdformat for Markdown output and inspect the result for readable structure.
  5. FINALIZE: Report output path, page count, format, and any extraction quality issues.
Transitions
  • If the preview text is readable, use standard conversion.
  • If the PDF is tagged and standard output is garbled, retry with --use-struct-tree.
  • If the PDF is scanned or image-based, start or reuse the hybrid OCR server and convert with hybrid mode.
  • If conversion fails because the PDF is encrypted, stop and ask for the password or an unlocked copy.
  • If conversion hits memory or size limits, process smaller page ranges or batches.
Failure and recovery
FailureRecovery
uvx unavailableAsk user to install uv before conversion
Password-protected PDFAsk for password or unlocked PDF
Garbled outputRetry with tagged structure or hybrid mode
Missing tablesRetry with hybrid mode for complex or borderless tables
OCR language mismatchRetry with explicit OCR languages, for example ko,en
Large file or memory pressureSplit into page ranges or batch smaller inputs
Show full SKILL.md (346 more words)Show less
Exit
  • Success: output file exists, Markdown is formatted when applicable, and extracted structure is readable.
  • Partial success: output exists but quality issues are reported explicitly.
  • Failure: no reliable output is produced and the blocking cause is reported.

Logical Operations

Actions
ActionSSL primitiveEvidence
Validate path and optionsVALIDATEInput preflight in execution protocol
Probe text layerREADText preview extraction
Choose conversion strategySELECTStandard, tagged, or hybrid mode decision
Run converterCALL_TOOLuvx opendataloader-pdf
Start OCR serverCALL_TOOLuvx opendataloader-pdf-hybrid
Write output artifactWRITEMarkdown, text, JSON, or HTML output
Normalize MarkdownCALL_TOOLuvx mdformat
Inspect extraction qualityVALIDATEStructure/readability verification
Report resultNOTIFYFinal user-facing summary
Tools and instruments
  • opendataloader-pdf: primary PDF extraction CLI
  • opendataloader-pdf-hybrid: hybrid OCR and complex extraction path
  • mdformat: Markdown normalization
  • Filesystem commands such as file, wc, or pdfinfo may be used for preflight when available
Canonical command path
bash
uvx opendataloader-pdf "{input_path}" --format markdown --output-dir "{output_dir}"
uvx mdformat "{output_path}"

For scanned/image-based PDFs, start OCR first and then convert through hybrid mode:

bash
uvx opendataloader-pdf-hybrid --port 5002 --force-ocr --ocr-lang "{languages}"
uvx opendataloader-pdf --hybrid docling-fast "{input_path}" --format markdown --output-dir "{output_dir}"
Resource scope
ScopeResource target
LOCAL_FSInput PDFs and generated output files
PROCESSuvx subprocesses and optional hybrid server
MEMORYExtracted previews and validation notes
OTHEROCR model/runtime behavior inside hybrid mode
Preconditions
  • The input PDF path exists and is readable.
  • The output location is writable or can be created.
  • Required CLIs are available through uvx.
  • OCR is only attempted when hybrid mode is available or can be started.
Effects and side effects
  • Creates or overwrites extraction output depending on configuration and user intent.
  • May start a local hybrid OCR server on the configured port.
  • May consume significant CPU, memory, or time for large or scanned PDFs.
  • Does not intentionally modify the source PDF.
Guardrails
  1. Do not invent missing content when extraction is incomplete.
  2. Always report garbled text, missing tables, OCR uncertainty, or partial extraction.
  3. Prefer standard conversion first when the text layer is readable.
  4. Use OCR only when the PDF is scanned, image-based, or standard extraction quality is insufficient.
  5. Keep detailed command sequences in resources/execution-protocol.md rather than duplicating every variant here.

References

  • Execution protocol: resources/execution-protocol.md
  • Configuration: config/pdf-config.yaml
  • Context loading: ../_shared/core/context-loading.md
  • Quality principles: ../_shared/core/quality-principles.md

© first-fluke, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in benchmarks/runs/oma/.agents/skills/oma-pdf of first-fluke/oh-my-agent.

  • SKILL.md
  • config/pdf-config.yaml
  • resources/execution-protocol.md

Open the folder on GitHubat commit b364119

Compare with similar skills

Oma PDF next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Oma PDF compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Oma PDF this skillfirst-fluke/oh-my-agent1.3k—~1.9kAutomated safety check: PassMIT
MarkitdownImCa0/just-laws78214 repos~3.2kAutomated safety check: NotesMIT
Gzh Designisjiamu/gzh-design-skill3.9k1 repos~2.2kAutomated safety check: PassAGPL-3.0
GenOffice Document CLIgenspark-ai/genoffice9k—~19kAutomated safety check: PassApache-2.0
Harness Book Best Practicewquguru/harness-books3.2k—~4.1kAutomated safety check: PassNone
Bookforge Korean Ebook PDF Makergongnyang/bookforge3151 repos~1.7kAutomated safety check: PassMIT

Similar skills

  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    782 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Gzh Design

    isjiamu/gzh-design-skill

    微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…

    3.9k GitHub starsUsed in 1 repo~2.2k tokens
    Documents & OfficeAuto-check passed
  • GenOffice Document CLI

    genspark-ai/genoffice

    Creates, converts, reads and edits real pptx, xlsx, docx and PDF files locally through the genoffice command line.

    9k GitHub stars~19k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Harness Book Best Practice

    wquguru/harness-books

    Best practices for working on the Harness books repo. An agent skill from wquguru/harness-books.

    3.2k GitHub stars~4.1k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • Produces book-style Korean ebook PDFs from a topic or finished manuscript, with six design styles, real book parts and quality-check gates before output.

    315 GitHub starsUsed in 1 repo~1.7k tokens
    Documents & OfficeAuto-check passed
  • Instrument Data To Allotrope

    aws-samples/amazon-bedrock-agents-healthcare-lifesciences

    Official

    Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.

    274 GitHub starsUsed in 2 repos~2.7k tokens
    Documents & OfficeAuto-check passed

More from first-fluke/oh-my-agent

All 57 skills in this repo
  • OMA Multi-Agent Orchestration

    first-fluke/oh-my-agent

    Decomposes a complex feature into tasks, dispatches parallel specialist agents with durable state, and supervises verification, QA review and retries.

    1.3k GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • OMA Multi-Agent Orchestrator

    first-fluke/oh-my-agent

    Splits a complex feature into prioritized tasks, spawns specialist CLI subagents in parallel, tracks them through shared memory and verifies each result.

    1.3k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Architecture Decisions and ADRs

    first-fluke/oh-my-agent

    Evaluates system boundaries and tradeoffs and writes architecture recommendations, option comparisons or ADRs, with a Mermaid diagram when structure changes.

    1.3k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • OMA Backend Agent

    first-fluke/oh-my-agent

    Backend specialist for APIs, database work, authentication and migrations that follows clean architecture with router, service and repository layers.

    1.3k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • oma Bootstrap

    first-fluke/oh-my-agent

    Installs or checks the oma CLI and its runtimes (bun, uv, serena) in a fresh workspace so that oma-* skills can run their commands.

    1.3k GitHub stars~719 tokensUpdated today
    Auto-check passed
  • Design-First Brainstorm

    first-fluke/oh-my-agent

    Explores intent, constraints and alternative approaches before any planning, working through questions one at a time and saving an approved design for later steps.

    1.3k GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Questions about Oma PDF

What does Oma PDF do?

Convert PDF files to Markdown using opendataloader-pdf. An agent skill from first-fluke/oh-my-agent. Oma PDF is an agent skill from first-fluke/oh-my-agent. Convert PDF files to Markdown using opendataloader-pdf.

When should I use Oma PDF?

Oma PDF fits situations like: PDF to Markdown conversion; document extraction; AI-ready data preparation.

How do I install Oma PDF in Claude Code?

Run `npx skills add first-fluke/oh-my-agent --skill oma-pdf -a claude-code`. Or copy the skill folder (benchmarks/runs/oma/.agents/skills/oma-pdf in first-fluke/oh-my-agent) into .claude/skills/oma-pdf in your project. Claude Code loads it when a task matches its description.

How do I install Oma PDF in Codex?

Run `npx skills add first-fluke/oh-my-agent --skill oma-pdf -a codex`. Or copy the skill folder (benchmarks/runs/oma/.agents/skills/oma-pdf in first-fluke/oh-my-agent) into .agents/skills/oma-pdf in your project. Codex loads it when a task matches its description.

Can I use Oma PDF in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add first-fluke/oh-my-agent --skill oma-pdf -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/oma-pdf, .gemini/skills/oma-pdf, .github/skills/oma-pdf and .opencode/skills/oma-pdf in your project.

What does Oma PDF need to run?

Going by SKILL.md and its folder, Oma PDF needs the command-line tools its instructions call (uvx).

Does Oma PDF access the network?

SKILL.md contains no URLs. Its commands use uvx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Oma PDF safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Oma PDF use?

Oma PDF is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Oma PDF use?

About 1.9k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Oma PDF?

Skills that share tags, products or a category with Oma PDF: Markitdown (ImCa0/just-laws, 782 stars), Gzh Design (isjiamu/gzh-design-skill, 3.9k stars), GenOffice Document CLI (genspark-ai/genoffice, 9k stars) and Harness Book Best Practice (wquguru/harness-books, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Oma PDF?

first-fluke (a GitHub organization) maintains it in first-fluke/oh-my-agent, which has 1,338 GitHub stars. The repository holds 57 skills in this directory. The repository was last updated on October 9, 2026.

Source: first-fluke/oh-my-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.