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
6894 skills
Install
$ npx -y skills add wdkns/wdkns-skills --skill bilibili-render-pdf --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/bilibili-render-pdf

Context preview

The summary Claude sees to decide when to auto-load this skill.

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,

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
Stats
695
Stars
67
Forks
Active
Maintenance
TeX
Language
GPL-3.0
License
1d ago
Last commit
4mo ago
Created

Repo: wdkns/wdkns-skills