Agent skill

Architecture

Standards for structural design, Clean Architecture, and project layout in Golang.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/architecture-hoangnguyen0403-agent-skills-standar-3

Metadata

Additional technical details for this skill

labels
golang architecture clean-arch project-layout ddd
triggers
{
    "files": [
        "go.mod",
        "internal/**"
    ],
    "keywords": [
        "architecture",
        "structure",
        "folder layout",
        "clean arch",
        "dependency injection"
    ]
}

SKILL.md

Golang Architecture Standards

Priority: P0 (CRITICAL)

Principles

  • Clean Architecture: Separate concerns. Inner layers (Domain) rely on nothing. Outer layers (Adapters) rely on Inner.
  • Project Layout: Follow standard Go project layout (cmd, internal, pkg).
  • Dependency Injection: Explicitly pass dependencies via constructors. Avoid global singletons.
  • Package Oriented Design: Organize by feature/domain, not by layer (avoid controllers/, services/ at root).
  • Interface Segregation: Define interfaces where they are used (Consumer implementation).

Standard Project Layout

See Standard Project Layout for directory tree.

Layer Rules

  • Domain: Inner-most. No deps.
  • UseCase: Depends on Domain.
  • Adapter: Outer-most. Depends on UseCase/Domain.

Guidelines

  • Use Constructors: NewService(repo Repository) *Service.
  • Inversion of Control: Service depends on Repository interface, not SQLRepository struct.
  • Wire up in Main: Main function composes the dependency graph.

References

  • Standard Project Layout
  • Clean Architecture Layers

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results