microservices-architect
Skill8 starsChanged 2 months agoMITView on GitHub
Designs distributed system architectures, decomposes monoliths into bounded-context services, recommends communication patterns, and produces service boundary diagrams and resilience strategies. Use when designing distributed systems, decomposing monoliths, or implementing microservices patterns — including service boundaries, DDD, saga patterns, event sourcing, CQRS, service mesh, or distributed tracing.
19 other projects use a version of this, 10 of them edited.
Adopted by
Most recently taken up by
- santiago-migoni/claude-skillsedited, first seen Nov 8, 2026
- lsyamsiar/claude-skillsedited, first seen Nov 1, 2026
- codeApe-7/ai-agent-workflowGroupedited, first seen Nov 1, 2026
- hu465/claude-skills-edited, first seen Oct 25, 2026
- sandraschi/advanced-memory-mcptheir own version, first seen Oct 24, 2026
- zacklecon/claude-skillsedited, first seen Oct 13, 2026
Other versions19 projects use a version of this.
Word for word · 1
- nicholyx/ai-skills★ 6100% same
Edited · 10
- Jeffallan/claude-skills★ 12k97% same
- codeApe-7/ai-agent-workflowGroup★ 18100% same
- PIXARTSeu/Synapse★ 9100% same
- thesaifalitai/claude-setup★ 969% same
- HK-hub/AgentSkills★ 6100% same
- zacklecon/claude-skills★ 369% same
- hu465/claude-skills-★ 097% same
- lsyamsiar/claude-skills★ 097% same
- santiago-migoni/claude-skills★ 097% same
- usmanmubarak1/ClaudeSkilledAgents★ 062% same
Wrote their own version · 8
- jshsakura/awesome-opencode-skills★ 30same name
- sandraschi/advanced-memory-mcp★ 19same name
- belokonm/claude-supercode-skills★ 11same name
- keez97/claude-architecture-skills★ 8same name
- nicolasestrem/antigravity-gemini-skills★ 8same name
- marttp/my_agent_skills_I_use★ 4same name
- OneDro1d/dark-factory★ 4same name
- mmondora/claude-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository51 other files it gives its agents.
- adrSkill
- agency-tier-uiSkill
- api-designSkill
- banner-designSkill
- brainstormingSkill
- brandSkill
- cavemanSkill
- coding-standardsSkill
- db-optimizationSkill
- designSkill
- design-systemSkill
- design-to-codeSkill
- dispatching-parallel-agentsSkill
- django-securitySkill
- dotnet-patternsSkill
- e2e-testingSkill
- executing-plansSkill
- explainmeSkill
- finishing-a-development-branchSkill
- golang-patternsSkill
- greenfield-architectSkill
- hydraiaSkill
- karpathy-guidelinesSkill
- mobile-design-framesSkill
- node-patternsSkill
- performance-tuningSkill
- production-auditSkill
- python-patternsSkill
- react-patternsSkill
- receiving-code-reviewSkill
- redesign-upliftSkill
- repo-scanSkill
- requesting-code-reviewSkill
- security-bounty-hunterSkill
- security-reviewSkill
- security-scanSkill
- slidesSkill
- springboot-patternsSkill
- springboot-securitySkill
- story-analysisSkill
- subagent-driven-developmentSkill
- systematic-debuggingSkill
- test-driven-developmentSkill
- ui-stylingSkill
- ui-ux-pro-maxSkill
- using-git-worktreesSkill
- using-superpowersSkill
- verification-before-completionSkill
- web-design-framesSkill
- writing-plansSkill
- writing-skillsSkill
The file
We split this skill into the rules it gives an agent
7 rules. 7 are common, 0 are distinctive, and 0 are very specific to this project.
7
Common
Most of the 16 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 135
Use database per service pattern
- Common: line 137
Add correlation IDs to all requests
- Common: line 138
Use async communication for cross-aggregate operations
- Common: line 141
Use API versioning strategies
- Common: line 146
Use synchronous calls for long-running operations
- Common: line 149
Create chatty service interfaces
- Common: line 155
When designing microservices architecture, provide:
“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Microservices Architect
Senior distributed systems architect specializing in cloud-native microservices architectures, resilience patterns, and operational excellence.
Core Workflow
- Domain Analysis — Apply DDD to identify bounded contexts and service boundaries.
- Validation checkpoint: Each candidate service owns its data exclusively, has a clear public API contract, and can be deployed independently.
- Communication Design — Choose sync/async patterns and protocols (REST, gRPC, events).
- Validation checkpoint: Long-running or cross-aggregate operations use async messaging; only query/command pairs with sub-100 ms SLA use synchronous calls.
- Data Strategy — Database per service, event sourcing, eventual consistency.
- Validation checkpoint: No shared database schema exists between services; consistency boundaries align with bounded contexts.
- Resilience — Circuit breakers, retries, timeouts, bulkheads, fallbacks.
- Validation checkpoint: Every external call has an explicit timeout, retry budget, and graceful degradation path.
- Observability — Distributed tracing, correlation IDs, centralized logging.
- Validation checkpoint: A single request can be traced end-to-end using its correlation ID across all services.
- Deployment — Container orchestration, service mesh, progressive delivery.
- Validation checkpoint: Health and readiness probes are defined; canary or blue-green rollout strategy is documented.
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
| Service Boundaries | references/decomposition.md | Monolith decomposition, bounded contexts, DDD |
| Communication | references/communication.md | REST vs gRPC, async messaging, event-driven |
| Resilience Patterns | references/patterns.md | Circuit breakers, saga, bulkhead, retry strategies |
| Data Management | references/data.md | Database per service, event sourcing, CQRS |
| Observability | references/observability.md | Distributed tracing, correlation IDs, metrics |
Implementation Examples
Correlation ID Middleware (Node.js / Express)
const { v4: uuidv4 } = require('uuid');
function correlationMiddleware(req, res, next) {
req.correlationId = req.headers['x-correlation-id'] || uuidv4();
res.setHeader('x-correlation-id', req.correlationId);
// Attach to logger context so every log line includes the ID
req.log = logger.child({ correlationId: req.correlationId });
next();
}Propagate x-correlation-id in every outbound HTTP call and Kafka message header.
Circuit Breaker (Python / pybreaker)
import pybreaker
# Opens after 5 failures; resets after 30 s in half-open state
breaker = pybreaker.CircuitBreaker(fail_max=5, reset_timeout=30)
@breaker
def call_inventory_service(order_id: str):
response = requests.get(f"{INVENTORY_URL}/stock/{order_id}", timeout=2)
response.raise_for_status()
return response.json()
def get_inventory(order_id: str):
try:
return call_inventory_service(order_id)
except pybreaker.CircuitBreakerError:
return {"status": "unavailable", "fallback": True}Saga Orchestration Skeleton (TypeScript)
// Each step defines execute() and compensate() so rollback is automatic.
interface SagaStep<T> {
execute(ctx: T): Promise<T>;
compensate(ctx: T): Promise<void>;
}
async function runSaga<T>(steps: SagaStep<T>[], initialCtx: T): Promise<T> {
const completed: SagaStep<T>[] = [];
let ctx = initialCtx;
for (const step of steps) {
try {
ctx = await step.execute(ctx);
completed.push(step);
} catch (err) {
for (const done of completed.reverse()) {
await done.compensate(ctx).catch(console.error);
}
throw err;
}
}
return ctx;
}
// Usage: order creation saga
const orderSaga = [reserveInventoryStep, chargePaymentStep, scheduleShipmentStep];
await runSaga(orderSaga, { orderId, customerId, items });Health & Readiness Probe (Kubernetes)
livenessProbe:
httpGet:
path: /health/live
port: 8080
initialDelaySeconds: 10
periodSeconds: 15
readinessProbe:
httpGet:
path: /health/ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 10/health/live — returns 200 if the process is running./health/ready — returns 200 only when the service can serve traffic (DB connected, caches warm).
Constraints
MUST DO
- Apply domain-driven design for service boundaries
- Use database per service pattern
- Implement circuit breakers for external calls
- Add correlation IDs to all requests
- Use async communication for cross-aggregate operations
- Design for failure and graceful degradation
- Implement health checks and readiness probes
- Use API versioning strategies
MUST NOT DO
- Create distributed monoliths
- Share databases between services
- Use synchronous calls for long-running operations
- Skip distributed tracing implementation
- Ignore network latency and partial failures
- Create chatty service interfaces
- Store shared state without proper patterns
- Deploy without observability
Output Templates
When designing microservices architecture, provide:
- Service boundary diagram with bounded contexts
- Communication patterns (sync/async, protocols)
- Data ownership and consistency model
- Resilience patterns for each integration point
- Deployment and infrastructure requirements
Knowledge Reference
Domain-driven design, bounded contexts, event storming, REST/gRPC, message queues (Kafka, RabbitMQ), service mesh (Istio, Linkerd), Kubernetes, circuit breakers, saga patterns, event sourcing, CQRS, distributed tracing (Jaeger, Zipkin), API gateways, eventual consistency, CAP theorem
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

