What problem does it solve? Choosing the wrong Go data structure leads to hidden allocation costs, memory bloat, and subtle bugs like append aliasing or maps that never shrink. This Skill provides internals-level guidance on slices, maps, arrays, container packages, generics, and pointer types so Go code uses the right structure with correct preallocation and copy semantics. ## Core Features & Use Cases - Slice and Map Internals: Explains capacity growth, preallocation with make and slices.Grow, hash bucket behavior, and why Go maps never shrink after deletion. - Container and Builder Selection: Covers container/list, container/heap, container/ring, bufio, and the strings.Builder vs bytes.Buffer decision with complexity tables. - Generics and Pointer Types: Guides constraint selection (comparable, cmp.Ordered), the 6 valid unsafe.Pointer patterns, and weak.Pointer with runtime.AddCleanup for GC-friendly caches. - Use Case: When building a priority-queue task scheduler, an LRU cache, or a string interning table, this Skill directs the AI to heap.Fix, container/list with element references, or weak.Pointer instead of naive re-sorting or finalizer-based approaches. ## Quick Start Ask the AI to review or write Go code involving slices, maps, containers, generics, or unsafe/weak pointers, for example: write a generic Set type and explain whether to preallocate the underlying map.