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.34x
Quality

89%

Does it follow best practices?

Impact

86%

1.34x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Evaluation results

100%

3%

Go Naming Convention Audit

Go naming convention audit and correction

The agent wrote 1 file outside the evaluated workspace (Without this skill)

These are not visible to scoring or included in the download.

/home/agent/go/pkg/mod/cache/lock

The agent wrote 1 file outside the evaluated workspace (With this skill)

These are not visible to scoring or included in the download.

/home/agent/go/pkg/mod/cache/lock

Criteria
Without this skill
With this skill

No Struct suffix

100%

100%

No Data suffix

100%

100%

No Object suffix

100%

100%

Constants use MixedCaps

100%

100%

Constants named by role

100%

100%

No function stutter

80%

100%

No identifier underscores

100%

100%

Output file named correctly

100%

100%

CHANGES.md present

100%

100%

Package unchanged

100%

100%

74%

8%

Rate Limiter Package

Functional options naming in Go package

The agent wrote 1 file outside the evaluated workspace (Without this skill)

These are not visible to scoring or included in the download.

/home/agent/go/pkg/mod/cache/lock

The agent wrote 1 file outside the evaluated workspace (With this skill)

These are not visible to scoring or included in the download.

/home/agent/go/pkg/mod/cache/lock

Criteria
Without this skill
With this skill

Options struct name

0%

0%

Function type is singular

100%

100%

With* prefix on all option constructors

100%

100%

Default factory function

0%

0%

Constructor named New()

100%

100%

Strategy constants use MixedCaps

100%

100%

Strategy constants type-prefixed

100%

100%

Strategy enum zero sentinel

0%

100%

No anti-stutter in With* names

100%

100%

Receiver abbreviation

100%

100%

85%

55%

URL Parser Package

Go test naming conventions for table-driven tests

The agent wrote 1 file outside the evaluated workspace (Without this skill)

These are not visible to scoring or included in the download.

/home/agent/go/pkg/mod/cache/lock

The agent wrote 1 file outside the evaluated workspace (With this skill)

These are not visible to scoring or included in the download.

/home/agent/go/pkg/mod/cache/lock

Criteria
Without this skill
With this skill

Input field named input

0%

100%

Expected prefix on output fields

0%

66%

Expected prefix on error field

0%

0%

No want/got field prefixes

0%

100%

Subtest names fully lowercase

0%

100%

Acronyms lowercase in subtests

0%

100%

Must prefix on test helpers

100%

100%

TestParse function name

100%

100%

Underscore subcase convention

100%

100%

No ALL_CAPS struct fields

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.