Golang Architecture
SkillDatabases & dataStructure 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.
No other account needed.
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
mainor dedicated constructors, not via hidden globals. - Interfaces: define small interfaces on the consumer side.
- Context: pass
context.Contextacross I/O and request boundaries.
Recipe
- Place the entrypoint in
cmd/<app>. - Create domain-owned packages under
internal/. - Expose constructors for services, repositories, and handlers.
- Keep business rules out of transport packages.
- 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.
-
mainwires 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/sharedorpkg/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
- 163
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
golang-architecture- Source
- github.com/hoangnguyen0403/agent-skills-standard