go-backend-microservices — скилл для Claude Code: обзор и установка
Набор инструкций для ИИ-агентов по разработке микросервисов на Go. Помогает строить чистую архитектуру, внедрять OpenTelemetry и настраивать структурированное логирование.
npx skills add Mindrally/skills --skill go-backend-microservices -a claude-codeЧто делает go-backend-microservices
Скилл задаёт агенту инженерные стандарты для Go. Он предписывает делить проект на каталоги cmd/, internal/, pkg/, api/, configs/ и test/. Бизнес-логику агент организует по слоям через интерфейсы и внедрение зависимостей, исключая прямое связывание хендлеров с базой данных. Для ошибок требуются явные проверки и оборачивание через fmt.Errorf("context: %w", err).
В код добавляются контексты первым аргументом функций, таймауты внешних вызовов и корректное завершение горутин с воркер-пулами. Мониторинг ориентирован на OpenTelemetry: трейсинг со спанами, метрики Prometheus и логирование с trace ID. Для тестов скилл заставляет писать табличные проверки и подключать testcontainers к интеграционным сценариям.
Правила опираются на линтер golangci-lint. Если линтер не настроен в CI, агент всё равно будет генерировать код под его требования.
Какие задачи решает
- спроектировать структуру микросервиса на Go по чистой архитектуре
- внедрить распределённый трейсинг OpenTelemetry и сбор метрик Prometheus
- написать табличные юнит-тесты и интеграционные тесты с testcontainers
- организовать безопасную работу с горутинами и graceful shutdown
Примеры запросов агенту
- Разложи сервис аутентификации на слои handlers, services и repositories с внедрением зависимостей.
- Добавь спаны OpenTelemetry и структурированное логирование с trace ID во все вызовы базы данных.
- Напиши табличные тесты для функции проверки JWT-токенов с параллельным выполнением.
Как установить go-backend-microservices
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill go-backend-microservices -a claude-code2Вручную: положить файлы
~/.claude/skills/go-backend-microservices/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/go-backend-microservices/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill go-backend-microservices -a codex2Вручную: положить файлы
.agents/skills/go-backend-microservices/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill go-backend-microservices -a cursor2Вручную: положить файлы
.cursor/skills/go-backend-microservices/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills go-backend-microservices2Вручную: положить файлы
.github/skills/go-backend-microservices/SKILL.md1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill go-backend-microservices -a gemini-cli2Командой платформы
gemini skills install https://github.com/Mindrally/skills --path go-backend-microservicesВручную: положить файлы
.devin/skills/go-backend-microservices/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill go-backend-microservices -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о go-backend-microservices
Как установить go-backend-microservices в Claude Code?
Выполните команду npx skills add Mindrally/skills --skill go-backend-microservices -a claude-code. Файл с правилами появится по пути ~/.claude/skills/go-backend-microservices/SKILL.md.
Какую структуру каталогов задаёт скилл?
Проект организуется через папки cmd/ для точек входа, internal/ для закрытого кода сервиса, pkg/ для публичных библиотек и api/ для схем OpenAPI или Protobuf.
Что скилл требует для наблюдаемости и мониторинга?
Он регламентирует сквозную трассировку через OpenTelemetry, сбор метрик в формате Prometheus и структурированные логи с обязательными идентификаторами трейсов.
Исходный текст
SKILL.md · Apache-2.0
---
name: go-backend-microservices
description: Go backend development best practices for microservices with clean architecture, observability, and production-ready patterns
metadata:
maintainer: Mindrally
source: https://github.com/Mindrally/skills
---
# Go Backend Development for Microservices
## Core Principles
- Apply Clean Architecture with clear separation into handlers, services, repositories, and domain models
- Prioritize interface-driven development with explicit dependency injection
- Write short, focused functions with a single responsibility
- Ensure safe use of goroutines, and guard shared state with channels or sync primitives
## Project Structure
Maintain modular project structure with clear directories:
```
project/
├── cmd/ # Application entry points
├── internal/ # Private application code
├── pkg/ # Public library code
├── api/ # API definitions (OpenAPI, protobuf)
├── configs/ # Configuration files
└── test/ # Additional test utilities
```
## Error Handling
- Always check and handle errors explicitly
- Use wrapped errors for traceability: `fmt.Errorf("context: %w", err)`
- Create custom error types for domain-specific errors
- Return errors up the call stack with appropriate context
- Log errors at the appropriate level with sufficient context
## Context Propagation
- Use context propagation for request-scoped values, deadlines, and cancellations
- Pass context as the first parameter to functions
- Respect context cancellation in long-running operations
- Set appropriate timeouts for external calls
## Observability
Implement OpenTelemetry for comprehensive observability:
### Distributed Tracing
- Add spans for significant operations
- Propagate trace context across service boundaries
- Include relevant attributes in spans
### Metrics
- Implement custom metrics for business operations
- Use standard metric types (counters, gauges, histograms)
- Export metrics in Prometheus format
### Structured Logging
- Use structured logging with consistent field names
- Include trace IDs in log entries
- Log at appropriate levels (debug, info, warn, error)
## Security
- Apply input validation rigorously on all external inputs
- Use secure defaults for JWT tokens and cookies
- Implement proper authentication and authorization
- Sanitize data before logging to avoid leaking sensitive information
- Use prepared statements for database queries
## Testing
### Unit Tests
- Write table-driven unit tests with adequate coverage
- Use parallel test execution where safe
- Mock external dependencies using interfaces
- Focus on testing business logic
### Integration Tests
- Separate integration tests from unit tests
- Use test containers for database and service dependencies
- Test actual API endpoints and responses
## Concurrency
- Use goroutines appropriately for concurrent operations
- Guard shared state with channels or sync primitives
- Implement proper graceful shutdown
- Use worker pools for bounded concurrency
## Documentation
- Document with GoDoc-style comments
- Keep comments up to date with code changes
- Document public APIs thoroughly
- Include examples in documentation where helpful
## CI/CD Integration
- Maintain CI integration for linting and testing
- Use golangci-lint for comprehensive linting
- Run tests on every pull request
- Include code coverage reporting
© Mindrally · Apache-2.0 · Mindrally/skills