Node.js backend patterns with Express/Fastify, repositories
40
40%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/nodejs-backend/SKILL.mdQuality
Discovery
22%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 description is essentially a topic label rather than a functional skill description. It lacks concrete actions (no verbs), has no 'Use when...' clause, and is too terse to reliably distinguish it from other backend or Node.js skills. It needs significant expansion to be useful for skill selection.
Suggestions
Add explicit concrete actions using third-person verbs, e.g., 'Scaffolds Express/Fastify servers, implements repository patterns, creates route handlers and middleware.'
Add a 'Use when...' clause with natural trigger terms, e.g., 'Use when the user asks to build a Node.js API, set up Express or Fastify routes, implement the repository pattern, or create backend services.'
Include additional natural keywords users might say, such as 'API', 'REST', 'server', 'routes', 'middleware', 'endpoints', 'backend service'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description mentions 'Node.js backend patterns' and names frameworks (Express/Fastify) and 'repositories', but does not describe any concrete actions. There are no verbs indicating what the skill actually does—it reads more like a topic label than a capability description. | 1 / 3 |
Completeness | The description weakly addresses 'what' (backend patterns) and completely omits 'when' — there is no 'Use when...' clause or any explicit trigger guidance. Per the rubric, a missing 'Use when' clause caps completeness at 2, and the 'what' is also very weak, so this scores a 1. | 1 / 3 |
Trigger Term Quality | It includes some relevant keywords a user might mention—'Node.js', 'Express', 'Fastify', 'backend', 'repositories'—but misses many natural variations like 'API', 'REST', 'server', 'routes', 'middleware', 'endpoint', etc. | 2 / 3 |
Distinctiveness Conflict Risk | Mentioning Express/Fastify and 'repositories' gives it some specificity, but 'Node.js backend patterns' is broad enough to overlap with many backend or JavaScript-related skills. Without clearer scoping it could easily conflict with general Node.js or API skills. | 2 / 3 |
Total | 6 / 12 Passed |
Implementation
57%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides high-quality, executable TypeScript code examples covering comprehensive Node.js backend patterns with Express, Kysely, and Zod. However, it's a monolithic document that tries to cover too many topics in one file without progressive disclosure, and it lacks workflow sequencing that would guide Claude through setting up or modifying a project step-by-step. The anti-patterns section adds little value since Claude already knows these conventions.
Suggestions
Split the monolithic content into separate files (e.g., ERROR_HANDLING.md, DATABASE.md, TESTING.md) and make SKILL.md a concise overview with clear references to each.
Add a workflow section with explicit steps for common tasks like 'Adding a new resource endpoint' with validation checkpoints (e.g., 'Run tests after adding route, verify migration before deploying').
Remove or significantly trim the anti-patterns list — Claude already knows these Node.js best practices, and the bullet list adds tokens without actionable guidance.
Add a brief 'When to use this skill' section at the top so Claude knows the trigger conditions (e.g., 'Use when scaffolding Express/Fastify backends or adding new API endpoints').
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient with good code examples, but it's quite long (~250 lines) and covers many patterns (project structure, API design, error handling, DB, config, testing, anti-patterns) that could be split into separate files. Some patterns like the anti-patterns list are things Claude already knows well. | 2 / 3 |
Actionability | Every section provides fully executable TypeScript code with real libraries (Express, Zod, Kysely, Jest, Supertest). The examples are copy-paste ready with proper imports, types, and realistic patterns like route handlers, repositories, transactions, and test setups. | 3 / 3 |
Workflow Clarity | The skill presents patterns clearly but lacks explicit workflow sequencing — there's no step-by-step guide for setting up a new project, no validation checkpoints (e.g., 'run migrations before starting server'), and no feedback loops for common failure modes like migration errors or test failures. | 2 / 3 |
Progressive Disclosure | All content is in a single monolithic file with no references to supporting documents. The project structure, API design, error handling, database patterns, configuration, and testing sections could each be separate files referenced from a concise overview. No bundle files exist to support progressive disclosure. | 1 / 3 |
Total | 8 / 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 |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
65efb33
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.