/bilibili
Interact with Bilibili (B站) — browse trending videos, view video details, read comments, search videos and users, view user profiles, like, coin, and favorite videos. Use this skill whenever the user mentions Bilibili, B站, wants to browse Bilibili content, search Bilibili
$ npx -y skills add sigcli/sigcli --skill bilibili --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/bilibili
Context preview
The summary Claude sees to decide when to auto-load this skill.
Interact with Bilibili (B站) — browse trending videos, view video details, read comments, search videos and users, view user profiles, like, coin, and favorite videos. Use this skill whenever the user mentions Bilibili, B站, wants to browse Bilibili content, search Bilibili
SKILL.md
bilibili.SKILL.mdname: bilibili
description: 'Interact with Bilibili (B站) — browse trending videos, view video details, read comments, search videos and users, view user profiles, like, coin, and favorite videos. Use this skill whenever the user mentions Bilibili, B站, wants to browse Bilibili content, search Bilibili videos, read Bilibili comments, look up Bilibili users, or interact with Bilibili content. Also trigger when the user pastes a Bilibili URL (e.g. bilibili.com/video/BV...) or mentions a BV ID.'
Bilibili
Browse trending videos, view video details, read comments, search content, view user profiles, and interact with Bilibili (B站).
Skill Directory
`<SKILL_DIR>` is the directory containing this SKILL.md file. Determine it ONCE at the start and reuse it.
Setup (run FIRST — every time, before any operation)
You MUST complete this setup before running any script. Do NOT skip this step.
sig status bilibili 2>&1
Check the JSON output fields `configured` and `valid`:
- **`configured: false`** → run Provider Setup below. Do NOT proceed without completing it.
- **`valid: false` (but configured: true)** → run `sig login bilibili`, then re-check.
- **`valid: true`** → detect proxy (see below), then execute the user's request.
Provider Setup
1. Read `<SKILL_DIR>/references/provider-config.yaml` 2. Append the provider block to `~/.sig/config.yaml` under `providers:` 3. Ask the user: "Do you need a proxy to access this site?" — if yes, add `networkProxy: <url>` under the provider in config.yaml 4. Run `sig login bilibili` (with `--network-proxy <url>` if proxy was specified) 5. Verify: run `sig status bilibili` again — must show `valid: true` before proceeding
Proxy Detection (after provider is valid)
grep -A15 "^\s*bilibili:" ~/.sig/config.yaml | grep networkProxy | awk '{print $2}'If this outputs a URL, prefix ALL python3 commands with `HTTPS_PROXY=<url> HTTP_PROXY=<url>`. If using socks5, convert to socks5h for python (e.g. `socks5://...` → `socks5h://...`). If empty, no proxy needed.
Running Scripts
All scripts require setup to be completed first (see above).
**Read operations** — use `sig run` to inject cookie (enables authenticated features):
sig run bilibili -- bash -c 'python3 <SKILL_DIR>/scripts/bilibili_hot.py --cookie "$SIG_BILIBILI_COOKIE" --limit 10'
**Write operations** — require `sig run` (cookie is mandatory):
sig run bilibili -- bash -c 'python3 <SKILL_DIR>/scripts/bilibili_like.py --cookie "$SIG_BILIBILI_COOKIE" --aid 123456'
Env var: `SIG_BILIBILI_COOKIE`
**On auth error (401/403):** run `sig login bilibili` automatically (no user prompt), then retry.
Scripts Reference
All scripts are in this skill's `scripts/` directory. Run via Bash tool.
Read Operations
| Script | Purpose | Auth | | ---------------------- | -------------------- | -------- | | `bilibili_video.py` | Video details by BV | None | | `bilibili_hot.py` | Hot/trending videos | None | | `bilibili_popular.py` | Popular videos | None | | `bilibili_ranking.py` | Ranking by category | None | | `bilibili_search.py` | Search videos/users | None | | `bilibili_comments.py` | Video comments | None | | `bilibili_user.py` | User profile + vids | None | | `bilibili_dynamic.py` | Dynamic feed (动态) | Required | | `bilibili_me.py` | Current user profile | Required | | `bilibili_history.py` | Watch history | Required | | `bilibili_subtitle.py` | Video subtitles | None |
Write Operations
| Script | Purpose | Auth | | ---------------------- | ------------------- | -------- | | `bilibili_like.py` | Like/unlike a video | Required | | `bilibili_coin.py` | Give coins to video | Required | | `bilibili_favorite.py` | Favorite/unfavorite | Required |
bilibili_video.py
--bvid ID Video BV ID (e.g. BV1xx411c7mD) (required)
bilibili_hot.py
--limit N Max videos to return (default: 20)
--page N Page number (default: 1)
bilibili_popular.py
--limit N Max videos to return (default: 20)
--page N Page number (default: 1)
bilibili_ranking.py
--category NAME Category: all, anime, music, dance, game, tech, knowledge, life, food, animal, car, fashion, entertainment, movie, tv (default: all)
--limit N Max videos to return (default: 20)
bilibili_search.py
--keyword TEXT Search keyword (required)
--type TYPE Search type: video, user (default: video)
--page N Page number (default: 1)
--limit N Max results (default: 20)
bilibili_comments.py
--bvid ID Video BV ID (required)
--limit N Max comments to return (default: 20)
--page N Page number (default: 1)
bilibili_user.py
--mid N User mid (numeric ID) (required)
--include-videos Include recent videos (flag)
bilibili_dynamic.py
--cookie COOKIE Bilibili session cookie (required)
--limit N Max items to return (default: 20)
--offset TOKEN Pagination offset from previous response
bilibili_me.py
--cookie COOKIE Bilibili session cookie (required)
bilibili_history.py
--cookie COOKIE Bilibili session cookie (required)
--limit N Max items to return (default: 20)
--view-at N Cursor from previous response for pagination
bilibili_subtitle.py
--bvid ID Video BV ID (required)
--lang CODE Subtitle language code (e.g. zh-CN, en-US, ai-zh). Default: first available
--cookie COOKIE Bilibili session cookie (may be needed for some videos)
bilibili_like.py
--cookie COOKIE Bilibili session cookie (required)
--aid N Video aid (numeric ID) (
Read more
name: bilibili description: 'Interact with Bilibili (B站) — browse trending videos, view video details, read comments, search videos and users, view user profiles, like, coin, and favorite videos. Use this skill whenever the user mentions Bilibili, B站, wants to browse Bilibili content, search Bilibili videos, read Bilibili comments, look up Bilibili users, or interact with Bilibili content. Also trigger when the user pastes a Bilibili URL (e.g. bilibili.com/video/BV...) or mentions a BV ID.'
Bilibili
Browse trending videos, view video details, read comments, search content, view user profiles, and interact with Bilibili (B站).
Skill Directory
`<SKILL_DIR>` is the directory containing this SKILL.md file. Determine it ONCE at the start and reuse it.
Setup (run FIRST — every time, before any operation)
You MUST complete this setup before running any script. Do NOT skip this step.
sig status bilibili 2>&1
Check the JSON output fields `configured` and `valid`:
- **`configured: false`** → run Provider Setup below. Do NOT proceed without completing it.
- **`valid: false` (but configured: true)** → run `sig login bilibili`, then re-check.
- **`valid: true`** → detect proxy (see below), then execute the user's request.
Provider Setup
1. Read `<SKILL_DIR>/references/provider-config.yaml` 2. Append the provider block to `~/.sig/config.yaml` under `providers:` 3. Ask the user: "Do you need a proxy to access this site?" — if yes, add `networkProxy: <url>` under the provider in config.yaml 4. Run `sig login bilibili` (with `--network-proxy <url>` if proxy was specified) 5. Verify: run `sig status bilibili` again — must show `valid: true` before proceeding
Proxy Detection (after provider is valid)
grep -A15 "^\s*bilibili:" ~/.sig/config.yaml | grep networkProxy | awk '{print $2}'If this outputs a URL, prefix ALL python3 commands with `HTTPS_PROXY=<url> HTTP_PROXY=<url>`. If using socks5, convert to socks5h for python (e.g. `socks5://...` → `socks5h://...`). If empty, no proxy needed.
Running Scripts
All scripts require setup to be completed first (see above).
**Read operations** — use `sig run` to inject cookie (enables authenticated features):
sig run bilibili -- bash -c 'python3 <SKILL_DIR>/scripts/bilibili_hot.py --cookie "$SIG_BILIBILI_COOKIE" --limit 10'
**Write operations** — require `sig run` (cookie is mandatory):
sig run bilibili -- bash -c 'python3 <SKILL_DIR>/scripts/bilibili_like.py --cookie "$SIG_BILIBILI_COOKIE" --aid 123456'
Env var: `SIG_BILIBILI_COOKIE`
**On auth error (401/403):** run `sig login bilibili` automatically (no user prompt), then retry.
Scripts Reference
All scripts are in this skill's `scripts/` directory. Run via Bash tool.
Read Operations
| Script | Purpose | Auth | | ---------------------- | -------------------- | -------- | | `bilibili_video.py` | Video details by BV | None | | `bilibili_hot.py` | Hot/trending videos | None | | `bilibili_popular.py` | Popular videos | None | | `bilibili_ranking.py` | Ranking by category | None | | `bilibili_search.py` | Search videos/users | None | | `bilibili_comments.py` | Video comments | None | | `bilibili_user.py` | User profile + vids | None | | `bilibili_dynamic.py` | Dynamic feed (动态) | Required | | `bilibili_me.py` | Current user profile | Required | | `bilibili_history.py` | Watch history | Required | | `bilibili_subtitle.py` | Video subtitles | None |
Write Operations
| Script | Purpose | Auth | | ---------------------- | ------------------- | -------- | | `bilibili_like.py` | Like/unlike a video | Required | | `bilibili_coin.py` | Give coins to video | Required | | `bilibili_favorite.py` | Favorite/unfavorite | Required |
bilibili_video.py
--bvid ID Video BV ID (e.g. BV1xx411c7mD) (required)
bilibili_hot.py
--limit N Max videos to return (default: 20) --page N Page number (default: 1)
bilibili_popular.py
--limit N Max videos to return (default: 20) --page N Page number (default: 1)
bilibili_ranking.py
--category NAME Category: all, anime, music, dance, game, tech, knowledge, life, food, animal, car, fashion, entertainment, movie, tv (default: all) --limit N Max videos to return (default: 20)
bilibili_search.py
--keyword TEXT Search keyword (required) --type TYPE Search type: video, user (default: video) --page N Page number (default: 1) --limit N Max results (default: 20)
bilibili_comments.py
--bvid ID Video BV ID (required) --limit N Max comments to return (default: 20) --page N Page number (default: 1)
bilibili_user.py
--mid N User mid (numeric ID) (required) --include-videos Include recent videos (flag)
bilibili_dynamic.py
--cookie COOKIE Bilibili session cookie (required) --limit N Max items to return (default: 20) --offset TOKEN Pagination offset from previous response
bilibili_me.py
--cookie COOKIE Bilibili session cookie (required)
bilibili_history.py
--cookie COOKIE Bilibili session cookie (required) --limit N Max items to return (default: 20) --view-at N Cursor from previous response for pagination
bilibili_subtitle.py
--bvid ID Video BV ID (required) --lang CODE Subtitle language code (e.g. zh-CN, en-US, ai-zh). Default: first available --cookie COOKIE Bilibili session cookie (may be needed for some videos)
bilibili_like.py
--cookie COOKIE Bilibili session cookie (required) --aid N Video aid (numeric ID) (
Sign in your way. AI works on your behalf. AI agents need access to your work systems — Jira, wikis, calendars, internal APIs. But passing credentials through shell history, environment variables, and agent context windows is a security nightmare.

