bilibili_search
Search for videos on Bilibili using keyword queries generated from user interests.
Skill by whiteguo233
Chalk Labs
Need help deploying bilibili_search?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/whiteguo233-bilibili-search
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: web-search
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/bilibili-search
What's inside
- Skill name
bilibili_search- Description
- Search for videos on Bilibili using keyword queries generated from user interests.
- License
- MIT
- Instructions
- 131 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: only lowercase letters, digits and single hyphens allowed
- name: "bilibili_search" does not match folder "search"
Files (1)
- SKILL.md
SKILL.md (first lines)
# Bilibili Search Skill
Search for videos on Bilibili based on the user's interests and soul profile. Supports both LLM-driven automatic query generation (for discovery cycles) and direct keyword search (for explicit user requests).
## When to Use
- During content discovery cycles
- When the user explicitly asks to find content on a topic
- When generating exploratory searches for new interest domains
## How It Works
1. **Query generation** — If no explicit `keywords` are provided, the skill uses an LLM to generate multiple search queries from the user's soul profile (top interests, cognitive style, deep needs). If `keywords` are provided, they are used directly.
2. **Sequential search** — Each query is sent to the Bilibili WBI-signed search endpoint sequentially, with a jitter-randomised 0.5–1.0s delay between queries (v0.3.61+) so the requests don't land in the same Bilibili rate-limit bucket. A dedicated API client is used per strategy to isolate rate-limiting.
3. **Resilience & storm mode** — Individual query failures (including Bilibili `412 Precondition Failed`) degrade gracefully and don't interrupt the overall flow. `client.search` retries `v_voucher` challenges 3× internally; three consecutive empty results trip "storm mode" (v0.3.61+) and the remaining queries are skipped (filled with empty results) rather than burned against an IP that's being challenged — the next refresh tick (~60s) gets a fresh shot. An active search cooldown short-circuits the remaining plan the same way.
4. **Scoring** — Results are evaluated against the soul profile via LLM and assigned a `relevance_score` (0.0–1.0). Items below the threshold are discarded.
5. **Output** — Returns scored `DiscoveredContent` items.
## Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `keywords` | `string` | No | `""` | Search query string. If empty, the skill auto-generates queries from the soul profile. |
| `page` | `integer` | No | `1` | Page number for paginated results. |
| `limit` | `integer` | No | `20` | Maximum number of results to return. |
| `order` | `string` | No | `"totalrank"` | Sort order. One of: `"totalrank"` (relevance), `"pubdate"` (newest), `"click"` (most viewed), `"dm"` (most commented). |
## Input Schema (JSON Schema)
```json
{
"type": "object",
"properties": {
"keywords": {
"type": "string",
"description": "Search query string. Auto-generated from profile if empty."
},
"page": {
"type": "integer",
"minimum": 1,
"default": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"default": 20
},
"order": {
"type": "string",
"enum": ["totalrank", "pubdate", "click", "dm"],
"default": "totalrank"
}
}
}
```
## Output
Each result is a `DiscoveredContent` object with the following fields:
| Field | Type | Description |
|-------|------|-------------|
| `bvid` | `string` | Bilibili video BV ID |
| `title` | `string` | Video title |
| `up_name` | `string` | Creator's display name |
| `up_mid` | `integer` | Creator's user ID |
| `cover_url` | `string` | Video cover image URL |
| `duration` | `integer` | Video length in seconds |
| `view_count` | `integer` | Play count |
| `like_count` | `integer` | Like count |
| `description` | `string` | Video description |
| `tags` | `string[]` | Video tags |
| `relevance_score` | `number` | LLM-evaluated relevance (0.0–1.0) |
| `relevance_reason` | `string` | Human-readable reason for the score |
| `source_strategy` | `string` | Always `"search"` for this skill |
| `topic_key` | `string` | Semantic topic classification |
| `style_key` | `string` | Content style classification |
## Requirements
- Bilibili Cookie authentication is required for search to function. Without it, Bilibili may return `412 Precondition Failed` and the skill will return empty results.
- The skill connects to Bilibili's public API at `https://api.bilibili.com`; no additional API keys are needed beyond the B站 Cookie.
## Limitations
- **Rate Limiting**: Bilibili applies rate-limiting and anti-bot protections. Under heavy usage, search requests may return `412 Precondition Failed` and degrade to empty results.
- **Platform Restriction**: The skill returns content from Bilibili only. Cross-platform search is not supported.
- **Cookie Dependency**: Search functionality depends on valid Bilibili Cookie authentication.
## Special Case Handling
### Empty Keywords
When `keywords` is empty or not provided:
1. The skill automatically generates search queries based on the user's soul profile (top interests, cognitive style, deep needs)
2. Multiple queries are generated and executed sequentially with delays between requests
3. Results are aggregated and deduplicated
### 412 Precondition Failed
When Bilibili returns `412 Precondition Failed`:
1. The skill treats this as a temporary failure for that query
2. Other queries continue execution
3. The skill returns results from successful queries only
4. If all queries fail, returns an empty result set with appropriate logging
### Network Errors & Timeouts
- **`v_voucher` challenge / transient failure**: `client.search` retries the WBI request up to 3× internally; an empty list at the strategy layer means the keyword exhausted its retries (the IP is being challenged), which feeds the storm-mode counter above
- **DNS Failure**: Falls back gracefully without breaking other queries
- **SSL Errors**: Logs the error and skips to next query
### Empty Search Results
- If no results are found for a query, returns an empty list for that query
- If all queries return empty, the skill returns an empty result set
- The discovery engine will try alternative strategies
### Invalid Parameters
- **Invalid `page`**: Passed directly to API (no clamping — caller should validate)
- **Invalid `limit`**: Passed directly to API (no clamping — caller should validate)
- **Invalid `order`**: Passed directly to API; defaults to `"totalrank"` if not provided
- **Empty string keywords**: Treated as auto-generate modeFrom whiteguo233/OpenBiliClaw, MIT.
More from whiteguo233/OpenBiliClaw
- 0.838score
release
whiteguo233
Use when releasing a version, bumping project versions, or pushing release tags.
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.836score
openbiliclaw-adapter
whiteguo233
Use OpenBiliClaw's versioned Agent Bridge CLI to read multi-source recommendations, profile state, dialogue, probes, saved lists, and submit explicit feedback.
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.836score
add-platform-source
whiteguo233
Add, repair, or validate an OpenBiliClaw platform source across fetching, account signals, discovery, and user surfaces.
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.834score
writing-specs
whiteguo233
Use when authoring a spec or implementation plan, or planning multi-task work.
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.832score
verify
whiteguo233
Drive a real serve-api process against isolated project roots to verify backend/web changes end-to-end
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.829score
taste-companion
whiteguo233
默认对话伙伴,陪聊口味与推荐,可读写记忆、查询推荐与观看数据
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.828score
comment_analysis
whiteguo233
Analyze video comment sections to discover recommended content and gauge content quality.
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.826score
system-steward
whiteguo233
管理订阅源与系统配置,所有改动逐项向用户说明并等待批准
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.823score
bilibili_browse
whiteguo233
Browse Bilibili pages using agent-browser for visual exploration and DOM interaction.
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.823score
taste-explorer
whiteguo233
用户希望探索口味时,通过有限的假设与澄清形成可用结论,沉淀已确认的记忆
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.713score
bangumi-advisor
whiteguo233
聊番补番顾问,结合观看历史与推荐给出追番建议与收藏
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.623score
CLAUDE.md · whiteguo233/OpenBiliClaw
whiteguo233
CLAUDE.md from whiteguo233/OpenBiliClaw: 247 lines covering Project Overview, Build & Development Commands, Architecture, Configuration and more.
TemplateAFreshness: A★ 3.6KClaude Code
Signals
- Stars
- 3,567
- Forks
- 195
- Open issues
- 19
- Last commit (this folder)
- May 29, 2026 (5 months ago)
- Last release
- Oct 22, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/whiteguo233/OpenBiliClaw
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from whiteguo233
- 0.838score
release
whiteguo233
Use when releasing a version, bumping project versions, or pushing release tags.
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.836score
openbiliclaw-adapter
whiteguo233
Use OpenBiliClaw's versioned Agent Bridge CLI to read multi-source recommendations, profile state, dialogue, probes, saved lists, and submit explicit feedback.
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.836score
add-platform-source
whiteguo233
Add, repair, or validate an OpenBiliClaw platform source across fetching, account signals, discovery, and user surfaces.
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.834score
writing-specs
whiteguo233
Use when authoring a spec or implementation plan, or planning multi-task work.
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.832score
verify
whiteguo233
Drive a real serve-api process against isolated project roots to verify backend/web changes end-to-end
SkillAFreshness: A★ 3.6KClaude Code +9 - 0.829score
taste-companion
whiteguo233
默认对话伙伴,陪聊口味与推荐,可读写记忆、查询推荐与观看数据
SkillAFreshness: A★ 3.6KClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get bilibili_search running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
bilibili_search skill. Agent Mart. https://agentmart.dev/skills/whiteguo233-bilibili-search (last updated 2026-10-24)