Ask Claude Code to "add a worker that drains an order queue" in your Go service and the default output looks fine: a goroutine, a for loop, a JSON handler, a _ = json.Unmarshal(...) here and there. None of it crashes. All of it leaks goroutines, swallows errors, and blows up the first time a client disconnects mid-request. The model didn't get worse — your repo just doesn't tell it the rules. A CLAUDE.md next to go.mod is the cheapest leverage you have. Get the full CLAUDE.md Rules Pack — oliviacraftlat.gumroad.com/l/skdgt . The 13 rules below are a free preview. 1. Errors are values — wrap with %w , never swallow The most common AI mistake in Go is _ = doThing() to silence a linter, or return err that loses every layer of context. Wrap with fmt.Errorf("doing X: %w", err) so callers can errors.Is and errors.As . Reserve panic for truly impossible states. func GetUser ( ctx context . Context , id int ) ( * User , error ) { row , err := db . QueryRowContext ( ctx , "SELECT ...…