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. 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). 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 an extensive reference catalog of Node.js backend patterns with high-quality, executable code examples, but it fails badly on conciseness and organization. At 700+ lines it dumps everything inline with no progressive disclosure, no workflow sequencing, and significant verbosity explaining patterns Claude already understands. It reads more like a tutorial blog post than a focused skill file.
Suggestions
Reduce the SKILL.md to a concise overview (~100 lines) covering framework choice, architecture selection, and key patterns, then split detailed code examples into separate referenced files (e.g., MIDDLEWARE.md, DATABASE.md, AUTH.md).
Add a clear workflow sequence for bootstrapping a new backend service (e.g., 1. Choose framework → 2. Set up project structure → 3. Configure middleware → 4. Add routes → 5. Validate with health check endpoint) with explicit verification steps.
Remove the generic 'Best Practices' list and the 'When to Use This Skill' section — Claude doesn't need to be told what rate limiting or HTTPS are, and the use-case list restates the skill description.
Eliminate redundant boilerplate — e.g., the full CRUD controller with four nearly identical try/catch methods can be replaced by showing the asyncHandler pattern once and noting it applies to all routes.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Extremely verbose at ~700+ lines. Includes massive boilerplate code blocks for patterns Claude already knows (CRUD controllers, basic Express/Fastify setup, Mongoose connection, Redis caching). The best practices list is generic advice Claude doesn't need to be told. Much of this could be condensed to 1/4 the size. | 1 / 3 |
Actionability | The code examples are fully executable TypeScript with proper imports, type annotations, and realistic implementations. Every pattern includes copy-paste ready code with concrete libraries (pg, mongoose, jsonwebtoken, zod, ioredis). | 3 / 3 |
Workflow Clarity | There is no sequenced workflow for building a backend service. The content is a reference catalog of 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 with verification is a significant gap. | 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 dumped into a single file. Only one reference exists (testing patterns skill) and external URLs are generic documentation links, not structured bundle 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 | |
b09ec7f
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.