Communitygithub.com

Peytontalismanic424/paper-share-skills

Orchestriert eine Paper-PDF durch MinerU, SUSTech Beamer-Folien, vollständige chinesische Erzählung, Quer- und Hochformat-Videos, Metadaten-Gates und Bilibili-Upload. Unterstützt Einzel-Paper- und Batch-Folien-, Video- oder Bilibili-Phasen.

Was ist paper-share-skills?

Dieser Skill orchestriert den gesamten Workflow von einem wissenschaftlichen Paper bis zum Upload auf Bilibili. Er kombiniert mehrere spezialisierte Pakete: MinerU zur Extraktion, SUSTech Beamer zur Folien-Erstellung, TTS-basierte chinesische Erzählung, Quer- und Hochformat-Videoproduktion sowie einen validierenden Bilibili-Uploader mit Trockenlauf-Unterstützung. Der Skill eignet sich für Einzel-Paper- und Batch-Verarbeitung, wobei jede Phase (Folien, Erzählung, Video, Upload) über Zustandsprüfungen auf Basis von Dateiexistenz und -validität gesteuert wird. Er ist für Claude Code, Cursor, Codex und ähnliche KI-Agenten-Plattformen konzipiert und erfordert Python 3.10+, installierte Geschwister-Skills sowie eine definierte Projektstruktur unter `$PP_ROOT/论文分享/`.

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

In Ihrer bevorzugten KI fragen

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

Dokumentation

Paper to Bilibili

Dies ist die einzige Identität für die vollständige Pipeline-Orchestrierung. Sie kombiniert die folgenden beworbenen Pakete sowie den verwalteten Rednote-Workflow:

  • paper-to-beamer: Paper- und MinerU-Inhalt zu kompilierten 16:10 SUSTech Beamer-Folien.
  • paper-video-cover: Optionale Poster-Generierung als Referenz; das normale Video-Cover bleibt das generierte Cover-Artefakt.
  • paper-slides-to-video: Physischer Seiten-Render, Erzählungsextraktion, TTS, Querformat-Montage, Cover und Bilibili-Metadaten.
  • rednote-video-uploader (verwaltet): Erforderliche Hochformat-Videogenerierung.
  • paper-bilibili-uploader: Fail-Closed-Validierung, Trockenlauf, Upload und dauerhafter Beleg.

Ausgaben verwenden $PP_ROOT/论文分享/<VENUE YEAR - SHORT>/ mit md_output/, slides-beamer/ und video/.

Modi und Phasen

slides: Paper zu kompilierten Folien

Wenn ein Eintrag eine nichtleere arxiv_id hat (oder der Benutzer einen arXiv-Link bereitgestellt hat) und keine Quelle auf der Festplatte existiert (kein Root-PDF, kein paper_src/ mit .tex), lade zuerst die TeX-Quelle herunter:

python \
  "<SKILLS_DIR>/paper-download-arxiv-paper-source/scripts/download_source.py" \
  "<arxiv_id>" --output "<paper_dir>"

Der Downloader erstellt <paper_dir>/arXiv-<id>.tar.gz + <paper_dir>/paper_src/; dann folge skill://paper-to-beamer Phase 1 ff. (Der Move-Schritt von Phase 1 wird übersprungen, da das Paper-Verzeichnis bereits existiert). Für PDF_ONLY-Ausgabe kopiere das PDF in das Root-Verzeichnis des Papers (das pdf_downloaded-Gate erfordert ein Root-PDF).

Folge skill://paper-to-beamer für die Inhaltserstellung. Erforderliche Gates vor dem Fortfahren:

  1. slides-beamer/main.tex enthält die paperspezifische Erzählung von Paper-Informationen und Motivation über Methoden, Experimente, Einschränkungen, Erkenntnisse, Referenzen, Q&A und 3–8 nützliche Anhangsfolien.
  2. Das Dokument verwendet die SUSTech 16:10-Vorlage (aspectratio=1610).
  3. slides-beamer/main.pdf ist nicht leer, ohne undefinierte Steuerungen oder schwere Überläufe.

Die Batch-CLI scannt und persistiert nur Festplattennachweise für diese vom Agenten erstellte Phase; sie erfindet keine Folien.

Gate zur Erstellung der Erzählung

Kopiere das kompilierte TeX nach video/main_with_narration.tex und füge pro physischer PDF-Seite genau einen nichtleeren % NARRATION:-Eintrag hinzu. Die Erzählung ist gepflegtes vereinfachtes Chinesisch mit englischen Fachbegriffen im Fließtext. Sie erweitert das technische Argument, anstatt Aufzählungspunkte vorzulesen, vermeidet visuelle Referenzen wie „本页“ oder „如图所示“ und deckt auch Anhangsseiten ab.

Der Übergang von slides_done zu narrations_done erfolgt nur, wenn sowohl die kompilierten Folien als auch die nichtleere annotierte TeX-Datei existieren.

video: Erzählte Quer- und Hochformat-Artefakte

python <SKILLS_DIR>/paper-to-bilibili/scripts/batch.py video "<PAPERS_JSON>"

Für jedes narrations_done-Paper ruft der Orchestrator den full-Befehl des Geschwister-Skills paper-slides-to-video auf. Nach erfolgreichem Kind-Scan wird erneut gescannt und atomar video_done persistiert. Dann wird das verwaltete rednote-video-uploader/scripts/portrait_video.py aufgerufen, erneut gescannt, Cover und Bilibili-Metadaten validiert und atomar upload_ready persistiert. Fehler bei Kindern werden weitergegeben und der Zustand nie vorgerückt.

Qualitätsgates sind exakte Frame-/Text-/MP3-Kardinalität, nichtleere Erzählung und Audio für jede physische Seite, ein nichtleeres Querformat-MP4, ein nichtleeres Hochformat-MP4, ein nichtleeres Cover und schema-konforme Bilibili-Metadaten.

bilibili: Validieren oder Hochladen

Führe immer zuerst einen Trockenlauf durch:

python <SKILLS_DIR>/paper-to-bilibili/scripts/batch.py bilibili "<PAPERS_JSON>" --dry-run

Der Trockenlauf delegiert an den beworbenen Uploader und muss upload_ready unverändert lassen. Entferne --dry-run erst nach Überprüfung. Es gibt kein Standard-Upload-Timeout; ein Bediener kann mit --upload-timeout SEKUNDEN optieren.

Normale Uploads erfordern zuerst P1 Querformat, dann P2 Hochformat. Metadaten verwenden einzigartiges tag, eine positive tid, gültige Copyright/Quellfelder, eine strukturierte Beschreibung und ein nichtleeres Cover. Ein Paper wird nur dann als uploaded markiert, wenn video/upload_result.json gültig ist und eine passende BV-URL sowie einen ISO-8601-Zeitstempel enthält.

Zustandsvertrag

batch.py scannt die Festplatte mit dieser exakten Rangfolge:

  1. gültiges upload_result.json → uploaded
  2. nichtleeres Querformat + nichtleeres Hochformat + Cover + schema-konformes video_meta.json → upload_ready
  3. nichtleeres Querformat → video_done
  4. kompilierte Folien + nichtleere annotierte TeX → narrations_done
  5. kompilierte Folien → slides_done
  6. MinerU Markdown → mineru_done
  7. Quell-PDF oder extrahierte TeX-Quelle (paper_src/ mit .tex) → pdf_downloaded
  8. sonst → pending

Jeder erfolgreiche Kind-Befehl wird von einem erneuten Scan und atomaren Ersetzen des Eingabe-JSON gefolgt. Zustandsänderungen werden als STATE <paper>: <alt> -> <neu> ausgegeben. Trockenlauf validiert und delegiert, erfindet aber nie einen neuen Zustand. Ein fehlgeschlagenes Kind behält den letzten bestätigten Zustand bei und sein Exit-Code wird weitergegeben.

Batch-Eingabe

papers.json ist ein Array von Objekten mit einem nichtleeren absoluten dir_path; dir_name, arxiv_id, pdf_path und beschreibende Felder können beigefügt sein. Der Orchestrator zeichnet _status in jedem Objekt auf.

Voraussetzungen

  • Python 3.10+ (falls python nicht im PATH ist, verwende py -3).
  • Abhängigkeiten werden in pyproject.toml deklariert (derzeit keine zur Laufzeit); installiere das Projekt mit uv sync --project <SKILLS_DIR>/paper-to-bilibili, wenn welche hinzugefügt werden.
  • <SKILLS_DIR> ist das Verzeichnis, das die installierten Skill-Ordner enthält (z. B. ~/.claude/skills, ~/.codex/skills, .omp/skills); Geschwister-Skills (paper-slides-to-video, paper-bilibili-uploader, paper-download-arxiv-paper-source) müssen neben diesem installiert sein, damit die Geschwister-Auflösung projektlokal und deterministisch bleibt.
  • PAPER_PYTHON (optional): Interpreter zum Starten von Geschwister-CLIs; standardmäßig der Interpreter, der batch.py ausführt.

Verwandte Skills

  • skill://paper-bilibili-uploader
  • skill://paper-download-arxiv-paper-source
  • skill://paper-slides-to-video
  • skill://paper-to-beamer
  • skill://paper-video-cover
  • skill://rednote-video-uploader

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

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