system-architecture-design
Skill31 starsChanged 18 days agoMITView on GitHub
Use when defining or reviewing software architecture for web apps, mobile backends, SaaS platforms, APIs, distributed systems, or major features. Covers bounded contexts, module decomposition, hexagonal ports-and-adapters boundaries, contracts, failure handling, ADRs, and scalability tradeoffs.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- wind7rui/system-architecture-designtheir own version, first seen Oct 25, 2026
- getappz/agentflaretheir own version, first seen Oct 8, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- wind7rui/system-architecture-design★ 4same name
- getappz/agentflare★ 3same 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 repository172 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- 00-meta-initializationSkill
- chwezi-dev-engineSkill
- ai-agent-commercial-operationsSkill
- ai-agent-compliance-controlsSkill
- ai-agent-governance-and-limitsSkill
- ai-agent-multi-agent-coordinationSkill
- ai-agent-observability-evaluationSkill
- ai-agent-runtime-architectureSkill
- ai-agent-safety-and-red-teamSkill
- ai-agent-tooling-and-hitlSkill
- ai-analyticsSkill
- ai-app-architectureSkill
- ai-cost-and-meteringSkill
- ai-economic-value-engineSkill
- ai-evaluationSkill
- ai-feature-rollout-and-experimentationSkill
- ai-feature-specSkill
- ai-incident-responseSkill
- ai-llm-integrationSkill
- ai-model-gatewaySkill
- ai-observability-and-debuggingSkill
- ai-opportunity-canvasSkill
- ai-prompt-engineeringSkill
- ai-rag-patternsSkill
- ai-securitySkill
- ai-web-appsSkill
- coding-agent-optimizationSkill
- openai-agents-sdkSkill
- android-developmentSkill
- api-design-firstSkill
- distributed-systems-patternsSkill
- ecommerce-platform-audit-requirementsSkill
- graphql-patternsSkill
- microservices-architectureSkill
- validation-contractSkill
- database-design-engineeringSkill
- database-reliabilitySkill
- mysql-engineeringSkill
- postgresql-engineeringSkill
- cicd-pipelinesSkill
- cloud-architectureSkill
- deployment-release-engineeringSkill
- docker-developmentSkill
- infrastructure-as-codeSkill
- kubernetes-platformSkill
- observability-monitoringSkill
- reliability-engineeringSkill
- execution-plan-scriptsSkill
- accounting-engineSkill
- accounting-finance-controllerSkill
- electronic-fiscal-taxingSkill
- multicurrency-and-fxSkill
- avalonia-desktop-developmentSkill
- frontend-architectureSkill
- frontend-performanceSkill
- image-compressionSkill
- nextjs-app-routerSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
29 rules. About 0 are common, 28 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈28
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Use when defining or reviewing software architecture for web apps, mobile backends, SaaS platforms, APIs, distributed systems, or major …
- Very specific: line 51
Use the references/ directory for deep detail after reading the core workflow below.
- Distinctive: line 67
Use the slice, review, and recovery practice for workload-led trade-offs, ownership, data truth, failure containment, and evolution.
- Distinctive: line 69
Use this skill when the problem is bigger than a single component.
- Distinctive: line 74
Use this skill to shape the architecture.
- Distinctive: line 86
Read/write paths, async flows, and operational jobs.
- Distinctive: line 97
Avoid "core" dumping grounds with mixed responsibilities.
- Distinctive: line 98
If a module changes for unrelated reasons, split it.
- Distinctive: line 99
Prefer boundaries that support independent understanding and low-risk releases before chasing deployment independence.
- Distinctive: line 103
Use the simplest viable shape:
- Distinctive: line 110
Default rule: prefer a well-structured monolith before microservices.
- Distinctive: line 134
Use ADR logic for decisions that are expensive to reverse:
- Distinctive: line 142
Use the template in references/adr-template.md.
- Distinctive: line 159
Keep domain language consistent inside each context.
- Distinctive: line 160
Do not let one module write another module's tables directly.
- Distinctive: line 166
Keep domain DTOs separate from persistence models where churn differs.
- Distinctive: line 171
Treat timeouts, retries, duplicate messages, and partial writes as first-class design cases.
- Distinctive: line 172
Prefer idempotency keys for financial, provisioning, and integration-heavy workflows.
- Distinctive: line 173
Use compensating actions when atomic transactions cannot span the workflow.
- Distinctive: line 177
Every critical workflow needs logs, metrics, and traceable IDs.
- Distinctive: line 178
Every background processor needs dead-letter or replay strategy.
- Distinctive: line 179
Every external dependency needs timeout, retry, and degradation rules.
- Distinctive: line 180
Every architecture proposal should show how recent changes will be correlated to failures in production.
- Distinctive: line 184
Prefer designs that can be shipped in small batches.
- Distinctive: line 185
Avoid boundaries that force big-bang database, contract, or traffic cutovers without a strong reason.
- Distinctive: line 186
Keep overlapping-version compatibility where staging and production may run different revisions briefly.
- Distinctive: line 192
Prefer interfaces that allow teams to move independently without hidden schema coupling.
- Distinctive: line 193
Do not extract services just to mirror org charts if operational cost outweighs benefit.
- Distinctive: line 247
If workload evidence or stakeholder decisions are unavailable, return read-only options with assumptions and proposed ADRs.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
System Architecture Design
Acknowledgement: Shared by Peter Bamuhigire, techguypeter.com, +256 784 464178.
<!-- dual-compat-start -->Use When
- Use when defining or reviewing software architecture for web apps, mobile backends, SaaS platforms, APIs, distributed systems, or major features. Covers bounded contexts, module decomposition, contracts, failure handling, ADRs, and scalability tradeoffs.
Do Not Use When
- The request is limited to an isolated endpoint, query, UI component, or deployment script with no system-level trade-off.
- The architecture is already decided and the task only needs implementation; use the relevant engineering skill and preserve recorded decisions.
Required Inputs
| Input | Required | Why it matters |
| Business capabilities and critical journeys | yes | Anchors boundaries in real system responsibilities |
| Quality attributes with measurable scenarios | yes | Makes performance, security, availability, and changeability testable |
| Constraints and existing-system context | yes | Prevents an unbuildable greenfield design |
| Scale, data, integration, and deployment assumptions | conditional | Supports sizing and topology decisions |
Workflow
Clarify drivers and constraints, model context and containers, assign data and responsibility boundaries, compare viable options, record decisions, then test the design against failure, evolution, security, and operational scenarios.
Quality Standards
Decisions link a driver to a chosen option, rejected alternatives, consequences, and verification evidence. Diagrams and prose agree on ownership, trust boundaries, data flow, and deployment topology.
Outputs
| Output | Consumer | Acceptance condition |
| Architecture description | Engineering stakeholders | Includes context, responsibilities, data ownership, integrations, trust boundaries, and deployment view |
| Decision records | Future maintainers | Capture rationale, alternatives, consequences, and revisit triggers |
| Quality-attribute verification plan | Delivery and operations teams | Maps each material scenario to a test, measurement, or operational check |
References
- Use the
references/directory for deep detail after reading the core workflow below. - references/practical-architecture-knowledge.md - book-distilled checks for DDD boundaries, scalability, architecture metrics, and executable architecture documentation.
- Deep-module design and design-it-twice - interface depth, seams, deletion tests, and independent option comparison.
- Hexagonal architecture (ports and adapters) - load when designing or refactoring a module's internal boundary: inbound/outbound ports, adapters, composition root, dependency inversion, per-boundary tests, and slice-by-slice migration (TypeScript, PHP, Java, Kotlin, Go).
- For confirmed domain terminology and decision ownership, consume the SRS engine's canonical
domain-language-and-decisionsreference through its router.
Skill-specific references:
- references/adr-template.md: Decision record format and architecture review prompts.
- references/architecture-execution-model.md: Architecture artifacts, release-aware boundaries, and flow design.
- references/platform-as-product-feedback.md: Platform-as-product ownership, decision rights, consumer feedback, and sustainability checks.
- references/architecture-as-code.md: architecture-as-code with C4 vocabulary, stable element IDs, commit-pinned evidence checked by
scripts/verify_diagram_evidence.py, and diagram drift as a fitness function. - ../../sdlc-meta/world-class-engineering/references/source-patterns.md: Architecture review patterns derived from the supplied books.
Book-informed practice route
Use the slice, review, and recovery practice for workload-led trade-offs, ownership, data truth, failure containment, and evolution.
<!-- dual-compat-end -->Use this skill when the problem is bigger than a single component. Start here before committing to frameworks, service boundaries, data ownership, or integration patterns.
Load Order
- Load
world-class-engineering. - Use this skill to shape the architecture.
- Load stack-specific skills only after the structural decisions are clear.
Architecture Workflow
1. Define the System Boundary
Capture:
- Actors and primary user journeys.
- Business capabilities and invariants.
- External systems and integration points.
- Read/write paths, async flows, and operational jobs.
- Non-functional constraints: latency, availability, compliance, team size, release cadence.
- The business events, policies, and failure consequences that make the system expensive to get wrong.
- The release shape: expected batch size, deployment frequency, rollback expectations, and who operates the system.
2. Decompose by Capability
Split the system by business capability first, technical layer second.
- Each module owns its rules, contracts, and data responsibilities.
- Shared modules should expose narrow stable interfaces.
- Avoid "core" dumping grounds with mixed responsibilities.
- If a module changes for unrelated reasons, split it.
- Prefer boundaries that support independent understanding and low-risk releases before chasing deployment independence.
3. Choose the Runtime Shape
Use the simplest viable shape:
- Modular monolith for most early and mid-stage systems.
- Service extraction only when scaling, deployability, team boundaries, or isolation justify the extra cost.
- Event-driven workflows only when loose coupling, resilience, or asynchronous processing clearly matter.
- Feature flags, dark launches, or canaries when exposure control matters more than runtime separation.
Default rule: prefer a well-structured monolith before microservices.
4. Design Critical Flows
For each critical flow, define:
- Entry point and authentication mode.
- Validation rules.
- Transaction boundary.
- Side effects and idempotency strategy.
- Failure and retry behavior.
- Audit and observability events.
Also define:
- consistency requirement: immediate, eventual, or compensating
- ownership of downstream effects
- rollback or reconciliation path when dependencies disagree
- release evidence needed before exposing the flow broadly
For domain-heavy or scale-sensitive systems, load references/practical-architecture-knowledge.md and apply its bounded-context, scalable-systems, and architecture-metric checks.
5. Record Decisions
Use ADR logic for decisions that are expensive to reverse:
- Context
- Options considered
- Decision
- Tradeoffs
- Consequences
Use the template in references/adr-template.md.
6. Produce Executable Architecture Artifacts
For non-trivial systems, produce:
- context map and ownership map
- critical-flow table with invariants, dependency failures, and operator actions
- deployment and rollback assumptions
- telemetry and audit requirements by flow
- migration and contract-evolution notes for live systems
Structural Standards
Bounded Contexts
- Inside a module, keep domain and use-case code free of framework and I/O imports; put side effects behind ports (references/hexagonal-ports-and-adapters.md).
- Keep domain language consistent inside each context.
- Do not let one module write another module's tables directly.
- Exchange data through APIs, commands, events, or well-defined internal interfaces.
Contracts
- Version externally consumed contracts.
- Keep domain DTOs separate from persistence models where churn differs.
- Make schemas explicit for requests, events, jobs, and database writes.
Failure Design
- Treat timeouts, retries, duplicate messages, and partial writes as first-class design cases.
- Prefer idempotency keys for financial, provisioning, and integration-heavy workflows.
- Use compensating actions when atomic transactions cannot span the workflow.
Operability
- Every critical workflow needs logs, metrics, and traceable IDs.
- Every background processor needs dead-letter or replay strategy.
- Every external dependency needs timeout, retry, and degradation rules.
- Every architecture proposal should show how recent changes will be correlated to failures in production.
Release-Aware Architecture
- Prefer designs that can be shipped in small batches.
- Avoid boundaries that force big-bang database, contract, or traffic cutovers without a strong reason.
- Keep overlapping-version compatibility where staging and production may run different revisions briefly.
- Make feature-flag and migration strategy explicit when architecture depends on phased rollout.
Team and Dependency Boundaries
- Align service or module boundaries with ownership where possible.
- Prefer interfaces that allow teams to move independently without hidden schema coupling.
- Do not extract services just to mirror org charts if operational cost outweighs benefit.
Decision Heuristics
Choose a modular monolith when:
- One team owns most of the system.
- Transactions span multiple capabilities often.
- Deployment independence is not yet a bottleneck.
Choose service boundaries when:
- Independent scaling profiles are proven.
- Teams need separate release control.
- Fault isolation or compliance isolation is mandatory.
Choose synchronous communication when:
- The caller needs an immediate answer.
- Consistency must be confirmed before UX can proceed.
Choose asynchronous communication when:
- Work is slow, bursty, or integration-heavy.
- Temporary unavailability must not block the user flow.
- The operation is naturally eventually consistent.
Split a service or module when:
- its change cadence, scaling profile, or compliance boundary is materially different
- ownership confusion is causing delivery friction
- failure isolation or release independence produces clear operational value
Architecture Review Checklist
- Capabilities are separated by business meaning.
- Data ownership is explicit for every module.
- Critical paths include failure and observability design.
- The runtime shape supports low-risk release and rollback, not only clean decomposition.
- Service boundaries are justified by evidence, not fashion.
- Contracts are explicit and evolution-safe.
- Background work is idempotent and retry-safe.
- Security and tenant boundaries align with module boundaries.
- Consistency model and compensation strategy are explicit where workflows cross boundaries.
- Architecture deliverables include context map, critical-flow table, and dependency view.
Inputs
| Input | Required | Purpose |
| Capabilities and quality attributes | yes | Set drivers |
| Current topology and constraints | yes | Ground design |
| Workload and failure assumptions | yes | Test choices |
Degraded mode
If workload evidence or stakeholder decisions are unavailable, return read-only options with assumptions and proposed ADRs; do not present a target as approved.
Domain Anti-Patterns
- Choosing technology before drivers. Fix: rank quality attributes first.
- Drawing components without contracts. Fix: specify interfaces and owners.
- Ignoring failure paths. Fix: model timeouts and recovery.
- Treating estimates as measured capacity. Fix: label and test assumptions.
- Approving irreversible change without an ADR. Fix: record consequences.
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.

