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.
54
61%
Does it follow best practices?
Impact
—
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.
| 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). 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, resulting in extreme verbosity without proportional value-add for Claude. While the code examples are high-quality and executable, the content lacks workflow structure, validation steps, and progressive disclosure. Most of the patterns shown (CRUD operations, JWT auth, Express middleware) are well within Claude's existing knowledge and don't need this level of explicit instruction.
Suggestions
Reduce content to ~100 lines focusing only on project-specific conventions, preferred patterns, and non-obvious decisions (e.g., 'always use layered architecture with DI container' + one compact example), moving detailed implementations to separate reference files like MIDDLEWARE.md, DATABASE.md, AUTH.md.
Add a clear workflow section with sequenced steps for creating a new backend service, including validation checkpoints (e.g., '1. Scaffold project structure → 2. Set up database connection → 3. Verify connection with health check → 4. Add routes → 5. Test endpoints').
Remove the 15-item best practices list and the 'When to Use This Skill' section entirely — Claude already knows when to apply backend patterns and doesn't need reminders to use HTTPS or write tests.
Create bundle files for the detailed code patterns (e.g., patterns/layered-architecture.md, patterns/auth.md, patterns/caching.md) and reference them from a concise SKILL.md overview.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~700+ lines. Includes extensive boilerplate code that Claude already knows how to write (basic Express setup, CRUD controllers, Mongoose models, bcrypt hashing). The 15-item best practices list states obvious things like 'Use TypeScript' and 'Use HTTPS'. Much of this is reference material Claude doesn't need spelled out. | 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 | Despite covering complex multi-step processes (setting up a backend, database integration, authentication), there are no sequenced workflows, no validation checkpoints, and no feedback loops. The content is organized as a reference catalog of patterns rather than actionable workflows for building a service. | 1 / 3 |
Progressive Disclosure | Monolithic wall of text with all content inline. Hundreds of lines of code for controllers, services, repositories, middleware, database config, auth, caching, and response formatting are all in a single file. Only one reference exists ('See javascript-testing-patterns skill') and external URLs are provided but no bundle files support the content. This desperately needs splitting into separate reference files. | 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 | |
bbc5ade
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.