Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices. Use when creating Node.js servers, REST APIs, GraphQL backends, or microservices architectures.
68
61%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./tests/ext_conformance/artifacts/agents-wshobson/javascript-typescript/skills/nodejs-backend-patterns/SKILL.mdQuality
Discovery
92%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly articulates specific capabilities and includes an explicit 'Use when' clause with natural trigger terms. The description covers both frameworks and patterns concretely. The only minor weakness is potential overlap with other backend development skills due to broad terms like 'REST APIs' and 'microservices', though the Node.js focus provides reasonable differentiation.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: middleware patterns, error handling, authentication, database integration, and API design best practices, along with specific frameworks (Express/Fastify). | 3 / 3 |
Completeness | Clearly answers both 'what' (build production-ready Node.js backend services with specific patterns and practices) and 'when' (explicit 'Use when creating Node.js servers, REST APIs, GraphQL backends, or microservices architectures'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Node.js', 'Express', 'Fastify', 'REST APIs', 'GraphQL', 'microservices', 'backend', 'servers', 'middleware', 'authentication'. These cover a wide range of terms a user would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | While it targets Node.js specifically, terms like 'REST APIs', 'authentication', 'database integration', and 'microservices' could overlap with skills for other backend languages/frameworks (e.g., Python/Django, Go). The Node.js/Express/Fastify specificity helps but doesn't fully eliminate conflict risk. | 2 / 3 |
Total | 11 / 12 Passed |
Implementation
29%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill is essentially a large code cookbook dumped into a single file with no workflow guidance, no progressive disclosure, and significant verbosity. While the code examples are high-quality and executable, the skill fails as a SKILL.md because it doesn't guide Claude through any process—it just presents patterns Claude largely already knows how to implement. The content would benefit enormously from being restructured into a concise overview with references to separate pattern files.
Suggestions
Reduce the SKILL.md to a concise overview (~50-80 lines) covering project structure, key decisions (Express vs Fastify), and middleware ordering, then move detailed patterns (auth, caching, DB, error handling) into separate referenced files like AUTH.md, DATABASE.md, etc.
Add a clear workflow section with sequenced steps for building a new backend service (e.g., 1. Initialize project → 2. Configure middleware → 3. Define routes → 4. Add error handling → 5. Validate with health check endpoint), including validation checkpoints.
Remove the 'When to Use This Skill' section and the generic 'Best Practices' list of 15 items—these are things Claude already knows and waste tokens.
Remove boilerplate code Claude can generate on its own (e.g., full CRUD controller/service/repository for a User entity) and focus on non-obvious patterns, gotchas, and project-specific conventions.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~700+ lines. Includes full CRUD implementations across controller/service/repository layers, complete DI container, full auth service, caching with decorators, MongoDB setup, etc. Much of this is boilerplate Claude already knows how to write. The 'When to Use This Skill' section and 'Best Practices' list of 15 generic tips add no value. | 1 / 3 |
Actionability | All code examples are fully executable TypeScript with proper imports, type annotations, and complete implementations. The patterns are copy-paste ready with real libraries (express, fastify, pg, mongoose, jsonwebtoken, zod, ioredis). | 3 / 3 |
Workflow Clarity | There is no workflow or sequencing guidance. The skill is a reference catalog of patterns with no steps for how to build a backend service, no validation checkpoints, no order of operations. For a skill about building production services, there should be a clear sequence (e.g., setup → routes → middleware → error handling → testing → deployment). | 1 / 3 |
Progressive Disclosure | Monolithic wall of code with everything inline. The massive amount of content (full CRUD layers, DI container, auth, caching, database configs) should be split into separate reference files. Only one cross-reference exists ('See javascript-testing-patterns skill'). No navigation structure or overview-to-detail organization. | 1 / 3 |
Total | 6 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (1049 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
6e3d68c
Table of Contents
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.