CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

nestjs-expert

Creates and configures NestJS modules, controllers, services, DTOs, guards, and interceptors for enterprise-grade TypeScript backend applications. Use when building NestJS REST APIs or GraphQL services, implementing dependency injection, scaffolding modular architecture, adding JWT/Passport authentication, integrating TypeORM or Prisma, or working with .module.ts, .controller.ts, and .service.ts files. Invoke for guards, interceptors, pipes, validation, Swagger documentation, and unit/E2E testing in NestJS projects.

75

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-engineered skill body: executable examples, a verified load-when reference table, explicit constraints, and a sensible workflow with built-in verification. The only improvements are token-level — drop the persona intro and the Knowledge Reference list of technologies Claude already knows, and add a brief fix-and-retry loop after the verify step.

Suggestions

Remove the 'Knowledge Reference' section and the 'Senior NestJS specialist...' intro line — they list technologies and credentials Claude gains nothing from, saving tokens with no loss of guidance.

Add a short feedback loop after Core Workflow step 5, e.g., 'If lint/tests fail, fix and re-run before proceeding to step 6', to make the validation checkpoint a true error-recovery loop.

The Output Templates section could name the E2E test file pattern (*.e2e-spec.ts) alongside the unit-test pattern so the deliverables checklist matches step 6's E2E requirement.

DimensionReasoningScore

Conciseness

The body is largely efficient — a compact workflow, a lean reference table, and four uncommented-to-minimally-commented code examples with no beginner-level explanation of what NestJS or DI is. Minor instances could be trimmed: the opening role-play line "Senior NestJS specialist with deep expertise in enterprise-grade, scalable TypeScript backend applications" and the "Knowledge Reference" section listing well-known technologies ("NestJS, TypeScript, TypeORM, Prisma, Passport, JWT, class-validator...") add no guidance Claude doesn't already have. This fits the 'efficient; minor instances of over-explanation that could be trimmed' (4) anchor better than the every-token-earns-its-place (5) anchor.

4 / 5

Actionability

Four complete, copy-paste-ready TypeScript examples cover the common cases — controller with DTO validation and Swagger decorators, service with TypeORM repository injection and typed exceptions, module definition, and a Jest unit test with `getRepositoryToken` mocking — plus concrete commands (`npm run lint`, `npm run test`, `nest info`), a Constraints section with specific rules ("enable `ValidationPipe` globally", "never instantiate services with `new`"), and an ordered Output Templates checklist. This matches the fully-executable anchor with common cases covered.

5 / 5

Workflow Clarity

The Core Workflow gives a clear six-step sequence (analyze → design → implement → secure → verify → test) with an explicit verification checkpoint in step 5 ("Run `npm run lint`, `npm run test`, and confirm DI graph with `nest info`"). This is not a destructive/batch context, so no cap applies, but there is no feedback loop describing what to do when lint or tests fail, leaving a minor validation gap that matches the 4 anchor rather than the explicit error-recovery-loop (5) anchor.

4 / 5

Progressive Disclosure

The Reference Guide table (Topic | Reference | Load When) clearly signals all six one-level-deep references, and every path (`references/controllers-routing.md`, `services-di.md`, `dtos-validation.md`, `authentication.md`, `testing-patterns.md`, `migration-from-express.md`) corresponds to a real file in the bundle. Bulk detail (e.g., the 31KB Express migration guide) is properly kept out of SKILL.md, which stays a concise overview. This matches the clear-overview, well-signaled, one-level-deep anchor.

5 / 5

Total

18

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: third-person, concrete, and comprehensive, with an explicit 'what', two explicit trigger clauses ('Use when...' and 'Invoke for...'), natural synonyms, and NestJS-specific file extensions. The only nit is the mild buzzword 'enterprise-grade', which does not materially inflate or obscure the claims.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions and artifacts — "Creates and configures NestJS modules, controllers, services, DTOs, guards, and interceptors", "adding JWT/Passport authentication, integrating TypeORM or Prisma", "Swagger documentation, and unit/E2E testing" — giving comprehensive coverage of the skill's capabilities, matching the anchor for multiple specific concrete actions. Nothing substantive is missing; it is not the sparser 1-2-action (3) or minor-gaps (4) level.

5 / 5

Completeness

It explicitly answers both questions: the "what" is "Creates and configures NestJS modules, controllers, services, DTOs, guards, and interceptors", and the "when" is stated twice with concrete trigger phrases — "Use when building NestJS REST APIs or GraphQL services... or working with .module.ts, .controller.ts, and .service.ts files. Invoke for guards, interceptors, pipes...". This clearly matches the anchor for explicit what AND when with concrete triggers; it is well above the 4 anchor where the 'when' could be more explicit.

5 / 5

Trigger Term Quality

Natural trigger terms are comprehensive and include synonyms and file extensions: "NestJS REST APIs or GraphQL services", "dependency injection", "JWT/Passport", "TypeORM or Prisma", and ".module.ts, .controller.ts, and .service.ts files", plus "guards, interceptors, pipes, validation, Swagger". These are exactly the phrases a user working on a NestJS backend would say, matching the comprehensive-synonyms-and-extensions anchor rather than the few-terms-missing (4) anchor.

5 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche: every trigger is NestJS-specific ("NestJS modules", "@nestjs-style file extensions", "JWT/Passport", "TypeORM or Prisma" in a NestJS context), so a generic Node.js, Express, or TypeScript-backend skill would not capture these triggers. Conflict risk is minimal, matching the clear-niche-with-distinct-triggers anchor rather than the minor-overlap (4) anchor.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

Jeffallan/claude-skills

Path

skills/nestjs-expert/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.