arch-go

Review Go code for idiomatic patterns, error handling, concurrency, and HTTP best practices.

Updated Jun 3, 2026
One-click install
npx skills add https://github.com/olimpus-soft/olimpus-claude-skills --skill arch-go
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: arch-go
Source: https://github.com/olimpus-soft/olimpus-claude-skills/tree/main/plugins/pr-review-toolkit/skills/arch-go
Command: npx skills add https://github.com/olimpus-soft/olimpus-claude-skills --skill arch-go

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps developers maintain high-quality Go code by adhering to idiomatic patterns, best practices, and architectural guidelines.

Core Features & Use Cases

  • Idiomatic Go Patterns: Enforces naming conventions, constructor functions, functional options, and other idiomatic practices.
  • Error Handling: Encourages robust error handling techniques, including wrapping, sentinel errors, and propagation.
  • Concurrency: Provides guidelines for using goroutines, channels, and synchronization primitives effectively.
  • HTTP Patterns: Offers guidance on using the net/http package and implementing graceful shutdowns.
  • Validation: Suggests the use of go-playground/validator for struct validation and proper error handling.
  • Testing: Recommends practices for testing, including table-driven tests, mocks, and the testing/synctest package for virtual time.
  • Architecture: Defines a recommended project structure and layer responsibilities.

Quick Start

Analyze your Go project using the arch-go skill.

Frequently Asked Questions about arch-go

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

FAQPage Schema
How do I ensure my Go code follows modern idiomatic patterns and best practices?

Ensure Go code quality by enforcing idiomatic patterns, robust error handling, efficient concurrency, and architectural guidelines for project setup and code reviews. It validates naming conventions, constructor functions, and functional options.

What are the best practices for HTTP APIs and graceful shutdowns in Go?

Best practices for HTTP APIs in Go involve using the net/http package correctly and implementing graceful shutdowns. This approach ensures robust server management and aligns with modern architectural guidelines for reliable service operation.

Does this Go architecture guidance support Go 1.22+ features and idioms?

Yes, this guidance requires understanding of Go 1.22+ features and idioms. It leverages modern language capabilities alongside the net/http package and testing framework to enforce advanced code quality during refactoring and project setup.

How do I handle concurrency with goroutines and channels effectively in Go?

Handle concurrency effectively by following guidelines for using goroutines, channels, and synchronization primitives. This ensures efficient concurrent execution and prevents common race conditions within modern idiomatic Go applications.

What is the recommended way to test Go code using table-driven tests and virtual time?

The recommended testing approach uses table-driven tests, mocks, and the testing/synctest package for virtual time. This methodology ensures comprehensive validation of application behavior and robust error handling coverage.

How do I validate Go structs and handle errors properly during code review?

Validate Go structs by suggesting the use of go-playground/validator for struct validation and proper error handling. This includes robust techniques like error wrapping, sentinel errors, and propagation during architectural code reviews.