Go Control Structures
Rileva i classici 'footguns' di Go range/break/defer-in-loop durante la revisione del codice.
Promosso
Cosa fa
Una checklist di riferimento per quattro bug ricorrenti nel flusso di controllo di Go: mutare copie di cicli range invece dell'originale, memorizzare un puntatore alla variabile range (tutte le voci finiscono per puntare all'ultimo elemento), break che esce solo dallo switch/select più interno invece del ciclo, e defer all'interno di un ciclo che non si attiva finché la funzione non ritorna. Si attiva quando si scrive o si revisiona codice Go che itera su slices/arrays/maps/channels, usa break all'interno di switch/select annidati in un ciclo, o posiziona defer all'interno del corpo di un ciclo.
Rapporto di test
Revisionato un file Go con 3 bug (range-pointer trap, defer-in-loop leak, break-only-exits-switch) sia con che senza la skill: entrambi i passaggi hanno rilevato tutti e 3 i bug, ma il passaggio guidato dalla skill ha nominato ogni insidia con la sua categoria canonica e ha esplicitamente confermato l'assenza delle altre due categorie di regole (range-copy mutation, map-iteration hazards) — una garanzia di completezza in stile checklist che la revisione di base a forma libera non offriva.
Testato il: 2026-07-16 · Claude Code 2.x (agent harness)
Installazione
git clone https://github.com/v0lka/skills mkdir -p ~/.claude/skills cp -r skills/development/idiomatic-go/go-control-structures ~/.claude/skills/go-control-structures
Comandi e prompt di esempio
/go-control-structuresRileva i classici 'footguns' di Go range/break/defer-in-loop durante la revisione del codice.
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Review this Go code for range-variable capture and defer-in-loop bugsDoes this break statement actually exit the loop or just the switch?Check my Go function for classic loop and defer footguns before I ship