Loading...
Loading...
Found 4,995 Skills
Monadic types for Golang using samber/mo — Option, Result, Either, Future, IO, Task, and State types for type-safe nullable values, error handling, and functional composition with pipeline sub-packages. Apply when using or adopting samber/mo, when the codebase imports `github.com/samber/mo`, or when considering functional programming patterns as a safety design for Golang.
In-memory caching in Golang using samber/hot — eviction algorithms (LRU, LFU, TinyLFU, W-TinyLFU, S3FIFO, ARC, TwoQueue, SIEVE, FIFO), TTL, cache loaders, sharding, stale-while-revalidate, missing key caching, and Prometheus metrics. Apply when using or adopting samber/hot, when the codebase imports github.com/samber/hot, or when the project repeatedly loads the same medium-to-low cardinality resources at high frequency and needs to reduce latency or backend pressure.
Structured error handling in Golang with samber/oops — error builders, stack traces, error codes, error context, error wrapping, error attributes, user-facing vs developer messages, panic recovery, and logger integration. Apply when using or adopting samber/oops, or when the codebase already imports github.com/samber/oops.
Golang everyday observability — the always-on signals in production. Covers structured logging with slog, Prometheus metrics, OpenTelemetry distributed tracing, continuous profiling with pprof/Pyroscope, server-side RUM event tracking, alerting, and Grafana dashboards. Apply when instrumenting Go services for production monitoring, setting up metrics or alerting, adding OpenTelemetry tracing, correlating logs with traces, migrating legacy loggers (zap/logrus/zerolog) to slog, adding observability to new features, or implementing GDPR/CCPA-compliant tracking with Customer Data Platforms (CDP). Not for temporary deep-dive performance investigation (→ See golang-benchmark and golang-performance skills).
Security best practices and vulnerability prevention for Golang. Covers injection (SQL, command, XSS), cryptography, filesystem safety, network security, cookies, secrets management, memory safety, and logging. Apply when writing, reviewing, or auditing Go code for security, or when working on any risky code involving crypto, I/O, secrets management, user input handling, or authentication. Includes configuration of security tools.
Idiomatic Golang design patterns — functional options, constructors, error flow and cascading, resource management and lifecycle, graceful shutdown, resilience, architecture, dependency injection, data handling, and streaming. Apply when designing Go APIs, structuring applications, choosing between patterns, making design decisions, architectural choices, or production hardening.
Provides linting best practices and golangci-lint configuration for Go projects. Covers running linters, configuring .golangci.yml, suppressing warnings with nolint directives, interpreting lint output, and managing linter settings. Use this skill whenever the user runs linters, configures golangci-lint, asks about lint warnings or suppressions, sets up code quality tooling, or asks which linters to enable for a Go project. Also use when the user mentions golangci-lint, go vet, staticcheck, revive, or any Go linting tool.
Detect and remediate Go anti-patterns: premature interface abstraction, goroutine overkill, context soup, error wrapping mistakes, generic abuse, channel misuse, unnecessary function extraction, and interface pollution. Use when reviewing Go code for quality, detecting over-engineering, or when user mentions "anti-pattern", "code smell", "Go mistake", or "bad Go". Do NOT use for feature implementation, performance optimization without a code smell, or non-Go languages.
SAP Converged Cloud Go coding conventions extracted from sapcc/keppel and sapcc/go-bits PR reviews. Enforces architecture patterns, library usage rules, error handling conventions, testing patterns, and anti-over-engineering principles. Use when working in sapcc/* repos, when code imports github.com/sapcc/go-bits, or when targeting SAP CC code review standards. Do NOT use for general Go projects without sapcc dependencies.
Run Go quality checks via make check with intelligent error categorization and actionable fix suggestions. Use when user requests "run quality checks", "check PR quality", "verify code quality", or "run make check". Use before creating commits or during PR review. Do NOT use for non-Go repositories, repositories without a Makefile, or manual linter invocation.
Go concurrency patterns and primitives: goroutines, channels, sync primitives, worker pools, rate limiting, context propagation. Use when writing concurrent Go code, implementing worker pools, fan-out/fan-in pipelines, rate limiters, or debugging race conditions and goroutine leaks. Triggers: goroutine, channel, sync.Mutex, sync.WaitGroup, worker pool, fan-out, fan-in, rate limit, concurrent, parallel, context.Context, race condition, deadlock. Do NOT use for sequential Go code, general Go syntax, error handling patterns, or HTTP routing without concurrency concerns.
Continuously modernize Golang code to use the latest language features, standard library improvements, and idiomatic patterns. Use this skill whenever writing, reviewing, or refactoring Go code to ensure it leverages modern Go idioms. Also use when the user asks about Go upgrades, migration, modernization, deprecation, or when modernize linter reports issues. Also covers tooling modernization: linters, SAST, AI-powered code review in CI, and modern development practices. Trigger this skill proactively when you notice old-style Go patterns that have modern replacements.