Agent skill

Use Protobuf

by moeru-ai in moeru-ai/auv

Design, change, and review Protobuf schemas used as gRPC contracts, streaming protocols, typed data models, grpc-gateway REST APIs, OpenAPI specifications, or generated SDK inputs.

Apache-2.0Auto-check passedBackend & APIs

Install Use Protobuf

skills CLI
$ npx skills add moeru-ai/auv --skill use-protobuf -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install moeru-ai/auv use-protobuf --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/moeru-ai/auv.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/use-protobuf .claude/skills/use-protobuf && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
use-protobuf
GitHub stars
100
Token cost
~1.6k tokens
SKILL.md length
722 words
Files
5 (incl. references)
Repo updated
First seen
Licence
Apache-2.0

At a glance

Design, change, and review Protobuf schemas used as gRPC contracts, streaming protocols, typed data models, grpc-gateway REST APIs, OpenAPI specifications, or generated SDK inputs.

  • Works in 7 steps: Read repository instructions and inspect… → Classify each service as gRPC-only or… → Model every RPC, stream packet, enum,… → …
  • RPC request/response design
  • SKILL.md covers Workflow, Define RPC Contracts Explicitly, Model Streaming Without Base… and Separate gRPC-Only and…, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Use Protobuf is an agent skill from moeru-ai/auv. Design, change, and review Protobuf schemas used as gRPC contracts, streaming protocols, typed data models, grpc-gateway REST APIs, OpenAPI specifications, or generated SDK inputs. Use for .proto files, RPC request/response design, oneof stream events, validation annotations, API versioning, schema evolution, generated package layout, and avoiding weak Struct or Any payloads.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `agents/openai.yaml`, `references/api-design-sources.md` and `references/http-and-openapi.md`).

It sits in Backend & APIs, covering gRPC and Protobuf. It works with gRPC. The repository describes itself as: 📱🐭 No we are not computer use, it's Application Use Via... a unified orchestration layer of OS automation, 0 token cost. The licence is Apache-2.0.

When your agent uses it

  • RPC request/response design
  • Oneof stream events
  • Validation annotations
  • Schema evolution

Example prompts

  • “/use-protobuf”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Read repository instructions and inspect existing .proto files, packages, versions, imports, generation configuration, and generated…
  2. Classify each service as gRPC-only or HTTP-exposed before adding annotations.
  3. Model every RPC, stream packet, enum, error, and reusable message with concrete types.
  4. Apply transport-specific validation and documentation rules.
  5. Evaluate compatibility according to the package's release state and version.
  6. Generate every configured SDK and OpenAPI artifact. Use $use-buf and $use-buf-plugins when available.
  7. Run repository tests and inspect generated diffs; never hand-edit generated code.

What it can do on your machine

Read from SKILL.md and the folder at commit 4042350. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are proto).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Use Protobuf loads about 1.6k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 98 tokens; SKILL.md has 722 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~98
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from moeru-ai/auv at commit 4042350, republished under its Apache-2.0 licence (© moeru-ai). 722 words, ~1,617 tokens.

Download SKILL.mdSave it as .claude/skills/use-protobuf/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
use-protobuf
description
Design, change, and review Protobuf schemas used as gRPC contracts, streaming protocols, typed data models, grpc-gateway REST APIs, OpenAPI specifications, or generated SDK inputs. Use for .proto files, RPC request/response design, oneof stream events, validation annotations, API versioning, schema evolution, generated package layout, and avoiding weak Struct or Any payloads.

Use Protobuf

Treat Protobuf as the canonical typed contract for gRPC, REST gateway bindings, OpenAPI, generated SDKs, and shared data structures. Model the domain before optimizing generated code.

Workflow

  1. Read repository instructions and inspect existing .proto files, packages, versions, imports, generation configuration, and generated output conventions.
  2. Classify each service as gRPC-only or HTTP-exposed before adding annotations.
  3. Model every RPC, stream packet, enum, error, and reusable message with concrete types.
  4. Apply transport-specific validation and documentation rules.
  5. Evaluate compatibility according to the package's release state and version.
  6. Generate every configured SDK and OpenAPI artifact. Use $use-buf and $use-buf-plugins when available.
  7. Run repository tests and inspect generated diffs; never hand-edit generated code.

Define RPC Contracts Explicitly

  • Define a dedicated RPC method for every gRPC operation.
  • Name unary messages MethodRequest and MethodResponse.
  • Keep request and response messages distinct even when their current fields happen to match.
  • Use TitleCase service, method, message, and enum names; use lower_snake_case fields and UPPER_SNAKE_CASE enum values.
  • Prefer comments that explain semantics, units, identity, presence, ordering, and lifecycle rather than restating the field name.
proto
rpc GetDocument(GetDocumentRequest) returns (GetDocumentResponse);

Model Streaming Without Base Payloads

Use the appropriate gRPC streaming form:

proto
rpc ImportRecords(stream ImportRecordsStreamRequest) returns (ImportRecordsResponse);
rpc WatchJob(WatchJobRequest) returns (stream WatchJobStreamResponse);
rpc Transfer(stream TransferStreamRequest) returns (stream TransferStreamResponse);

MUST NOT create an abstract, generic, inherited, or catch-all base event/base payload for stream requests or responses. Define concrete stream event, step, or packet messages. When several variants may occur, use oneof whose alternatives are separate messages. Use one homogeneous stream message only when every packet genuinely has the same body and semantics, such as fixed-shape file chunks.

Read references/schema-design.md before designing or changing any streaming RPC.

Separate gRPC-Only and HTTP-Exposed Schemas

For gRPC-only services, do not add google.api.http, grpc-gateway, or grpc.gateway.protoc_gen_openapiv2 imports, method options, message options, enum options, or field options.

For every *Request exposed through grpc-gateway, regardless of GET, POST, body, path, or query placement:

  • validate accepted input with buf.validate annotations;
  • document every request field with appropriate openapiv2 information such as example, description, format, range, length, pattern, or collection bounds;
  • keep runtime validation authoritative and make OpenAPI constraints agree with it;
  • define the google.api.http binding and operation documentation intentionally.

Do not hardcode a Buf cache path when researching extension fields. Follow the export/query workflow in references/http-and-openapi.md.

Prefer Strong Domain Types

  • Use an enum whenever the value belongs to a finite controlled vocabulary; do not disguise it as an unconstrained string.
  • Give enums an explicit zero value and document what the enum classifies.
  • Prefer dedicated messages, well-known types, repeated fields, maps, and oneof over google.protobuf.Struct or google.protobuf.Any.
  • Use Struct or Any only for a real open-world boundary. Document why typed modeling is impossible and how consumers validate the payload.
  • In Go, use protojson for Protobuf JSON and a registered type resolver for Any; do not route Protobuf through generic encoding/json. Research the canonical library for every other target language before implementing serialization.
Show full SKILL.md (257 more words)Show less

Organize and Version Schemas

  • Set go_package on first-party schemas that generate Go.
  • Keep language-neutral source paths and verify Python output with protoc-gen-python plus protoc-gen-pyi. Do not assume a kebab-case Protobuf source/import path automatically makes Python output invalid, and do not rename the source tree merely out of fear that it might violate Python module conventions; generate and verify the selected plugins' actual module/import behavior.
  • Put API versions in both package and directory identity, using forms such as v1, v2, v1alpha1, or v1beta1.
  • Before release, while a feature is explicitly experimental or feature-flagged, allow deliberate breaking redesigns and field renumbering only when every producer, consumer, stored payload, and generated artifact can be rebuilt together.
  • After release, never renumber or reuse field numbers. Reserve removed field numbers and names, and introduce a new version for incompatible redesigns.
  • Keep generated Go packages, Python modules, TypeScript modules, and other SDK paths aligned with the source schema path. Preserve each language plugin's conventional leaf layout.
  • Change output directories or flattening only when the user explicitly requests it or the repository already declares that convention in generation configuration.

Generate Complete SDK Surfaces

  • Generate runtime code and the language's customary typing artifacts.
  • For Python, generate .py plus .pyi when supported.
  • For TypeScript, generate .ts or the ecosystem-appropriate .d.ts/.d.mts artifacts.
  • Prefer the established generator for each language and OpenAPI ecosystem. Do not write a parallel custom generator or manually maintain generated output.

Read references/schema-design.md for complete modeling and evolution rules, references/http-and-openapi.md for gateway schemas, and references/api-design-sources.md when designing public resources, errors, pagination, or long-running operations.

© moeru-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in .agents/skills/use-protobuf of moeru-ai/auv.

  • SKILL.md
  • agents/openai.yaml
  • references/api-design-sources.md
  • references/http-and-openapi.md
  • references/schema-design.md

Open the folder on GitHubat commit 4042350

Compare with similar skills

Use Protobuf next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Use Protobuf compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Use Protobuf this skillmoeru-ai/auv100—~1.6kAutomated safety check: PassApache-2.0
Use Yaakmountain-loop/yaak19k—~1.9kAutomated safety check: PassMIT
Golang Proantoniopaya22/go-rest-template1723 repos~1.2kAutomated safety check: PassMIT
Debug Grpc ConnectionGetBindu/Bindu10k—~1.2kAutomated safety check: PassCustom licence
Aspnet Corefanslead/ReverseProxy.Store1612 repos~1.4kAutomated safety check: PassApache-2.0
Regenerate Grpc StubsGetBindu/Bindu10k—~810Automated safety check: PassCustom licence

Similar skills

  • Use Yaak

    mountain-loop/yaak

    A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…

    19k GitHub stars~1.9k tokensUpdated today
    Backend & APIsAuto-check passed
  • Golang Pro

    antoniopaya22/go-rest-template

    Implements concurrent Go patterns using goroutines and channels, designs and builds microservices with gRPC or REST, optimizes Go application performance with pprof, and enforces idiomatic Go with…

    172 GitHub starsUsed in 3 repos~1.2k tokens
    Backend & APIsAuto-check passed
  • Debug Grpc Connection

    GetBindu/Bindu

    Diagnose gRPC connection issues between the Bindu core and a language SDK.

    10k GitHub stars~1.2k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Aspnet Core

    fanslead/ReverseProxy.Store

    Build, review, refactor, or architect ASP.NET Core web applications using current official guidance for .NET web development.

    161 GitHub starsUsed in 2 repos~1.4k tokens
    Backend & APIsAuto-check passed
  • Regenerate Grpc Stubs

    GetBindu/Bindu

    Regenerate Python + TypeScript gRPC stubs after editing proto files.

    10k GitHub stars~810 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Spider King

    aoyunyang/spider-king-skill

    Pure-web protocol reverse skill: turn hostile browser clients into browser-free Python collectors.

    509 GitHub stars~7.3k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed

More from moeru-ai/auv

All 8 skills in this repo
  • Prepare, diagnose, and validate Linux GPU and Wayland environments for AUV rendering and capture through XDG Desktop Portal and PipeWire.

    100 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Use Buf

    moeru-ai/auv

    Configure, inspect, update, validate, and troubleshoot Buf workspaces and modules.

    100 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Domain CLI

    moeru-ai/auv

    A skill your agent uses when building CLI tools. An agent skill from moeru-ai/auv.

    100 GitHub starsUsed in 1 repo~988 tokens
    Auto-check passed
  • A skill your agent uses when building cloud-native apps. An agent skill from moeru-ai/auv.

    100 GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed
  • Domain ML

    moeru-ai/auv

    A skill your agent uses when building ML/AI apps in Rust. An agent skill from moeru-ai/auv.

    100 GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed
  • Use Pixi

    moeru-ai/auv

    A skill your agent uses when explaining, creating, or changing a Pixi workspace, including manifests, dependencies, platforms, targets, features, environments, tasks, lockfiles, editable Python…

    100 GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Use Protobuf

What does Use Protobuf do?

Design, change, and review Protobuf schemas used as gRPC contracts, streaming protocols, typed data models, grpc-gateway REST APIs, OpenAPI specifications, or generated SDK inputs. Use Protobuf is an agent skill from moeru-ai/auv. Design, change, and review Protobuf schemas used as gRPC contracts, streaming protocols, typed data models, grpc-gateway REST APIs, OpenAPI specifications, or generated SDK inputs.

When should I use Use Protobuf?

Use Protobuf fits situations like: RPC request/response design; oneof stream events; validation annotations; schema evolution.

How do I install Use Protobuf in Claude Code?

Run `npx skills add moeru-ai/auv --skill use-protobuf -a claude-code`. Or copy the skill folder (.agents/skills/use-protobuf in moeru-ai/auv) into .claude/skills/use-protobuf in your project. Claude Code loads it when a task matches its description.

How do I install Use Protobuf in Codex?

Run `npx skills add moeru-ai/auv --skill use-protobuf -a codex`. Or copy the skill folder (.agents/skills/use-protobuf in moeru-ai/auv) into .agents/skills/use-protobuf in your project. Codex loads it when a task matches its description.

Can I use Use Protobuf in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add moeru-ai/auv --skill use-protobuf -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/use-protobuf, .gemini/skills/use-protobuf, .github/skills/use-protobuf and .opencode/skills/use-protobuf in your project.

What does Use Protobuf need to run?

SKILL.md names no scripts, command-line tools or credentials: Use Protobuf is instructions for the agent only. Our summary lists: Python 3.

Does Use Protobuf access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Use Protobuf safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Use Protobuf use?

Use Protobuf is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Use Protobuf use?

About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.9k tokens, read only when the agent opens those files.

What are the alternatives to Use Protobuf?

Skills that share tags, products or a category with Use Protobuf: Use Yaak (mountain-loop/yaak, 19k stars), Golang Pro (antoniopaya22/go-rest-template, 172 stars), Debug Grpc Connection (GetBindu/Bindu, 10k stars) and Aspnet Core (fanslead/ReverseProxy.Store, 161 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Use Protobuf?

moeru-ai (a GitHub organization) maintains it in moeru-ai/auv, which has 100 GitHub stars. The repository was last updated on October 11, 2026.

Source: moeru-ai/auv on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.