What problem does it solve? Choosing and configuring an in-memory cache in Go involves hard decisions: which eviction algorithm fits your access pattern, how to size capacity against a memory budget, and how to handle TTL, loader failures, and monitoring. This Skill guides those decisions for the samber/hot library so caches are sized correctly and instrumented from the start. ## Core Features & Use Cases - Algorithm Selection: Decision tree and comparison matrix for 9 eviction algorithms (LRU, LFU, TinyLFU, W-TinyLFU, S3FIFO, ARC, TwoQueue, SIEVE, FIFO) matched to access patterns. - Production Patterns: Stale-while-revalidate, sharding for lock contention, missing-key (negative) caching, loader chains with singleflight deduplication, copy-on-read/write, and warm-up on startup. - Capacity Sizing & Monitoring: Memory-budget-based capacity calculation plus Prometheus metrics setup with PromQL queries for hit rate and eviction rate. - Use Case: A service repeatedly queries the same user records from PostgreSQL. Use this Skill to build a W-TinyLFU cache with a batch loader, TTL with jitter, and Prometheus metrics, cutting database load while keeping hit rate above 80%. ## Quick Start Ask the AI to add an in-memory cache using samber/hot with a loader and TTL for the repeated database lookups in your Go service.