Go Control Structures

Detecta los clásicos errores de pie de página de range/break/defer-in-loop de Go durante la revisión de código.

Por v0lka · v0lka/skills

Probado · Funciona ★ 8.8/10

Go Control Structures — Detecta los clásicos errores de pie de página de range/break/defer-in-loop de Go durante la revisión de código.

Qué hace

Una lista de verificación de referencia para cuatro errores recurrentes de flujo de control en Go: mutar copias de bucles range en lugar del original, almacenar un puntero a la variable range (todas las entradas terminan apuntando al último elemento), break que solo sale del switch/select más interno en lugar del bucle, y defer dentro de un bucle que no se dispara hasta que la función retorna. Se activa al escribir o revisar código Go que itera sobre slices/arrays/maps/channels, usa break dentro de switch/select anidados en un bucle, o coloca defer dentro del cuerpo de un bucle.

Informe de la prueba

Revisé un archivo Go con 3 errores (trampa de puntero range, fuga de defer en bucle, break solo sale de switch) tanto con como sin la habilidad: ambos pases detectaron los 3 errores, pero el pase guiado por la habilidad nombró cada peligro por su categoría canónica y confirmó explícitamente la ausencia de las otras dos categorías de reglas (mutación de copia range, peligros de iteración de mapa) — una garantía de completitud estilo lista de verificación que la revisión de forma libre de línea base no ofreció.

Probado el: 2026-07-16 · Claude Code 2.x (agent harness)

Instalación

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

Comandos y prompts de ejemplo

  • /go-control-structuresDetecta los clásicos errores de pie de página de range/break/defer-in-loop de Go durante la revisión de código.

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

  • Review this Go code for range-variable capture and defer-in-loop bugs
  • Does this break statement actually exit the loop or just the switch?
  • Check my Go function for classic loop and defer footguns before I ship