programming-go

Enforce idiomatic Go practices across codebases and CI checks.

3|Updated Oct 31, 2025
One-click install
npx skills add https://github.com/mgomes/3xo-suit --skill programming-go
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: programming-go
Source: https://github.com/mgomes/3xo-suit/tree/main/plugins/dotfiles/skills/programming-go
Command: npx skills add https://github.com/mgomes/3xo-suit --skill programming-go

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill promotes idiomatic Go coding, reducing common pitfalls and improving maintainability across codebases.

Core Features & Use Cases

  • Enforces idiomatic Go patterns (avoid interface{}, prefer any)
  • Guides JSON marshaling with proper struct tags and omitempty when appropriate
  • Encourages modern Go constructs (range loops, WaitGroup usage wrapper)
  • Helps with package naming and renaming practices to maintain consistency

Quick Start

Apply these guidelines to an existing Go project: replace interface{} with any in public APIs, adjust JSON tags with omitempty where needed, adopt the recommended loop and WaitGroup patterns, and align package names with Go conventions.

Frequently Asked Questions about programming-go

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

FAQPage Schema
How do I enforce Go best practices for interface{} and any in my codebase?

Yes, this Skill enforces proper JSON struct tags and omitempty usage for Go marshaling. It guides you to correctly format struct tags, ensuring clean and maintainable data serialization across your services.

What is the best way to standardize concurrency patterns with WaitGroup in Go?

The best way to standardize Go concurrency patterns is by adopting recommended WaitGroup usage wrappers. This encourages modern constructs that keep concurrent code clean, maintainable, and free of common synchronization pitfalls.

Does this Go best practices guidance apply to large services and CLIs?

Yes, this guidance applies to small to large Go projects, including libraries, services, and CLIs. It satisfies requirements for idiomatic Go features, ensuring maintainability and consistent package naming across any project scale.

How do I align package naming with Go conventions during code reviews?

You align package naming by applying canonical naming practices during code reviews and CI checks. This maintains consistency across your codebase and enforces idiomatic Go conventions for cleaner project structure.