Skip to content

davidbirchall/squad-skills-backend

v0.4.0

Backend skills for Node.js / NestJS / Fastify / Prisma / TypeScript: Node and NestJS conventions, architecture, API design, validation, database design and data access, caching, authentication and authorization, security, testing, background processing, error handling, observability, plus Fastify, RxJS, OpenAPI/Swagger, and Postman.

squad-skills-backend

Backend skills for Node.js / NestJS / Fastify / Prisma / TypeScript: Node and NestJS conventions, architecture, API design, validation, database design and data access, caching, authentication and authorization, security, testing, background processing, error handling, observability, plus Fastify, RxJS, OpenAPI/Swagger, and Postman.

Version 0.4.0, 24 skills.

Install

copilot plugin install ./plugins/backend

Skills

SkillPurposeLoad when
api-designREST rules, status codes, RFC 9457 errors, pagination, idempotency, versioningDesigning endpoints, responses, or breaking changes
authentication-authorizationGlobal guards, JWT and OIDC, refresh tokens, RBAC and ABAC, object-level access, tenant isolationAdding or changing authentication or access control
backend-architectureModular monolith, module boundaries, domain vs infrastructure, ports and adapters, mapping layers, sync vs async, orchestration layersStructuring a service, deciding module boundaries, or adding integrations and events
backend-observabilitypino logs, correlation ids, metrics, OpenTelemetry tracing, health checks, SLOs, error trackingAdding logging, metrics, tracing, or health endpoints
backend-securityOWASP API Top 10, headers, CORS, rate limiting, SSRF, secrets, supply chain, hardening, security checklistReviewing an endpoint or hardening the service
backend-testingVitest with SWC, Nest testing module, Fastify inject e2e, real-database tests, fakes, contract testsWriting or fixing backend tests
background-processingBullMQ queues, retries, idempotent jobs, scheduling, outbox pattern, 202 pattern for long-running workMoving work off the request path or adding jobs and schedules
caching-patternsCache-aside, HTTP caching, Redis, TTLs, keys, invalidation, stampede protection, performance triageAdding caching or diagnosing slow endpoints
data-access-patternsPrismaService, repositories, select and include, N+1, transactions, concurrency, pools, error mappingWriting queries or changing the Prisma integration
data-validationValidation at every trust boundary, DTOs with class-validator or Zod, whitelisting, uploads, serializationWriting DTOs or validating any untrusted input
database-designSchema modelling, keys and UUID v4 vs v7, constraints, indexes, data types, migrations, tenancyDesigning or changing the schema or migrations
email-notificationsTransactional email and notifications for NestJS backends - queueing sends through background jobs, outbox and idempotency keys, a provider-neutral...Sending email, adding notification types, wiring a mail provider, building templates, or handling bounces and user notification preferences
error-handlingError taxonomy, global filter, problem+json mapping, logging once, retries, jobs and stream errorsAdding error classes, filters, or failure handling
fastify-adapterNestJS on Fastify: bootstrap, plugins, reply handling, inject testingSetting up or changing the Fastify adapter
file-storageFile upload and storage for NestJS and Prisma backends - S3-compatible object storage behind an interface with local disk for dev, presigned URL...Accepting uploads, serving user files, adding image processing, or designing object storage and file metadata
multi-tenancySingle-user now, tenancy-ready data isolation for a NestJS and Prisma chat API - always scoping rows by an owner id taken from auth context, one...Adding tables or queries, scoping data by user, reviewing for cross-user leaks, or planning for organizations and workspaces
nestjs-patternsModules and providers, dynamic modules, scopes, request pipeline order, custom decorators, config, lifecycle, pitfallsCreating or changing NestJS modules, providers, guards, pipes, interceptors, or filters
nodejs-conventionsNode runtime and process lifecycle, strict TypeScript, Oxlint and Prettier, server-side axios clients, event-loop rulesSetting up or changing Node/TypeScript config, lint tooling, outbound HTTP calls, or process behaviour
openapi-swagger@nestjs/swagger setup, decorators, versioning, spec exportDocumenting endpoints or changing the contract
postman-api-testingCollections from OpenAPI, environments, tests, Newman in CIMaintaining Postman collections
prisma-patternsPrisma with PostgreSQL in NestJS - schema conventions (uuid ids, createdAt/updatedAt, soft delete policy, enums), PrismaService lifecycle, migrate...Writing or changing schema.prisma, migrations, Prisma queries, transactions, or repository code
rate-limiting-quotasCost and abuse protection for an LLM-backed NestJS API - token and cost budget caps, concurrent stream limits, runaway agent loop guards, leaked key...Adding throttling, spend or token caps, stream concurrency limits, agent loop limits, or investigating runaway LLM cost or abuse
realtime-streamingToken streaming from NestJS on Fastify to a browser client - SSE versus WebSocket decision, @Sse with Observable and raw Fastify reply handling,...Building or debugging streaming chat responses, SSE endpoints, resumable streams, or LLM token delivery
rxjsObservables vs async/await, operators, interceptors, SSE, leaksWriting interceptors, SSE, or observable code

Related plugins

Works well with: shared, data, platform-engineering, ai-engineering. Skills may mention skills from other plugins in a short "See also" note; each skill stands on its own if those plugins are not installed.