Go Control Structures
Zachytává klasické Go 'footguns' range/break/defer-in-loop během revize kódu.
Otestováno · Funguje
Co umí
Referenční kontrolní seznam pro čtyři opakující se chyby řízení toku v Go: mutace kopií cyklu range místo originálu, ukládání ukazatele na proměnnou range (všechny položky nakonec ukazují na poslední prvek), break pouze ukončující nejvnitřnější switch/select místo cyklu a defer uvnitř cyklu, který se nespustí, dokud se funkce nevrátí. Spouští se při psaní nebo revizi kódu Go, který iteruje přes slice/array/map/channel, používá break uvnitř switch/select vnořeného v cyklu, nebo umisťuje defer uvnitř těla cyklu.
Testovací report
Zkontroloval jsem soubor Go se 3 chybami (past rozsahu-ukazatele, únik defer-v-cyklu, break-pouze-ukončuje-switch) s dovedností i bez ní: oba průchody zachytily všechny 3 chyby, ale průchod řízený dovedností pojmenoval každou past podle její kanonické kategorie a explicitně potvrdil absenci dalších dvou kategorií pravidel (mutace kopie rozsahu, nebezpečí iterace map) — záruka úplnosti ve stylu kontrolního seznamu, kterou volná základní revize nenabídla.
Testováno: 2026-07-16 · Claude Code 2.x (agent harness)
Instalace
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
Příkazy a ukázkové prompty
/go-control-structuresZachytává klasické Go 'footguns' range/break/defer-in-loop během revize kódu.
Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):
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