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 skills add staruhub/ClaudeSkills --skill geek-skills-mineru-pdf-parsergit clone --depth 1 https://github.com/staruhub/ClaudeSkillsWrote 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/skills/staruhub/claudeskills/geek-skills-mineru-pdf-parser)<a href="https://agentmods.dev/skills/staruhub/claudeskills/geek-skills-mineru-pdf-parser"><img src="https://agentmods.dev/badge/skills/staruhub/claudeskills/geek-skills-mineru-pdf-parser/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/staruhub/claudeskills/geek-skills-mineru-pdf-parser"><img src="https://agentmods.dev/badge/skills/staruhub/claudeskills/geek-skills-mineru-pdf-parser.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.1 | $0.00174 | $0.01137 |
| Opus 5 | $0.00087 | $0.00568 |
| Sonnet 5 | $0.00035 | $0.00227 |
| Haiku 4.5 | $0.00017 | $0.00114 |
Grade A, and why
mineru-pdf-parser 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 13d 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 — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MinerU PDF Parser
将复杂PDF文档转换为机器可读的Markdown/JSON格式,适用于LLM和RAG应用。
安装
# 推荐使用uv安装
pip install uv
uv pip install -U "mineru[all]"
# 下载模型(首次使用)
mineru-models-download
快速使用
命令行
# 解析单个PDF
mineru -p input.pdf -o output_dir
# 批量解析
mineru -p pdf_folder/ -o output_dir
# 指定解析模式
mineru -p input.pdf -o output_dir --backend vlm # VLM模式(高精度)
mineru -p input.pdf -o output_dir --backend pipeline # Pipeline模式(快速)
mineru -p input.pdf -o output_dir --backend hybrid # 混合模式(平衡)
Python API
from mineru import MinerU
mineru = MinerU()
result = mineru.parse("document.pdf")
# 获取输出
markdown = result.to_markdown()
json_data = result.to_json()
详细API见 references/api_reference.md
解析模式选择
| 模式 | 特点 | 适用场景 |
|---|---|---|
pipeline |
快速、资源少 | 简单文档、纯文本PDF |
vlm |
高精度、复杂布局 | 学术论文、公式表格文档 |
hybrid |
平衡速度精度 | 通用场景 |
输出文件
{filename}.md- Markdown正文{filename}_content_list.json- 结构化JSONimages/- 提取的图像{filename}_middle.json- 中间结果(调试)
格式详情见 references/output_formats.md
最佳实践
学术论文
mineru -p paper.pdf -o output --backend vlm
批量处理
from mineru import MinerU
import os
mineru = MinerU(backend="hybrid")
for pdf in os.listdir("pdfs/"):
if pdf.endswith(".pdf"):
result = mineru.parse(f"pdfs/{pdf}")
result.save(f"output/{pdf[:-4]}/")
RAG数据准备
sections = result.get_sections()
for section in sections:
vector_db.add(section.title, section.content)
启用GPU加速
修改 ~/.mineru.json 中 device-mode 为 cuda。
更多见 references/best_practices.md
验收标准(解析任务完成前自查)
- 输出目录里
.md与_content_list.json都存在,把实际路径回报用户 - 抽查 1-2 页对照原 PDF:表格/公式没有明显丢失或错乱;有问题主动告知而不是静默交付
- backend 选择有依据(简单文本→pipeline;公式表格密集→vlm;拿不准→hybrid)
- 批量任务报告成功/失败清单,失败的给原因
已知陷阱
| 陷阱 | 具体表现 | 应对 |
|---|---|---|
| 首次运行缺模型 | 未执行 mineru-models-download 直接解析报错 | 安装后先跑模型下载;下载体积大,提前告知用户耗时 |
| 无 GPU 硬跑 vlm | CPU 上 vlm 模式极慢,像卡死 | 无 GPU 时用 pipeline/hybrid;有 GPU 改 ~/.mineru.json 的 device-mode 为 cuda |
| 扫描件预期过高 | 低清晰度扫描 PDF 解析质量差 | 提前告知扫描件效果取决于清晰度;结果差时换 backend 重试一次,仍差则如实报告 |
| 大文件内存压力 | 数百页 PDF 单次解析内存暴涨 | 大文件分批解析或按章节拆分 |
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 13d ago First seen · 121 lines · 174 tokens per session scan A 392d75e031d7
mineru-pdf-parser is a skill published in the GitHub repository staruhub/ClaudeSkills (712 stars, last pushed 1mo ago), licensed MIT. It adds 174 tokens to every session and 1,137 once invoked, about $0.0009 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 skills, from other repositories
report-helper
A Chinese-language research workflow that searches the internet and produces a formatted PDF report about a specified topic.
searchcans-reader-seo-audit
Extract a URL, PDF, or Office document with SearchCans Reader API and audit web-to-Markdown extractability plus SEO-ready HTML signals such as canonical URL, H1s, meta description, and JSON-LD. Use when diagnosing web-content extraction, preparing RAG inputs, checking dynamic pages, or reviewing a page's basic SEO/GEO…
pydicom
Use pydicom to read, inspect, write, transform, and safely preflight local DICOM datasets and pixel data. Applies to DICOM metadata, transfer syntaxes, compression plugins, frames, private elements, JSON, and bounded de-identification review.
markitdown
Convert heterogeneous documents and selected URIs to Markdown with Microsoft MarkItDown for text analysis, search, and LLM/RAG ingestion. Covers safe local conversion, streams, Office/PDF/data formats, batch workflows, plugins, vision OCR, Azure extraction, and the official MCP server.
open-notebook
Self-hosted, open-source alternative to Google NotebookLM for AI-powered research and document analysis. Use when organizing research materials into notebooks, ingesting diverse content sources (PDFs, videos, audio, web pages, Office documents), generating AI-powered notes and summaries, creating multi-speaker…
pptx-posters
Create and audit editable scientific posters in macro-free PowerPoint (.pptx) from author-approved local content and assets. Use when the requested deliverable is a PowerPoint research/conference poster and exact physical, printer, accessibility, provenance, and package-security checks are required.