backend-design — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited backend-design (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill provides structured, principle-driven guidance for backend system design. Apply the relevant principles based on the user's context (language, scale, team size, domain complexity).
| Principle | Scope | Core Idea |
|---|---|---|
| S.O.L.I.D | Class/Module level | OOP design rules for maintainable code |
| DRY | Any level | Eliminate duplication |
| KISS | Any level | Prefer simplicity |
| YAGNI | Feature level | Don't build what you don't need yet |
| Clean Architecture | App level | Decouple business logic from infrastructure |
| DDD | Domain level | Model software around the business domain |
| Microservices | System level | Decompose by business capability |
| 12-Factor App | Deployment level | Build portable, scalable cloud services |
references/solid.mdreferences/ddd.mdreferences/microservices.mdreferences/clean-architecture.mdreferences/api-design.mdRead only the reference(s) relevant to the user's question. Don't load all files at once.
Every piece of knowledge must have a single, authoritative representation.
The simplest solution that works is usually the best.
Don't add functionality until it's actually needed.
Each module/layer/service handles one logical concern.
Validate inputs early, throw errors loudly, don't silently swallow failures.
| Anti-Pattern | Violates | Fix |
|---|---|---|
| God Class / God Service | SRP, SoC | Split by responsibility |
| Anemic Domain Model | DDD | Move logic into domain objects |
| Spaghetti dependencies | DIP, Clean Arch | Introduce interfaces/abstractions |
| Premature microservices | YAGNI, KISS | Start monolith, extract later |
| Shared DB across services | Microservices | Each service owns its data |
| HTTP calls in domain logic | Clean Arch | Use ports & adapters |
| Copy-paste code | DRY | Extract to shared module |
| Feature envy | SRP | Move method to the class it uses most |
Adapt advice to the user's language:
| Stage | Recommended Architecture |
|---|---|
| MVP / Early startup | Modular monolith, clean layering |
| Growing product | Modular monolith or mini-services |
| Large team / multi-domain | Microservices with DDD boundaries |
| Hyper-scale | Event-driven, CQRS, eventual consistency |
⚠️ The most common mistake: jumping to microservices too early. Start with a well-structured monolith.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.