golang-microservice

Implement Golang microservices with DDD, Kafka messaging, and JSON-API layers.

1|Updated Jun 2, 2025
One-click install
npx skills add https://github.com/Chronicle20/atlas --skill golang-microservice
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: golang-microservice
Source: https://github.com/Chronicle20/atlas/tree/main/.claude/skills/backend-dev-guidelines
Command: npx skills add https://github.com/Chronicle20/atlas --skill golang-microservice

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Golang microservice development often drifts from architecture patterns, leading to inconsistent code and harder maintenance. This skill provides a comprehensive, opinionated guide for creating and modifying Go microservices using DDD, immutable models, functional composition, GORM entities, JSON:API transport, and Kafka messaging, while enforcing context-based multi-tenancy.

Core Features & Use Cases

  • Standardized architecture: domain-driven design, immutability, and functional composition patterns.
  • Production-ready workflows: provider, map, slice map, and deterministic testing guidance across services.
  • Real-world use: kick off a new service and align coding standards with established conventions for REST endpoints, Kafka messaging, and multi-tenant context.

Quick Start

Review the core workflows and start building a new Golang microservice by following the Standard Implementation Workflow described in this skill.

Frequently Asked Questions about golang-microservice

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

FAQPage Schema
How do I structure a Golang microservice using DDD and immutable models?

Structure a Golang microservice using DDD by applying domain-driven design, immutable models, and functional composition patterns. This approach standardizes architecture across services, ensuring consistent code, easier maintenance, and reliable REST endpoints.

How do I implement Kafka messaging patterns in a Go microservice?

Implement Kafka messaging patterns in a Go microservice by following standardized guidelines that integrate Kafka with domain-driven design and immutable models. This ensures reliable event-driven communication across multi-tenant contexts.

What is the best way to enforce multi-tenancy in Golang microservices?

The best way to enforce multi-tenancy in Golang microservices is through context-based multi-tenancy patterns combined with DDD guidelines. This isolates tenant data and logic consistently across REST JSON:API layers and Kafka messaging.

Do I need to run go test before completing work on a Golang microservice?

Yes, you need to run go test ./... -count=1 before completing work on a Golang microservice. This ensures builds pass, mocks stay in sync when interfaces change, and deterministic testing guidance is followed.

Can I use GORM entities with JSON:API transport in a Go microservice?

Yes, you can use GORM entities with JSON:API transport in a Go microservice. The standardized architecture guidelines integrate GORM for data persistence and JSON:API layers for consistent REST communication.

Why do my Golang microservice mocks fail to stay in sync when interfaces change?

Golang microservice mocks fail to stay in sync when interfaces change if standardized workflows are not followed. Running go test ./... -count=1 and applying deterministic testing guidance ensures mocks remain synchronized across services and libraries.