architect/system-design/SKILL.md
--- name: system-design description: Use this skill whenever the architect subagent is asked to design a system, propose an architecture, create a technical blueprint, or structure a new application. Triggers on: "design a system for", "architecture for", "how should we build", "technical design", "system blueprint", "design this platform", "architect a solution". Always use this skill before producing any architecture proposal — it enforces completeness, consistency, and the correct output form
npx skillsauth add achreftlili/deep-dev-skills architect/system-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Produce complete, structured, opinionated architecture proposals that teams can act on immediately.
One paragraph. Confirm what is being built, the scale expectations, and the main constraints. Forces clarity before designing.
A high-level Mermaid diagram showing all major components and their relationships.
graph TD
Client --> APIGateway
APIGateway --> ServiceA
APIGateway --> ServiceB
ServiceA --> DB[(Database)]
ServiceB --> Cache[(Cache)]
For each component:
Describe the main request/response flows (happy path + at least one failure path). Use a sequence diagram if helpful.
sequenceDiagram
User->>API: Request
API->>Service: Process
Service->>DB: Query
DB-->>Service: Result
Service-->>API: Response
API-->>User: Result
A table of the most important trade-offs made:
| Decision | Chosen | Alternative | Reason | |----------|--------|-------------|--------| | Database | PostgreSQL | MongoDB | Strong consistency needed |
Address explicitly:
List 3–5 unresolved concerns or assumptions that need validation before implementation.
Ordered list of what the team should do first to begin implementation.
| Users | Architecture Target | |-------|-------------------| | <10k DAU | Monolith + managed DB | | 10k–1M DAU | Modular monolith or 2–4 services | | >1M DAU | Microservices with dedicated data stores |
Always state the target scale and design accordingly. Do not over-architect.
testing
Set up Vitest 2.x with TypeScript for unit and component testing using test/describe/it, vi.fn/vi.mock/vi.spyOn, component testing with Testing Library, coverage (v8/istanbul), workspace config, and snapshot testing.
testing
Set up pytest 8.x with Python for unit and integration testing using fixtures (scope, autouse, parametrize), async tests (pytest-asyncio), mocking (unittest.mock, pytest-mock), coverage (pytest-cov), conftest.py patterns, and markers.
testing
Set up Playwright 1.49+ with TypeScript for E2E testing using page object model, fixtures, test.describe/test blocks, assertions, selectors, network mocking, CI configuration, and trace viewer.
testing
Set up Jest 30+ with TypeScript for unit tests, integration tests, mocking (jest.fn, jest.mock, jest.spyOn), coverage configuration, custom matchers, snapshot testing, and setup/teardown patterns.