Golang Architecture

SkillDatabases & data

Structure Go code with package-first boundaries, `cmd/` and `internal/`, and explicit dependency wiring. Use when shaping project layout, package ownership, or service boundaries in Go; defer Redis/cache-specific implementation recipes to database skills.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Golang Architecture skill

What this skill tells your AI

The instructions your AI receives, as published by hoangnguyen0403/agent-skills-standard in skills/golang/golang-architecture/SKILL.md and read by ahel’s review.

Priority: P0 (CRITICAL)

Rules

  • Package-first design: organize by domain/capability before package-by-layer sprawl.
  • Layout: cmd/ for binaries, internal/ for private app code, pkg/ only for intentional reuse.
  • Wiring: compose dependencies in main or dedicated constructors, not via hidden globals.
  • Interfaces: define small interfaces on the consumer side.
  • Context: pass context.Context across I/O and request boundaries.

Recipe

  1. Place the entrypoint in cmd/<app>.
  2. Create domain-owned packages under internal/.
  3. Expose constructors for services, repositories, and handlers.
  4. Keep business rules out of transport packages.
  5. Wire logging, config, DB, and HTTP server at startup.

Verify

  • No package-level mutable singletons control runtime behavior.
  • Imports flow inward; transport and storage packages do not pull business rules outward.
  • Interfaces live with callers that need substitution.
  • main wires dependencies but does not hold business logic.
  • Request and DB paths accept context.Context.

Anti-Patterns

  • No package soup: avoid dumping unrelated code into internal/shared or pkg/utils.
  • No global singletons: use constructors; avoid package-level mutable variables.
  • No god services: split orchestration by capability.
  • No fake Clean Architecture theatre: package names must match real ownership.

References

Canonical response anchors

When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:

  • inject

Signals

GitHub stars
565
Forks
164
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
golang-architecture
Source
github.com/hoangnguyen0403/agent-skills-standard