microservices-architect

Guide microservices design with DDD, sagas, CQRS, and event sourcing.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/jsdfhasuh/emosonic --skill microservices-architect-jsdfhasuh
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: microservices-architect
Source: https://github.com/jsdfhasuh/emosonic/tree/main/.agents/skills/microservices-architect
Command: npx skills add https://github.com/jsdfhasuh/emosonic --skill microservices-architect-jsdfhasuh

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you design distributed systems that avoid common microservices pitfalls by defining clear service boundaries, reliable communication patterns, and production-grade resilience and observability.

Core Features & Use Cases

  • Service decomposition & bounded contexts: Identify domains and derive service boundaries using DDD principles and decomposition checklists.
  • Communication & workflow design: Choose synchronous vs asynchronous patterns (REST, gRPC, events, queues) and design saga-based distributed workflows.
  • Reliability & operational excellence: Apply resilience patterns (timeouts, retries, circuit breakers, bulkheads), health checks, graceful degradation, and implement distributed tracing with correlation IDs.
  • Data ownership & consistency strategy: Enforce database-per-service, define consistency models (strong vs eventual), and select data strategies like event sourcing and CQRS read models.

Quick Start

Use the microservices-architect skill to design a bounded-context-based microservices plan with event-driven communication, saga orchestration, and end-to-end observability for distributed tracing and health monitoring.

Frequently Asked Questions about microservices-architect

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

FAQPage Schema
How do I decompose a monolith into microservices using domain-driven design?

Microservices decomposition applies domain-driven design to identify bounded contexts and derive service boundaries. This ensures safe monolith decomposition by defining clear domains, reliable communication patterns, and data ownership strategies.

What are the best resilience patterns for distributed systems to withstand failure?

Resilience patterns for distributed systems include circuit breakers, timeouts, retries, and bulkheads. Combined with health checks and graceful degradation, these mechanisms ensure microservices withstand failure and maintain operational excellence during partial outages.

When do I need saga orchestration and event sourcing for microservices data consistency?

Saga orchestration and event sourcing are needed when enforcing database-per-service and requiring eventual consistency across distributed services. These patterns manage distributed workflows and state changes, replacing distributed transactions with reliable event-driven communication.

How do I implement distributed tracing and correlation IDs for service observability?

Distributed tracing and correlation IDs are implemented through observability instrumentation and health/readiness probes. This provides end-to-end observability for distributed tracing and health monitoring, essential for troubleshooting cloud-native microservices systems.

Should I use synchronous REST or asynchronous events for microservices communication?

Microservices communication design selects synchronous patterns like REST and gRPC or asynchronous events and queues based on workflow needs. The optimal choice depends on whether your service boundaries require immediate response or can tolerate eventual consistency.

Do I need a service mesh for cloud-native microservices production readiness?

A service mesh is needed for cloud-native microservices to manage production readiness, distributed observability, and communication. Planning service mesh deployment ensures proper API versioning strategies, resilience, and end-to-end tracing in distributed systems.