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.
69
84%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
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.