Agent skill

Bili Note

by Rimagination in Rimagination/bili-note

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

MITAuto-check passedMedia & Creative

Install Bili Note

skills CLI
$ npx skills add Rimagination/bili-note --skill bili-note -a claude-code

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

GitHub CLI
$ gh skill install Rimagination/bili-note bili-note --agent claude-code

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

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

Facts

Skill name
bili-note
GitHub stars
320
Token cost
~3.6k tokens
SKILL.md length
630 words
Files
29 (incl. scripts, references, assets)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 9 steps: 检查依赖和可用路线 → 一键提取和归档 → 抓元数据和分P目录 → …
  • The user asks to 提取/提炼/总结/整理 B站
  • SKILL.md covers 字幕密度与视觉理解, 依赖与环境检查, 默认流程 and 常用命令, plus 4 more sections
  • Runs Python scripts from its folder; calls curl and python; reaches bilibili.com

What it does

Bili Note is an agent skill from Rimagination/bili-note. Extract Bilibili videos and opus/article posts into readable Markdown knowledge notes. Use when the user asks to 提取/提炼/总结/整理 B站 or bilibili video/图文/动态/opus content, save a B站 note to a local knowledge base, include useful comments, handle multi-part videos, fetch B站 AI subtitles, download opus images, or fall back to audio transcription.

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 32 other files, including scripts, reference files and assets (for example `README.md`, `agents/openai.yaml` and `references/bilibili-api-notes.md`).

It sits in Media & Creative, covering Transcription. It works with Bilibili and Qwen. The repository describes itself as: Extract Bilibili videos into learning-oriented Markdown notes with full subtitle and comment archives. The licence is MIT.

When your agent uses it

  • The user asks to 提取/提炼/总结/整理 B站
  • Bilibili video/图文/动态/opus content
  • Save a B站 note to a local knowledge base
  • Include useful comments

Example prompts

  • “/bili-note”

Requirements

  • Python 3

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. 检查依赖和可用路线
  2. 一键提取和归档
  3. 抓元数据和分P目录
  4. 下载普通公开字幕
  5. 下载网页 AI 字幕
  6. 抓评论区
  7. 音频转写兜底
  8. 归档完整材料
  9. 写前读取预算,写后验收信噪比

What it can do on your machine

Read from SKILL.md and the folder at commit 08fe812. 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 10 files in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • curl
    • python

    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

Bili Note loads about 3.6k tokens when it runs, and up to ~4.6k if it reads all its reference files. Until then it costs about 88 tokens; SKILL.md has 630 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.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 Rimagination/bili-note at commit 08fe812, republished under its MIT licence (© Rimagination). 630 words, ~3,646 tokens.

Download SKILL.mdSave it as .claude/skills/bili-note/SKILL.md (or your agent's skills folder). This skill also uses 28 other files; get the full folder from GitHub.
name
bili-note
description
Extract Bilibili videos and opus/article posts into readable Markdown knowledge notes. Use when the user asks to 提取/提炼/总结/整理 B站 or bilibili video/图文/动态/opus content, save a B站 note to a local knowledge base, include useful comments, handle multi-part videos, fetch B站 AI subtitles, download opus images, or fall back to audio transcription.

Bili Note

把 B站视频和图文动态变成可检索、可复用的 Markdown 知识笔记。视频优先拿字幕;字幕拿不到时再转写音频;图文优先抓正文、图片和代码块;用户要评论区时抓取评论并过滤无关讨论。

联网或登录态操作必须先使用 web-access。

网页 AI 字幕支持两条路线:Chrome 使用 web-access,Edge 使用开启远程调试的 Chromium DevTools Protocol 直连。两条路线都让已登录的 B站页面自己请求字幕接口,不读取或复制 Cookie/profile。Playwright 临时浏览器不属于受支持路线。

Bili Note 与 DyNote 共享可复用本地资源。默认共享目录是 %USERPROFILE%\.cache\rimagination-notes,Qwen3-ASR 环境默认是 %USERPROFILE%\.cache\rimagination-notes\qwen3-asr-venv。如果任一 skill 已经安装过 Qwen3-ASR,另一个 skill 必须优先复用,不要重复安装。Hugging Face、Whisper 和 faster-whisper 缓存按本机通用缓存复用。

字幕密度与视觉理解

B 站视频优先拿字幕,但字幕/转写不等于完整理解。长视频如果字幕字数明显偏少,可能说明核心信息在画面、PPT、板书、代码演示、屏幕操作或无解说片段中。

  • 每次视频运行都必须先做轻量预检,再询问用户是否开启“关键帧视觉理解”。预检只读取元数据、分P信息和已有字幕文件,不下载视频;它会显示时长、字幕字数、字幕密度和画面依赖建议。收到明确的 on 或 off 后才能进入后续流程。询问时说明:on 会抽取最多 12 帧,先合成为一张 4×3 联系图,再按需要打开单帧,视觉输入会增加 tokens;off 只走字幕、转写、评论和元数据路线,节省视觉输入 tokens。
  • 用户选择 on 时,给 run_bili_note.py 传 --visual-review on;选择 off 时传 --visual-review off。脚本默认 --visual-review ask,直接在终端运行也会在轻量预检后停下来等待选择。
  • 关键帧理解选择只对视频运行生效。图文/动态已有图片材料,按图文视觉理解流程处理。
  • 归档后必须读取 metadata/note_budget.json。如果 visual_dependency.needs_visual_review=true,不要把稀疏字幕写成完整学习笔记。
  • 这种情况下,先采用更合适的技术:抽取代表性关键帧或截图,再做 OCR 或多模态视觉理解;必要时重新抓网页 AI 字幕或补本地自动语音识别。
  • 如果当前接入的模型或工具不能看图,必须告诉用户:关键帧理解属于高级视觉能力,需要多模态模型、OCR 工具或人工查看;当前只能基于字幕/元数据生成有限笔记并标注覆盖范围。
  • 最终笔记和用户回复要转述 visual_dependency.warnings,并说明是否已经补了视觉证据。

关键帧视觉理解采用低成本的两阶段读取:先看一张 4×3 联系图建立全片画面地图;联系图中出现文字、代码、图表或界面细节时,再依据工作目录的 keyframes_manifest.json 打开对应单帧。归档后对应路径是 archive_dir/metadata/keyframes_manifest.json。不要默认把 12 张完整图片全部送入模型。

选择 on 后,先查看 keyframes/contact_sheet.png,再结合 keyframes/README.md 和工作目录的 keyframes_manifest.json 定位时间点。把视觉观察写入材料包的 metadata/visual_review.md,每条关联 KF-Pxx-xx、分P、时间和观察结论;不确定的画面标记为待核实。关键帧证据可通过 indexes/关键帧索引.jsonl 和总证据索引回查。

依赖与环境检查

默认路线尽量零第三方 Python 依赖:视频元数据、公开字幕、图文正文、图片清单、评论、归档、证据索引和笔记预算都用标准库完成。网页 AI 字幕和音频转写是增强路线,不是启动门槛。

第一次使用、换机器、用户怀疑依赖不全,或准备使用网页 AI 字幕 / 音频转写兜底时,先运行:

powershell
$skill = "$env:USERPROFILE\.codex\skills\bili-note"
$py = "python"
& $py "$skill\scripts\check_environment.py"

根据检查结果选择路线:

  • public_subtitles_comments_archive=OK:优先走默认字幕/图文、评论和归档流程。
  • browser_ai_subtitles=OK:当公开接口只有 ai-zh 且 subtitle_url 为空时,走 Chrome + web-access 网页 AI 字幕。
  • edge_browser_ai_subtitles=OK:需要 Edge 远程调试端口和 websocket-client,总入口加 --browser edge。
  • audio_asr_fallback=OK:只有字幕和网页 AI 字幕都不可得、且用户确实需要完整转写时,才走音频转写。中文或未指定语言优先共享 Qwen3-ASR;明确外语视频优先 Whisper 系后端。
  • 某个增强能力缺失时,只说明该路线暂不可用;不要把它说成整个 skill 不可用。
  • 网页登录态只通过已授权的 Chrome web-access 页面或 Edge 远程调试页面使用;不要读取或复制 Cookie/profile,不要强制结束用户浏览器进程。两种浏览器路线都不可用时就跳过网页 AI 字幕并说明覆盖范围。

默认流程

  1. 读清用户要什么:视频或图文链接、是否要评论区、保存路径、是否需要全文材料或只要提炼。
  2. 如果是首次使用、依赖状态不明、字幕抓取失败或用户要求音频转写,先用 check_environment.py 判断当前可走路线。
  3. 如果是视频,先让总入口完成轻量预检;它只抓元数据和字幕,不下载视频。根据预检结果向用户说明建议,并完成关键帧视觉理解询问;用户选择后把 --visual-review on 或 --visual-review off 传给总入口。
  4. 优先用 run_bili_note.py 一键完成可自动化部分。它会自动识别 /video/BV...、/opus/...、/dynamic/... 或纯 opus id。
  5. 如果是图文/动态,走 extract_bilibili_opus.py 路线:抓正文、标题、作者、发布时间、图片、代码块、图文证据索引;用户加 --comments 时抓图文评论。
  6. 如果是视频,优先下载字幕:
    • 普通字幕 URL 可用时,直接用 --download-subtitles。
    • 如果普通接口显示 ai-zh 但 subtitle_url 为空,不要说“没有字幕”;改走“网页 AI 字幕”流程。
    • 如果字幕仍不可得,再按需要下载音频并用本地自动语音识别转写。中文优先 Qwen3-ASR,明确外语优先 Whisper 系后端。
  7. 用户要求评论区时,用 --comments 抓取主评论和子评论;写入笔记时过滤打卡、求资料、广告、闲聊等技术无关内容。
  8. 归档原始材料:把完整字幕或图文正文、图片、完整评论、元数据和 JSONL 索引存到知识库旁边的长期目录。
  9. 用户选择 on 时,在写前定标前查看 keyframes/contact_sheet.png,必要时查看对应单帧,并保存 metadata/visual_review.md。
  10. 写前定标:必须先读取 metadata/note_budget.json,把推荐字数区间、压缩比目标、写作粒度、互动质量倍率、证据块数量和 visual_dependency 作为本次笔记的写作目标。视频按时长、字幕字数、证据块、评论量和互动质量定标;图文按正文长度、图片/代码/证据块、评论量和互动质量定标。
  • 如果 visual_dependency.risk 是 medium 或 high,先补关键帧/OCR/多模态视觉理解,或明确告诉用户当前缺少视觉理解能力,不能写成完整解析。
  1. 按预算写 Markdown:默认写成“学习型笔记”,目标是让人或 Agent 像学完一节课或读完一篇教程一样获得概念、方法、判断标准、实践步骤和自测题;根据预算决定详略,不要把长课和短视频写成差不多字数。来源、覆盖范围和归档路径放到后半部分。正文证据默认用论文式编号 [1][2],不直接堆长证据 ID。
  2. 写后验收:用 score_bili_note.py 校验笔记字数、压缩比、每分钟/每篇笔记密度和证据引用比例。评分只做 QA 和微调,不代替写前定标;太短时优先补“学习收获、知识地图、概念卡、实战流程、坑点、自测题”,不要只堆分P摘要或段落摘要。

常用命令

在 PowerShell 中先设定 skill 路径:

powershell
$skill = "$env:USERPROFILE\.codex\skills\bili-note"
$py = "python"
0. 检查依赖和可用路线
powershell
& $py "$skill\scripts\check_environment.py"

需要给其他脚本读取时输出 JSON:

powershell
& $py "$skill\scripts\check_environment.py" --json
1. 一键提取和归档

默认先用总入口。它会自动跳过已有输出,适合断点续跑。

powershell
& $py "$skill\scripts\run_bili_note.py" "https://www.bilibili.com/video/BVxxxx/" `
  --work-dir ".\tmp_bili_extract" `
  --archive-dir "D:\knowledge\知识库\Rag技术\原始材料\BVxxxx_视频短标题" `
  --visual-review on `
  --comments

如果用户选择关闭,把上面的 --visual-review on 改为 --visual-review off。每次视频运行都重新询问,不能沿用上一次选择。

图文/动态也用同一个入口:

powershell
& $py "$skill\scripts\run_bili_note.py" "https://www.bilibili.com/opus/1194341967364882439" `
  --work-dir ".\tmp_bili_opus" `
  --archive-dir "D:\knowledge\知识库\Rag技术\原始材料\O1194341967364882439_图文短标题" `
  --comments

如果只想保存图文正文和图片 URL,不下载图片文件,加:

powershell
--no-download-images

如果普通接口没有字幕,但网页播放器能拿到 AI 字幕,Chrome 先用 web-access 打开已登录页面并取得 target id,然后加:

powershell
--browser-target "CDP_TARGET_ID"

运行后先看:

  • bili_note_run_report.md:本次跑了什么、跳过了什么、下一步读哪里。
  • visual_preflight.json:询问前的时长、字幕密度、风险和建议,方便复核本次选择依据。
  • keyframes/contact_sheet.png:开启关键帧视觉理解时生成的 4×3 联系图。
  • keyframes_manifest.json:工作目录中的关键帧编号、分P、时间和单帧路径。
  • archive_dir/metadata/keyframes_manifest.json:归档后的关键帧清单。
  • archive_dir/metadata/visual_review.md:视觉模型对关键帧的观察结果,由 Agent 在理解后写入。
  • archive_dir/indexes/证据索引.jsonl:写总结时可引用的图文/字幕/评论证据块。
  • archive_dir/indexes/图文全集.md:完整图文正文合集。
  • archive_dir/indexes/字幕全集.md:完整字幕合集。
  • archive_dir/metadata/note_budget.json:推荐笔记字数、压缩比、写作粒度和字幕稀疏时的画面依赖提示。
  • archive_dir/metadata/visual_preflight.json:归档后的关键帧选择预检记录。
2. 抓元数据和分P目录
powershell
& $py "$skill\scripts\extract_bilibili.py" "BVxxxx" --out ".\tmp_bili_extract"
3. 下载普通公开字幕
powershell
& $py "$skill\scripts\extract_bilibili.py" "BVxxxx" --out ".\tmp_bili_extract" --parts all --download-subtitles
4. 下载网页 AI 字幕

当 subtitle_probe.json 里有 ai-zh,但 subtitle_url 为空时,使用这条路线。Chrome 需要 web-access 的 /targets 和 /eval 代理接口;Edge 使用直接 CDP 路线。

Chrome 路线:

  1. 用 web-access 打开已登录 Chrome 中的 B站视频页,确认页面已加载。
  2. 查看浏览器 target id:
powershell
curl.exe -s http://localhost:3456/targets
  1. 下载 AI 字幕:
powershell
& $py "$skill\scripts\fetch_browser_ai_subtitles.py" --target "CDP_TARGET_ID" --out ".\tmp_bili_extract"

Edge 路线:

  1. 用 --remote-debugging-port=9222 启动 Edge 独立实例,在其中登录 B 站并打开视频页。
  2. 安装可选依赖:python -m pip install websocket-client。
  3. 运行总入口:
powershell
& $py "$skill\scripts\run_bili_note.py" "BVxxxx" `
  --work-dir ".\tmp_bili_extract" `
  --browser edge `
  --subtitle-mode browser

也可以直接运行字幕脚本;它会优先选择 Edge 中 URL 包含 bilibili.com 的页面:

powershell
& $py "$skill\scripts\fetch_browser_ai_subtitles.py" `
  --browser edge `
  --edge-cdp-url "http://127.0.0.1:9222" `
  --out ".\tmp_bili_extract"

输出包括:

  • browser_ai_subtitle_urls.json:每个分P的 AI 字幕 URL。
  • browser_ai_subtitle_manifest.json:下载清单。
  • browser_ai_subtitles\*.txt:纯文本字幕。
  • browser_ai_subtitles\*.srt:SRT 字幕。
  • browser_ai_subtitles\*.subtitle.json:B站原始字幕 JSON。

这条路线让 B站页面自己用登录态请求 /x/player/wbi/v2,不读取、不打印浏览器 cookie。

如果下载到的 AI 字幕明显乱码、内容与标题或课程主题不相干,不要把它当作可靠全文。优先标注“AI 字幕质量不可用”,再考虑 ASR 兜底;若 ASR 也不可用,只能基于分P标题、简介、评论和元数据生成有限学习指南,并明确局限。

5. 抓评论区
powershell
& $py "$skill\scripts\extract_bilibili.py" "BVxxxx" --out ".\tmp_bili_extract" --comments

图文评论用总入口或图文脚本:

powershell
& $py "$skill\scripts\extract_bilibili_opus.py" "https://www.bilibili.com/opus/1194341967364882439" --out ".\tmp_bili_opus" --comments

抓取后检查 comments.md 和 comments_raw.json。写入最终笔记时,只保留与内容主题相关的评论、纠错、技术补充、实践经验和有价值问题。

Show full SKILL.md (258 more words)Show less
6. 音频转写兜底

只有在字幕和网页 AI 字幕都不可用时才用本地自动语音识别。长视频不要默认全量转写,除非用户明确要求。中文或未指定语言默认 --asr-backend auto 会优先共享 Qwen3-ASR;明确外语视频时用 Whisper 系后端。

powershell
& $py "$skill\scripts\extract_bilibili.py" "BVxxxx" --out ".\tmp_bili_extract" --parts "1,10,38" --download-audio --transcribe --asr-backend auto --asr-model base

首次使用 Qwen3-ASR 前先安装共享环境:

powershell
& $py "$skill\scripts\setup_qwen_asr_env.py"
& $py "$skill\scripts\check_environment.py"

中文视频可显式指定 Qwen3-ASR:

powershell
& $py "$skill\scripts\extract_bilibili.py" "BVxxxx" --out ".\tmp_bili_extract" --parts "1,10,38" --download-audio --transcribe --asr-backend qwen3-asr
7. 归档完整材料

把临时提取目录整理成长期材料包。这个步骤默认要做,方便后续根据总结继续提问和回查证据。

powershell
& $py "$skill\scripts\archive_bili_materials.py" --extract-dir ".\tmp_bili_extract" --archive-dir "D:\knowledge\知识库\Rag技术\原始材料\BVxxxx_视频短标题"

长期材料包包含:

  • articles/图文全文.md:完整图文 Markdown。
  • articles/图文全文.txt:完整图文纯文本。
  • images/:图文图片和图片清单。
  • indexes/图文全集.md:合并后的完整图文正文。
  • indexes/图文全集.jsonl:按图文内容块切分,适合检索和问答。
  • indexes/图文证据索引.md:图文证据块,适合给总结加引用。
  • indexes/图文证据索引.jsonl:图文证据块,适合程序检索。
  • subtitles/txt/:每个分P的完整纯文本字幕。
  • subtitles/srt/:每个分P的完整 SRT 字幕和时间轴。
  • subtitles/json/:B站原始字幕 JSON。
  • comments/comments_raw.json:完整评论原始结构。
  • comments/评论全集.md:完整评论 Markdown。
  • indexes/字幕全集.md:合并后的完整字幕,适合人工阅读。
  • indexes/字幕全集.jsonl:按字幕片段切分,适合检索和问答。
  • indexes/字幕证据索引.md:按时间段合并的字幕证据块,适合给总结加引用。
  • indexes/字幕证据索引.jsonl:按时间段合并的字幕证据块,适合程序检索。
  • indexes/评论全集.jsonl:按评论/回复切分,适合检索和问答。
  • indexes/评论证据索引.jsonl:按评论/回复生成的证据块。
  • indexes/证据索引.jsonl:图文/字幕证据和评论证据的合并索引。
  • metadata/:内容元数据、字幕清单、图文清单、评论清单。
  • metadata/note_budget.json:按内容信息量和互动质量生成的笔记预算,用于控制长短视频、长短图文的提炼粒度,并提示字幕稀疏时的视觉补证需求。
8. 写前读取预算,写后验收信噪比

写笔记前先看预算。预算是本次笔记的目标,不是写完后才补救的报告:

powershell
Get-Content -Encoding UTF8 "D:\knowledge\知识库\Rag技术\原始材料\BVxxxx_视频短标题\metadata\note_budget.json"

重点先确定:

  • 推荐字数区间:recommended_note_chars_min 到 recommended_note_chars_max。
  • 写作粒度:granularity 和 writing_guidance。
  • 信息量基准:视频看 duration_minutes、subtitle_chars,图文看 content_chars、reading_minutes_estimate。
  • 字幕密度:视频看 subtitle_chars_per_minute 和 visual_dependency;长视频字幕过少时先补关键帧/OCR/多模态视觉理解。
  • 质量倍率:quality_multiplier 和 quality_metrics,用于判断是否值得保留更多细节。
  • 证据规模:all_evidence_blocks,用于决定关键判断需要覆盖多少证据。

写完最终 Markdown 后,用归档目录里的预算给笔记打分:

powershell
& $py "$skill\scripts\score_bili_note.py" `
  --archive-dir "D:\knowledge\知识库\Rag技术\原始材料\BVxxxx_视频短标题" `
  --note-path "D:\knowledge\知识库\Rag技术\观点X:视频短标题.md" `
  --out "D:\knowledge\知识库\Rag技术\原始材料\BVxxxx_视频短标题\metadata\note_score.json"

也可以直接把评分结果写入笔记正文:

powershell
& $py "$skill\scripts\update_note_budget_section.py" `
  --archive-dir "D:\knowledge\知识库\Rag技术\原始材料\BVxxxx_视频短标题" `
  --note-path "D:\knowledge\知识库\Rag技术\观点X:视频短标题.md"

重点看:

  • status:too_short 表示遗漏风险高,too_long 表示可能重复堆料,ok 表示落在写前推荐区间。
  • quality_multiplier:点赞、收藏、投币、评论、弹幕、分享、播放量和发布距今天数形成的互动质量倍率。
  • actual_compression_ratio:笔记字数 / 字幕字数。长视频应允许更高总字数,但仍要保持压缩。
  • note_chars_per_minute:每分钟视频对应多少笔记字。长课程不应和短视频接近同一个总字数。
  • evidence_reference_ratio:笔记中引用的证据块占比。关键判断要能回查图文证据 O...、字幕证据 Pxx@... 或评论证据 C...;正文用统一数字编号,文末编号脚注和 reference-style 链接定义必须指向含完整证据 ID 的归档文件。

笔记写法

默认输出必须是“学习型笔记”,不是目录搬运、分P流水账或证据清单。读完后应有“我真的学会了一些东西”的获得感。

推荐结构
  1. # 标题
  2. ## 学完你应该获得什么:用 5-8 条写清楚读者学完后能理解、判断或完成什么。
  3. ## 一句话总论:说明视频最核心的判断,避免只复述标题。
  4. ## 适用场景与前置知识:这套内容适合谁、不适合谁,读者需要先知道什么。
  5. ## 知识地图:把核心概念、模块、流程和它们之间的关系讲清楚。课程型视频要有模块表;短观点视频要有论证链。
  6. ## 核心概念卡:每个重要概念都写成“是什么、为什么重要、怎么用、常见误区、相关证据”。
  7. ## 方法或流程:把原内容中的操作、架构、决策流程、参数选择、评估方法抽成可复用步骤。
  8. ## 关键洞察:写作者真正想表达的判断,区分“事实描述、经验判断、推荐做法、限制条件”。
  9. ## 实践清单:给出可以照着做的步骤、检查项、失败信号和排错方向。
  10. ## 坑点与反例:整理视频和评论区提到的踩坑、争议、误区、边界条件。
  11. ## 自测题:写 5-10 个问题和简短答案,帮助人或 Agent 检查是否学会。
  12. ## 证据与原文位置:只放关键证据引用,不要让证据淹没学习内容。
  13. ## 来源、覆盖与局限:URL、BVID、UP、发布时间、字幕/评论覆盖、原始材料路径和局限放在后面。
写作标准
  • 先解释“为什么”和“怎么迁移使用”,再列“他说了什么”。
  • 对课程型长视频,按学习模块组织,不要按分P机械压缩。每个模块至少包含:学习目标、核心概念、关键步骤、常见坑、可操作结论。
  • 对观点型短视频,按“问题背景 -> 作者判断 -> 论据 -> 适用边界 -> 对用户的启发”组织。
  • 对技术教程和图文长文,保留架构、数据流、代码思路、配置项、图片结论、评估方式和排错路径。
  • 如果长视频字幕/转写密度过低,先补视觉证据;没有多模态视觉能力时,明确把当前笔记标为“基于字幕/元数据的有限整理”。
  • 评论区只写有学习价值的内容:纠错、补充案例、实践经验、替代方案、争议点。
  • 证据引用服务于学习,不要把笔记写成引用列表。正文默认使用统一的论文式数字编号,例如 [1][2];图文证据、字幕证据、评论证据共用一套编号,按正文首次出现顺序递增。不要在正文段落里直接塞很长的 O<opus_id>-E001、Pxx@hh:mm:ss-hh:mm:ss 或 C<rpid>。
  • 在 ## 来源、覆盖与局限 之前放 ## 证据脚注。脚注用有序列表写明编号和证据链接,例如 1. [图文证据 E006](原始材料/O.../indexes/图文证据索引.md#O...-E006);列表后再放 reference-style 链接定义,例如 [1]: 原始材料/O.../indexes/图文证据索引.md#O...-E006 "图文证据 E006",让正文里的 [1] 也能点击跳转。
  • 保留 ## 证据与原文位置 作为证据总览,但总览里也只写 [1]、[2] 这样的编号,不再直接显示长证据 ID。
  • 写前先按 note_budget.json 定标,再开始写笔记;写后评分只用于验收和微调,不要把主要长度决策推迟到评分阶段。
  • 预算偏短或写后评分过短时,优先补“概念解释、流程图式文字、实践清单、自测题、反例和边界”,不要只增加摘要段落。
  • 热度是“值得多写”的辅助信号,不是替代证据。点赞、收藏、评论、弹幕、投币、分享和发布距今天数会提高或降低推荐字数,但扩写必须来自图文正文、字幕、评论证据和内容结构。
不合格信号
  • 开头大段来源信息,读者看半天还不知道学到了什么。
  • 只有“核心观点/分P提炼/代表性证据”,没有概念解释、方法步骤和自测。
  • 把每个分P压成一句话,长课程读完仍不知道怎么做。
  • 长视频字幕极少,却没有提示画面依赖,也没有补关键帧/OCR/视觉理解。
  • 只总结作者立场,不写适用条件、反例和失败场景。
  • 评论区只是罗列热评,没有转化成纠错、补充或实践提醒。

不要把“只看了标题/目录”的内容写成“完整提取”。如果只抓到部分字幕或只转写了部分分P,明确列出覆盖范围。

B站字幕注意事项

  • 普通 /x/player/v2 可能只返回 ai-zh 字幕元信息,subtitle_url 为空。
  • 网页播放器接口 /x/player/wbi/v2 常能返回真正的 AI 字幕 URL。
  • AI 字幕常把技术词识别错:RAG 可能识别成 RG、ROG、rap;LangChain 可能识别成 non chain、long chain;reranker 可能识别成“瑞 rank”。
  • 总结时要结合分P标题和技术语境校正术语。

B站图文注意事项

  • 图文/动态正文优先从页面内的 window.__INITIAL_STATE__ 读取;公开 polymer 动态接口可能返回风控错误。
  • 图文正文会保留标题、段落、标题层级、列表、代码块、链接卡片、图片 URL 和图片清单。
  • 图文评论对象通常不是 opus id 本身,而是页面数据里的 basic.comment_type 和 basic.comment_id_str;抓评论时不要硬套视频的 type=1/oid=aid。
  • 如果用户让你总结图文中的图片含义,先检查 images/ 或 images_manifest.json;仅凭图片 URL 不足以判断内容时,应说明图片视觉内容未被完整理解。

相关文件

  • scripts/check_environment.py:检查核心流程、网页 AI 字幕、音频转写和测试依赖是否可用。
  • scripts/setup_qwen_asr_env.py:创建/更新共享的 Qwen3-ASR Python 环境。
  • scripts/run_qwen_asr.py:调用 Qwen3-ASR-0.6B,可按 chunk 分段避免显存溢出。
  • scripts/run_bili_note.py:一键运行视频/图文提取、评论、归档和证据索引流程。
  • scripts/extract_bilibili.py:元数据、字幕探测、普通字幕、音频、音频转写、评论抓取。
  • scripts/extract_bilibili_opus.py:B站图文/动态正文、图片、代码块和图文评论抓取。
  • scripts/fetch_browser_ai_subtitles.py:通过已登录网页播放器下载 B站 AI 字幕。
  • scripts/edge_cdp.py:连接 Edge 远程调试页面的可选 CDP 适配器。
  • scripts/extract_video_keyframes.py:按分P时长抽取最多 12 张代表帧,生成 4×3 联系图和关键帧清单。
  • scripts/archive_bili_materials.py:归档完整材料,生成全文索引、证据索引和带字幕密度/视觉依赖提示的笔记预算。
  • scripts/score_bili_note.py:按 metadata/note_budget.json 验收最终笔记的长度、压缩比、证据引用和视觉依赖提示。
  • scripts/update_note_budget_section.py:把预算、互动质量和信噪比评分写回 Markdown 笔记。
  • references/bilibili-api-notes.md:接口细节和已知坑。

© Rimagination, 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 28 other files (scripts, references, assets) in the repository root of Rimagination/bili-note.

  • SKILL.md
  • .gitignore
  • LICENSE
  • README.md
  • agents/openai.yaml
  • assets/bili-note-logo.png
  • references/bilibili-api-notes.md
  • scripts/archive_bili_materials.py
  • scripts/check_environment.py
  • scripts/edge_cdp.py
  • scripts/extract_bilibili.py
  • scripts/extract_bilibili_opus.py
  • scripts/extract_video_keyframes.py
  • scripts/fetch_browser_ai_subtitles.py
  • scripts/run_bili_note.py
  • scripts/run_qwen_asr.py
  • scripts/score_bili_note.py
  • … and 12 more

Open the folder on GitHubat commit 08fe812

Compare with similar skills

Bili Note 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.

Bili Note compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bili Note this skillRimagination/bili-note320—~3.6kAutomated safety check: PassMIT
Video Transcribewendy7756/AI-Video-Transcriber3.3k—~937Automated safety check: NotesApache-2.0
Bilibili Transcribechubbyguan/chubbyskills1.2k1 repos~578Automated safety check: NotesMIT
Video To Subtitle Summaryimlewc/video-to-subtitle-summary-skill212—~4.6kAutomated safety check: NotesMIT
Video To NotesKIRVO-REPORTING/video-to-notes105—~1.5kAutomated safety check: PassMIT
Hotclipxixihhhh/hotclip299—~1.1kAutomated safety check: PassAGPL-3.0

Similar skills

  • 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
  • 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 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
  • Hotclip

    xixihhhh/hotclip

    Turn long videos & livestream VODs into viral vertical shorts, 100% locally — on-device transcription, LLM highlight detection, 9:16 reframe with karaoke captions, and a per-clip render-QA report.

    299 GitHub stars~1.1k tokensUpdated today
    Media & CreativeAuto-check passed
  • Learning Notes Automation

    chubbyguan/chubbyskills

    学习笔记自动化:视频/播客转录 → 知识点提取 → 闪卡生成 → 知识图谱更新。触发词:学习笔记、闪卡、Anki、知识提取、视频学习

    1.2k GitHub starsUsed in 1 repo~898 tokens
    Media & CreativeAuto-check passed

Works with

Questions about Bili Note

What does Bili Note do?

Extract Bilibili videos and opus/article posts into readable Markdown knowledge notes. Bili Note is an agent skill from Rimagination/bili-note. Extract Bilibili videos and opus/article posts into readable Markdown knowledge notes.

When should I use Bili Note?

Bili Note fits situations like: the user asks to 提取/提炼/总结/整理 B站; bilibili video/图文/动态/opus content; save a B站 note to a local knowledge base; include useful comments.

How do I install Bili Note in Claude Code?

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

How do I install Bili Note in Codex?

Run `npx skills add Rimagination/bili-note --skill bili-note -a codex`. Or copy the skill folder (the Rimagination/bili-note repository) into .agents/skills/bili-note in your project. Codex loads it when a task matches its description.

Can I use Bili Note 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 Rimagination/bili-note --skill bili-note -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bili-note, .gemini/skills/bili-note, .github/skills/bili-note and .opencode/skills/bili-note in your project.

What does Bili Note need to run?

Going by SKILL.md and its folder, Bili Note needs Python for the scripts in its folder and the command-line tools its instructions call (curl and python). Our summary lists: Python 3.

Does Bili Note 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 Bili Note 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 Bili Note use?

Bili Note is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bili Note use?

About 3.6k tokens (SKILL.md is roughly 15k 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 997 tokens, read only when the agent opens those files.

What are the alternatives to Bili Note?

Skills that share tags, products or a category with Bili Note: Video Transcribe (wendy7756/AI-Video-Transcriber, 3.3k stars), Bilibili Transcribe (chubbyguan/chubbyskills, 1.2k stars), Video To Subtitle Summary (imlewc/video-to-subtitle-summary-skill, 212 stars) and Video To Notes (KIRVO-REPORTING/video-to-notes, 105 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bili Note?

Rimagination (a GitHub user) maintains it in Rimagination/bili-note, which has 320 GitHub stars. The repository was last updated on September 22, 2026.

Source: Rimagination/bili-note on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.