CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-naming

Go (Golang) naming conventions — covers packages, constructors, structs, interfaces, constants, enums, errors, booleans, receivers, getters/setters, functional options, acronyms, test functions, and subtest names. Use this skill when writing new Go code, reviewing or refactoring, choosing between naming alternatives (New vs NewTypeName, isConnected vs connected, ErrNotFound vs NotFoundError, StatusReady vs StatusUnknown at iota 0), debating Go package names (utils/helpers anti-patterns), or asking about Go naming best practices. Also trigger when the user mentions MixedCaps vs snake_case, ALL_CAPS constants, Get-prefix on getters, or error string casing. Do NOT use for general Go implementation questions that don't involve naming decisions.

85

1.00x
Quality

86%

Does it follow best practices?

Impact

75%

1.00x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Evaluation results

57%

-20%

Configurable Metrics Collector

Functional options pattern naming in Go

Criteria
Baseline
With context

With* option functions

100%

100%

Singular option function type

100%

100%

Plural options struct

70%

0%

Default factory function

50%

30%

New() constructor

0%

0%

No stutter in constructor

100%

100%

Boolean field is/has prefix

100%

33%

MixedCaps identifiers

100%

100%

70%

Go Config Package Naming Refactor

Go naming conventions refactor

Criteria
Baseline
With context

MAX_RETRIES fixed

100%

100%

DEFAULT_TIMEOUT fixed

100%

100%

PORT_8080 role-named

0%

0%

API_VERSION fixed

100%

100%

No ALL_CAPS constants

100%

100%

Enum zero sentinel

0%

0%

Enum type prefix

0%

0%

ConfigData renamed

100%

100%

LoaderObject renamed

100%

100%

Constructor anti-stutter

100%

100%

Package declaration preserved

100%

100%

100%

20%

Writing Tests for a URL Parser Package

Go test naming conventions

Criteria
Baseline
With context

input field name

0%

100%

expected field prefix

0%

100%

t.Run names fully lowercase

100%

100%

Acronyms lowercase in t.Run

100%

100%

must-prefix on helper

100%

100%

helper is unexported

100%

100%

Test function name

100%

100%

Underscore for subcases

100%

100%

MixedCaps identifiers

100%

100%

No type in variable names

100%

100%

Repository
samber/cc-skills-golang
Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.