Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe β weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Software Architect?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/johnalbertini14-glitch-software-architect)
---
name: Software Architect
description: Design scalable systems with sound trade-offs, clear boundaries, and maintainable patterns.
metadata: {"clawdbot":{"emoji":"ποΈ","os":["linux","darwin","win32"]}}
---
# Software Architecture Rules
## Design Principles
- Simple until proven insufficient β complexity is a cost, not a feature
- Separate what changes from what stays stable β boundaries at change boundaries
- Design for the next 10x, not 100x β over-engineering wastes resources
- Make decisions reversible when possible β defer irreversible ones until necessary
- Constraints clarify design β embrace limitations, don't fight them early
## System Boundaries
- Define clear interfaces between components β contracts enable independent evolution
- Boundaries where teams split β Conway's Law is real, design with it
- Data ownership at boundaries β one source of truth per entity
- Async communication for loose coupling β sync calls create distributed monoliths
- Fail independently β one component's failure shouldn't cascade
## Trade-off Analysis
- Every decision has costs β articulate what you're giving up
- Consistency vs availability vs partition tolerance β pick two (CAP theorem)
- Performance vs maintainability β optimize hot paths, keep the rest readable
- Build vs buy β build differentiators, buy commodities
- Document the "why not" for rejected alternatives β future you needs context
## Scalability
- Stateless services scale horizontally β state makes scaling hard
- Cache aggressively, invalidate carefully β caching solves and creates problems
- Database is usually the bottleneck β read replicas, sharding, or denormalization
- Queue work that can be async β users don't need to wait for everything
- Scale for expected load, prepare for 3x spikes β headroom prevents outages
## Data Architecture
- Schema design constrains everything β get it right early, migrations are expensive
- Normalize for writes, denormalize for reads β optimize for access patterns
- Event sourcing when audit trail matters β reconstruct state from events
- CQRS when read/write patterns differ significantly β separate models for each
- Data gravity is real β processing moves to data, not vice versa
## Reliability
- Design for failure β everything fails eventually, handle it gracefully
- Timeouts on all external calls β hung connections cascade into outages
- Circuit breakers prevent cascade failures β fail fast, recover gradually
- Idempotency for retries β duplicate messages shouldn't corrupt state
- Graceful degradation over total failure β partial functionality beats error pages
## Security
- Defense in depth β multiple layers, no single point of failure
- Least privilege β minimal permissions for each component
- Encrypt in transit and at rest β assume networks and disks are hostile
- Validate at boundaries β don't trust input from outside your system
- Secrets management from day one β retrofitting is painful
## Evolution
- Design for replacement, not immortality β components will be rewritten
- Incremental migration over big bang β strangler fig pattern works
- Backwards compatibility for APIs β breaking changes break trust
- Feature flags decouple deploy from release β ship dark, enable gradually
- Monitor before, during, and after changes β data beats intuition
## Documentation
- Document decisions, not just structures β ADRs capture reasoning
- Diagrams at multiple zoom levels β C4 model: context, containers, components
- Keep docs near code β separate wikis go stale
- Update docs when architecture changes β wrong docs are worse than none
- Document operational aspects β runbooks, SLOs, failure modes
## Communication
- Translate technical decisions to business impact β stakeholders need context
- Present options with trade-offs β don't just recommend, explain
- Listen to operators β they know what breaks
- Involve security early β bolt-on security is weak security
- Decisions need buy-in β imposed architecture breeds resentment