From backend-nodejs
Use when implementing Node.js HTTP services — enforces patterns for NestJS modules and controllers, Express middleware chains, Fastify plugins, request validation with Zod, and response formatting
How this skill is triggered — by the user, by Claude, or both
Slash command
/backend-nodejs:nodejs-frameworksThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
```typescript
// Module
@Module({
imports: [TypeOrmModule.forFeature([Order])],
controllers: [OrderController],
providers: [OrderService, OrderRepository],
})
export class OrderModule {}
// Controller
@Controller("api/v1/orders")
export class OrderController {
constructor(private readonly orderService: OrderService) {}
@Post()
@HttpCode(HttpStatus.CREATED)
async create(@Body(new ZodValidationPipe(createOrderSchema)) dto: CreateOrderDto) {
return this.orderService.create(dto);
}
@Get(":id")
async findOne(@Param("id", ParseIntPipe) id: number) {
return this.orderService.findById(id);
}
}
// Service
@Injectable()
export class OrderService {
constructor(private readonly orderRepo: OrderRepository) {}
async create(dto: CreateOrderDto): Promise<OrderResponse> {
const order = Order.create(dto);
await this.orderRepo.save(order);
return OrderResponse.from(order);
}
}
const router = Router();
router.post("/api/v1/orders", validate(createOrderSchema), async (req, res, next) => {
try {
const order = await orderService.create(req.body);
res.status(201).json(order);
} catch (error) {
next(error);
}
});
app.register(async (fastify) => {
fastify.post("/api/v1/orders", {
schema: { body: createOrderSchema },
handler: async (request, reply) => {
const order = await orderService.create(request.body);
reply.code(201).send(order);
},
});
});
const createOrderSchema = z.object({
customerId: z.string().min(1).max(50),
items: z.array(z.object({
productId: z.string(),
quantity: z.number().int().positive(),
})).min(1),
});
type CreateOrderDto = z.infer<typeof createOrderSchema>;
npx claudepluginhub gagandeepp/software-agent-teams --plugin backend-nodejsGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.