skills/nestjs/SKILL.md
NestJS (Nest.js) production patterns for modules, controllers, providers, guards, interceptors, pipes, middleware, JWT, ValidationPipe, microservices, GraphQL, Bull queues, Prisma, and TypeORM. Triggers: NestJS, Nest.js, Nest module, dependency injection, class-validator DTO, exception filter, testing module, GraphQL resolver, Bull queue, microservice client. Uses: Read, Grep, Glob, Bash, WebSearch. Outputs: tier-ordered review checklists and/or concrete code edits with cited rule filenames. Do NOT use for: non-Nest backends (Express/Fastify only with no Nest integration), frontend-only frameworks, generating AGENTS.md, or toolchain setup unrelated to Nest.
npx skillsauth add kvokov/oh-my-ai nestjsInstall 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.
Follow the tier workflow below, then deepen with files under rules/ and the section map in rules/_sections.md.
rules/<prefix>-*.md for anything beyond this file (transactions, serialization, queues, graceful shutdown).Module wiring; DTOs + ValidationPipe on inputs unless the project documents otherwise.rules/<slug>.md.| # | Prefix | Focus | Anchor |
| - | ------ | ----- | ------ |
| 1 | arch- | Architecture | arch-avoid-circular-deps.md |
| 2 | di- | Dependency injection | di-prefer-constructor-injection.md |
| 3 | error- | Error handling | error-use-exception-filters.md |
| 4 | security- | Security | security-validate-all-input.md, security-use-guards.md |
| 5 | perf- | Performance | — |
| 6 | test- | Testing | — |
| 7 | db- | Database / ORM | — |
| 8 | api- | API design | — |
| 9 | micro- | Microservices | — |
| 10 | devops- | DevOps / deploy | — |
Full list (40+ slugs) and new-rule skeleton: rules/_sections.md, rules/_template.md.
Apply rules in this order; stop reranking within a tier unless a higher tier introduces new breakage. After each tier, run nest build and automated tests when the toolchain is available before moving downward.
imports/exports/providers correctness.rules/_sections.md (ordering), rules/<slug>.md (detail), rules/_template.md (blank rule).
class-validator and global ValidationPipe// create-order.dto.ts
import { IsString, IsInt, Min } from 'class-validator';
export class CreateOrderDto {
@IsString()
sku: string;
@IsInt()
@Min(1)
qty: number;
}
// main.ts — register once globally
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.useGlobalPipes(
new ValidationPipe({ whitelist: true, forbidNonWhitelisted: true }),
);
await app.listen(3000);
}
// orders.controller.ts
import { Controller, Post, Body, UseGuards } from '@nestjs/common';
import { JwtAuthGuard } from '../auth/jwt-auth.guard';
import { CreateOrderDto } from './dto/create-order.dto';
import { OrdersService } from './orders.service';
@Controller('orders')
export class OrdersController {
constructor(private readonly ordersService: OrdersService) {}
@Post()
@UseGuards(JwtAuthGuard)
create(@Body() dto: CreateOrderDto) {
return this.ordersService.create(dto);
}
}
Prompt: POST /orders body { sku, qty }, login required.
arch-feature-modules, arch-module-sharing).CreateOrderDto + app ValidationPipe (security-validate-all-input).security-use-guards, security-auth-jwt); HTTP errors + filters (error-throw-http-exceptions, error-use-exception-filters).forwardRef as the primary fix without first extracting shared boundaries or domain events (arch-avoid-circular-deps).@Body() typed as any or primitives without pipes where the codebase uses DTO validation elsewhere.try/catch returning ad-hoc JSON instead of centralized exception mapping.rules/db-*, rules/micro-* files when specifics matter.development
Professional UI/UX design skill for React, Next.js, Tailwind CSS, React Native, and Flutter. Use when the user asks to create or polish UI components (modals, forms, tables, charts, navbars, sidebars, cards), design landing pages, build dashboards or admin panels, set up SaaS or mobile app screens, review or fix layout and accessibility issues, configure dark mode or responsive breakpoints, or establish a design system with tokens and component specs. Capabilities include: creating design-system token files and MASTER.md artifacts, generating responsive Tailwind layouts, scaffolding page-level component hierarchies, reviewing and fixing UI accessibility (a11y, WCAG), implementing React Native safe-area screens, and configuring Flutter ThemeData. Outputs design-system files (MASTER, page overrides, tokens, component specs) plus stack-faithful code. Do NOT use for: pure backend-only work with no UI impact, or inventing branding assets you do not have rights to use.
tools
Use this skill any time someone wants to create, scaffold, build, fix, improve, benchmark, or optimize a Tessl/Claude skill — even if they don't say 'tessl' explicitly. If the request involves making a new skill ('create a skill for X', 'build me a skill that does Y', 'scaffold a skill called Z'), fixing or completing an existing one (missing tile.json, broken repo integration, low eval scores, description not triggering), or running and iterating on evals, invoke this skill. The full workflow covers: structured interview → SKILL.md + tile.json + rules/ scaffolding → README/CI repo integration → tessl tile lint → optional Tessl CLI pipeline (skill review, scenario generate/download, eval run) → hand-authored evals or LLM-as-judge fallback → benchmark logging. Do NOT use for: editing application code, debugging, refactoring, writing general documentation, or creating presentations.
tools
Rigorous thirteen-part synthesis of a text or talk: deep summary, insights, structure, critique, framework rebuild, and CEO-level takeaways. Triggers: reading synthesis, synthesize this, deep dive, rigorous analysis, deconstruct, book analysis, article analysis, essay breakdown, intellectual synthesis, multi-dimensional analysis, executive summary of ideas, framework extraction. Uses: Read (and related file tools) for attached sources; WebSearch or WebFetch when comparands are missing or context is thin. Outputs: single structured markdown message with fixed section headers per rules/output-sections.md.
development
Compiles and maintains a persistent LLM-written markdown wiki between immutable raw sources and answers—the Karpathy LLM Knowledge Base pattern. The agent writes and maintains the wiki; the human curates sources and reads it. Knowledge compounds instead of being re-derived each query. Triggers: llm wiki, persistent wiki, personal knowledge base, wiki maintenance, ingest sources, compound knowledge, index.md, log.md, Obsidian wiki, cross-references, Karpathy wiki pattern, compile wiki, knowledge base. Uses: Read, Glob, Grep, file edits, optional WebSearch, AskUserQuestion when schema or goals are ambiguous. Outputs: updated wiki pages, index, append-only log, citations on query, filed answers, visual outputs. Do NOT use for: mutating raw sources, one-off chat answers with no wiki artifact, or replacing a user-defined wiki schema without reading it first.