Communitygithub.com

Peytontalismanic424/paper-share-skills

Automatisierte Pipeline: Paper (PDF oder TeX-Quelle) → SUSTech-Beamer-Folien (11-teilige 论文分享-Struktur) → kompilierte PDF. Überspringt MinerU, wenn TeX-Quellen verfügbar sind.

Was ist paper-share-skills?

Dieses Skill realisiert eine vollautomatische Pipeline zur Erstellung von SUSTech-Theme-Beamer-Präsentationen aus wissenschaftlichen Papern. Es unterstützt sowohl PDF- als auch TeX-Quellen (`.tar.gz`, `.tex`, arXiv-Link/ID) und erzeugt eine standardisierte 11-teilige „论文分享“-Folienstruktur. Ein zentrales Merkmal ist der direkte LaTeX-Parsing-Pfad: Liegt die TeX-Quelle vor (z. B. von arXiv), wird MinerU komplett übersprungen, da die strukturierte LaTeX-Extraktion genauer und tabellentreuer ist. Die Ausgabe ist eine kompilierte PDF im SUSTech-Design mit 16:10-Seitenverhältnis, die automatisch in einem `论文分享/<VENUE> - <SHORT_TITLE>/`-Verzeichnis abgelegt wird. Das Skill ist für KI-Agenten-Workflows wie Claude Code, Cursor oder Codex optimiert und bietet eine klare, zwölfschrittige Anleitung von der Verzeichniseinrichtung über die Inhaltsgewinnung bis zur Befüllung der 11+1-Folienvorlage. Besonders hilfreich ist die integrierte Autorensuche: Vor dem Schreiben der Autorenfolie muss der Agent online recherchieren, um chinesische Namen, aktuelle Positionen und relevante Vorarbeiten zu ermitteln. Das Skill erzwingt zudem eine strikte Prüfung auf Folienüberlauf (Overfull boxes) und gibt klare Regeln zur Vermeidung vor.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Peytontalismanic424/paper-share-skills/tree/HEAD/paper-to-beamer

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Vorschau

Aus dem Skill-README

paper-share-skills preview

Dokumentation

Paper → Beamer-Folien-Pipeline

Aus einem Paper (PDF oder TeX-Quelle) eine kompillierte SUSTech-Theme-Beamer-Präsentation unter 论文分享/<VENUE> - <SHORT_TITLE>/ erstellen.

Theme-Variante: \usetheme{sustech} (Kleinbuchstaben, Variante A), von https://github.com/yhbcode000/sustech-slides-template.git. Verwende NICHT \usetheme{SUSTech} (Variante B, genutzt in MT3) — sie hat andere Makros und keine Seiten für Abschnittstrenner.

Standard-Seitenverhältnis: aspectratio=1610 (16:10). Verwende NICHT 169 (16:9) — 1610 wird wegen Kompatibilität mit Laptop/Projektor bevorzugt und gibt etwas mehr vertikalen Platz für dichte Inhalte.

Bash-Laufzeitumgebung: Alle Shell-Befehle laufen im bash-Tool der Sitzung, das unter Windows Git Bash ist. Unix-Stil rm -rf, cp -r, mkdir -p sind verfügbar. Das Arbeitsverzeichnis wird pro Block via cwd gesetzt.

Anforderungen (VERPFLICHTEND)

Jeder Foliensatz MUSS diese Regeln erfüllen. Keine Ausnahmen, außer wo angegeben.

  1. Kein Folienüberlauf (streng) — alle Folien MÜSSEN ohne Overfull \hbox- oder Overfull \vbox-Warnungen kompilieren. Befolge skill://sustech-beamer-overflow: nur einspaltig, max. 3 Blöcke + 1 Callout, Tabellen ≤5 Spalten mit \footnotesize, kein \resizebox. Die EINZIGE Ausnahme ist die Index-/Inhaltsseite (\twopane-Layout) — ein leichter vertikaler Überlauf (Overfull \vbox) auf der TOC-Folie wird toleriert.

Phase 1 — Verzeichnis einrichten

  1. Akzeptiere $ARGUMENTS — einen PDF-Pfad, ein .tar.gz-TeX-Archiv oder eine .tex-Datei (absolut oder relativ zum aktuellen Arbeitsverzeichnis der Sitzung), oder eine arXiv-URL / nackte arXiv-ID.

  2. Wenn die Eingabe eine arXiv-URL oder nackte ID ist (passt auf ^\d{4}\.\d{4,5}(v\d+)?$ oder enthält arxiv.org/(abs|pdf|e-print)/), lade zuerst die TeX-Quelle herunter:

    uv run --no-project python \
      "<SKILLS_DIR>/paper-download-arxiv-paper-source/scripts/download_source.py" \
      "<arxiv-ref>"        # Standard-Ausgabe = aktuelles Arbeitsverzeichnis der Sitzung
    
    • Wenn die Standardausgabe mit TEX_SOURCES: endet: leite DIR_NAME ab — Konferenz von \setsource{Venue}{Year} im extrahierten paper_src/-TeX (Fallback \markboth, dann arXiv <year>); Kurztitel = die ersten 1–3 signifikanten Wörter von \title{...} (Fallback: Benutzer fragen, bestehende Regel). Dann mkdir -p "论文分享/<DIR_NAME>" und mv arXiv-<id>.tar.gz paper_src "论文分享/<DIR_NAME>/".
    • Wenn die Standardausgabe mit PDF_ONLY: <path> endet: das Paper hat keine TeX-Quelle auf arXiv — kopiere diese PDF nach 论文分享/<DIR_NAME>/ gemäß dem .pdf-Zweig unten (MinerU-Pfad gilt, Phase 2-ENTSCHEIDUNGSTOR ungeändert).
    • Wenn der Befehl mit einem Exit-Code ungleich 0 endet: stoppe und melde die stderr-Nachricht an den Benutzer.
  3. Leite einen kurzen Verzeichnisnamen <VENUE> - <SHORT_TITLE> ab (arXiv-Eingaben haben ihn bereits in Schritt 2 abgeleitet):

    • Entferne .pdf / .tar.gz / .tgz / .tex, ersetze Leerzeichen/Bindestriche/Sonderzeichen.
    • Frage den Benutzer nach dem Namen, wenn Konferenz/Titel nicht aus dem Dateinamen ableitbar sind.
    • Konvention: bestehende Beispiele sind SCIENCE ROBOTICS - HIL SERL, SCIENCE ROBOTICS - MT3.
  4. Erstelle 论文分享/<DIR_NAME>/ und extrahiere/kopiere die Quelle dorthin (arXiv-Eingaben haben das Archiv + paper_src/ bereits in Schritt 2 verschoben):

    • .tar.gz / .tgz: extrahiere mit tar -xzf nach paper_src/.
    • .pdf: kopiere direkt in das Paper-Verzeichnis.
    • .tex: kopiere Quelldateien nach paper_src/.

Phase 2 — Inhaltsextraktion

ENTSCHEIDUNGSTOR: Wenn TeX-Quellen verfügbar sind (.tar.gz-Archiv mit .tex oder direkte .tex-Datei), überspringe MinerU vollständig. Lies alle Inhalte (Titel, Autoren, Zusammenfassung, Abschnitte, Tabellen, Referenzen) direkt aus der TeX-Quelle mit read — es ist genauer als MinerU-Ausgabe und bewahrt Tabellenstrukturen exakt.

Führe MinerU nur aus, wenn die Eingabe eine PDF ohne TeX-Quelle ist:

"$MINERU_PYTHON" \
  "<SKILLS_DIR>/pdf-to-markdown/convert.py" \
  "论文分享/<DIR_NAME>/<pdf_filename>.pdf" \
  "论文分享/<DIR_NAME>/md_output" \
  --lang en
  • Englische Paper: --lang en. Chinesisch/gemischt: --lang ch.
  • Der Wrapper gibt bei Erfolg DONE -> ...md aus.
  • Die Ausgabe landet in md_output/<name>/auto/<name>.md.

Wenn die MinerU-Umgebung fehlt, stoppe und sage dem Benutzer, er solle sie gemäß dem pdf-to-markdown-Skill-Preflight installieren.



Phase 3 — Installiere die gepackte Vorlage

Das hochgestufte paper-to-beamer-Paket ist die primäre, offline Vorlagenquelle:

uv run --project "<SKILLS_DIR>/paper-to-beamer" python \
  "<SKILLS_DIR>/paper-to-beamer/scripts/copy_template.py" \
  --output "论文分享/<DIR_NAME>/slides-template"

Dies kopiert das verifizierte main_template.tex, latexmkrc und sustech-theme/-Bundle. Ein Netzwerk-Klon ist niemals ein Fallback. Nur wenn der Benutzer explizit eine Vorlagenaktualisierung anfordert, darf das Upstream-Repository in ein separates temporäres Verzeichnis zur Überprüfung vor der Paketveröffentlichung geklont werden.


Phase 4 — Erstelle Arbeitsverzeichnis und kopiere Wesentliches

# cwd: $PP_ROOT
mkdir -p "论文分享/<DIR_NAME>/slides-beamer"
cp -r "论文分享/<DIR_NAME>/slides-template/sustech-theme" \
  "论文分享/<DIR_NAME>/slides-beamer/"
cp "论文分享/<DIR_NAME>/slides-template/latexmkrc" \
  "论文分享/<DIR_NAME>/slides-beamer/"
cp "论文分享/<DIR_NAME>/slides-template/main_template.tex" \
  "论文分享/<DIR_NAME>/slides-beamer/main.tex"
mkdir -p "论文分享/<DIR_NAME>/slides-beamer/figures"

Alle nachfolgenden Änderungen betreffen nur slides-beamer/. slides-template/ bleibt als Referenz unberührt.


Phase 5 — Lesen und Inhalt extrahieren

Wenn TeX-Quelle verfügbar (bevorzugt — .tar.gz-Archiv oder .tex-Datei): lies die Haupt-.tex aus paper_src/ direkt mit read. Alle Inhalte (Titel, Autoren, Zusammenfassung, Abschnitte, Tabellen, Referenzen) werden aus der strukturierten LaTeX-Quelle extrahiert. Tabellen können direkt aus tabular-Umgebungen nachgebaut werden — kein MinerU nötig.

Wenn nur Markdown verfügbar (PDF-only-Eingabe): lies md_output/<name>/auto/<name>.md. Extrahiere diese Datenpunkte:

Phase 6 — Fülle slides-beamer/main.tex

Dies ist die kreative Kernphase. Lese main.tex (kopiert von der Vorlage), dann bearbeite es Abschnitt für Abschnitt, um jeden \ph{…}-Platzhalter und \phfig mit echten Inhalten aus dem Markdown zu ersetzen.

Verwende das HIL SERL-Beispiel als ausgefüllten Stil-Referenz: 论文分享/SCIENCE ROBOTICS - HIL SERL/slides-beamer/main.tex.

6.0 Präambel-Metadaten

  • \title[ACRONYM 论文分享]{Chinese descriptive title} — Chinesischer Titel als Haupttitel; Kurztitel MUSS das Suffix "论文分享" enthalten. Folge HIL SERL: \title[HIL-SERL 论文分享]{...}.
  • \subtitle{English original paper title} — Englischer Originaltitel als Untertitel.
  • \author[short]{…} — vollständige Autorenliste aus dem Paper.
  • \institute[short]{…} — primäre Institutionen.
  • \setsource{Venue}{Year} — Paper-Konferenz.
  • \setdomains{\domaintag{...}\domaintag{...}\domaintag{...}} — 3–4 Forschungsdomänen-Tags, die auf der Titelseite als farbige Pillen angezeigt werden. Tags MÜSSEN auf Chinesisch sein (z. B. 多智能体RL, LLM Agent, RL后训练). Englische Begriffe wie Multi-Agent RL, RL Post-Training sind NIEMALS erlaubt — sie wirken inkonsistent neben chinesischem Text und brechen den zweisprachigen Präsentationsstil des SUSTech-Themes.
  • \setpresenter{$PRESENTER} (Standard) oder frage den Benutzer.
  • \setvenue{<venue location>} (Standard: frage den Benutzer).
  • 标题页出处脚注 \creditline(默认显示:哔哩哔哩 · 白拾的物理AI组会 · github.com/yhbcode000/sustech-slides-template)。公开分享/发布视频建议保留;汇报/答辩需要干净版式时在导言区加 \hidecredits 关闭,或 \setcreditline{} 置空、\setcreditline{...} 自定义文案。

Lösche die Platzhalter-Hilfsmakros \ph und \phfig — sie werden nicht mehr benötigt.

6.1 首页 (Titelseite)

Der \titlepage-Frame bleibt unverändert. Die Präambel-Metadaten steuern ihn.

6.2 📑 目录页(增强版 TOC)

Die Vorlage verwendet jetzt ein zweispaltiges \twopane-Layout (aus dem Theme). Die linke Spalte enthält ein kompaktes TOC via {\tocdense\small\tableofcontents[hideallsubsections]}. Die rechte Spalte enthält drei Blöcke:

  1. \block{核心观察} — 3–5 Schlüsselmetriken/Erkenntnisse aus dem Paper
  2. \block{附录讨论} — 3–5 Anhangs-Highlights (Oral-Signal, Vergleiche, Methodenerklärungen)
  3. \callout[一句话概括] — Ein-Satz-Zusammenfassung des Papers

Der separate 论文信息-Frame wird GELÖSCHT. Titel/Konferenz/Autoren sind bereits in der Präambel. Die Ein-Satz-Zusammenfassung lebt im TOC-Callout. Kein separater Informationsframe nötig.

TOC-Abstand: Verwende {\tocdense\small\tableofcontents[hideallsubsections]} — \tocdense (aus dem Theme) verdichtet den beamer-TOC-Abstand. Füge \vspace{-0.6em} voran, um den Inhalt näher an den Titel zu ziehen.

Linker Rand: Das \tocdense des Themes fügt einen linken Rand von \hskip2em für ein ausgewogenes TOC-Layout hinzu.

6.3 👤 作者介绍 — VOR DEM SCHREIBEN ONLINE VALIDIEREN

KRITISCH: Du MUSST vor dem Schreiben dieses Frames online nach Autorenbiografien suchen. Paper-PDFs liefern nur Namen und Zugehörigkeiten — sie enthalten oft keine chinesischen Namen, aktuellen Positionen, früheren bemerkenswerten Arbeiten, Labornamen und aktuellen Auszeichnungen. Generische Einträge wie "Tsinghua University, Erstautor" sind INAKZEPTABEL.

Suchprozedur (AUSFÜHREN VOR dem Schreiben des Frames):

  1. Schreibe an xd://web_search mit {"query": "<first author> <institution> <paper domain>", "limit": 5} — erhalte chinesischen Namen, aktuelle Rolle, frühere Arbeit, Labor.
  2. Schreibe an xd://web_search mit {"query": "<corr author 1> <institution>", "limit": 5} — gleiches für jeden korrespondierenden Autor.
  3. Kreuze mindestens 2 Quellen pro Autor an. Bevorzuge persönliche Homepages oder Google Scholar.
  4. Suche auch via xd://web_search mit {"query": "<institution> <lab/prof> <domain>", "limit": 5} für Labor-Kontext.

Was aus den Suchergebnissen zu extrahieren ist:

  • Chinesischer Name (Paper-PDFs fehlen oft chinesische Schriftzeichen)
  • Aktuelle Position (Assistant Professor? PhD-Student? Industrie? Paper-Zugehörigkeit kann veraltet sein)
  • Bemerkenswerte frühere Arbeit (wofür ist diese Person bekannt? z. B. MAPPO, RLinf, GRPO)
  • Labor-/Gruppenname (z. B. EDI Lab, NICS-EFC, RAIL)
  • Aktuelle Auszeichnungen (Paper auf Top-Konferenzen, Preise, Führungsrollen)

Fülle den Frame mit telegrammstilartigen, belegten Biografien:

\begin{frame}{作者介绍}
  \begin{block}{核心作者}
    \begin{itemize}
      \item \shl{<first author>}(<Chinese>):<dept>, <role>。以 \keyword{<prior work>} 著称。在本文中<role>。
      \item 合作者来自 <institutions>,构成<description>团队。
    \end{itemize}
  \end{block}
  \tightgap
  \begin{block}{通讯作者}
    \begin{itemize}
      \item \shl{<corr 1>}(<Chinese>):<position> @ <inst>,<lab> PI。研究方向为 \keyword{<f1>}、\keyword{<f2>}。<notable work>。本文<role>。
      \item \shl{<corr 2>}(<Chinese>):<position> @ <inst>,<lab>。<notable>。本文<role>。
    \end{itemize}
  \end{block}
  \tightgap
  \begin{callout}[研究脉络]
    <team trajectory leading to this paper>。
  \end{callout}
\end{frame}

6.4 📋 背景与动机

Abbildung auf den Abschnitt 研究背景与动机 in der Vorlage:

  • Setze \renewcommand{\secblurb}{…} (Ein-Satz-Zusammenfassung) vor \section.
  • Fülle die Aufzählungsplatzhalter mit telegrammstilartiger Motivation aus Zusammenfassung/Einleitung.
  • Verschiebe die Abbildung auf eine dedizierte [plain,c]-Folie nach dieser Inhaltsfolie: \fitfigure{fig1_overview.jpg} + \figcap{1}{caption}. Entferne den \begin{columns}-Wrapper — diese Folie bleibt text-only.
  • Fülle \metric{…}{…} mit bis zu 3 Schlüsselzahlen aus dem Paper.

6.5 相关工作

Abbildung auf den Abschnitt 相关工作:

  • Fülle die Forschungsbereiche aus dem Related-Work-Abschnitt des Papers.
  • Liste tatsächliche Basislinien-Methoden und ihre Beziehungen auf.
  • Nenne den entscheidenden Unterschied im Callout.

Wenn das Paper einen klaren "Related Work"-Abschnitt hat, verwende ihn. Ansonsten kondensiere aus verstreuten Referenzen in der Einleitung.

6.6 🔧 方法

Abbildung auf den Abschnitt 方法 (2 Frames: Überblick + Kerndesign).

Frame 1 (Überblick):

  • Liste die Systemkomponenten aus dem Methodenteil des Papers auf.
  • Verschiebe die Abbildung auf eine dedizierte [plain,c]-Folie nach dieser Inhaltsfolie: \fitfigure{fig2_system.jpg} + \figcap{2}{caption}. Entferne den \begin{columns}-Wrapper.

Frame 2 (Kerndesign):

  • Liste bis zu 4 Schlüsselelemente des Designs auf.
  • Füge eine einzeilige Zusammenfassung in den Callout ein.

6.7 🧪 实验设计

Abbildung auf den Abschnitt 实验设计:

  • Liste Aufgabenkategorien/Datensätze auf.
  • Nenne das Evaluierungsprotokoll und die Basislinien.
  • Verschiebe die Abbildung auf eine dedizierte [plain,c]-Folie nach dieser Inhaltsfolie: \fitfigure{fig3_tasks.jpg} + \figcap{3}{caption}. Entferne den \begin{columns}-Wrapper.

6.8 📈 结果与分析

Abbildung auf den Abschnitt 实验结果 (2 Frames: Haupttabelle + Analyse).

Frame 1 (Haupttabelle):

  • Erstelle die Tabelle mit echten Daten aus dem Paper neu.
  • Halte ≤5 Spalten, ≤6 Zeilen.
  • Hebe beste Ergebnisse mit \shl{…} hervor.
  • Verwende \theadrow, \altrow, \thc{…} mit booktabs.
  • Einzeilige Schlussfolgerung im Callout.

Frame 2 (Analyse):

  • Analysieren in Stichpunkten (3–4 Beobachtungen).
  • Analyse-Abbildung auf einer dedizierten [plain,c]-Folie nach den Analyse-Stichpunkten.

6.9 💡 要点总结

Abbildung auf den Abschnitt 要点总结 (entspricht "核心贡献"):

  • 3 nummerierte Schlüsselerkenntnisse.
  • Ein-Satz-Zusammenfassung im Callout.

6.10 ⚠️ 局限与讨论

Abbildung auf den Abschnitt 局限性:

  • 3–4 Einschränkungen.
  • Vom Autor identifizierte zukünftige Richtungen im Callout.

6.11 📚 参考文献

Abbildung auf den 参考文献-Frame:

  • Fülle bibitem-Einträge mit tatsächlichen Referenzen aus dem Paper.
  • Erster bibitem sollte das Paper selbst sein (markiert mit (本文)).
  • Füge 3–5 Schlüsselbasislinien ein.

6.12 💬 Q&A

Ersetze den Platzhaltertext im Q&A-Frame durch:

  • Name des Vortragenden, Institution, Kontaktinformationen.
  • Behalte das Q&A-Styling bei (\fontsize{40}{44} usw.).

6.13 Figurenbehandlung

Für jeden Platzhalter, der eine Abbildung benötigt:

  1. TeX-Quelle verfügbar (bevorzugt): kopiere Abbildungen aus paper_src/figures/ nach slides-beamer/figures/ mit semantischen Namen: fig1_overview.pdf, fig2_system.pdf usw. TeX-Quellen verwenden Vektor-.pdf-Abbildungen — überlegene Qualität.
  2. Markdown verfügbar: liste Bilder aus md_output/<name>/auto/images/. Jedes ist ein hash-benoanntes .jpg. Wähle die relevante Abbildung durch Inspektion mit inspect_image oder aus den ![](images/...)-Referenzen im Markdown. ist NUR für Inhaltsframes, in denen die Abbildung Platz mit Text teilt.
  3. Platziere die Abbildung auf einer eigenen dedizierten Folie — NIEMALS innerhalb eines \begin{columns}-Blocks:
    \begin{frame}[plain,c]
      \centering
      \includegraphics[height=0.92\textheight,width=\textwidth,keepaspectratio]{filename}
      \figcap{N}{caption text}
    \end{frame}
    

Wenn eine Abbildung fehlt oder nicht erfasst werden kann, füge stattdessen einen Platzhalter-Callout ein (der \phfig-Helfer wurde in 6.0 gelöscht, also referenziere ihn NICHT

…

[gekürzt für die Übersetzung]

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

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

Convert a PDF (especially academic papers) to clean Markdown using MinerU — preserves reading order, LaTeX equations, tables, and figures, and runs on the GPU. Use when the user asks to convert/extract a PDF to markdown/text. Invoke directly — no need for the user to type the skill name.

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.

Verwandte Skills