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 main weakness is moderate overlap risk with other backend development skills due to broad terms like 'REST APIs' and 'authentication', though the Node.js/Express/Fastify anchoring helps differentiate it. Overall, it follows best practices for skill descriptions.
| 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 Node.js backend services with Express/Fastify, implementing middleware, error handling, auth, DB integration, API design) 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 specifies Node.js and particular frameworks, terms like 'REST APIs', 'authentication', 'database integration', and 'microservices' could overlap with skills for other backend languages/frameworks (e.g., Python/Django, Go backends). 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 comprehensive Node.js backend cookbook dumped into a single file. While the code examples are high-quality and executable, the content is far too verbose for a SKILL.md, explaining patterns Claude already knows (CRUD operations, DI containers, connection pooling). It lacks any workflow structure for actually building a service and desperately needs to be split into a concise overview with references to detailed sub-files.
Suggestions
Reduce the SKILL.md to a concise overview (~50-80 lines) with a clear workflow for setting up a new backend service, and move detailed code patterns into separate referenced files (e.g., middleware-patterns.md, database-patterns.md, auth-patterns.md).
Add a sequenced workflow with validation checkpoints, e.g.: 1. Scaffold project structure, 2. Configure middleware stack, 3. Implement routes with validation, 4. Verify with health check endpoint, 5. Add error handling and test error responses.
Remove the 'Best Practices' list entirely—these are universally known concepts that waste tokens. Instead, embed critical constraints (like 'never use cors(*) in production') directly into the relevant code examples.
Remove or drastically shorten the full CRUD controller/service/repository example—Claude knows how to implement layered architecture. Instead, show only the unique or opinionated aspects of your preferred patterns.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~700+ lines. Includes full CRUD implementations across controller/service/repository layers, complete DI container, full MongoDB setup, caching decorators, and many other patterns that Claude already knows well. The 'Best Practices' list of 15 items is entirely common knowledge. Most of this content is reference material that doesn't need to be in a SKILL.md. | 1 / 3 |
Actionability | All code examples are fully executable TypeScript with proper imports, type annotations, and complete implementations. The examples are copy-paste ready and cover real-world patterns like transactions, JWT auth, rate limiting, and validation middleware. | 3 / 3 |
Workflow Clarity | There is no sequenced workflow for building a backend service. The content is a collection of code patterns with no clear ordering, no validation checkpoints, and no guidance on when to apply which pattern. For a skill involving database operations and authentication setup, the lack of any step-by-step process or verification steps is a significant gap. | 1 / 3 |
Progressive Disclosure | Monolithic wall of code with everything inline. Hundreds of lines of implementation details that should be split into separate reference files (e.g., database-patterns.md, auth-patterns.md, middleware-patterns.md). The only external reference is a single mention of a testing skill and some URLs at the bottom. | 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 | |
47823e3
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.