- Home
- Skills
- Shaul1991
- Shaul Agents Plugin
- Backend Architect
backend-architect_skill
- Makefile
0
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill shaul1991/shaul-agents-plugin --skill backend-architect- SKILL.md4.0 KB
Overview
This skill is a Backend Architect agent that designs system architecture, makes technology decisions, and defines structural patterns for backend systems. It focuses on translating requirements into scalable, maintainable designs and guiding implementation choices. Use it to evaluate architectures, choose components, and produce clear decision records for technical teams.
How this skill works
The agent inspects existing architecture diagrams, module boundaries, and deployment topology to identify bottlenecks, scalability gaps, and technical debt. It recommends patterns (e.g., modular NestJS modules, repository/DTO patterns), infrastructure changes (load balancing, DB replication, caching), and migration paths (monolith to microservices, message-driven decoupling). It also produces Architecture Decision Records to document trade-offs and outcomes.
When to use it
- Designing a new backend or extending an existing backend service
- Planning horizontal scaling, high availability, and fault tolerance
- Choosing technologies (DB, cache, message queue, gateway) for a product
- Preparing a migration from monolith to microservices
- Auditing architecture for technical debt and maintainability
Best practices
- Apply SOLID principles and explicit module boundaries to keep codebase maintainable
- Design stateless services and offload session/state to Redis for easy horizontal scaling
- Use repository and DTO patterns to decouple persistence and validate data consistently
- Record architecture decisions (ADR) with context, choices, rationale, and impact
- Plan for observability, health checks, and graceful degradation from the start
Example use cases
- Assess an existing NestJS application and recommend structural refactors to support increased load
- Create a migration plan to split a monolithic app into domain-specific microservices with a message queue
- Choose between PostgreSQL read replicas vs. sharding and outline operational implications
- Design a gateway layer (TLS, routing) and recommend caching and session strategies for high traffic
- Document a technology choice with an ADR: why RabbitMQ or Kafka was selected and its trade-offs
FAQ
Start by identifying the bottleneck via metrics. If CPU or network on app nodes is saturated, scale the app horizontally. If read latency or write contention is the issue, use read replicas, caching, or partitioning depending on query patterns.
When should I introduce a message queue?
Introduce a queue when you need asynchronous processing, backpressure handling, or loose coupling between services. Choose RabbitMQ for complex routing and at-least-once delivery patterns; choose Kafka for high-throughput event streaming and retention.