<!-- AUTO-GENERATED from SKILL.md frontmatters — do not edit manually -->
# golang Skills Index

## File Match (auto-check against the file you are editing)

| Skill | File pattern | Keywords |
| ----- | ------------ | -------- |
| **golang-api-server** | `cmd/server/*.go`, `internal/adapter/handler/**` | http server, rest api, gin, echo, middleware |
| **golang-architecture** | `go.mod`, `internal/**` | architecture, structure, folder layout, clean arch, dependency injection |
| golang-configuration | `configs/**`, `cmd/**` | configuration, env var, viper, koanf |
| **golang-database** | `internal/adapter/repository/**` | database, sql, postgres, gorm, sqlc, pgx |
| **golang-error-handling** | `fmt.Errorf`, `errors.Is`, `errors.As` | error wrapping, sentinel error, error handling |
| **golang-language** | `go.mod` | golang, go code, idiomatic, gofmt, goimports, iota, golang style |
| golang-logging | `go.mod`, `pkg/logger/**` | logging, slog, structured logging, zap |
| **golang-security** | `crypto/rand` | argon2, sanitize, jwt, bcrypt, validation, input validation, sql injection |
| **golang-testing** | `**/*_test.go` | testing, unit tests, go test, mocking, testify |
| golang-tooling | `golangci.yml` | gopls, golangci-lint, go vet, goimports, staticcheck, go tooling, go lint |

## Keyword Match (only when user's request mentions these)

| Skill | Match when user mentions |
| ----- | ----------------------- |
| **golang-concurrency** | goroutine, go keyword, channel, mutex, waitgroup, context, errgroup, race condition |

> Load matched skills: `<SKILLS>/golang/<skill>/SKILL.md`. Load ALL that match — the tier model already filters irrelevant ones.
