go/style

Enforce Go formatting, naming, and receiver patterns with gofmt, goimports, and golangci-lint.

3|1|Updated Feb 10, 2026
One-click install
npx skills add https://github.com/deandum/claude-resources --skill go-style-deandum
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go/style
Source: https://github.com/deandum/claude-resources/tree/main/skills/go/style
Command: npx skills add https://github.com/deandum/claude-resources --skill go-style-deandum

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Go projects often drift from consistent style and idioms, making code harder to read and maintain.

Core Features & Use Cases

  • Enforces formatting with gofmt and goimports to ensure consistent whitespace and import grouping.
  • Standardizes naming, receiver types, and import organization for readability and maintainability.
  • Provides a ready-to-use GolangCI-Lint configuration to integrate into CI and local checks.

Quick Start

Apply the Go style guide to ensure consistent formatting, naming, receiver usage, and linting across your Go projects.

Frequently Asked Questions about go/style

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce consistent Go code style and idioms across my projects?

You can enforce Go code style by standardizing formatting, naming, and receiver patterns using a pre-configured golangci-lint setup with gofmt and goimports rules.

What is the best way to configure golangci-lint for a new Go codebase?

The best way to configure golangci-lint is to use a pre-configured golangci.yml file that standardizes import grouping, naming conventions, and receiver types for your project.

Does this Go style enforcement work with CI pipelines for any team size?

Yes, this Go style enforcement works with CI pipelines and applies to Go codebases of any size, validating code quality and linting rules during development.

How do I standardize Go receiver types and import organization?

You standardize Go receiver types and import organization by applying predefined linting rules and formatting tools like goimports to ensure readability and maintainability.

Why do my Go projects drift from consistent style and idioms over time?

Go projects drift from consistent style without enforced formatting and linting rules, making code harder to read and maintain as the team and codebase grow.