bili-rs
Development skill for bili-rs, a Rust CLI tool for Bilibili (B站). Use when implementing features, fixing bugs, or extending the bilibili-cli-rust codebase. Provides architecture conventions, API endpoints, coding patterns, and project-specific constraints. Triggers on tasks involving adding CLI commands, calling Bilibili APIs, handling authentication, implementing output formatting, or working with the layered cli/commands/client/payloads architecture.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/18621063286/bili-rsWhat This Skill Does
The bili-rs skill provides a comprehensive development environment for the bilibili-cli-rust project. It acts as an assistant for developers maintaining or extending this high-performance Rust CLI tool, which serves as a feature-parity rewrite of the original Python-based Bilibili command-line interface. The skill enforces strict architectural patterns to ensure the codebase remains maintainable, performant, and reliable, handling everything from API client management to terminal output formatting and CLI command definition.
Installation
To integrate this skill into your OpenClaw environment, execute the following command in your terminal:
clawhub install openclaw/skills/skills/18621063286/bili-rs
Use Cases
- Implementing New API Endpoints: Add support for new Bilibili features by following the strict layer-based workflow, ensuring logic flows from CLI structs to client HTTP requests.
- Authentication Management: Handle SESSDATA and bili_jct credentials securely while implementing WBI request signing for protected Bilibili interfaces.
- CLI Refactoring: Update or extend command-line arguments using clap while strictly separating business logic from interface presentation.
- Output Formatting: Standardize data display across JSON, YAML, and formatted tables, ensuring compliance with the project's output envelope requirements.
Example Prompts
- "Implement a new command to list user favorites that requires WBI signature, following the existing structure in src/client/user.rs."
- "Refactor the command handling in src/commands/video.rs to correctly map the API error codes and utilize the existing formatter module."
- "Help me add a new payload normalizer in src/payloads/dynamic.rs to parse the latest Bilibili dynamic feed JSON into our internal struct format."
Tips & Limitations
- Architecture: Always respect the separation of concerns. Never import CLI structs into the client layer; keep the client layer clean of any UI logic.
- Performance: As a Rust-based tool, avoid runtime dependencies. The binary must remain a single, lightweight executable.
- Error Handling: Use the defined
map_api_errorfunction in the client layer and ensure all errors are emitted to stderr. - Quality Control: Before finalizing any code changes, ensure your implementation passes
cargo clippy -- -D warningsandcargo fmt --checkto maintain project coding standards.
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-18621063286-bili-rs": {
"enabled": true,
"auto_update": true
}
}
}Tags(AI)
Flags: network-access, file-read, file-write, external-api