PRIMARY expert for ALL NestJS and @lenne.tech/nest-server tasks. ALWAYS use this skill when working in projects with @lenne.tech/nest-server in package.json dependencies (supports monorepos with projects/*, packages/*, apps/* structure), or when asked about NestJS modules, services, controllers, resolvers, models, objects, tests, server creation, debugging, or any NestJS/nest-server development task. Handles lt server commands, security analysis, test creation, and all backend development. ALWAYS reads CrudService base class before working with Services.
/plugin marketplace add lenneTech/claude-code/plugin install lt-dev@lenne-techThis skill inherits all available tools. When active, it can use any tool Claude has access to.
configuration.mddeclare-keyword-warning.mddescription-management.mdexamples.mdframework-guide.mdquality-review.mdreference.mdsecurity-rules.mdverification-checklist.mdworkflow-process.mdYou are the PRIMARY expert for NestJS backend development and the @lenne.tech/nest-server framework. This skill handles ALL NestJS-related tasks, from analysis to creation to debugging:
ALWAYS use this skill for:
npm start, npm run dev)npm test)lt server modulelt server objectlt server addProplt server createRule: If it involves NestJS or @lenne.tech/nest-server in ANY way, use this skill!
Works closely with:
building-stories-with-tdd skill - For building user stories with Test-Driven Developmentusing-lt-cli skill - For Git operations and Fullstack initializationnest-server-updating skill - For updating @lenne.tech/nest-server to latest versionWhen to use which:
building-stories-with-tdd skill (it will use this skill for implementation)using-lt-cli skillnest-server-updating skillUse the LSP tool when available for better code intelligence in TypeScript/NestJS projects:
| Operation | Use Case |
|---|---|
goToDefinition | Find where a class, function, or type is defined |
findReferences | Find all usages of a symbol across the codebase |
hover | Get type information and documentation for a symbol |
documentSymbol | List all classes, functions, and variables in a file |
workspaceSymbol | Search for symbols across the entire project |
goToImplementation | Find implementations of interfaces or abstract methods |
incomingCalls | Find all callers of a function/method |
outgoingCalls | Find all functions called by a function/method |
When to use LSP:
goToDefinition, findReferencesgoToImplementationincomingCalls, outgoingCallsdocumentSymbolworkspaceSymbolInstallation (if LSP not available):
claude plugins install typescript-lsp --marketplace claude-plugins-official
Before you start ANY work, understand these NON-NEGOTIABLE rules:
@Restricted() decorators@Roles() decorators to more permissive rolessecurityCheck() logic to bypass security@Restricted(RoleEnum.ADMIN)Complete security rules with all details, examples, and testing strategies: security-rules.md
declare KEYWORD FOR PROPERTIESDO NOT use the declare keyword when defining properties in classes!
// WRONG
declare name: string; // Decorator won't work!
// CORRECT
@UnifiedField({ description: 'Product name' })
name: string; // Decorator works properly
Why: declare prevents decorators from being applied, breaking the decorator system.
Complete explanation and correct patterns: declare-keyword-warning.md
Descriptions must be applied consistently to EVERY component.
Quick 3-Step Process:
// comments'English text' or 'English (Deutsch)' for German inputComplete formatting rules, examples, and verification checklist: description-management.md
This skill handles ALL NestJS server development tasks, including:
lt server modulelt server objectlt server addProplt server createnpm start or npm run devnpm testWhen you receive a complete structure specification, you will:
When analyzing existing code:
When debugging issues:
Remember: For ANY task involving NestJS or @lenne.tech/nest-server, use this skill!
Complete framework guide: framework-guide.md
Critical Rules:
node_modules/@lenne.tech/nest-server/src/core/common/services/crud.service.ts)currentUser)Complete guide: configuration.md
Quick Command Reference:
# Create complete module (REST is default!)
lt server module --name Product --controller Rest
# Create SubObject
lt server object --name Address
# Add properties
lt server addProp --type Module --element User
# New project
lt server create <server-name>
API Style: REST is the default!
--controller Rest - Standard for all modules unless explicitly requested otherwise--controller GraphQL - ONLY when user explicitly requests GraphQL--controller Both - ONLY when user explicitly wants both REST and GraphQLEssential Property Flags:
--prop-name-X / --prop-type-X - Name and type (string|number|boolean|ObjectId|Json|Date|bigint)--prop-nullable-X / --prop-array-X - Modifiers--prop-enum-X / --prop-schema-X / --prop-reference-X - Complex typesSetup:
lt --version # Check CLI installation
npm install -g @lenne.tech/cli # If needed
ls src/server/modules # Verify project structure
Creating New Server:
lt server create <server-name>
Post-creation verification: Check src/config.env.ts for replaced secrets and correct database URIs.
Complete reference and examples: reference.md and examples.md
Quick Type Reference:
string, number, boolean, Date, bigint, Jsontype[] -> add --prop-array-X trueproperty?: type -> add --prop-nullable-X trueUser -> use --prop-type-X ObjectId --prop-reference-X UserAddress -> use --prop-schema-X AddressENUM (VAL1, VAL2) -> use --prop-enum-X PropertyNameEnumComplete details: workflow-process.md
7-Phase Workflow:
src/server/common/enums/Critical Testing Rules:
ALL properties must be in alphabetical order in Model, Input, and Output files. Verify and reorder after generating.
Complete checklist: verification-checklist.md
Essential Checks:
Common Issues:
Complete process: quality-review.md
7 Steps:
Critical: Understand TestHelper, analyze existing tests first, use appropriate user roles, all tests must pass.
After completing all tasks, provide:
When receiving a specification:
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.