rpcgen

Generate strongly-typed RPC clients from OpenRPC/SMD schemas in multiple languages.

6|Updated Apr 5, 2026
One-click install
npx skills add https://github.com/vmkteam/claude-plugins --skill rpcgen
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: rpcgen
Source: https://github.com/vmkteam/claude-plugins/tree/main/plugins/developer/skills/rpcgen
Command: npx skills add https://github.com/vmkteam/claude-plugins --skill rpcgen

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Generates strongly-typed RPC clients from OpenRPC or SMD schemas to simplify integration with external services and reduce boilerplate across languages.

Core Features & Use Cases

  • Language multipliers: Go, TypeScript, PHP, Swift, Kotlin, and Dart client generation from a single OpenRPC or SMD source.
  • On-demand client provisioning: generate language-specific clients for internal services or published contracts without manual stubs.
  • CI-friendly: supports diff tooling with OpenRPC schemas (rpcdiff) to catch breaking changes early.

Quick Start

Run rpcgen with -lang go -url http://localhost/rpc/ to generate a Go client from your OpenRPC endpoint.

Frequently Asked Questions about rpcgen

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

FAQPage Schema
How do I generate typed RPC clients from an OpenRPC schema?▼

You can generate strongly-typed RPC clients from OpenRPC or SMD schemas by running the rpcgen CLI with the -lang flag and providing a source via -url or -file to output client code for your target language.

What programming languages are supported for OpenRPC client generation?▼

OpenRPC client generation supports Go, TypeScript, PHP, Swift, Kotlin, and Dart, allowing you to generate strongly-typed clients from a single schema across multiple languages.

Can I check OpenRPC schema compatibility for breaking changes in CI?▼

Yes, you can check OpenRPC schema compatibility in your CI pipeline by using the rpcdiff tool to compare schemas and catch breaking changes early before deploying updates.

Do I need a local file to generate a Go client from OpenRPC?▼

No, you do not need a local file to generate a Go client; you can use the rpcgen CLI with the -url flag to fetch the OpenRPC schema directly from a live HTTP endpoint.

What is the best way to maintain consistent RPC contracts across multiple languages?▼

The best way to maintain consistent RPC contracts is to generate strongly-typed clients from a single OpenRPC or SMD schema, eliminating manual stubs and reducing boilerplate across multiple languages.

Why use SMD schemas for client generation instead of writing manual stubs?▼

Using SMD schemas for client generation eliminates manual stubs by automatically producing strongly-typed, language-specific clients, ensuring consistent service contracts and reducing integration boilerplate.