AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Extract Bilibili Video

skill-minorcell-skills-extract-bilibili-video · by minorcell

Extract evidence from public Bilibili videos for accurate summaries, analysis, research, or downstream article planning. Use when a request includes a bilibili.com or b23.tv video URL, a BV identifier, or asks Codex to inspect what a Bilibili video actually says. Collect public metadata, tags, comments, available subtitles, low-resolution media, audio, and contact sheets; use local speech-to-text…

— No reviews yet
0 installs
39 views
0.0% view→install

Install

$ agentstack add skill-minorcell-skills-extract-bilibili-video

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-minorcell-skills-extract-bilibili-video)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● 2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Extract Bilibili Video? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Extract Bilibili Video

Build an evidence set before analyzing a video. Prefer subtitles, then local transcription, and verify important claims against frames and metadata.

Quick Start

Set the skill directory and use a temporary output directory:

SKILL_DIR="${CODEX_HOME:-$HOME/.codex}/skills/extract-bilibili-video"
python3 "$SKILL_DIR/scripts/extract_bilibili.py" \
  'https://www.bilibili.com/video/BV1xxxxxxxxx' \
  --output-dir /tmp/bilibili-video

Inspect evidence.json, comments.txt, and any subtitle-*.txt files first. Download media only when subtitles are missing or visual verification is necessary:

python3 "$SKILL_DIR/scripts/extract_bilibili.py" \
  'BV1xxxxxxxxx' \
  --output-dir /tmp/bilibili-video \
  --media

The --media option requires ffmpeg and produces video.mp4, audio.wav, and contact-sheet.jpg.

Workflow

  1. Run extract_bilibili.py without --media to collect lightweight public evidence.
  2. Read the title, description, duration, author, publication time, tags, pinned comments, and available subtitles.
  3. Treat comments as audience reactions or source leads, not as facts about the video.
  4. Rerun with --media when no public subtitle exists or when the request depends on diagrams, demonstrations, or on-screen text.
  5. View contact-sheet.jpg to identify topic transitions and claims that need closer inspection.
  6. Transcribe audio.wav when no subtitle exists. Prefer an already installed local speech-to-text tool.
  7. Compare names, numbers, formulas, code, and technical terms in the transcript with the relevant frames. Correct obvious recognition errors without silently inventing missing content.
  8. Separate three categories in the final analysis: what the video explicitly states, what the visuals show, and what Codex infers or critiques.

Local Whisper Transcription

Check for OpenAI Whisper:

python3 -c 'import whisper; print(whisper.__version__)'

If it is unavailable, install it only when dependency installation is within scope:

python3 -m pip install openai-whisper

Then run:

python3 "$SKILL_DIR/scripts/transcribe_audio.py" \
  /tmp/bilibili-video/audio.wav \
  --output-dir /tmp/bilibili-video \
  --language zh \
  --model base

Use --prompt for expected proper nouns or technical vocabulary. Read transcript.srt for timestamped evidence and transcript.txt for continuous text.

Output Contract

  • evidence.json: curated metadata, statistics, tags, comments, subtitle status, and warnings.
  • comments.txt: public comment messages with authors and like counts.
  • subtitle-.json and .txt: public subtitle data when available.
  • video.mp4: public low-resolution analysis copy when --media is used.
  • audio.wav: mono 16 kHz audio suitable for speech recognition.
  • contact-sheet.jpg: up to 24 evenly spaced frames for visual verification.
  • transcript.json, .txt, and .srt: local Whisper output.

Evidence Rules

  • Cite the Bilibili URL and include timestamps for material claims when a transcript is available.
  • Identify translated, reposted, or AI-generated material when metadata or pinned comments disclose it.
  • Do not infer the full content from the title, description, tags, or comments alone.
  • Do not present automatic transcription as verbatim. Note material uncertainty and verify proper nouns and numbers visually.
  • Do not bypass login, paywalls, regional restrictions, creator-only access, or other platform controls.
  • Keep downloaded media in a temporary directory and do not redistribute it.
  • Refresh extraction by rerunning the script when a signed media URL expires; do not reuse stored signed URLs.

Failure Handling

  • If a public API returns an error, retry once and then use browser-accessible evidence or report the limitation.
  • If subtitle metadata says login is required, continue with public media and local transcription instead of attempting authentication.
  • If media download fails, rerun extraction to request a fresh play URL.
  • If local transcription is unavailable, analyze only the verified metadata and frames, and state that the spoken content was not fully recovered.

Scripts

  • scripts/extract_bilibili.py: collect public evidence and optionally extract media artifacts.
  • scripts/transcribe_audio.py: transcribe extracted audio with a locally installed OpenAI Whisper package.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.