go-development

Standardize Go project style, testing, and tooling with structured guidelines.

4|Updated Sep 6, 2013
One-click install
npx skills add https://github.com/mway/dotfiles --skill go-development-mway
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: go-development
Source: https://github.com/mway/dotfiles/tree/main/home/dot_codex/skills/go-development
Command: npx skills add https://github.com/mway/dotfiles --skill go-development-mway

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Go developers often face inconsistent code style, fragmented tooling, and the need to align patterns across projects. This skill provides a consolidated set of Go best practices, idioms, and tooling guidance to improve code quality and developer efficiency.

Core Features & Use Cases

  • Code Style & Conventions: Follow the Uber Go style guide, naming conventions, and module-aware project layout.
  • Testing & Concurrency: Promote table-driven tests, subtests, and safe concurrency patterns.
  • Tooling & Performance: Recommend go test, golangci-lint, gofumpt, and profiling techniques for performance improvements.

Quick Start

Run the Go development guidelines against a new or existing Go project to ensure consistency and maintainability.

Frequently Asked Questions about go-development

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

FAQPage Schema
How do I enforce consistent Go coding style and conventions across my project?▼

Enforce consistent Go coding style by applying structured guidelines based on the Uber Go style guide, naming conventions, and a module-aware project layout. This standardizes code patterns and improves overall project maintainability.

What is the best way to structure table-driven tests and subtests in Golang?▼

Structure table-driven tests and subtests in Golang by following standardized testing patterns that promote safe concurrency and comprehensive coverage. This ensures reliable test execution across your modules.

How do I set up golangci-lint and gofumpt for my Go modules?▼

Integrate golangci-lint and gofumpt as recommended tooling guidance for your Go modules. Running these tools against your go.mod and go.sum files enforces compliance with Go-specific style and performance considerations.

Does this Go development guidance apply to projects without a go.mod file?▼

This Go development guidance is specifically designed for projects using modules with go.mod and go.sum files. Applying it to non-module projects limits the effectiveness of the module-aware project layout and tooling recommendations.

Why should I use idiomatic Go concurrency patterns in my application?▼

Use idiomatic Go concurrency patterns to ensure safe concurrent execution and improve application performance. Structured guidelines align these patterns across projects, reducing fragmented tooling and preventing race conditions.