Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

proto-api-generatorproto API 生成器

Agent Skill

用于辅助 API 设计、接口文档、请求响应结构和服务集成说明。它适合让 Agent 梳理 endpoint、生成 OpenAPI 草稿、检查字段命名、整理错误码或辅助前后端联调。使用时需要确认真实业务语义、鉴权方式、分页和错误处理规则;涉及生成接口文档时,应避免凭空补字段,最好从现有代码、schema 或接口样例中提取事实。

总安装

524

周安装

21

GitHub Stars

公开资料未说明

下载量

170
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:proto-api-generator(proto API 生成器)
来源仓库:https://github.com/go-sphere/skills
仓库路径:skills/proto-api-generator
安装命令:
npx skills add https://github.com/go-sphere/skills --skill proto-api-generator
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/go-sphere/skills --skill proto-api-generator

简介

用于辅助 API 设计、接口文档和错误码整理,帮助 Agent 生成 OpenAPI 草稿。

  • 适合梳理 endpoint、检查字段命名和鉴权方式,支持前后端联调。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,需确认权限范围和维护状态。
  • 涉及生成接口文档时应避免凭空补字段,最好从现有代码或 schema 中提取事实。
  • proto-api-generator 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Proto API Generator

Design implementation-ready proto3 + HTTP contracts for go-sphere scaffold projects.

If any of these are missing, ask one question at a time before proceeding. When a design decision has multiple reasonable options (message type, route strategy, pagination shape), present 2-3 options with your recommendation — do not choose unilaterally.

Operating Model

  1. Follow go-sphere scaffold conventions unless the user explicitly requests deviation.
  2. Treat local references as the working source of truth for scaffold rules, runtime behavior, and output shape.
  3. Keep outputs protocol-first; do not rely on lint plugins, scripts, or manual edits to generated files as substitutes for reasoning checks.

Checklist (track with TodoWrite)

At task start, call TodoWrite to create a task for each numbered item below. Mark each complete before moving to the next.

  1. Confirm module name, file mode (new / add to existing), and message strategy — through dialogue with the user, not by inferring from context
  2. Ask clarifying questions one at a time for any ambiguous scope or behavior
  3. For non-obvious decisions, propose 2-3 options with recommendation
  4. Present service overview (service name, RPC list) — get approval
  5. Present message designs section by section — get approval for each
  6. Run Final Gate checklist (references/go-sphere-api-definitions-checklist.md)
  7. Write the API design doc to disk (prd/API.md or design/<feature>/api.md)
  8. Ask if the user wants to proceed to proto file generation

Output path rule: Use design/<feature>/api.md if the user names a specific feature or change-id; default to prd/API.md otherwise.

Task Intake

Supported task inputs:

  1. Prompt-only: infer entities and use cases, then state assumptions explicitly.
  2. Folder input: inspect only the provided folders; prefer scaffold-standard structure (proto/, internal/, api/) when present.
  3. Requirement + mock demo: treat requirement docs as business truth, mock payloads as response-shape truth, and Ent schema as implementation reference rather than contract mirror.

Progressive Reference Loading

Do not load every reference by default. Load the smallest set that can support the current decision.

Start Here

  1. references/repo-proto-conventions-reference.md Use for package style, route namespace strategy, pagination defaults, reuse policy, naming compatibility, and topology rules.

Load Only When Needed

  1. Final output shape selection or final formatting: references/proto-output-template.md Then load exactly one template:

- references/proto-output-condensed-template.md - references/proto-output-full-template.md

  1. Service routes, path templates, or backend portability: references/router-conflict-reference.md
  2. HTTP method, binding, body, or response shaping: references/go-sphere-api-definitions-reference.md
  3. Error enums, sphere.errors, or runtime error behavior: references/go-sphere-error-handling-reference.md
  4. Package layout, codegen pipeline, or runtime assumptions: references/protocol-and-codegen-reference.md references/proto-packages-and-runtime-reference.md

Final Gate

  1. references/go-sphere-api-definitions-checklist.md

If any required check fails, stop and output Validation Notes -> Blocking Issues with corrected proposals. Do not replace local references with external links in final outputs.

Core Decisions

File Mode

Classify each target proto file as one of:

  1. service proto: contains a service definition.
  2. message-only proto: contains messages or enums only.

Mode handling:

  1. service proto must satisfy service-only topology, route, and error-placement rules.
  2. message-only proto is allowed and must record service-only exemptions explicitly.
  3. Both modes must still satisfy naming, import, runtime, and codegen compatibility checks.

Reuse Order

Default reuse priority:

  1. Reuse entpb when it already satisfies external contract needs.
  2. Reuse or extract shared.v1 messages for cross-service usage.
  3. Create custom DTO or VO only when contract shaping requires it.

Use custom DTO or VO only when at least one condition is true:

  1. Sensitive or internal fields must be hidden.
  2. Cross-aggregate composition is required.
  3. External contract stability must be isolated from storage model changes.

Error Placement Default

  1. Keep service-specific business errors in the same proto file as the owning service.
  2. Reuse or create shared errors only for cross-service semantics.
  3. For message-only proto, skip service-local error placement rules but still validate runtime and import compatibility.

Workflow

  1. Classify each target file by mode.
  2. Read scaffold conventions first and choose package style, service prefix, and compatibility constraints before drafting.
  3. Decide reuse (entpb, shared.v1, custom DTO or VO`) before finalizing message shapes.
  4. For service proto, define business use cases, HTTP bindings, route-safe paths, and error enums.
  5. For message-only proto, draft messages and enums only, then record service-only exemptions in validation notes.
  6. Load detailed HTTP, error, router, or runtime references only when the draft actually depends on them.
  7. Choose the deliverable shape late:

- use the condensed template for straightforward CRUD with clear reuse and routing; - use the full template for custom business logic, multiple services, complex routing, or heavy validation notes.

  1. Run the final checklist before delivery.

Non-Negotiables

Keep these principles in mind throughout the task. Detailed rule text lives in the references and checklist.

  1. Design business capability first; avoid table-mirror public contracts.
  2. List APIs require pagination; batch APIs are preferred over repeated single reads.
  3. Avoid oneof in HTTP-exposed request or response messages.
  4. Keep error contracts machine-readable and stable.
  5. Do not leak sensitive or storage-only fields into external contracts.
  6. Keep routes conflict-safe; when backend is unknown, design for the Gin-safe subset first.
  7. Add concise // business comments for exposed service/rpc, core messages, and key enum values.

Mandatory Pre-Output Checklist

BEFORE writing the final proto file, you MUST verify all of the following:

Package Naming Check

  • Package name follows scaffold convention: dash.v1 for generic, or {module}.v1 for domain-specific (e.g., user.v1, order.v1, article.v1)
  • Package declaration is in the format package {name}.v1;

HTTP Binding Check

  • Every RPC method has option (google.api.http) annotation
  • HTTP method (get/post/put/delete) matches the operation semantics
  • Route path follows REST conventions with proper path parameters

Error Handling Check

  • Service proto files MUST include a service-local error enum (e.g., ArticleError, OrderError, AuthError)
  • Error enum uses (sphere.errors.options) annotation with proper status codes
  • At minimum, include NOT_FOUND and INVALID_PARAMETER error codes

Field Type Check

  • ID fields use int64 (not string)
  • Timestamps use google.protobuf.Timestamp
  • Pagination uses page/page_size with total_size/total_page in response

Validation Check

  • Required fields have (buf.validate.field) constraints
  • String fields have min_len or min_bytes where appropriate
  • Numeric fields have gte/lte bounds where appropriate

Reuse Check

  • Consider using entpb messages when they match contract needs
  • Consider using shared.v1 for cross-service messages

If ANY check fails, fix the proto file before delivering. Do not output proto files that fail these checks.

Output

Use references/proto-output-template.md only as the template selector. Before final formatting, load exactly one of:

  1. references/proto-output-condensed-template.md
  2. references/proto-output-full-template.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.26%
按下载量换算60

Claude

33.15%
按下载量换算56

Cursor

18.7%
按下载量换算32

Gemini CLI

9.78%
按下载量换算17

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills