go-standards

Standardize Go package development, API design, and testing practices.

2|Updated May 18, 2022
One-click install
npx skills add https://github.com/alexfalkowski/bin --skill go-standards-alexfalkowski
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go-standards
Source: https://github.com/alexfalkowski/bin/tree/main/skills/go-standards
Command: npx skills add https://github.com/alexfalkowski/bin --skill go-standards-alexfalkowski

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses inconsistencies in Go development by enforcing repository-specific conventions for API design, documentation, import management, and testing strategies.

Core Features & Use Cases

  • API & Documentation Standards: Ensures exported Go packages and types follow established naming, ownership, and GoDoc conventions.
  • Import & Dependency Management: Prevents unnecessary import aliasing and enforces correct wrapper-package usage to maintain clean dependency graphs.
  • Testing & Benchmarking: Guides the selection of appropriate test harnesses and mandates concrete rationales for adding benchmarks or fuzz tests.
  • Use Case: When refactoring a Go package, use this skill to determine whether to add a new helper function or if an existing wrapper package should be extended instead.

Quick Start

Use the go-standards skill to review the proposed changes in the current Go package for adherence to naming and import conventions.

Frequently Asked Questions about go-standards

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

FAQPage Schema
How do I enforce consistent Go coding idioms across a shared repository?

Enforce consistent Go coding idioms by applying repository-specific conventions for API design, GoDoc documentation, import aliasing, and testing strategies during code reviews and refactoring.

What is the best way to standardize Go package API design and naming conventions?

Standardize Go package API design by ensuring exported packages and types follow established naming, ownership, and GoDoc conventions, preventing inconsistencies across the repository ecosystem.

How do I manage Go import aliasing and wrapper packages correctly?

Manage Go import aliasing by preventing unnecessary aliases and enforcing correct wrapper-package usage, which maintains clean dependency graphs and consistent package boundaries.

How do I select the right Go test harness for my package?

Select the right Go test harness by following established testing practices that guide the appropriate choice of test suites and require concrete rationales when adding benchmarks or fuzz tests.

Can I use this approach to review Go refactoring tasks?

You can use this approach to review Go refactoring tasks by determining whether to add a new helper function or extend an existing wrapper package based on repository conventions.

When should I not use unnecessary import aliasing in Go?

Avoid unnecessary import aliasing in Go when standard imports suffice, as enforcing correct wrapper-package usage and preventing aliases maintains clean dependency graphs and code readability.