Gemini api
A lightweight, secure executor for Claude Agent Skills. Inspired by OpenClaw but strictly designed with zero-trust whitelisting, written in Rust.
npx -y skills add stephen94125/peon-lib --skill gemini-apiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Provides the official Protobuf specifications and gRPC/REST service definitions for the Gemini API (Google Generative Language API v1beta). Use this skill when you need precise schema definitions for requests/responses (e.g., GenerateContent, Tools, FunctionCalling), multimodal content structures (Content, Part), context caching, model metadata, safety settings, or file uploads.
SKILL.md
3.3 KB, as published. Nobody here has run it
Gemini API Documentation (Protobuf Definitions)
This skill provides the official v1beta Protobuf definitions for the Google Generative Language API (Gemini). These files contain the absolute source of truth for API capabilities, request/response structures, and schema definitions.
When to use these references
When implementing or debugging Gemini API clients (such as in Rust, Go, or other languages), refer to these files for the exact structure of messages, enums, and RPC methods.
Core Services & Schemas
The .proto files are located in references/. Here is a guide on where to look for specific features:
Content Generation & Tools
generative_service.proto: Contains the coreGenerateContentRequestandGenerateContentResponse. Look here for tool configurations, system instructions, and generation configurations.content.proto: Defines theContent,Part,FunctionCall,FunctionResponse,Tool, andToolConfigstructures. Essential for understanding how to construct multimodal payloads and function calling schemas.safety.proto: DefinesHarmCategory,SafetySetting, andSafetyRatingenums and messages.
Models & Metadata
model.proto: Defines theModelmessage, including properties likeinput_token_limit,output_token_limit, and supported generation methods.model_service.proto: RPCs for listing and getting models (GetModel,ListModels).
Context Caching
cached_content.proto: Defines theCachedContentresource for caching large prompts.cache_service.proto: RPCs for managing cached contents (CreateCachedContent,UpdateCachedContent, etc.).
File API (Multimodal Uploads)
file.proto: Defines theFileresource representing uploaded media (video, images, documents).file_service.proto: RPCs for the File API (CreateFile,ListFiles,GetFile,DeleteFile).
Semantic Retrieval (RAG/AQA)
retriever.proto/retriever_service.proto: Definitions for Corpora, Documents, Chunks, and operations like Semantic Search and Attributed Question Answering (AQA).
Fine-tuning
tuned_model.proto: Definitions for tuning jobs and datasets.permission.proto/permission_service.proto: Access control for tuned models and corpora.
Legacy / PaLM Services
discuss_service.proto/text_service.proto/prediction_service.proto: Older APIs (likeGenerateMessageorGenerateText), primarily for PaLM 2 models. Usually not needed for modern Gemini implementations.
How to use
If you need to know the exact field names, types, or enums (e.g., "Does ToolConfig take a string or an enum for function calling mode?"), use grep_search or view the relevant file in the references/ directory.
Example: If implementing function calling, check content.proto for FunctionCall and generative_service.proto for where tools is placed in the GenerateContentRequest.