# protobuf

Помогает писать и проверять .proto-файлы, настраивать buf и разбирать ошибки линтера. Пригодится, если проект уже на Protocol Buffers.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 539 установок · ★ 20
- Автор: bufbuild
- Лицензия: Apache-2.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/bufbuild/claude-plugins/tree/HEAD/plugins/protobuf/skills/protobuf/SKILL.md
- Обновлён: 2026-09-17
- HTML: https://affpapa.org/nevibecode/skills/protobuf

## Что делает

Скилл включается, когда в работе появляются `.proto`, `buf.yaml`, `buf.gen.yaml` или `buf.lock`. Он закрывает проектирование схем, сервисы gRPC и Connect, ограничения protovalidate и разбор ошибок `buf lint` и breaking changes.

Внутри набор справочников: быстрый обзор типов полей и oneof, best practices по эволюции схемы, шаблоны `buf.gen.*.yaml` под Go, TypeScript, Python и Java, примеры сервисов и чек-лист ревью proto API. Перед написанием кода скилл советует посмотреть существующие `.proto` в проекте и повторить их стиль; если файлов нет, он спросит у вас, на что ориентироваться.

После правок он прогоняет `buf format -w && buf lint`, а при изменении существующей схемы добавляет `buf breaking --against '.git#branch=main'`. Сначала стоит проверить, нет ли в проекте Makefile с `make lint` или `make format`. Для production-API скилл требует ограничения protovalidate на каждое поле — без них проверка не считается законченной.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add bufbuild/claude-plugins --skill protobuf -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/protobuf/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/protobuf/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add bufbuild/claude-plugins --skill protobuf -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/protobuf/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add bufbuild/claude-plugins --skill protobuf -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/protobuf/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install bufbuild/claude-plugins protobuf
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/protobuf/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add bufbuild/claude-plugins --skill protobuf -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/bufbuild/claude-plugins --path plugins/protobuf/skills/protobuf
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/protobuf/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add bufbuild/claude-plugins --skill protobuf -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/bufbuild/claude-plugins/tree/HEAD/plugins/protobuf/skills/protobuf/SKILL.md

## Когда брать
- написать `.proto` в стиле, принятом в проекте
- поднять `buf.yaml` и `buf.gen.yaml` с нуля
- добавить ограничения protovalidate на поля
- разобрать ошибки `buf lint` и breaking changes
- удалить поле, не сломав совместимость схемы

## Примеры запросов агенту
- добавь поле в `service.proto` и поставь ограничения protovalidate
- почему падает `buf lint` в этом файле
- сгенерируй конфиг кодогенерации под Go с Connect

## Похожие
- [public-grpc-api-design](https://affpapa.org/nevibecode/skills/public-grpc-api-design.md) — скилл · 7800 установок
- [protobuf-grpc-api-review](https://affpapa.org/nevibecode/skills/protobuf-grpc-api-review.md) — скилл · 7 установок
- [golang-grpc](https://affpapa.org/nevibecode/skills/golang-grpc.md) — скилл · 39200 установок
- [grpc-development](https://affpapa.org/nevibecode/skills/grpc-development.md) — скилл · 755 установок
- [grpc-service-development](https://affpapa.org/nevibecode/skills/grpc-service-development.md) — скилл · 527 установок
- [golang-pro](https://affpapa.org/nevibecode/skills/httpsgithubcomjeffallan-golang-pro.md) — скилл · 19000 установок

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
