Skip to content
Content
Skill

/bilibili-render-pdf

Generate a professional, detailed, figure-rich LaTeX course note and final PDF from a Bilibili lecture, tutorial, or technical talk. Use when the user provides a Bilibili URL (BV number) and wants structured Chinese teaching notes that combine the video's title, chapters,

From plugin
wdkns-skills
8224 skills

Claude Code

$ npx -y skills add wdkns/wdkns-skills --skill bilibili-render-pdf --agent claude-code

SKILL.md

bilibili-render-pdf.SKILL.md
name: bilibili-render-pdf
description: Generate a professional, detailed, figure-rich LaTeX course note and final PDF from a Bilibili lecture, tutorial, or technical talk. Use when the user provides a Bilibili URL (BV number) and wants structured Chinese teaching notes that combine the video's title, chapters, diagrams, formulas, code, subtitle explanations, the original video cover on the front page, and a final synthesis chapter, with key frames extracted from the highest usable video resolution and inserted as figures, and where the final deliverable must include a rendered PDF. Falls back to Whisper speech-to-text when no CC subtitles are available.

Bilibili Render PDF

Use this skill to turn a Bilibili video into a complete, compileable `.tex` note and a rendered PDF.

This skill extends the `youtube-render-pdf` workflow with Bilibili-specific adaptations for subtitle scarcity, login-gated high resolution, multi-part (分P) videos, and platform-specific non-teaching content.

Bilibili vs YouTube: Key Differences

| Aspect | Handling | |--------|----------| | **Subtitle scarcity** | Try CC subtitles first → fall back to Whisper speech-to-text → visual-only mode | | **Login-gated HD** | 1080P+ requires cookies; prompt the user to use `yt-dlp --cookies-from-browser chrome` | | **Multi-part videos** | Detect 分P videos and ask the user which parts to process | | **URL formats** | Support `bilibili.com/video/BVxxxxxxx` and `b23.tv` short links | | **Danmaku** | Do not use danmaku as a teaching content source (too noisy); use only CC subtitles or Whisper output |

Goal

Produce a professional Chinese lecture note from a Bilibili URL.

The output must:

  • use the video's actual teaching content rather than subtitle transcription alone
  • place the video's original cover image on the front page of the `.tex` and rendered PDF whenever available
  • include all necessary high-value key frames as figures, without adding redundant screenshots
  • end with a final synthesis section that includes the speaker's substantive closing discussion and your own distilled takeaways
  • be structurally organized with `\section{...}` and `\subsection{...}`
  • be a complete `.tex` document from `\documentclass` to `\end{document}`
  • be compiled successfully to PDF as part of the final delivery

Pedagogical Standard

The notes must read like a strong human teacher is guiding the reader through the material.

  • organize each major section so the reader first understands the motivation, then the main idea, then the mechanism, then the example or evidence, and finally the takeaway
  • be patient and explicit about logical transitions; make it clear why the speaker introduces a concept, what problem it solves, and how the next idea follows
  • aim for deep-but-accessible explanations: keep the technical depth, but introduce formalism only after giving intuition in plain language
  • when a section is dense, break it into smaller subsections that progressively build understanding rather than compressing everything into one long derivation
  • do not dump subtitle content in chronological order; rewrite it into a teaching sequence with clear intent, contrast, and buildup

Source Acquisition

Metadata Inspection

1. Inspect the video metadata first. Prefer title, chapters, duration, thumbnail availability, and subtitle availability before writing.

2. Detect multi-part (分P) videos. List all parts and ask the user which parts to process before downloading.

Subtitle Acquisition (Three-Level Fallback)

**Priority 1: CC subtitles (platform-embedded)**

Use manual subtitles over auto-generated subtitles when both are available. Prefer `zh-Hans`, `zh-CN`, `zh`, or `ai-zh` subtitle tracks. Preserve the subtitle timestamps; do not flatten subtitles into plain text too early if figures still need to be located.

yt-dlp --write-subs --sub-langs "zh-Hans,zh-CN,zh,ai-zh" --convert-subs srt \
  --skip-download -o "%(title)s.%(ext)s" "<URL>"

**Priority 2: Whisper speech-to-text (when no CC subtitles are available)**

Extract audio first, then transcribe with Whisper to produce a timestamped SRT file.

yt-dlp -x --audio-format wav -o "audio.%(ext)s" "<URL>"
whisper audio.wav --model medium --language zh --output_format srt --output_dir .

**Priority 3: Visual-only mode (when audio quality is too poor)**

Skip subtitles entirely and rely on dense frame sampling to extract teaching content from the video frames alone.

Video and Cover Download

1. Acquire the video's original cover image before writing the `.tex`. Prefer the highest-resolution thumbnail exposed by the platform metadata. Save the selected cover locally and reference that local asset from the front page.

2. Prefer the best usable video source for figure extraction. Probe formats and choose the highest resolution that is actually downloadable in the current environment. Note that 1080P+ on Bilibili typically requires login cookies.

3. Keep all source artifacts local when practical. Typical working artifacts are metadata, the downloaded cover image, a timestamped subtitle file (CC or Whisper-generated), optional cleaned transcript text, a local video file, and extracted frames.

Long Video Strategy

For longer videos, do not rely on a single monolithic pass.

  • If the video is longer than 20 minutes, or the subtitle file contains more than 300 subtitle entries, split the work into smaller segments.
  • Prefer chapter boundaries or 分P boundaries for splitting. If those are unavailable or too uneven, split by coherent time windows or subtitle ranges.
  • When subagents are available, spawn multiple subagents in parallel for different segments so coverage stays high and detail is not lost.
  • Give each subagent a concrete segment boundary and require it to return: the segment's teaching goal, the core claims, important formulas or code, required figures with time provenance, and any ambiguities that need integration-ti
Read more
@wdkns
Ships withwdkns-skills

Stars on GitHub

Momentum

stars in total
822
Star history of wdkns/wdkns-skills on GitHub, a chart by star-history.com

Other skills on wdkns-skills.

subtitle-refine

subtitle-refine

中文 SRT 字幕上线发布专业级精修与校验。用于把基于 ASR 的原始字幕清洗为可上线版本,只做字幕级清洗和纠错,不做书面化改写、总结或扩写;同时保持与原音频严格同步,必要时仅在原字幕时间范围内拆分条目,并输出一份完整的 clean…

@wdkns@wdknsInstall Skill
tensor-formula-viz

tensor-formula-viz

Create or refine clean, shape-aware visualizations for tensor, matrix, and vector formulas or tensor code. Use for matrix-block…

@wdkns@wdknsInstall Skill
youtube-render-pdf

youtube-render-pdf

Generate a professional, detailed, figure-rich LaTeX course note and final PDF from a YouTube lecture, tutorial, or technical…

@wdkns@wdknsInstall Skill

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli12d33k
@iofficeai@iofficeaiInstall Skill

Questions about bilibili-render-pdf.

Which coding agents can use bilibili-render-pdf?
bilibili-render-pdf installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.