Designs scalable backend architectures, models relational database schemas, builds REST/GraphQL/gRPC APIs, configures cloud infrastructure, and implements microservices with security and observability built in. Use when asked to design a backend system, create or version an API, write a database schema or migration, set up microservices, plan cloud deployment architecture, implement authentication/authorization, configure caching or message queues, or optimize server-side performance. Covers PostgreSQL, Redis, RabbitMQ, Docker, Kubernetes, and Infrastructure as Code.
87
84%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Designs, implements, and reviews server-side systems: data schemas, APIs, microservices, cloud infrastructure, and cross-cutting concerns such as security, caching, and observability.
timestamptz, soft deletes, partial indexes on active rows; target sub-20 ms queries for 100 k+ entity tables; every migration ships with a tested rollback script./api/v{N}/; consistent { data, meta } success envelope and { error, code } error envelope; OpenAPI or protobuf docs required./health + /ready probes, auto-scaling policies, and a defined DR/backup strategy before go-live.ALTER TABLE migration script with rollback counterpart./health + /ready probes./api/v{N}/ path; keep prior version running.Reference templates for common deliverables. Adapt to the specific stack and constraints of the project.
## High-Level Architecture
- **Pattern**: [Microservices / Monolith / Serverless / Hybrid]
- **Communication**: [REST / GraphQL / gRPC / Event-driven]
- **Data pattern**: [CQRS+Event Sourcing / Traditional CRUD]
- **Deployment**: [Kubernetes / Serverless / Bare-metal]
## Service Map
| Service | Responsibility | Data Store | Publishes Events |
|---------|---------------|------------|-----------------|
| user-service | Auth, profiles | PostgreSQL | user.created, user.updated |
| product-service | Catalog, inventory | PostgreSQL + Redis | product.updated |
| order-service | Orders, payments | PostgreSQL | order.placed, order.fulfilled |
## Cross-Cutting Concerns
- Auth: OAuth 2.0 / JWT via API gateway
- Rate limiting: per-IP and per-token at gateway
- Observability: distributed tracing (OpenTelemetry), metrics (Prometheus), logs (structured JSON)
- Secrets: injected via environment; never committed to source controlCREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email VARCHAR(255) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL, -- bcrypt, min cost 12
first_name VARCHAR(100) NOT NULL,
last_name VARCHAR(100) NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
deleted_at TIMESTAMPTZ -- soft delete
);
CREATE INDEX idx_users_email_active ON users(email) WHERE deleted_at IS NULL;
CREATE INDEX idx_users_created_at ON users(created_at);
-- Rollback:
-- DROP INDEX idx_users_email_active;
-- DROP INDEX idx_users_created_at;
-- DROP TABLE users;const express = require('express');
const helmet = require('helmet');
const rateLimit = require('express-rate-limit');
const { authenticate } = require('./middleware/auth');
const app = express();
app.use(helmet());
app.use('/api', rateLimit({ windowMs: 15 * 60 * 1000, max: 100 }));
app.get('/api/v1/users/:id', authenticate, async (req, res, next) => {
try {
const user = await userService.findById(req.params.id);
if (!user) return res.status(404).json({ error: 'User not found', code: 'USER_NOT_FOUND' });
res.json({ data: user, meta: { timestamp: new Date().toISOString() } });
} catch (err) {
next(err);
}
});Before finalising any architecture or schema change, confirm:
010799b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.