go-aws-lambda-microservice-hexagonal

Build and modify Go AWS Lambda microservices with hexagonal architecture.

1|Updated Apr 18, 2026
One-click install
npx skills add https://github.com/primolabs-org/spec-star-go --skill go-aws-lambda-microservice-hexagonal
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go-aws-lambda-microservice-hexagonal
Source: https://github.com/primolabs-org/spec-star-go/tree/main/.github/skills/go-aws-lambda-microservice-hexagonal
Command: npx skills add https://github.com/primolabs-org/spec-star-go --skill go-aws-lambda-microservice-hexagonal

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you build or modify Go microservices on AWS Lambda without leaking transport, infrastructure, or SDK concerns into the business domain.

Core Features & Use Cases

  • Hexagonal Service Structure: Keeps domain, application, ports, adapters, and platform code clearly separated.
  • HTTP and SQS Support: Works for synchronous API Gateway HTTP APIs and asynchronous SQS consumers.
  • Operational Discipline: Encourages idempotency, partial batch response for SQS, structured logging, and focused tests.
  • Use Case Example: Use it to implement or evolve a Lambda-backed service such as a wallet, order, or command-processing API while preserving reusable business logic.

Quick Start

Ask the assistant to update the Go AWS Lambda service using hexagonal architecture, keep handlers thin, and add the relevant HTTP or SQS adapter and tests.

Frequently Asked Questions about go-aws-lambda-microservice-hexagonal

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

FAQPage Schema
How do I structure a Go AWS Lambda microservice to keep business logic separate from AWS SDK and transport concerns?

Apply hexagonal architecture to your Go AWS Lambda microservice. Keep domain and application layers transport-agnostic, using ports and adapters to isolate infrastructure, SDK, and API Gateway or SQS details.

How do I handle SQS batch processing in a Go Lambda function without failing the entire batch?

Implement partial batch response for SQS in your Go Lambda function. This mechanism returns individual item-level failures, allowing the queue to retry only the specific messages that failed processing.

What is the best way to organize API Gateway HTTP API handlers in Go to ensure they remain thin?

Keep API Gateway HTTP API handlers thin by delegating immediately to application ports. The handler should only parse requests and format responses, leaving all business logic to the transport-agnostic hexagonal core.

Can I use hexagonal architecture for both synchronous API Gateway and asynchronous SQS workloads in Go?

Yes, hexagonal architecture works for both synchronous API Gateway HTTP APIs and asynchronous SQS consumers in Go. Shared domain and application logic can be reused across both transport adapters without modification.

Why does my Go Lambda service use case logic break when I change infrastructure or SDK dependencies?

Business logic breaks when transport or SDK concerns leak into the domain. Enforcing strict boundaries with ports and adapters isolates use cases, preventing infrastructure changes from affecting core behavior.

How do I test boundary behavior for a Go Lambda microservice that uses SQS and API Gateway?

Write focused tests for adapter boundary behavior in your Go Lambda microservice. Verify that SQS and API Gateway adapters correctly translate external payloads into domain calls and handle responses appropriately.