distributed-systems-patterns
Use when designing or reviewing multi-service, message-driven, or eventually consistent systems. Covers service boundaries, consistency tradeoffs, event workflows, outbox and inbox patterns, sagas, ordering, and idempotency.
Best use case
distributed-systems-patterns is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when designing or reviewing multi-service, message-driven, or eventually consistent systems. Covers service boundaries, consistency tradeoffs, event workflows, outbox and inbox patterns, sagas, ordering, and idempotency.
Teams using distributed-systems-patterns should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/distributed-systems-patterns/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How distributed-systems-patterns Compares
| Feature / Agent | distributed-systems-patterns | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when designing or reviewing multi-service, message-driven, or eventually consistent systems. Covers service boundaries, consistency tradeoffs, event workflows, outbox and inbox patterns, sagas, ordering, and idempotency.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Distributed Systems Patterns Acknowledgement: Shared by Peter Bamuhigire, techguypeter.com, +256 784 464178. <!-- dual-compat-start --> ## Use When - Use when designing or reviewing multi-service, message-driven, or eventually consistent systems. Covers service boundaries, consistency tradeoffs, event workflows, outbox and inbox patterns, sagas, ordering, and idempotency. - The task needs reusable judgment, domain constraints, or a proven workflow rather than ad hoc advice. ## Do Not Use When - The task is unrelated to `distributed-systems-patterns` or would be better handled by a more specific companion skill. - The request only needs a trivial answer and none of this skill's constraints or references materially help. ## Required Inputs - Gather relevant project context, constraints, and the concrete problem to solve; load `references` only as needed. - Confirm the desired deliverable: design, code, review, migration plan, audit, or documentation. ## Workflow - Read this `SKILL.md` first, then load only the referenced deep-dive files that are necessary for the task. - Apply the ordered guidance, checklists, and decision rules in this skill instead of cherry-picking isolated snippets. - Produce the deliverable with assumptions, risks, and follow-up work made explicit when they matter. ## Quality Standards - Keep outputs execution-oriented, concise, and aligned with the repository's baseline engineering standards. - Preserve compatibility with existing project conventions unless the skill explicitly requires a stronger standard. - Prefer deterministic, reviewable steps over vague advice or tool-specific magic. ## Anti-Patterns - Treating examples as copy-paste truth without checking fit, constraints, or failure modes. - Loading every reference file by default instead of using progressive disclosure. ## Outputs - A concrete result that fits the task: implementation guidance, review findings, architecture decisions, templates, or generated artifacts. - Clear assumptions, tradeoffs, or unresolved gaps when the task cannot be completed from available context alone. - References used, companion skills, or follow-up actions when they materially improve execution. ## Evidence Produced | Category | Artifact | Format | Example | |----------|----------|--------|---------| | Operability | Service consistency and idempotency note | Markdown doc covering chosen consistency model, idempotency keys, and saga sequences | `docs/dist/consistency-note-checkout.md` | | Operability | Failure-mode catalogue | Markdown doc listing partition, retry, and replay failure modes with mitigations | `docs/dist/failure-modes-checkout.md` | ## References - Use the `references/` directory for deep detail after reading the core workflow below. - Load `references/event-driven-architecture.md` for event choreography, event contracts, brokers, and asynchronous workflow design. - Load `references/realtime-systems.md` for WebSocket, SSE, pub/sub, and realtime delivery concerns. <!-- dual-compat-end --> Use this skill when a design crosses process, service, queue, or region boundaries. The goal is to keep distributed complexity deliberate and bounded rather than accidental. ## Load Order 1. Load `world-class-engineering`. 2. Load `system-architecture-design` first for the overall shape. 3. Load this skill only when the system genuinely needs multiple services, asynchronous workflows, or weakly consistent boundaries. ## Decision Workflow ### 1. Justify Distribution State why distribution is necessary: - team ownership and release independence - scaling asymmetry - fault isolation - compliance or tenancy isolation - long-running or bursty workflows If none of these are strong, prefer a modular monolith. ### 2. Define Boundaries and Contracts For each service or asynchronous component, define: - owned data - API or event contracts - consistency expectation - failure effect on upstream and downstream flows - observability and ownership requirements ### 3. Choose Interaction Patterns Use: - synchronous calls when the caller needs immediate confirmation - messaging when work is slow, bursty, or naturally eventual - outbox and inbox patterns when reliability across boundaries matters - sagas or compensations when one business workflow spans multiple durable states ### 4. Design Consistency and Recovery Make explicit: - source of truth - ordering requirements - deduplication strategy - reconciliation path - timeout and retry policy - compensation or manual repair path ### 5. Prove the Design Before calling it production-ready, provide: - consistency model - failure-mode examples - idempotency and replay notes - contract evolution rules - operational signals for stuck or divergent workflows ## Non-Negotiable Standards ### Service Boundaries - Each service owns its data and rules. - Do not share databases across services as a convenience. - Keep contracts narrow and versionable. - Avoid chatty request chains on critical paths. ### Messaging - Assume at-least-once delivery unless proven otherwise. - Design consumers to be idempotent and replay-safe. - Define ordering needs explicitly; unordered by default is safer to assume. - Include correlation IDs and causation metadata. ### Consistency - Strong consistency has operational cost; use it where business correctness needs it. - Eventual consistency requires visible user and operator handling. - If divergence is possible, define reconciliation before shipping. ### Sagas and Compensation - Use compensation when the workflow spans multiple irreversible boundaries. - Compensation must be explicit, auditable, and tested. - Never describe a workflow as atomic if it crosses systems that cannot commit atomically. ## Deliverables For distributed-system work, produce: - service and ownership map - contract list - consistency decision table - event and retry flow notes - reconciliation or compensation plan - stuck-workflow and replay detection signals ## Review Checklist - [ ] Distribution is justified by real constraints. - [ ] Data ownership is explicit and not undermined by shared persistence shortcuts. - [ ] Idempotency and replay behavior are defined. - [ ] Ordering assumptions are explicit. - [ ] Consistency and compensation strategy match business risk. - [ ] Operational detection exists for stuck, duplicated, or divergent workflows. ## References - [references/consistency-decision-matrix.md](references/consistency-decision-matrix.md): How to choose synchronous, asynchronous, strong, or eventual consistency. - [references/messaging-checklist.md](references/messaging-checklist.md): Event, queue, and saga review prompts.
Related Skills
interaction-design-patterns
Use when designing interfaces, building UX flows, choosing layouts, or making navigation decisions. Covers Tidwell's 45+ proven interaction patterns for behavior, navigation, layout, actions, and data display. Load alongside webapp-gui-design...
graphql-patterns
Use when designing, building, or operating GraphQL APIs with Apollo Server + TypeScript — covers schema-first SDL design, resolver architecture, DataLoader, JWT and directive-based authz, Relay cursor pagination, typed error payloads, federation v2, graphql-codegen, and production hardening (depth/complexity limits, timeouts, persisted queries). Load references/graphql-security.md for hostile-input defence.
ai-rag-patterns
Use when building features that answer questions from private data, documents, policies, or time-sensitive information — RAG architecture, chunking strategies, hybrid search, re-ranking, vector databases, evaluation, agentic RAG, multimodal RAG...
web-app-security-audit
Use when auditing a PHP/JavaScript/HTML web application for security vulnerabilities. Covers configuration, authentication, authorization, input validation, XSS, API security, HTTP headers, and dependency scanning. Produces a severity-rated audit...
vibe-security-skill
Use when designing or reviewing security for a web application, API, or multi-tenant SaaS — produces threat model, abuse case list, auth/authz matrix, and secret handling plan; covers OWASP Top 10 2025 and the AI-code-generation blind spots. Neighbours — api-design-first owns auth model fields, deployment-release-engineering owns secret rotation choreography, ai-security and llm-security own model-specific threats.
network-security
Use when designing, hardening, or auditing network-layer security for self-managed Debian/Ubuntu SaaS infrastructure — firewalls (nftables/UFW), WAF (ModSecurity + OWASP CRS), VPN (WireGuard, OpenVPN, IPsec), TLS/PKI ops, IDS/IPS (Suricata, Fail2ban), zero-trust, SSH hardening, DDoS mitigation, DNS security. Complements web-app-security-audit (app layer) and cicd-devsecops (secrets/CI).
linux-security-hardening
Use when hardening a Debian/Ubuntu server — user/group/sudo hardening, file permission audits, PAM password policy + MFA, AppArmor mandatory access control, auditd system call logging, kernel sysctl hardening, file integrity monitoring (AIDE), rootkit detection (rkhunter/chkrootkit), unattended security patching, GRUB + UEFI + LUKS boot security, and CIS benchmark compliance.
dpia-generator
Generate a Data Protection Impact Assessment (DPIA), Uganda DPPA 2019-compliant. Use when producing or reviewing a data protection impact assessment, a privacy impact assessment, when uganda-dppa-compliance flags [DPIA-REQUIRED], or when processing large-scale or sensitive personal data for a new feature.
code-safety-scanner
Scan any codebase for 14 critical safety issues across security vulnerabilities, server stability (500 errors), and payment misconfigurations. Use when auditing code before deployment, reviewing AI-generated code for production readiness, or...
world-class-engineering
Use when designing, building, reviewing, or upgrading production software systems that must be secure, performant, maintainable, scalable, and user-centered. Apply before writing specs, code, architecture, APIs, databases, mobile apps, SaaS platforms, or ERP systems.
update-Codex-documentation
Update project documentation files (README.md, PROJECT_BRIEF.md, TECH_STACK.md, ARCHITECTURE.md, docs/API.md, docs/DATABASE.md, AGENTS.md, docs/plans/NEXT_FEATURES.md) when significant changes occur. MANDATORY at end of each work session to...
skill-writing
Use when creating or upgrading skills in this repository. Covers repository-specific frontmatter rules, progressive disclosure, reference-file strategy, validation, and the quality bar required for production-grade engineering skills.