Communitygithub.com

Peytontalismanic424/paper-share-skills

Convierte un PDF (especialmente artículos académicos) a Markdown limpio usando MinerU — conserva el orden de lectura, ecuaciones LaTeX, tablas y figuras, y se ejecuta en la GPU. Úsalo cuando el usuario pida convertir/extraer un PDF a markdown/texto. Invócalo directamente — no es necesario que el usuario escriba el nombre del skill.

¿Qué es paper-share-skills?

Este skill convierte archivos PDF (y otros formatos como imágenes, DOCX, PPTX, XLSX) a Markdown estructurado utilizando MinerU (`opendatalab/MinerU`), un motor de código abierto de alta fidelidad especializado en documentos académicos. Se ejecuta en el backend de pipeline sobre GPU (CUDA) para un rendimiento óptimo. Es ideal para artículos científicos con diseños multicolumna, ecuaciones LaTeX, tablas y figuras, preservando la jerarquía de encabezados, las expresiones matemáticas en línea ($...$), las imágenes extraídas y las tablas en formato HTML. El skill admite plataformas Windows, macOS y Linux, y ofrece opciones de personalización como el idioma OCR (inglés o chino) y el método de procesamiento (predeterminado pipeline u OCR para documentos escaneados). Incluye instrucciones detalladas de configuración, verificación de CUDA y descarga de modelos, así como una alternativa ligera (MarkItDown) para documentos simples. También cubre la resolución de problemas comunes como errores de CUDA, fallos en la descarga de modelos o texto escaneado distorsionado.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Peytontalismanic424/paper-share-skills/tree/HEAD/pdf-to-markdown

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

PDF → Markdown (MinerU)

Convierte PDFs a Markdown limpio y con estructura preservada usando MinerU (opendatalab/MinerU), el motor de código abierto de mayor fidelidad para artículos académicos. Ejecuta el backend de pipeline en la GPU (CUDA). La salida mantiene la jerarquía de encabezados, ecuaciones LaTeX en línea ($...$), figuras y tablas (como HTML).

Cuándo usarlo

  • El usuario pide "convertir / extraer / transformar este PDF a markdown (o texto)".
  • Mejor ajuste: artículos académicos — diseños multicolumna, ecuaciones LaTeX, tablas, referencias.
  • También maneja imágenes, .docx, .pptx, .xlsx (pasa el archivo directamente).

Cómo ejecutar

MinerU vive en un entorno aislado dedicado y se controla a través del envoltorio convert.py incluido, que llama a la API de Python de MinerU en el mismo proceso.

No uses la CLI de mineru aquí — en la versión 3.4.0 inicia un servidor API local que devuelve 502 Bad Gateway en Windows. El envoltorio lo evita.

"$MINERU_PYTHON" \
  "<SKILLS_DIR>/pdf-to-markdown/convert.py" \
  "<input.pdf>" "<output_dir>" --lang en
  • Arg 1 — archivo de entrada (pdf/imagen/docx/pptx/xlsx).
  • Arg 2 — directorio de salida.
  • --lang — indicación de idioma OCR: en para inglés, ch para chino/mixto (por defecto ch, que también maneja inglés). Solo afecta páginas escaneadas (OCR).
  • El script imprime DONE -> <ruta al .md> en caso de éxito.

Estructura de salida

<output_dir>/<nombre>/auto/<nombre>.md       # el markdown
<output_dir>/<nombre>/auto/images/          # figuras extraídas (referenciadas desde el md)
<output_dir>/<nombre>/auto/<nombre>_*.json  # metadatos de diseño/contenido (se pueden ignorar)

Después de convertir

  1. Lee la ruta impresa DONE -> ...md e infórmala al usuario.
  2. Opcionalmente, muestra una vista previa corta (título + primeros encabezados).
  3. Indica dónde se escribieron las imágenes extraídas.
  4. La calidad suele ser alta: encabezados como #, ecuaciones en línea como $...$, tablas como <table> HTML (con LaTeX dentro de las celdas). Si un PDF escaneado sale distorsionado, vuelve a ejecutarlo con --method ocr.

Verificación previa / configuración (solo si falta algo)

  • Intérprete con MinerU (entorno MINERU_PYTHON, por defecto python).
  • Verifica CUDA: $MINERU_PYTHON -c "import torch; print(torch.cuda.is_available())" → True.
  • Los modelos están pre-descargados en ~/.cache/huggingface/hub/ (una vez).

Si falta el entorno, recréalo (instala uv primero si es necesario):

uv venv --python 3.12 "<tu-entorno>"
uv pip install --python "<tu-entorno>/Scripts/python.exe" torch torchvision --index-url https://download.pytorch.org/whl/cu124
uv pip install --python "<tu-entorno>/Scripts/python.exe" -U "mineru[core]"
"<tu-entorno>/Scripts/mineru-models-download.exe" -s huggingface -m pipeline

Luego establece MINERU_PYTHON a <tu-entorno>/Scripts/python.exe (Windows) o <tu-entorno>/bin/python (macOS/Linux). En macOS/Linux el binario de descarga de modelos es mineru-models-download (sin sufijo .exe).

Solución de problemas

  • cuda.is_available() es False → reinstala torch desde el índice cu124 (ver configuración). El pipeline aún se ejecuta en CPU si es necesario, solo que más lento.
  • La descarga de modelos falla / es lenta → vuelve a ejecutar mineru-models-download con -s modelscope.
  • PDF escaneado distorsionado → añade --method ocr a la llamada de convert.py.
  • Backends vlm-engine / hybrid-engine → necesitan vLLM/SGLang (Linux); dan 502 en Windows. Quédate con el backend pipeline predeterminado usado por el envoltorio.

Alternativa ligera (documentos simples / de Office)

Para archivos que no sean artículos donde la fidelidad del diseño no importe, MarkItDown de Microsoft es más rápido y simple — pero estropea PDFs académicos de dos columnas y tablas, así que prefiere MinerU para artículos:

"$MINERU_PYTHON" -m pip install markitdown
"$MINERU_PYTHON" -m markitdown "<input>" > out.md

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

Peytontalismanic424/paper-share-skills

Validate and upload narrated paper videos to Bilibili with biliup. Handles required landscape-first/portrait-second submissions, series uploads, CST scheduling, diagnostics, dry-run validation, and durable upload receipts. Trigger on: "upload to bilibili", "bilibili upload", "发布到B站", "上传到B站".

Peytontalismanic424/paper-share-skills

Download the TeX source (e-print tar.gz) of an arXiv paper from an arXiv URL or bare ID, and unpack it into paper_src/. Use FIRST whenever a pipeline input is an arXiv link and the TeX source is preferred over the PDF (paper-to-beamer, paper-to-bilibili, paper-venue-discovery). Invoke with an arXiv URL (abs/pdf/e-print, arxiv.org or export.arxiv.org) or a bare ID like 2509.07996v4.

Peytontalismanic424/paper-share-skills

Convert Beamer PDF slides into a fail-closed narrated MP4 with page-aligned narration, TTS audio, cover, and upload metadata. Trigger on narrated slides, slide video, or paper video requests.

Peytontalismanic424/paper-share-skills

Automated pipeline: paper (PDF or TeX source) → SUSTech Beamer slides (11-section 论文分享 structure) → compiled PDF. When TeX source is available, skip MinerU and extract content directly from LaTeX. Use when the user asks to create Beamer slides from an academic paper, or says "论文分享", "paper to slides", "make beamer from paper". Invoke with an absolute or relative path to a PDF, .tar.gz TeX archive, .tex file, or an arXiv URL/ID (source TeX is downloaded first via skill://paper-download-arxiv-paper-source).

Peytontalismanic424/paper-share-skills

Orchestrate a paper PDF through MinerU, SUSTech Beamer slides, complete Chinese narration, landscape and portrait video, metadata gates, and Bilibili upload. Supports single-paper and batch slides, video, or bilibili phases. Trigger on full paper-to-Bilibili requests, PDF-to-video publication, and batch paper publishing.

Peytontalismanic424/paper-share-skills

Generate a deterministic 16:10 video-cover poster from a paper directory. Extracts paper metadata and figures and atomically produces poster.tex, poster.pdf, and poster.png. Use for paper-video covers, not conference posters.

Peytontalismanic424/paper-share-skills

Fix for undefined \setsource/\setdomains/\setpresenter/\setvenue commands when compiling SUSTech Beamer slides from the standard template. Copy the extended beamerthemesustech.sty from the sustech-slides-template repository.

Skills relacionados