Node.js backend patterns with Express/Fastify, repositories
54
43%
Does it follow best practices?
Impact
Pending
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 reads as a brief 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 differentiate from other backend or JavaScript-related skills. It needs significant expansion to be useful for skill selection.
Suggestions
Add concrete action verbs describing what the skill does, e.g., 'Scaffolds Express/Fastify servers, implements repository patterns, creates REST API routes and middleware.'
Add an explicit 'Use when...' clause with natural trigger terms, e.g., 'Use when the user asks to build a Node.js backend, create an Express or Fastify server, set up API endpoints, or implement the repository pattern.'
Include additional natural keywords users might say, such as 'API', 'REST', 'server', 'routes', 'middleware', 'endpoints', '.js', '.ts' to improve trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description mentions 'Node.js backend patterns' and names two 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 only loosely addresses 'what' (backend patterns) and completely omits 'when' Claude should use it. There is no 'Use when...' clause or equivalent explicit trigger guidance, which per the rubric caps completeness at 2, but the 'what' is also very weak, warranting 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', or file extensions like '.js'/'.ts'. | 2 / 3 |
Distinctiveness Conflict Risk | Mentioning Express/Fastify and 'repositories' provides some specificity, but 'Node.js backend patterns' is broad enough to overlap with general JavaScript skills, API skills, or database skills. The lack of concrete actions makes it harder to distinguish from adjacent skills. | 2 / 3 |
Total | 6 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid reference skill with high-quality, executable code examples covering the major patterns of a Node.js backend. Its main weaknesses are verbosity (could be 30-40% shorter by trimming the anti-patterns list and tightening explanations) and the lack of explicit workflow sequencing or validation checkpoints for multi-step processes like project setup or database migrations.
Suggestions
Remove or drastically shorten the anti-patterns list — Claude already knows these Node.js basics; at most keep 2-3 project-specific ones.
Add a brief workflow section with explicit steps for bootstrapping a new backend project (e.g., 1. Create structure → 2. Set up config → 3. Validate DB connection → 4. Register routes → 5. Start server), including validation checkpoints.
Extract detailed patterns (e.g., full testing setup, database migrations) into referenced supplementary files to improve progressive disclosure and reduce the main file's length.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient with good code examples, but it's quite long for what it covers. The project structure tree, while useful, is verbose, and some patterns (like the anti-patterns list at the end) state things Claude already knows well. The content could be tightened significantly. | 2 / 3 |
Actionability | All code examples are fully executable TypeScript with real libraries (Express, Zod, Kysely, Jest, Supertest). Route handlers, repositories, error handling, config validation, and tests are all copy-paste ready with concrete imports and realistic patterns. | 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., verifying DB connection before starting server), and no guidance on the order of operations when building out a backend. For database migrations and transactions, there are no error recovery or validation steps. | 2 / 3 |
Progressive Disclosure | The content is well-sectioned with clear headers, but it's monolithic — all patterns are inline in one large file. The mention of 'Load with: base.md + typescript.md' suggests a multi-file system exists, but there are no references to separate files for advanced topics like migrations, logging, or deployment. The testing helpers (createTestApp, createTestDb) are referenced but not linked to any supplementary file. | 2 / 3 |
Total | 9 / 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 | |
d4ddb03
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.