본문으로 건너뛰기
cccskills
무료GitHub에 공개

protobuf

Use when working with Protocol Buffer (.proto) files, buf.yaml, buf.gen.yaml, or buf.lock. Covers proto design, buf CLI, gRPC/Connect services, protovalidate constraints, schema evolution, and troubleshooting lint/breaking errors.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(21)

  • SKILL.md4.5 KB
  • assets/buf.gen.go-connect.yaml596 B
  • assets/buf.gen.go.yaml532 B
  • assets/buf.gen.java.yaml416 B
  • assets/buf.gen.python.yaml312 B
  • assets/buf.gen.ts.yaml304 B
  • assets/buf.gen.yaml841 B
  • assets/buf.lock283 B
  • assets/buf.yaml239 B
  • assets/Makefile.example217 B
  • assets/proto/example/v1/book_service.proto4.9 KB
  • assets/proto/example/v1/book.proto1.8 KB
  • references/best_practices.md14.8 KB
  • references/buf_toolchain.md9.1 KB
  • references/examples.md1.2 KB
  • references/migration.md5.1 KB
  • references/protoc_toolchain.md5.0 KB
  • references/protovalidate.md13.6 KB
  • references/quick_reference.md5.1 KB
  • references/review_checklist.md6.5 KB
  • references/troubleshooting.md9.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Protocol Buffers

When You Need This Skill

  • Creating or editing .proto files
  • Setting up buf.yaml or buf.gen.yaml
  • Designing gRPC or Connect services
  • Adding protovalidate constraints
  • Troubleshooting buf lint or breaking change errors

Core Workflow

1. Match Project Style

Before writing proto code, review existing .proto files in the project. Match conventions for naming, field ordering, structural patterns, validation, and documentation style. If none exists, ask the user what style should be used or an existing library to emulate.

2. Write Proto Code

3. Verify Changes

Always run after making changes:

buf format -w && buf lint

Check for a Makefile first—many projects use make lint or make format.

Fix all errors before considering the change complete.

Quick Reference

TaskReference
Field types, enums, oneofs, mapsquick_reference.md
Schema evolution, breaking changesbest_practices.md
Validation constraintsprotovalidate.md
Complete service examplesexamples.md, assets/
buf CLI, buf.yaml, buf.gen.yamlbuf_toolchain.md
Migrating from protocmigration.md
Lint errors, common issuestroubleshooting.md
Proto API review checklistreview_checklist.md

Project Setup

New Project

  1. Create directory structure:

    proto/
    ├── buf.yaml
    ├── buf.gen.yaml
    └── company/
        └── domain/
            └── v1/
                └── service.proto
    
  2. Use assets/buf.yaml as starting point

  3. Add buf.build/bufbuild/protovalidate as a dependency in buf.yaml and run buf dep update

  4. Use assets/buf.gen.*.yaml for code generation config

Code Generation Templates

TemplateUse For
buf.gen.go.yamlGo with gRPC
buf.gen.go-connect.yamlGo with Connect
buf.gen.ts.yamlTypeScript with Connect
buf.gen.python.yamlPython with gRPC
buf.gen.java.yamlJava with gRPC

Proto File Templates

Located in assets/proto/example/v1/:

TemplateDescription
book.protoEntity message, BookRef oneof, enum
book_service.protoFull CRUD with batch ops, pagination, ordering

Common Tasks

Add a new field

  1. Use next sequential field number
  2. Add protovalidate constraints: every field should have validation appropriate to its type (format validators, length bounds, numeric ranges, enum constraints, etc.)
  3. Document the field
  4. Run buf format -w && buf lint

Remove a field

  1. Reserve the field number AND name:
    reserved 4;
    reserved "old_field_name";
    
  2. Run buf breaking --against '.git#branch=main' to verify

Add protovalidate constraints

Every field in a production API should have appropriate validation. See protovalidate.md for the full reference.

Common constraints:

  • String formats: .string.uuid, .string.email, .string.uri, .string.pattern
  • String bounds: .string.min_len, .string.max_len
  • Numeric bounds: .int32.gte, .uint32.lte
  • Enum validation: .enum.defined_only, .enum.not_in = 0
  • Repeated bounds: .repeated.min_items, .repeated.max_items
  • Required fields: (buf.validate.field).required = true
  • Oneof required: (buf.validate.oneof).required = true

Verification Checklist

After making changes:

  • Every field has appropriate protovalidate constraints
  • buf format -w (apply formatting)
  • buf lint (check style rules)
  • buf breaking --against '.git#branch=main' (if modifying existing schemas)

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

wordbricks/onequery172026년 7월 30일 업데이트

A scoring scale for evaluating how well a CLI is designed for AI agents, based on the "Rewrite Your CLI for AI Agents" principles.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

wordbricks/onequery172026년 7월 30일 업데이트

Score a repository's agentic legibility from repo-visible evidence only. Use when Codex needs to audit how easy a codebase is for coding agents to discover, bootstrap, validate, and navigate, especially for harness-engineering reviews, developer-experience audits, repo cleanup, or before/after comparisons after improving docs, tooling, or architectural constraints.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

wordbricks/onequery172026년 7월 30일 업데이트

astro

무료

Expert in Astro framework with static generation and partial hydration patterns

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

wordbricks/onequery172026년 7월 30일 업데이트

Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep watching open PRs so fresh review feedback is surfaced promptly. Use when the user asks Codex to monitor a PR, watch CI, handle review comments, or keep an eye on failures and feedback on an open PR.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

wordbricks/onequery172026년 7월 30일 업데이트

Adopt better-result in an existing TypeScript codebase. Use when replacing try/catch, Promise rejection handling, null sentinels, or thrown domain exceptions with typed Result workflows.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

wordbricks/onequery172026년 7월 30일 업데이트

wordbricks의 스킬 모두 보기

이 스킬의 문제 신고