A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Agent-native CLI for fetching Bilibili video comments (UP主 self-analysis). Zero dependencies. Claude Code / Codex / Open
Built for Bilibili UP主 (content creators): fetch every comment on your own videos and feed them to Claude Code / Codex / Gemini / any agent for sentiment / keyword / audience analysis.
pip install--since
for incremental monitoringcomments.jsonl + summary.json + raw/ archiveFollows the Agent Skills spec. Works with every major AI coding agent:
| Platform | Status | Details |
|---|---|---|
| Claude Code | ✅ Full support | Native SKILL.md format |
| OpenAI Codex | ✅ Full support | agents/openai.yaml sidecar file |
| OpenClaw / ClawHub | ✅ Full support | metadata.openclaw namespace |
| Hermes Agent | ✅ Full support | metadata.hermes namespace |
| Opencode | ✅ Full support | Reads ~/.claude/skills/ automatically |
| SkillsMP | ✅ Indexed | GitHub topics configured |
Please read and accept these guidelines before using this tool.
This project is not affiliated with bilibili.com. Any account-level risk control, bans, or legal consequences are the user's responsibility. When in doubt about whether a specific use case is allowed — don't run it.
# Global install (available in all projects)
git clone https://github.com/Agents365-ai/bbc-skill.git ~/.claude/skills/bbc-skill
# Project-level install
git clone https://github.com/Agents365-ai/bbc-skill.git .claude/skills/bbc-skill
git clone https://github.com/Agents365-ai/bbc-skill.git ~/.agents/skills/bbc-skill
# Project-level
git clone https://github.com/Agents365-ai/bbc-skill.git .agents/skills/bbc-skill
# Via ClawHub
clawhub install bbc-skill
# Manual
git clone https://github.com/Agents365-ai/bbc-skill.git ~/.openclaw/skills/bbc-skill
git clone https://github.com/Agents365-ai/bbc-skill.git ~/.config/opencode/skills/bbc-skill
# Or reuse an existing ~/.claude/skills/bbc-skill — Opencode reads that path too
git clone https://github.com/Agents365-ai/bbc-skill.git ~/.hermes/skills/data/bbc-skill
skills install bbc-skill
git clone https://github.com/Agents365-ai/bbc-skill.git && cd bbc-skill
./scripts/bbc --help
# Or add to PATH
export PATH="$PWD/scripts:$PATH"
| Platform | Global path | Project path |
|---|---|---|
| Claude Code | ~/.claude/skills/bbc-skill/ | .claude/skills/bbc-skill/ |
| OpenAI Codex | ~/.agents/skills/bbc-skill/ | .agents/skills/bbc-skill/ |
| OpenClaw / ClawHub | ~/.openclaw/skills/bbc-skill/ | skills/bbc-skill/ |
| Opencode | ~/.config/opencode/skills/bbc-skill/ | .opencode/skills/bbc-skill/ |
| Hermes Agent | ~/.hermes/skills/data/bbc-skill/ | Via external_dirs config |
| SkillsMP | N/A (installed via CLI) | N/A |
Bilibili's comment API rate-limits and returns thin data for unauthenticated requests. For full UP主 analysis you must authenticate with a cookie.
Recommended: the open-source Chrome extension Get cookies.txt LOCALLY — runs entirely locally, uploads nothing.
www.bilibili.com_cookies.txt.~/Downloads/bilibili_cookies.txt.Other options:
SESSDATA value,
then export BBC_SESSDATA="<value>".Do not share SESSDATA — it authorizes full account access.
./scripts/bbc cookie-check --cookie-file ~/Downloads/bilibili_cookies.txt
Expected:
{"ok": true, "data": {"mid": 441831884, "uname": "探索未至之境", "vip": true, "level": 5, ...}}
If it fails: confirm you are currently logged in at bilibili.com, re-export the cookie, and retry.
./scripts/bbc fetch BV1NjA7zjEAU \
--cookie-file ~/Downloads/bilibili_cookies.txt
URLs are accepted too:
./scripts/bbc fetch "https://www.bilibili.com/video/BV1NjA7zjEAU/"
Output lives in ./bilibili-comments/BV1NjA7zjEAU/:
bilibili-comments/BV1NjA7zjEAU/
├── comments.jsonl # flat JSONL — one comment per line
├── summary.json # video meta + aggregated stats + top-N
├── raw/ # archived API responses
└── .bbc-state.json # resume / incremental state
export BBC_COOKIE_FILE="$HOME/Downloads/bilibili_cookies.txt"
./scripts/bbc fetch BV1NjA7zjEAU
Or pass SESSDATA directly:
export BBC_SESSDATA="<value from DevTools>"
./scripts/bbc fetch BV1NjA7zjEAU
After fetch completes, ask Claude something like:
Read
./bilibili-comments/BV1NjA7zjEAU/summary.jsonfirst — give me the overall picture: video stats, comment distribution, top 20 liked. Then I'll direct what to analyze next.
Claude follows this path:
summary.json first (a few KB) — video title, stats, time
distribution, IP distribution, top-N comments.comments.jsonl on demand — each line is a flat JSON record;
Grep for keywords, head/tail for chronology, sort by like for
hot-comment analysis.is_up_reply=true, see which threads you
replied to vs. missedip_locationctime_iso by week/monthmid, rank by comment countlike + negative keywordsbbc fetch <BV|URL>--max N Cap top-level comments (default: all)
--since <date> Only fetch comments newer than this (ISO, e.g. 2026-04-01)
--output <dir> Output directory (default ./bilibili-comments/<BV>/)
--cookie-file <path> Netscape cookie file
--browser <name> auto / firefox / chrome / edge / safari
--format json|table stdout format
--dry-run Preview request plan, no network calls
--force Ignore resume state, refetch everything
bbc fetch-user <UID> (coming soon)Batch fetch across a UP主's entire video catalog.
bbc summarize <dir>Rebuild summary.json from an existing comments.jsonl.
bbc cookie-checkValidate the cookie and print the logged-in user.
bbc schema [command]Return JSON schema for a command (param types, exit codes, error codes).
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Runtime / API error |
| 2 | Auth error (cookie invalid / missing) |
| 3 | Validation error (bad parameter) |
| 4 | Network error (timeout / retries exhausted) |
comments.jsonl record{
"rpid": 296636680849,
"bvid": "BV1NjA7zjEAU",
"parent": 0,
"root": 0,
"mid": 71171081,
"uname": "user nickname",
"user_level": 4,
"vip": false,
"ctime": 1776521119,
"ctime_iso": "2026-04-18T06:25:19+00:00",
"message": "...",
"like": 1,
"rcount": 0,
"ip_location": "河北",
"is_up_reply": false,
"top_type": 0,
"mentioned_users": [],
"jump_urls": []
}
parent=0 → top-level; otherwise rpid of the parent commenttop_type: 0=normal, 1=UP pinned, 2=editor pinnedis_up_reply: true if the comment was authored by the video ownersummary.json fieldsvideo: title, description, stats, tags, cover URL, ownercounts: total, top-level, nested, pinned, unique users, UP replies,
completeness ratiotime_distribution: earliest/latest timestamps, daily histogramtop_liked: top-N comments by like counttop_replied: top-N top-level comments by reply countip_distribution: histogram of IP provincesSee references/agent-contract.md for the full schema.
open.completeness field in summary.json compares
fetched vs. declared counts; values below 1.0 indicate deleted comments
or API inconsistency.Suggestions, bug reports, and pull requests are all welcome. If you have ideas — new analysis workflows, better anti-bot defaults, additional platform support, documentation fixes — feel free to open an issue or submit a PR directly.
This skill is community-friendly: every contribution, no matter how small, helps make it better for everyone.
MIT
If this skill helps you, consider supporting the author:
WeChat Pay |
Alipay |
Buy Me a Coffee |
Agents365-ai — building open-source skills for AI coding agents.
Claude Code skill for YouTube creators — channel audits, video SEO, retention scripts, thumbnails, content strategy, Sho
AI image generation skill for Claude Code -- Creative Director powered by Gemini
A Claude Code skill by Hao (駱君昊) that learns your Facebook voice and auto-posts to FB / IG / Threads / X with a 14-day c
Universal SEO skill for Claude Code. 25 sub-skills + 18 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, bac