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.

89

1.18x
Quality

88%

Does it follow best practices?

Impact

89%

1.18x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Evaluation results

80%

10%

Rate Limiter Package API Design

Functional options pattern naming conventions

Criteria
Without context
With context

With* option functions

100%

100%

Options struct name

0%

0%

Singular Option type

100%

100%

Default*Options factory

0%

0%

MixedCaps constants

100%

100%

Constants name role not value

100%

100%

Consistent With* convention

100%

100%

No stutter with package

100%

100%

Enum zero value sentinel

0%

100%

No Struct/Object/Data suffix

100%

100%

89%

9%

Go Configuration Package Naming Audit

Constants and struct naming audit

Criteria
Without context
With context

ALL_CAPS constants fixed

100%

100%

Value-named constants fixed

0%

100%

Struct Data suffix removed

100%

100%

Struct Object suffix removed

100%

100%

Struct Struct suffix removed

100%

100%

Type-in-name fields fixed

100%

100%

Get prefix removed

100%

100%

Bare return removed

0%

0%

Boolean field is-prefix

100%

100%

Named return explanation

100%

80%

100%

23%

Slug Package Test Suite

Table-driven test field and subtest naming

Criteria
Without context
With context

input field name

46%

100%

expected prefix on outputs

0%

100%

Lowercase t.Run names

100%

100%

Lowercase acronyms in test names

100%

100%

Test function naming

100%

100%

must-prefix test helpers

100%

100%

Table-driven structure

100%

100%

No Get prefix on helpers

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.