overpass-knowledge

Generates and configures RPC client code for ByteDance Overpass platform using Kitex.

Updated Apr 30, 2026
One-click install
npx skills add https://github.com/yuezhen-huang/my-bytedance-skillhub --skill overpass-knowledge-yuezhen-huang
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: overpass-knowledge
Source: https://github.com/yuezhen-huang/my-bytedance-skillhub/tree/main/overpass-knowledge
Command: npx skills add https://github.com/yuezhen-huang/my-bytedance-skillhub --skill overpass-knowledge-yuezhen-huang

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Manually generating kitex_gen code, writing RPC client boilerplate, and keeping client code in sync with IDL changes is repetitive and error-prone. This Skill provides the knowledge to use Overpass, ByteDance's platform that auto-generates and maintains RPC calling code per PSM. ## Core Features & Use Cases - Automated Code Generation: Add a PSM to the Overpass whitelist and get a complete repository with kitex_gen, client creation, error handling, logging, and mock support. - Client Configuration Guidance: Configure timeouts, retries, connection pools, middleware, clusters, and per-call options using Kitex client and call options. - Common Structures: Resolve Go type incompatibility across PSM repositories by generating shared IDL structures into common repositories via .overpass/common.yml. - Troubleshooting: Diagnose IDL parse failures, repository generation errors, compilation conflicts, and RPC call issues. - Use Case: A Go developer needs to call toutiao.location.location. They generate the Overpass repository from the web console, run go get code.byted.org/overpass/toutiao_location_location, and invoke MultiGetIPInfo in one line of code. ## Quick Start Ask the assistant to walk you through generating an Overpass repository for a target PSM and writing the first RPC call in Go.

Frequently Asked Questions about overpass-knowledge

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate RPC client code with Overpass?

Search for the target PSM on the Overpass website's IDL Information Query page and click Generate Overpass Repository. Within seconds a repository is created at code.byted.org/overpass/P_S_M containing kitex_gen code, client wrappers, and mock support.

How do I configure timeout and retry for an Overpass client?

Create a client manually with p_s_m.NewClient and pass Kitex options such as client.WithRPCTimeout and client.WithFailureRetry. Per-request settings use call options like callopt.WithRPCTimeout at call time.

Why do I get type mismatch errors between two Overpass repositories?

Each PSM repository generates its own copy of shared IDL types, so Go treats them as distinct types. Enable the Common Structures feature by configuring .overpass/common.yml in your IDL repository so shared structs are generated once in a common repo.

Does Overpass support languages other than Go?

Overpass primarily supports Go, and also lists Python/Euler, Java/Jet, Rust/Lust, JavaScript, and Hertz HTTP. The generated code is built on the Kitex framework and updates automatically when the IDL changes.

Why is my Overpass repository not updating after an IDL change?

IDL changes are detected within about four minutes and repositories regenerate in roughly 30 seconds, but repeated failures trigger exponential backoff. Use Force Sync IDL Information and Force Update Repository in the web interface to bypass the delay.

Can Overpass Oncall help debug RPC call failures?

No. Overpass only wraps the Kitex framework, so RPC call errors come from the downstream service, network, or environment. Contact the downstream service owner, Kitex Oncall, or the relevant environment Oncall instead.