Agent skill
go-nil-map
Map nil safety - read OK, write panics
Install this agent skill to your Project
npx add-skill https://github.com/JamesPrial/claudefiles/tree/main/skills/golang/nil/map
SKILL.md
Map Nil Safety
Problem
Reading from nil map returns zero value. Writing to nil map panics.
Pattern
WRONG - Write to nil map
var m map[string]int // nil map
m["key"] = 42 // PANIC: assignment to entry in nil map
CORRECT - Initialize with make
m := make(map[string]int)
m["key"] = 42 // OK
Reading is Safe
var m map[string]int // nil map
v := m["key"] // OK, v = 0 (zero value)
v, ok := m["key"] // OK, v = 0, ok = false
Quick Fix
- Always initialize maps with make() before writing
- Check if map is nil before range/write
- Reading from nil map is safe but returns zero values
Defensive Pattern
if m == nil {
m = make(map[string]int)
}
m["key"] = 42
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
plugin-packager
Package claudefiles components into a valid Claude Code plugin
plugin-packager-validation
Plugin validation errors and fixes
plugin-packager-subset
Package language-specific subsets of claudefiles
plugin-packager-hooks
Handle hook scripts and paths for plugin packaging
go-concurrency
Go concurrency patterns. Routes to specific patterns.
go-sync-primitives
sync.WaitGroup and sync.Mutex patterns
Didn't find tool you were looking for?