go-pro-max 标准
Go development intelligence. 12 domains, 10 stacks, 300+ entries. Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check Go code. Domains: pattern, package, error, perf, test, concurrency, interface, arch, idiom, anti, tooling, module. Stacks: web-gin, web-echo, web-fiber, web-stdlib, cli, grpc, database, microservice, cloud-native, data-pipeline. Integrations: arch_system generator.
安装方式
cp -r skills/go ~/.claude/skills/go把该 skill 目录放进客户端 skills 目录。不同客户端的目录可能不同,Claude Code 默认是 ~/.claude/skills/
https://raw.githubusercontent.com/vurakit/agentup/b072685fa24d498902735537485f31e422721fe9/skills/go/SKILL.md下载后另存为 ~/.claude/skills/go/SKILL.md。链接锁定采集时的 commit,内容与本站展示一致。
整仓一次性获取:git clone --depth 1 https://github.com/vurakit/agentup.git
依赖与权限
- 无需 API Key
- 无需联网
- 依赖外部命令:
python3dockergo - 以上为按正文与 frontmatter 自动推断的信号,仅供参考;安装前建议先阅读原文。
SKILL.md 正文
Go Pro Max - Backend Generator
When User Requests Go Work
Follow this workflow for every Go-related task:
1. Analyze Requirements
Extract from the user's request:
- Project type: REST API, CLI, microservice, library, serverless
- Domain: web, database, gRPC, messaging
- Constraints: stdlib only? specific framework? Kubernetes?
- Scale: small project, enterprise, library
Default Stack (always use unless user specifies otherwise)
| Component | Default | Package |
|---|---|---|
| Database | PostgreSQL | github.com/lib/pq |
| Router | Chi v5 | github.com/go-chi/chi/v5 |
| Auth | JWT | github.com/golang-jwt/jwt/v5 |
| Query | database/sql | stdlib |
| Migration | Raw SQL files | migrations/*.sql |
| Config | ENV vars | os.LookupEnv |
| Deploy | Docker Compose | Dockerfile + docker-compose.yml |
Project structure: Domain-driven layout:
cmd/api/main.go
internal/config/ — env config
internal/domain/ — structs + request types
internal/handler/ — HTTP handlers (Chi)
internal/service/ — business logic
internal/repository/ — PostgreSQL queries
internal/middleware/ — auth, cors, logger
migrations/ — SQL migration files
2. Generate Architecture System (REQUIRED for new projects)
python3 skills/go/scripts/search.py "<project description>" --arch-system -p "ProjectName"
This gives you: architecture, packages, error strategy, patterns, structure, testing approach.
3. Supplement with Domain Searches
Based on the project needs, search relevant domains:
# Patterns for the task
python3 skills/go/scripts/search.py "functional options config" --domain pattern
# Error handling approach
python3 skills/go/scripts/search.py "error wrapping context" --domain error
# Concurrency patterns
python3 skills/go/scripts/search.py "worker pool bounded" --domain concurrency
# Performance tips
python3 skills/go/scripts/search.py "http connection pooling" --domain perf
# Testing patterns
python3 skills/go/scripts/search.py "table driven httptest" --domain test
4. Stack Guidelines
If using a specific framework/stack:
python3 skills/go/scripts/search.py "middleware authentication" --stack web-gin
python3 skills/go/scripts/search.py "cobra subcommands config" --stack cli
python3 skills/go/scripts/search.py "interceptor logging" --stack grpc
5. Implement
Apply all recommendations from the search results:
- Use recommended architecture and project structure
- Apply patterns (Functional Options, Repository Interface, etc.)
- Follow error handling strategy
- Implement proper concurrency patterns
- Add tests following testing strategy
6. Always Generate Docker Files
Every project MUST include these files:
Dockerfile (multi-stage build):
FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o /bin/api ./cmd/api
FROM alpine:3.20
RUN apk add --no-cache ca-certificates tzdata
COPY --from=builder /bin/api /bin/api
COPY migrations/ /app/migrations/
EXPOSE 8080
CMD ["/bin/api"]
docker-compose.yml (API + PostgreSQL):
services:
api:
build: .
ports:
- "8080:8080"
environment:
- DATABASE_URL=postgres://postgres:postgres@db:5432/appdb?sslmode=disable
- JWT_SECRET=change-me
- PORT=8080
depends_on:
db:
condition: service_healthy
db:
image: postgres:16-alpine
ports:
- "5432:5432"
environment:
POSTGRES_DB: appdb
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- pgdata:/var/lib/postgresql/data
- ./migrations:/docker-entrypoint-initdb.d
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
volumes:
pgdata:
Makefile (must include):
dev:
go run ./cmd/api
build:
go build -o bin/api ./cmd/api
test:
go test -race -cover ./...
docker-up:
docker-compose up -d --build
docker-down:
docker-compose down
Pre-Delivery Checklist
Before delivering Go code, verify:
- [ ]
go vet ./...passes - [ ]
golangci-lint runpasses - [ ]
go test -race ./...passes - [ ] No goroutine leaks (all goroutines have shutdown path)
- [ ] All errors handled (no
_ = f()) - [ ] Context propagated through all layers
- [ ]
http.Response.Bodyclosed withdefer - [ ] Exported types have doc comments
- [ ] No global mutable state
- [ ] Interfaces defined at consumer, not provider
- [ ] Struct fields ordered for alignment (largest to smallest)
- [ ]
strings.Builderused instead of+concatenation in loops - [ ] Database connections properly pooled and closed
- [ ] Graceful shutdown implemented for servers
Quick Domain Reference
| Domain | When to Search |
|---|---|
pattern | Need a design pattern (options, factory, middleware, pipeline) |
package | Choosing a library/package for a use case |
error | Error handling strategy, wrapping, custom errors |
perf | Performance optimization, profiling, allocation |
test | Testing approach, mocking, benchmarks |
concurrency | Goroutines, channels, sync primitives |
interface | Interface design, composition, contracts |
arch | Project structure, architecture decisions |
idiom | Go conventions, naming, style |
anti | Avoiding common mistakes |
tooling | Go tools, linting, profiling |
module | Go modules, versioning, dependencies |
Resources
- scripts/: BM25 search engine, architecture system generator
- data/: 12 domains and 10 stacks with 300+ curated Go entries
质量与来源
- 所属仓库
- vurakit/agentup
- 仓库星标
- 56
- 最近更新
- 7 个月前
- 采集时间
- 今天
- commit
- b072685fa24d
- 内容指纹
- sha256:150bc57468622db
- 文件路径
- skills/go/SKILL.md