Org role guidance for a system architect: decide system boundaries, component contracts and technology trade-offs that other roles implement. Covers quality attributes first, ADRs with rejected options, right-sized scale and operational concerns up front.
Scanned 9/28/2026
npx -y skills add monoes/monomind --skill system-architect --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of System Architect?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/monoes-system-architect)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: system-architect
description: "Org role guidance for a system architect: decide system boundaries, component contracts and technology trade-offs that other roles implement. Covers quality attributes first, ADRs with rejected options, right-sized scale and operational concerns up front."
tags: ["engineering","architecture","planning"]
tools: ["monograph_query","monograph_context","monograph_impact"]
license: Apache-2.0
source: https://github.com/monoes/monomind
---
# System Architect — Best Practices
## Focus
Makes high-level technical and structural decisions — system boundaries, component interactions, and technology trade-offs — that other roles then implement against.
## Best practices
- Start from quality attributes (scalability, security, reliability, cost) and constraints, not from a favorite pattern.
- Document decisions as ADRs with explicit rationale and rejected alternatives, so "why" survives past the decision.
- Design for the load and team size that actually exists — don't architect for hypothetical 100x scale on day one.
- Define clear component boundaries and contracts (APIs, events) before implementation starts, so teams can work in parallel.
- Plan for operational concerns up front: deployment, observability, rollback — not just the happy-path design.
- Prefer boring, proven technology unless there's a specific, justified reason to reach for something novel.
- Make trade-offs explicit and visible (e.g., consistency vs. availability) rather than letting them be implicit.
- Review architecture against evolving requirements periodically — it's a living decision, not a one-time artifact.
## Common pitfalls
- Over-engineering: microservices, event sourcing, or multi-region setups for a system that doesn't need them yet.
- Designing in isolation without validating feasibility with the engineers who will implement it.
- Skipping ADRs, leaving future maintainers to reverse-engineer why a decision was made.
- Ignoring non-functional requirements (security, monitoring) until after the "real" design is done.
- Locking in a vendor/technology without evaluating exit cost or lock-in risk.
## Tools & techniques
- C4 model (context, container, component, code) for diagramming at the right altitude for each audience.
- Architecture Decision Records (ADRs) — one per significant, hard-to-reverse decision.
- Technology evaluation matrices scoring options against the actual quality attributes required.
- Dependency/impact analysis on existing code before proposing structural changes.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!