From context-engine
Node.js backend patterns - Express, Fastapi, NestJS, middleware, async. Auto-loaded when working with server.ts/js, app.ts/js, routes/, middleware/, or Node.js backend directories.
npx claudepluginhub littlelingo/context-engine --plugin context-engineThis skill uses the workspace's default tool permissions.
- `src/routes/` or `src/controllers/` — route handlers grouped by domain
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Share bugs, ideas, or general feedback.
src/routes/ or src/controllers/ — route handlers grouped by domainsrc/middleware/ — auth, validation, error handling, loggingsrc/services/ — business logic (not in route handlers)src/models/ or src/schemas/ — data shapes and validationsrc/utils/ — shared helpers (keep thin)Router() for route grouping — never define routes on the app directly(err, req, res, next) — Express uses arity to detect itexpress.json() with a size limit: express.json({ limit: '1mb' })app.use(cors()) without origin configuration in productionfastify.register() for encapsulationfastify.decorateRequest() for request-scoped data (not req.custom)reply.send() over return for explicit response controltry/catch around await in route handlers, or use an async wrapperprocess.on('unhandledRejection') and process.on('uncaughtException') — log and exitSIGTERM/SIGINT, close server, drain connections, then exitsetTimeout/setInterval for scheduling — use a job queue (BullMQ, Agenda)next(error) to pass errors to the error handler, never throw in middlewareprocess.env directly in business logic — use the config moduledotenv only in development — production should inject env vars directlyexpress.json() must come before routes — middleware order is declaration orderreturn after res.send() causes "headers already sent" errorsreq.params values are always strings — parse to numbers explicitlyremoveListener in cleanup