Agent skill

Bilibili Source

by daymade in daymade/claude-code-skills

Fetches real, citable Bilibili (B站) video data — stats, metadata, tags, and full danmaku text — via login-free API calls, never hand-typed or estimated.

MITAuto-check passedMedia & Creative

Install Bilibili Source

skills CLI
$ npx skills add daymade/claude-code-skills --skill bilibili-source -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install daymade/claude-code-skills bilibili-source --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/daymade/claude-code-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/bilibili-source .claude/skills/bilibili-source && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
bilibili-source
GitHub stars
1.4k
Token cost
~2.2k tokens
SKILL.md length
1,000 words
Files
9 (incl. scripts, references)
Skills in repo
103
Repo updated
First seen
Licence
MIT

At a glance

Fetches real, citable Bilibili (B站) video data — stats, metadata, tags, and full danmaku text — via login-free API calls, never hand-typed or estimated.

  • Citing view/like/favorite counts
  • SKILL.md covers Quick start, Scripts, Rules that keep the data honest and Subtitles require login (no…, plus 4 more sections
  • Runs Shell and Python scripts from its folder; calls uv; reaches bilibili.com
  • Analyzing why a video performed

What it does

Bilibili Source is an agent skill from daymade/claude-code-skills. Fetches real, citable Bilibili (B站) video data — stats, metadata, tags, and full danmaku text — via login-free API calls, never hand-typed or estimated. Use when citing view/like/favorite counts, analyzing why a video performed, or archiving a Bilibili source into a knowledge base. Accepts BVID, av numbers, b23.tv links, or full URLs; subtitles and 收藏夹 (favorites) enumeration need the user's Bilibili login.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts and reference files (for example `evals/evals.json`, `references/bilibili_api.md` and `scripts/bili-access.py`).

It sits in Media & Creative, covering Transcription and Knowledge bases. It works with Bilibili. The repository describes itself as: Professional Claude Code skills marketplace featuring production-ready skills for enhanced development workflows. The licence is MIT.

When your agent uses it

  • Citing view/like/favorite counts
  • Analyzing why a video performed
  • Archiving a Bilibili source into a knowledge base

Example prompts

  • “Use the bilibili-source skill to fetch real, citable Bilibili (B站) video data — stats, metadata, tags, and full danmaku text — via login-free API…”
  • “/bilibili-source”

Requirements

  • Python 3
  • A Bash shell

What it can do on your machine

Read from SKILL.md and the folder at commit 91bed2b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 5 files in scripts/ (Shell and Python), which the agent can run.

    Shell commands in SKILL.md call:

    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • bilibili.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bilibili Source loads about 2.2k tokens when it runs, and up to ~6.6k if it reads all its reference files. Until then it costs about 107 tokens; SKILL.md has 1,000 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~107
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from daymade/claude-code-skills at commit 91bed2b, republished under its MIT licence (© daymade). 1,000 words, ~2,183 tokens.

Download SKILL.mdSave it as .claude/skills/bilibili-source/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
bilibili-source
description
Fetches real, citable Bilibili (B站) video data — stats, metadata, tags, and full danmaku text — via login-free API calls, never hand-typed or estimated. Use when citing view/like/favorite counts, analyzing why a video performed, or archiving a Bilibili source into a knowledge base. Accepts BVID, av numbers, b23.tv links, or full URLs; subtitles and 收藏夹 (favorites) enumeration need the user's Bilibili login.

bilibili-source

Fetch real, verifiable data for a Bilibili video so you can cite it instead of guessing. Engagement numbers are the backbone of any honest "why did this do well" analysis, and hand-typed or estimated numbers are the fastest way a knowledge base rots. This skill makes the numbers cheap to fetch — so there is no excuse to invent them.

Quick start

bash
scripts/bili-fetch.sh BV1xxxxxxxxx

Returns one JSON object with everything from a single view/detail API call:

json
{
  "bvid": "BV1xxxxxxxxx",
  "aid": 1234567890,
  "fetched_at": "2026-06-07T13:54:17Z",
  "url": "https://www.bilibili.com/video/BV1xxxxxxxxx",
  "title": "<video title>",
  "up": { "name": "<UP name>", "mid": 12345678, "fans": 45600 },
  "pubdate": "2026-01-10T00:50:47Z",
  "tname": "<partition, may be empty>",
  "tags": ["<tag>", "<tag>"],
  "videos": 1,
  "duration_s": 372,
  "stat": { "view": 48000, "like": 1200, "coin": 180, "favorite": 950,
            "share": 64, "reply": 210, "danmaku": 130 },
  "pages": [ { "cid": 12345678, "page": 1, "part": "<part title>", "duration": 372 } ]
}

bili-fetch.sh accepts any form a user might paste — BVID, av number, b23.tv short link, or full URL — and normalizes it. For multi-part videos it returns every part's cid in pages[] (you need the per-part cid to fetch that part's danmaku or subtitles).

Scripts

ScriptWhat it doesLogin
scripts/bili-fetch.sh <ref>Core: full metadata + live stats (run this first)No
scripts/bili-danmaku.sh <ref> [P]Danmaku (bullet-comment) full text for a partNo
scripts/bili-subs.sh <ref> [browser]Subtitle/transcript trackYes
scripts/bili-selftest.shTest anonymous metadata, danmaku and selected API shapesNo
scripts/bili-access.pyDiagnose identity, entitlement, subtitle shape and per-part media; replay/probe/verify-reportExplicit cookie file only

The shell fetch scripts execute (don't read them as reference). bili-danmaku.sh reuses bili-fetch.sh to resolve the part's cid, so they must stay siblings in scripts/.

Danmaku are time-synced comments overlaid on the video — a Bilibili-specific signal of where and how viewers reacted, qualitatively richer than a flat reply count:

bash
scripts/bili-danmaku.sh BV1xxxxxxxxx     # P1; add a part number for multi-part videos

Rules that keep the data honest

  • Live metrics → always cite fetched_at. The same video re-fetched minutes later drifts (a view count can tick up by a few within a single session). That is not an error — it is proof the data is live. A bare "12,000 views" with no timestamp is meaningless and silently goes stale.
  • NO FABRICATION. If a number can't be fetched, write "未获取/未核实" — never estimate. The whole point of the skill is that the number is cheap to fetch.
  • The scripts already handle the network quirks so you don't reinvent them: they strip the local proxy (Bilibili is a domestic CN service that a 127.0.0.1 proxy breaks), send a browser User-Agent + Referer (avoids the occasional HTTP 412), and retry with backoff. If you call the API by hand, do the same — see references/bilibili_api.md. One trap the env-strip does NOT cover: Python urllib falls back to the macOS system proxy when proxy env vars are absent, causing intermittent 503s in batches — build the opener with an explicit ProxyHandler({}) (details in the reference's Request basics).
  • CJK post-processing trap. When you later grep/sort the fetched Chinese text or filenames, sort/comm mishandle CJK collation and report false "missing"/"broken" results. Verify with find -name or grep -F, not comm.

Subtitles require login (no bypass)

Stats and danmaku are login-free. Subtitles are not. Verified across many videos (new and old) plus anonymous cookies: the public player API returns an empty subtitle list for anonymous requests, and yt-dlp reports "Subtitles are only available when logged in." There is no login-free path — do not try to bypass it.

bili-subs.sh therefore needs the user's Bilibili session via browser cookies. Because it reads their logged-in session, ask the user before running it:

bash
scripts/bili-subs.sh BV1xxxxxxxxx chrome   # or firefox / safari / edge

The ai-zh track is Bilibili's AI-generated subtitle — treat it as a draft transcript (same-sound/segmentation errors), mark it as AI-ASR in whatever you produce, and don't claim it is a human-checked verbatim. If a video has no subtitle track, there is nothing to fetch — don't invent one. A SESSDATA-env API alternative is documented in the reference.

Show full SKILL.md (437 more words)Show less

Diagnose access before downloading or ASR

Run scripts/bili-access.py probe --bvid BV0000000000 --page 1 for an authorized source; add --cookie-file <authorized-netscape-jar> only when that account access is authorized. Never read arbitrary browser cookies through this diagnostic. Omit --cid to resolve the selected P from view metadata. Replay captured nav/view/player/playurl/ffprobe JSON offline when diagnosing existing evidence.

Consume download_allowed before downloading; consume asr_allowed only after verify-report reads a fresh ffprobe of the actual ASR input. Keep authenticated identity separate from target payment entitlement: logged-in membership alone does not grant every creator's paid video. Stop on paid preview, denied or unknown entitlement; do not send a preview to full-content ASR. Compare duration with the selected CID/P, never the total multi-part duration. Read the access diagnostic contract for JSON states, commands and exits; run uv run python -m unittest discover -s bilibili-source/tests -v from the repository root for deterministic synthetic coverage.

Inspect each interfaces entry's http and optional error before attributing a failure: HTTP 403/412 responses retain their status and do not imply a network failure or cookie expiry. Network errors, timeouts and invalid JSON have separate categories; these diagnostics do not establish payment rights.

Going deeper

For the full endpoint catalog (UP fan history, video tags, real-time viewer count, danmaku archive, the SESSDATA subtitle path, favorites-folder enumeration — x/v3/fav/*, login-gated, no WBI needed), the WBI request-signing algorithm needed for space/wbi/* endpoints, and every gotcha with a tested command, see references/bilibili_api.md.

Verified status

  • Stats / metadata / danmaku (view/detail, relation/stat, dm/list.so, online/total): verified login-free, 2026-06-07. Metrics re-fetched repeatedly and matched independently; danmaku count matched stat.danmaku.
  • Subtitles: confirmed login-gated, 2026-06-07 (empty for anonymous across all videos tested). Needs yt-dlp for the cookie path. The SESSDATA/cookie-jar API path verified logged-in 2026-08-29 across a ~400-video batch (multi-part included).
  • Favorites (x/v3/fav/folder/created/list-all, x/v3/fav/resource/list): verified logged-in 2026-08-29, plain params without WBI; 26 consecutive pages fetched without rate-limiting. Enumeration is login-gated (anonymous list-all answers code 0 with an empty list even for accounts with publicly-readable folders); a public folder's contents are anonymously readable only if you already know its media_id.

Maintenance

This skill wraps a third-party API that drifts over time — fields get renamed, endpoints add WBI signing, anti-bot tightens. Before trusting it after a gap, or whenever output looks wrong, run the health-check:

bash
scripts/bili-selftest.sh

It tests anonymous metadata, danmaku and selected endpoint shapes against a public fixture and prints PASS/FAIL rows. It does not test authenticated retrieval, target payment rights or media completeness; a pass only covers the printed checks — not a silent wrong answer. When a row fails, the endpoint paths, field names, and WBI signing needed to fix it are in references/bilibili_api.md; update the "Verified" dates above once you re-confirm.

© daymade, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (scripts, references) in bilibili-source of daymade/claude-code-skills.

  • SKILL.md
  • evals/evals.json
  • references/bilibili_api.md
  • scripts/bili-access.py
  • scripts/bili-danmaku.sh
  • scripts/bili-fetch.sh
  • scripts/bili-selftest.sh
  • scripts/bili-subs.sh
  • tests/test_access.py

Open the folder on GitHubat commit 91bed2b

Compare with similar skills

Bilibili Source next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Bilibili Source compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bilibili Source this skilldaymade/claude-code-skills1.4k—~2.2kAutomated safety check: PassMIT
Bilibili Transcribechubbyguan/chubbyskills1.2k1 repos~578Automated safety check: NotesMIT
VideoiBigQiang/feedgrab614—~1.6kAutomated safety check: PassMIT
Video Transcribewendy7756/AI-Video-Transcriber3.3k—~937Automated safety check: NotesApache-2.0
Bili NoteRimagination/bili-note320—~3.6kAutomated safety check: PassMIT
Video To Subtitle Summaryimlewc/video-to-subtitle-summary-skill212—~4.6kAutomated safety check: NotesMIT

Similar skills

  • Bilibili Transcribe

    chubbyguan/chubbyskills

    哔哩哔哩视频 → 下载 → 转录 → 存为 Markdown 的完整工作流. An agent skill from chubbyguan/chubbyskills.

    1.2k GitHub starsUsed in 1 repo~578 tokens
    Media & CreativeAuto-check: notes
  • Video

    iBigQiang/feedgrab

    Video & Podcast Digest — send a video/podcast link, get full transcript + structured summary.

    614 GitHub stars~1.6k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Video Transcribe

    wendy7756/AI-Video-Transcriber

    Transcribe and summarize a video or podcast from a URL (YouTube, TikTok, Bilibili, Apple Podcasts, SoundCloud, 30+ platforms) or from a local media/.txt file.

    3.3k GitHub stars~937 tokensUpdated 23 days ago
    Media & CreativeAuto-check: notes
  • Bili Note

    Rimagination/bili-note

    Extract Bilibili videos and opus/article posts into readable Markdown knowledge notes.

    320 GitHub stars~3.6k tokensUpdated 16 days ago
    Media & CreativeAuto-check passed
  • Video To Subtitle Summary

    imlewc/video-to-subtitle-summary-skill

    A skill your agent uses when user provides a short video platform URL or local video/audio file and wants subtitles/AI summary, or when user asks to list their own AI Douyin historical tasks.

    212 GitHub stars~4.6k tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Video To Notes

    KIRVO-REPORTING/video-to-notes

    Use immediately for any bare YouTube or YouTube Shorts URL, youtu.be link, Bilibili or b23.tv link, or other video URL; do not ask what the user wants.

    105 GitHub stars~1.5k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed

More from daymade/claude-code-skills

All 103 skills in this repo
  • Video Comparer

    daymade/claude-code-skills

    This skill should be used when comparing two videos to analyze compression results or quality differences.

    1.4k GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check: notes
  • CLI Demo Generator

    daymade/claude-code-skills

    Generates professional animated CLI demos as GIFs using VHS terminal recordings.

    1.4k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Doc To Markdown

    daymade/claude-code-skills

    Converts DOCX/PDF/PPTX and saved HTML/HTM to high-quality Markdown with automatic post-processing.

    1.4k GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Interaction Design Board

    daymade/claude-code-skills

    Generates several distinct, clickable HTML interaction prototypes for one product surface into a Design Board and collects selection/remix feedback before implementation.

    1.4k GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Auto Repo Setup

    daymade/claude-code-skills

    Diagnoses and repairs repository setup and guarded Git workflows for Claude Code or Codex — environment repair, startup sync, hook auditing, collaborator handoff.

    1.4k GitHub stars~2.6k tokensUpdated today
    Auto-check: notes
  • Bigdata Skill

    daymade/claude-code-skills

    Pulls Bigdata.com (RavenPack) financial and news data via the official bigdata-client SDK and /v1/ REST endpoints — structured financials, prices, analyst estimates, entity-sentiment series…

    1.4k GitHub stars~3.7k tokensUpdated today
    Auto-check passed

Works with

Questions about Bilibili Source

What does Bilibili Source do?

Fetches real, citable Bilibili (B站) video data — stats, metadata, tags, and full danmaku text — via login-free API calls, never hand-typed or estimated. Bilibili Source is an agent skill from daymade/claude-code-skills. Fetches real, citable Bilibili (B站) video data — stats, metadata, tags, and full danmaku text — via login-free API calls, never hand-typed or estimated.

When should I use Bilibili Source?

Bilibili Source fits situations like: citing view/like/favorite counts; analyzing why a video performed; archiving a Bilibili source into a knowledge base.

How do I install Bilibili Source in Claude Code?

Run `npx skills add daymade/claude-code-skills --skill bilibili-source -a claude-code`. Or copy the skill folder (bilibili-source in daymade/claude-code-skills) into .claude/skills/bilibili-source in your project. Claude Code loads it when a task matches its description.

How do I install Bilibili Source in Codex?

Run `npx skills add daymade/claude-code-skills --skill bilibili-source -a codex`. Or copy the skill folder (bilibili-source in daymade/claude-code-skills) into .agents/skills/bilibili-source in your project. Codex loads it when a task matches its description.

Can I use Bilibili Source in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add daymade/claude-code-skills --skill bilibili-source -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bilibili-source, .gemini/skills/bilibili-source, .github/skills/bilibili-source and .opencode/skills/bilibili-source in your project.

What does Bilibili Source need to run?

Going by SKILL.md and its folder, Bilibili Source needs a shell and Python for the scripts in its folder and the command-line tools its instructions call (uv). Our summary lists: Python 3; A Bash shell.

Does Bilibili Source access the network?

SKILL.md names 1 domain. In commands or code: bilibili.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Bilibili Source safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Bilibili Source use?

Bilibili Source is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bilibili Source use?

About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.4k tokens, read only when the agent opens those files.

What are the alternatives to Bilibili Source?

Skills that share tags, products or a category with Bilibili Source: Bilibili Transcribe (chubbyguan/chubbyskills, 1.2k stars), Video (iBigQiang/feedgrab, 614 stars), Video Transcribe (wendy7756/AI-Video-Transcriber, 3.3k stars) and Bili Note (Rimagination/bili-note, 320 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bilibili Source?

daymade (a GitHub user) maintains it in daymade/claude-code-skills, which has 1,444 GitHub stars. The repository holds 103 skills in this directory. The repository was last updated on October 8, 2026.

Source: daymade/claude-code-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.