# bilibili-subtitle

Pulls subtitles out of Bilibili videos with BBDown and renders them as Markdown, SRT and VTT. Useful when you want the words, not the video.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1300 installs · ★ 13
- Author: HamsteRider-m
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/HamsteRider-m/bilibili-subtitle/tree/HEAD/SKILL.md
- Updated: 2026-06-09
- HTML: https://affpapa.org/en/nevibecode/skills/bilibili-subtitle

## What it does

The skill takes a Bilibili link, a BV ID or an av ID, runs BBDown in subtitle-only mode and loads the file it downloads. From there it produces three outputs: a Markdown transcript, an SRT file and a VTT file. Pick a language with `--language`, for instance `zh-Hans`.

Everything runs inside a `pixi` environment, so calls look like `pixi run python -m bilibili_subtitle "URL" -o ./output`. A preflight check is available through `--check` and `--check-json`, and `--json-output` returns a payload with `exit_code`, `output.files`, `warnings` and `errors` for parent skills.

BBDown has to be present, otherwise the run stops with fatal error E001 and points you at `./install.sh`. Some videos need a logged-in session, which means running `BBDown login` first. Only subtitles that BBDown exposes can be extracted, Bilibili's automatic ones included; when a video has none, the remaining options are another language or another video.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add HamsteRider-m/bilibili-subtitle --skill bilibili-subtitle -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/bilibili-subtitle/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/bilibili-subtitle/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add HamsteRider-m/bilibili-subtitle --skill bilibili-subtitle -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/bilibili-subtitle/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add HamsteRider-m/bilibili-subtitle --skill bilibili-subtitle -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/bilibili-subtitle/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install HamsteRider-m/bilibili-subtitle bilibili-subtitle
```

2. **Manually: put the files in place**
- File: `.github/skills/bilibili-subtitle/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add HamsteRider-m/bilibili-subtitle --skill bilibili-subtitle -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/HamsteRider-m/bilibili-subtitle
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/bilibili-subtitle/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add HamsteRider-m/bilibili-subtitle --skill bilibili-subtitle -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/HamsteRider-m/bilibili-subtitle/tree/HEAD/SKILL.md

## When to use it
- get the spoken text out of a Bilibili video that ships subtitles
- turn a video into a Markdown transcript for notes or an article
- produce SRT or VTT files with timecodes
- pick a specific subtitle language during extraction
- hand structured JSON results back to a parent skill

## Example prompts
- Grab the subtitles from this Bilibili video and write the files to ./output
- Extract the transcript for this BV ID, language zh-Hans
- Render SRT and VTT from the subtitles of this link

## Similar
- [remotion-render](https://affpapa.org/en/nevibecode/skills/remotion-render.md) — skill · 3 installs
- [recipe-share-event-materials](https://affpapa.org/en/nevibecode/skills/recipe-share-event-materials.md) — skill · 29700 installs
- [blogwatcher](https://affpapa.org/en/nevibecode/skills/blogwatcher.md) — skill · 5400 installs
- [ego-browser](https://affpapa.org/en/nevibecode/skills/ego-browser.md) — skill · 12200 installs
- [composio](https://affpapa.org/en/nevibecode/skills/composio.md) — skill · 8100 installs
- [remote-browser](https://affpapa.org/en/nevibecode/skills/remote-browser.md) — skill · 4700 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
