Labsco
openshift logo

Effective Go

✓ Official★ 527

by openshift · part of openshift/hypershift

Go's own authors published a guide to how they think the language should be written — naming, error handling, how much one interface should do — and this holds new and reworked code to it.

🔥🔥🔥✓ VerifiedFreeQuick setup
🧩 One of 2 skills in the openshift/hypershift package — works on its own, and pairs well with its siblings.

WHEN YOUR AGENT SHOULD USE IT

A QUICK BOUNDARY

USE FOR

  • Format new Go code with gofmt and mixedCaps naming before committing it.
  • Rewrite a function to return an error instead of panicking on failure.
  • Shrink an oversized interface down to one or two focused methods.

This is the playbook your agent receives when the skill activates — you don't need to read it to use the skill, but it's here to audit before installing.

Effective Go

Apply best practices and conventions from the official Effective Go guide to write clean, idiomatic Go code.

When to Apply

Use this skill automatically when:

  • Writing new Go code
  • Reviewing Go code
  • Refactoring existing Go implementations

Key Reminders

Follow the conventions and patterns documented at https://go.dev/doc/effective_go, with particular attention to:

  • Formatting: Always use gofmt - this is non-negotiable
  • Naming: No underscores, use MixedCaps for exported names, mixedCaps for unexported
  • Error handling: Always check errors; return them, don't panic
  • Concurrency: Share memory by communicating (use channels)
  • Interfaces: Keep small (1-3 methods ideal); accept interfaces, return concrete types
  • Documentation: Document all exported symbols, starting with the symbol name

References