# Microservices Patterns (microservices-patterns)

> Reference for microservice decomposition, sync and async communication, database-per-service, sagas, and resilience patterns like circuit breakers.

- Category: [Architecture Tuning](https://www.myskills.tools/en/categories/architecture-tuning/)
- Source: Community · Seth Hobson
- Repository: https://github.com/wshobson/agents/tree/main/plugins/backend-development/skills/microservices-patterns (commit 0f73766)
- SKILL.md: https://github.com/wshobson/agents/blob/main/plugins/backend-development/skills/microservices-patterns/SKILL.md
- Install command: `npx skills add wshobson/agents --skill microservices-patterns`
- License: MIT
- Compatible with: Claude Code, Codex, Cursor, Copilot, OpenCode
- Permissions: read-repo ✓, write-files ✓, shell ✗, network ✗
- Status: Scan passed
- A rule scan cannot catch every risk. Read this skill's SKILL.md and check its permissions before installing.

## Core rule

Each service owns its data; no shared databases.

## Execution Phases

1. **Decompose services** — Split by business capability or DDD subdomain, or extract gradually from a monolith with the strangler fig pattern.
2. **Choose communication** — Pick synchronous REST, gRPC or GraphQL versus async Kafka, queues or pub/sub, optionally behind an API gateway.
3. **Manage distributed data** — Give each service its own database and use sagas with compensating actions for eventual consistency across services.
4. **Add resilience** — Use circuit breakers to fail fast, retries with exponential backoff for transient faults, and bulkheads to isolate resources.

## Permissions (summarised from SKILL.md)

| Capability | Needed | Details |
|---|---|---|
| File writes | Required | Writes service, event and saga code following the reference examples when implementing microservices. |
| Command execution | Not required | This is a design reference and does not ask to run commands. |
| Network outbound | Not required | Does not call external networks or services. |

## SKILL.md frontmatter (YAML)

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

Home: https://www.myskills.tools/en/ · URL: https://www.myskills.tools/en/skills/microservices-patterns/
