Install
$ agentstack add skill-yhbcode000-paper-share-skills-paper-to-bilibili ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Paper to Bilibili
This is the sole full-pipeline orchestration identity. It composes these promoted packages plus the retained managed Rednote workflow:
paper-to-beamer: paper and MinerU content to compiled 16:10 SUSTech Beamer slides.paper-video-cover: optional poster generation for reference; the normal video cover remains the generated cover artifact.paper-slides-to-video: physical-page render, narration extraction, TTS, landscape assembly, cover, and Bilibili metadata.rednote-video-uploader(managed): required portrait video generation.paper-bilibili-uploader: fail-closed validation, dry-run, upload, and durable receipt.
Outputs use $PP_ROOT/论文分享// with md_output/, slides-beamer/, and video/.
Modes and phases
slides: paper to compiled slides
When an entry has a nonempty arxiv_id (or the user provided an arXiv link) and no source exists on disk (no root PDF, no paper_src/ with .tex), download the TeX source first:
python \
"/paper-download-arxiv-paper-source/scripts/download_source.py" \
"" --output ""
The downloader creates /arXiv-.tar.gz + /paper_src/; then follow skill://paper-to-beamer Phase 1 onward (Phase 1's move step is skipped since the paper dir already exists). For PDF_ONLY output, copy the PDF to the paper dir root (the pdf_downloaded gate requires a root PDF).
Follow skill://paper-to-beamer for content authoring. Required gates before continuing:
slides-beamer/main.texcontains the paper-specific narrative from paper information and motivation through methods, experiments, limitations, takeaways, references, Q&A, and 3–8 useful appendix slides.- The document uses the SUSTech 16:10 template (
aspectratio=1610). slides-beamer/main.pdfis nonempty, with no undefined controls or severe overflow.
The batch CLI only scans and persists disk evidence for this agent-authored phase; it does not fabricate slides.
Narration authoring gate
Copy the compiled TeX to video/main_with_narration.tex and add exactly one nonempty % NARRATION: entry per physical PDF page. Narration is polished Simplified Chinese with English technical terms inline. It expands the technical argument rather than reading bullets, avoids visual-only references such as “本页” or “如图所示”, and covers appendix pages too.
The transition from slides_done to narrations_done occurs only when both the compiled slides and nonempty annotated TeX exist.
video: narrated landscape and portrait artifacts
python /paper-to-bilibili/scripts/batch.py video ""
For each narrations_done paper, the orchestrator calls the sibling paper-slides-to-video full command. After child success it rescans and atomically persists video_done. It then calls the managed rednote-video-uploader/scripts/portrait_video.py, rescans, validates cover and Bilibili metadata, and atomically persists upload_ready. Child failures propagate and never advance state.
Quality gates are exact frame/text/MP3 cardinality, nonempty narration and audio for every physical page, a nonempty landscape MP4, a nonempty portrait MP4, a nonempty cover, and schema-valid Bilibili metadata.
bilibili: validate or upload
Always review a dry-run first:
python /paper-to-bilibili/scripts/batch.py bilibili "" --dry-run
Dry-run delegates to the promoted uploader and must leave upload_ready unchanged. Remove --dry-run only after review. There is no default upload timeout; an operator may opt in with --upload-timeout SECONDS.
Normal uploads require P1 landscape then P2 portrait. Metadata uses singular tag, a positive tid, valid copyright/source fields, a structured description, and a nonempty cover. A paper becomes uploaded only when video/upload_result.json is valid and contains a matching BV URL plus ISO-8601 timestamp.
State contract
batch.py rescans the disk with this exact precedence:
- valid
upload_result.json→uploaded - nonempty landscape + nonempty portrait + cover + schema-valid
video_meta.json→upload_ready - nonempty landscape →
video_done - compiled slides + nonempty annotated TeX →
narrations_done - compiled slides →
slides_done - MinerU Markdown →
mineru_done - source PDF or extracted TeX source (paper_src/ containing .tex) →
pdf_downloaded - otherwise →
pending
Every successful child command is followed by a rescan and atomic replacement of the input JSON. State changes are printed as STATE : -> . Dry-run validates and delegates but never invents a new state. A failed child preserves the last grounded state and its exit code is propagated.
Batch input
papers.json is an array of objects with a nonempty absolute dir_path; dir_name, arxiv_id, pdf_path, and descriptive fields may accompany it. The orchestrator records _status in each object.
Prerequisites
- Python 3.10+ (if
pythonis not on PATH, usepy -3). - Dependencies are declared in
pyproject.toml(currently none at runtime); install the project withuv sync --project /paper-to-bilibiliwhen adding any. - `
is the directory containing the installed skill folders (e.g.~/.claude/skills,~/.codex/skills,.omp/skills); sibling skills (paper-slides-to-video,paper-bilibili-uploader,paper-download-arxiv-paper-source`) must be installed next to this one so sibling resolution stays project-local and deterministic. PAPER_PYTHON(optional): interpreter used to launch sibling CLIs; defaults to the interpreter runningbatch.py.
Related 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
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: yhbcode000
- Source: yhbcode000/paper-share-skills
- License: Apache-2.0
- Homepage: https://blog.yhbcode000.tech/paper-share-skills/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.