CtrlK
BlogDocsLog inGet started
Tessl Logo

microservices-patterns

Design microservices architectures with service boundaries, event-driven communication, and resilience patterns. Use when building distributed systems, decomposing monoliths, or implementing microservices.

80

1.42x
Quality

54%

Does it follow best practices?

Impact

97%

1.42x

Average score across 6 eval scenarios

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/backend-development/skills/microservices-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Evaluation results

100%

64%

Build a Resilient Product Catalog Service Client

Resilient HTTP service client

Criteria
Without context
With context

httpx client used

0%

100%

httpx timeout config

0%

100%

httpx limits config

0%

100%

tenacity retry decorator

100%

100%

retry attempt count

70%

100%

exponential backoff params

50%

100%

circuitbreaker library

0%

100%

circuit failure threshold

0%

100%

circuit recovery timeout

0%

100%

async implementation

100%

100%

raise_for_status called

100%

100%

97%

40%

Implement an Event Bus for a Distributed Order System

Kafka event bus implementation

Criteria
Without context
With context

aiokafka producer

100%

100%

aiokafka consumer

100%

100%

JSON value serializer

50%

100%

DomainEvent dataclass

100%

100%

event_id field

100%

100%

event_type field

100%

100%

aggregate_id field

0%

100%

occurred_at field

0%

50%

data field

0%

100%

aggregate_id as Kafka key

16%

100%

topic from event_type

0%

100%

producer started/stopped

100%

100%

asdict used for publish

100%

100%

94%

25%

Design a Checkout Saga for an E-Commerce Platform

Saga distributed transaction pattern

Criteria
Without context
With context

SagaStep class

100%

100%

action callable

100%

100%

compensation callable

100%

100%

SagaStatus enum

0%

100%

PENDING status value

0%

100%

COMPLETED status value

0%

100%

COMPENSATING status value

0%

100%

FAILED status value

0%

100%

reverse compensation order

100%

100%

compensation on exception

70%

100%

compensation failures logged/swallowed

100%

100%

context dict threaded through

100%

100%

separate service data

100%

100%

async saga execution

0%

0%

100%

4%

Dashboard Summary API: Aggregating Data from Multiple Services

API Gateway parallel aggregation

Criteria
Without context
With context

asyncio.gather used

100%

100%

return_exceptions=True

100%

100%

isinstance Exception check

100%

100%

@circuit decorator used

100%

100%

failure_threshold=5

100%

100%

recovery_timeout=30

100%

100%

HTTPException 503

66%

100%

httpx async client

100%

100%

raise_for_status called

100%

100%

async endpoint

100%

100%

circuitbreaker import

100%

100%

100%

18%

Platform Reliability: Self-Contained Circuit Breaker Utility

Custom circuit breaker state machine

Criteria
Without context
With context

CircuitState enum

100%

100%

CLOSED state

100%

100%

OPEN state

100%

100%

HALF_OPEN state

100%

100%

failure_threshold default 5

100%

100%

recovery_timeout default 30

0%

100%

success_threshold default 2

100%

100%

OPEN rejects calls

100%

100%

OPEN to HALF_OPEN via timedelta

0%

100%

HALF_OPEN to CLOSED

100%

100%

HALF_OPEN to OPEN on failure

100%

100%

async call method

100%

100%

92%

24%

E-Commerce Backend: Decompose into Business Capability Services

Service decomposition by business capability

Criteria
Without context
With context

Separate data stores

100%

100%

No cross-service DB writes

100%

100%

Event bus publish on order created

100%

100%

Event bus publish on payment completed

100%

100%

Event bus publish on inventory reserved

100%

100%

DomainEvent dataclass used

0%

100%

event_type field present

0%

100%

aggregate_id field present

0%

0%

Async service methods

0%

100%

Distinct event types

100%

100%

Design notes explain boundaries

100%

100%

Repository
wshobson/agents
Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.