Microservices architecture expertise covering service decomposition, inter-service communication, saga pattern, API gateway, service mesh, distributed tracing, data ownership, and monolith…
Install the "microservices-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/microservices-architect into .claude/skills/microservices-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "microservices-architect", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add FerroxLabs/wayland --skill microservices-architect -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "microservices-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/microservices-architect into .agents/skills/microservices-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "microservices-architect", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add FerroxLabs/wayland --skill microservices-architect -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "microservices-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/microservices-architect into .cursor/skills/microservices-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "microservices-architect", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add FerroxLabs/wayland --skill microservices-architect -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "microservices-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/microservices-architect into .gemini/skills/microservices-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "microservices-architect", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add FerroxLabs/wayland --skill microservices-architect -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "microservices-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/microservices-architect into .github/skills/microservices-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "microservices-architect", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add FerroxLabs/wayland --skill microservices-architect -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "microservices-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/microservices-architect into .opencode/skills/microservices-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "microservices-architect", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
microservices-architect
GitHub stars
608
Token cost
~4.2k tokens
SKILL.md length
311 words
Files
1
Skills in repo
1,194
Repo updated
First seen
Licence
Apache-2.0
At a glance
Microservices architecture expertise covering service decomposition, inter-service communication, saga pattern, API gateway, service mesh, distributed tracing, data ownership, and monolith…
The user asks about microservices architect
SKILL.md covers Purpose, When to Use Microservices, Service Decomposition and Inter-Service Communication, plus 10 more sections
Calls consul
Microservices architect best practices
What it does
Microservices Architect is an agent skill from FerroxLabs/wayland. Microservices architecture expertise covering service decomposition, inter-service communication, saga pattern, API gateway, service mesh, distributed tracing, data ownership, and monolith decomposition strategies. Use when the user asks about microservices architect, microservices architect best practices, or needs guidance on microservices architect implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering Microservices. The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.
When your agent uses it
The user asks about microservices architect
Microservices architect best practices
Needs guidance on microservices architect implementation
The user needs a different specialized skill
Example prompts
“Use the microservices-architect skill to microservice architecture expertise covering service decomposition, inter-service communication, saga…”
“/microservices-architect”
What it can do on your machine
Read from SKILL.md and the folder at commit 4c030c7. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Shell commands in SKILL.md call:
consul
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Microservices Architect loads about 4.2k tokens when it runs. Until then it costs about 126 tokens; SKILL.md has 311 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~126
When it runs· the whole SKILL.md, loaded when a task matches
~4.2k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/microservices-architect/SKILL.md (or your agent's skills folder).
name
microservices-architect
description
Microservices architecture expertise covering service decomposition, inter-service communication, saga pattern, API gateway, service mesh, distributed tracing, data ownership, and monolith decomposition strategies.
Use when the user asks about microservices architect, microservices architect best practices, or needs guidance on microservices architect implementation.
Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
license
Apache-2.0
metadata.author
foundry-skills
metadata.version
1.0.0
metadata.tags
backend api-design microservices
metadata.category
backend-systems
metadata.subcategory
server-infrastructure
metadata.disclaimer
none
metadata.difficulty
advanced
Microservices Architect
Purpose
Design and decompose systems into well-bounded microservices that are independently deployable, scalable, and maintainable. This skill covers decomposition strategies, communication patterns, data management, and the operational tooling required for microservices at scale.
When to Use Microservices
Decision Framework
USE MICROSERVICES WHEN:
[x] Team is large enough (>15 engineers)
[x] Different components have different scaling needs
[x] Independent deployment cycles are critical
[x] Different technology stacks benefit different services
[x] Organization structure maps to service boundaries (Conway's Law)
[x] Domain is well-understood (not early-stage exploration)
STAY WITH MONOLITH WHEN:
[x] Small team (<10 engineers)
[x] Domain is still being discovered
[x] Uniform scaling needs
[x] Limited operational maturity (no CI/CD, no monitoring)
[x] Latency sensitivity (every network hop adds latency)
[x] Distributed transactions are core to the business
MIDDLE GROUND: Modular Monolith
- Monolith deployment unit
- Well-defined module boundaries
- Module interfaces (no cross-module database access)
- Can extract to microservices later if needed
Service Decomposition
Bounded Context (DDD)
STEP 1: Identify bounded contexts from the domain
Use Event Storming or Domain Modeling sessions.
E-Commerce Domain:
[Identity] - Users, authentication, roles
[Catalog] - Products, categories, search
[Ordering] - Orders, checkout, cart
[Payment] - Transactions, refunds, billing
[Inventory] - Stock levels, warehouses
[Shipping] - Tracking, carriers, labels
[Notification] - Email, SMS, push
[Analytics] - Events, reports, dashboards
STEP 2: Define the context map
Which contexts interact, and how?
[Ordering] --calls--> [Payment] (synchronous)
[Payment] --emits--> [Ordering] (payment.completed event)
[Ordering] --emits--> [Inventory] (order.placed event)
[Ordering] --emits--> [Notification] (order.confirmed event)
[Ordering] --emits--> [Shipping] (order.ready-to-ship event)
STEP 3: Each bounded context becomes a service (or module)
Some contexts may be combined if too small or tightly coupled.
Decomposition Heuristics
DECOMPOSE BY:
1. Business capability (Catalog, Ordering, Payment)
2. Subdomain (core, supporting, generic)
3. Data ownership (each service owns its data)
4. Team structure (one team, one or few services)
5. Change frequency (isolate frequently changing parts)
6. Scaling requirements (isolate high-load components)
DO NOT DECOMPOSE BY:
- Technical layer (frontend service, backend service, DB service)
- CRUD operations (user-read-service, user-write-service)
- Individual entities (one service per database table)
SIZE HEURISTIC:
A service should be:
- Owned by one team (2-pizza team, 5-8 people)
- Deployable in under 15 minutes
- Understandable by a new team member in 2 weeks
- Rewritable in 2-4 weeks if needed
Inter-Service Communication
Synchronous (Request-Response)
HTTP/REST:
+ Simple, well-understood, debuggable
+ Works with any language
- Tight coupling (caller blocks until response)
- Cascading failures possible
- Must handle timeouts and retries
gRPC:
+ Strongly typed contracts (Protobuf)
+ Efficient binary serialization
+ Streaming support
+ Auto-generated client libraries
- More complex setup than REST
- Binary format harder to debug
- Browser support requires gRPC-Web
USE SYNC WHEN:
- Response needed immediately for next step
- Simple request-response pattern
- Low latency required
- Query/read operations
Asynchronous (Event-Driven)
EVENTS (publish-subscribe):
+ Loose coupling (producer doesn't know consumers)
+ Temporal decoupling (consumer processes when ready)
+ Easy to add new consumers
+ Natural scalability
- Eventual consistency
- Harder to debug and trace
- Message ordering challenges
COMMANDS (point-to-point):
+ Specific intent (do X)
+ One handler per command
- Still couples sender to receiver semantics
USE ASYNC WHEN:
- Response not needed immediately
- Multiple consumers need the information
- Long-running processing
- Write/command operations that don't need immediate confirmation
- Fire-and-skip notifications
Communication Decision Matrix
PATTERN COUPLING LATENCY RELIABILITY
-----------------------------------------------------------
Sync REST High Low Medium
Sync gRPC High Very Low Medium
Async Events Low High High
Async Commands Medium High High
Request-Reply (async) Medium Medium High
DEFAULT RECOMMENDATION:
- Queries: Sync (REST or gRPC)
- Commands that need confirmation: Sync with async fallback
- Events: Always async
- Cross-domain communication: Async events
Saga Pattern (Distributed Transactions)
Choreography Saga
Each service listens for events and emits its own events.
No central coordinator.
Order Placement Flow:
1. Order Service: Creates order (PENDING)
Emits: order.created
2. Payment Service: Listens for order.created
Processes payment
Emits: payment.completed (or payment.failed)
3. Inventory Service: Listens for payment.completed
Reserves stock
Emits: inventory.reserved (or inventory.insufficient)
4. Order Service: Listens for inventory.reserved
Updates order to CONFIRMED
Emits: order.confirmed
Compensation (rollback):
If inventory.insufficient:
Payment Service listens -> refund payment -> Emits: payment.refunded
Order Service listens -> cancel order
PROS: No single point of failure, simple services
CONS: Hard to understand full flow, distributed debugging
Orchestration Saga
Central orchestrator manages the saga steps.
Order Saga Orchestrator:
Step 1: Call Payment Service -> processPayment()
Success -> Step 2
Failure -> Compensate: Cancel order
Step 2: Call Inventory Service -> reserveStock()
Success -> Step 3
Failure -> Compensate: Refund payment, Cancel order
Step 3: Call Shipping Service -> scheduleShipment()
Success -> Complete saga
Failure -> Compensate: Release stock, Refund payment, Cancel order
CHOREOGRAPHY vs ORCHESTRATION:
Choreography:
+ No single point of failure
+ Services are more autonomous
- Hard to understand full flow
- Difficult to add new steps
Orchestration:
+ Clear flow definition
+ Easy to add/modify steps
+ Centralized error handling
- Orchestrator is a single point of failure
- Risk of becoming "god service"
RECOMMENDATION:
Simple flows (2-3 steps): Choreography
Complex flows (4+ steps): Orchestration
API Gateway
Responsibilities
ROUTING: Map external URLs to internal services
AUTHENTICATION: Validate tokens, API keys
RATE LIMITING: Per-user, per-API-key throttling
LOAD BALANCING: Distribute traffic across service instances
CIRCUIT BREAKING: Stop calling failed services
CACHING: Cache responses at gateway level
TRANSFORMATION: Request/response manipulation
AGGREGATION: Combine multiple service responses (BFF pattern)
MONITORING: Request logging, metrics, tracing headers
TLS TERMINATION: Handle HTTPS at the edge
Backend for Frontend (BFF) Pattern
Problem: Mobile, web, and third-party clients need different data shapes.
Solution: One API gateway (or aggregation layer) per client type.
Mobile App -> [Mobile BFF] -> Services
Web App -> [Web BFF] -> Services
Third-party -> [Public API] -> Services
Each BFF:
- Tailored response shape for its client
- Aggregates data from multiple services
- Handles client-specific auth flows
- Owned by the frontend team for that client
Service Mesh
WHAT: Infrastructure layer that handles service-to-service communication.
HOW: Sidecar proxy (Envoy, Linkerd-proxy) next to each service instance.
CAPABILITIES:
- mTLS (mutual TLS) between services
- Automatic retries with backoff
- Circuit breaking
- Load balancing (least connections, round-robin, etc.)
- Traffic splitting (canary, blue-green)
- Observability (metrics, traces, logs)
- Rate limiting
WHEN TO USE:
- Many services (>10) with complex communication
- Need mTLS without changing application code
- Need traffic management (canary deployments)
- Polyglot environment (mesh handles cross-cutting concerns)
WHEN NOT TO USE:
- Few services (<5) -- overhead not justified
- Simple communication patterns
- Team lacks Kubernetes operational expertise
TOOLS:
Istio -> Feature-rich, complex
Linkerd -> Simple, lightweight, Rust-based
Consul Connect -> HashiCorp ecosystem
Distributed Tracing
CONCEPT: Track a request as it flows through multiple services.
Each service adds a span to the trace.
IMPLEMENTATION:
1. Propagate trace context headers between services
(traceparent, tracestate -- W3C Trace Context standard)
2. Each service creates spans for its operations
3. Spans are sent to a collector (Jaeger, Zipkin, Tempo)
4. Trace UI shows the full request flow with timing
HEADERS:
traceparent: 00-<trace-id>-<span-id>-<flags>
Example: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
RULE: Each service owns its data store. No service directly accesses
another service's database.
IMPLICATIONS:
- No cross-service JOINs
- Data duplication is acceptable (eventual consistency)
- Services expose data through APIs or events
- Each service can choose its own database technology
CROSS-SERVICE DATA NEEDS:
1. API Call: Service A calls Service B's API
2. Event Propagation: Service B emits events, Service A stores local copy
3. CQRS: Separate read model built from events
EXAMPLE:
Order Service needs user email for confirmation.
Option A: Call User Service API synchronously
Option B: Listen to user.updated events, store email locally
Recommendation: Option B (more resilient, no runtime dependency)
Breaking the Monolith
Strangler Fig Pattern
STRATEGY: Gradually replace monolith functionality with microservices.
Step 1: Add API gateway/proxy in front of monolith
All traffic -> [Gateway] -> [Monolith]
Step 2: Extract one feature to a new service
Traffic for feature X -> [Gateway] -> [New Service X]
Everything else -> [Gateway] -> [Monolith]
Step 3: Repeat for each feature
Over time, more traffic goes to new services, less to monolith.
Step 4: Decommission monolith when empty
All traffic -> [Gateway] -> [Microservices]
KEY RULES:
- Extract the highest-value or most-changing feature first
- Keep monolith and service in sync during transition
- Use feature flags to switch traffic gradually
- Never rewrite from scratch -- extract incrementally
Extraction Sequence
1. Identify bounded context to extract
2. Define the service interface (API contract)
3. Create the new service with its own database
4. Add data synchronization (events or dual-write)
5. Route traffic through gateway
6. Validate with shadow traffic or canary
7. Cut over fully
8. Remove extracted code from monolith
9. Clean up data synchronization
Microservices Architecture Checklist
Services decomposed by business capability (bounded contexts)
Each service has its own database (no shared databases)
Synchronous communication used for queries
Asynchronous events used for cross-domain communication
Saga pattern implemented for distributed transactions
API gateway handles routing, auth, rate limiting
Circuit breakers protect against cascading failures
Distributed tracing implemented (OpenTelemetry)
Health checks and readiness probes configured
Service-level objectives (SLOs) defined per service
CI/CD pipeline enables independent deployment
Monitoring covers latency, error rate, throughput per service
Data ownership clearly defined (no cross-service DB access)
Runbooks documented for common operational scenarios
Output Format
markdown
# Microservices Architect Analysis
## Context Assessment
[Situation summary and constraints]
## Recommended Approach
[Primary recommendation with rationale]
## Implementation Steps
1. [Step with specific details]
2. [Step with specific details]
3. [Step with specific details]
## Trade-offs and Considerations
- [Key trade-off 1]
- [Key trade-off 2]
## Next Steps
- [Immediate action item]
- [Follow-up action item]
Example
Input: "Help me implement microservices architect for a medium-scale production application"
Output: A structured analysis covering current state assessment, recommended microservices architect approach with specific patterns, implementation roadmap with milestones, and risk mitigation strategies tailored to the application scale and constraints.
Edge Cases
Legacy system integration: When microservices architect must coexist with legacy approaches, provide a gradual migration path rather than a complete rewrite
Scale mismatch: When the solution complexity exceeds the project scale, recommend a simpler approach and note when to revisit
Team skill gaps: When the team lacks experience with the recommended approach, include learning resources and simpler alternatives
Conflicting requirements: When constraints conflict (e.g., performance vs. maintainability), explicitly state the trade-off and recommend based on stated priorities
Microservices Architect next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Microservices Architect compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Microservices Architect this skillFerroxLabs/wayland
Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices.
Implements concurrent Go patterns using goroutines and channels, designs and builds microservices with gRPC or REST, optimizes Go application performance with pprof, and enforces idiomatic Go with…
Creates Java + Spring Boot projects: Web applications, full-stack apps with Vue.js or Angular or React or vanilla JS, PostgreSQL, REST APIs, and Docker.
Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.
End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.
Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…
Microservices architecture expertise covering service decomposition, inter-service communication, saga pattern, API gateway, service mesh, distributed tracing, data ownership, and monolith…. Microservices Architect is an agent skill from FerroxLabs/wayland. Microservices architecture expertise covering service decomposition, inter-service communication, saga pattern, API gateway, service mesh, distributed tracing, data ownership, and monolith decomposition strategies.
When should I use Microservices Architect?
Microservices Architect fits situations like: the user asks about microservices architect; microservices architect best practices; needs guidance on microservices architect implementation; the user needs a different specialized skill.
How do I install Microservices Architect in Claude Code?
Run `npx skills add FerroxLabs/wayland --skill microservices-architect -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/backend-systems/microservices-architect in FerroxLabs/wayland) into .claude/skills/microservices-architect in your project. Claude Code loads it when a task matches its description.
How do I install Microservices Architect in Codex?
Run `npx skills add FerroxLabs/wayland --skill microservices-architect -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/backend-systems/microservices-architect in FerroxLabs/wayland) into .agents/skills/microservices-architect in your project. Codex loads it when a task matches its description.
Can I use Microservices Architect in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FerroxLabs/wayland --skill microservices-architect -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/microservices-architect, .gemini/skills/microservices-architect, .github/skills/microservices-architect and .opencode/skills/microservices-architect in your project.
What does Microservices Architect need to run?
Going by SKILL.md and its folder, Microservices Architect needs the command-line tools its instructions call (consul).
Does Microservices Architect access the network?
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Is Microservices Architect safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does Microservices Architect use?
Microservices Architect is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Microservices Architect use?
About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Microservices Architect?
Skills that share tags, products or a category with Microservices Architect: Node Backend Development Guidelines (diet103/claude-code-infrastructure-showcase, 10k stars), Nodejs Backend Patterns (ever-works/ever-works, 158 stars), AWS Serverless Eda (zxkane/aws-skills, 367 stars) and Golang Pro (antoniopaya22/go-rest-template, 172 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Microservices Architect?
FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 1,194 skills in this directory. The repository was last updated on October 6, 2026.
Source: FerroxLabs/wayland on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.