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 provides only a vague sense of the domain. While the framework names add some specificity, the description would be insufficient for Claude to reliably select this skill from a large pool.
Suggestions
Add concrete actions using third-person verbs, e.g., 'Scaffolds Express/Fastify APIs, implements repository pattern for data access, configures middleware and routing.'
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks to build a Node.js backend, create REST APIs, set up Express or Fastify servers, or implement the repository pattern.'
Include additional natural trigger terms users might say, such as 'API', 'REST', 'server', 'routes', 'middleware', 'endpoints', 'data access layer'.
| 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 specific frameworks (Express/Fastify) and 'repositories' provides some distinctiveness, but 'backend patterns' is broad enough to overlap with other Node.js or general backend 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 suffers from being a monolithic document that tries to cover too many topics in one file without progressive disclosure, and it lacks explicit workflow guidance for when and how to apply these patterns. The anti-patterns section adds little value for Claude.
Suggestions
Split the content into separate files (e.g., ERROR_HANDLING.md, DATABASE.md, TESTING.md) and make SKILL.md a concise overview with links to each topic.
Add a workflow section that sequences how to scaffold a new endpoint or feature end-to-end, with validation checkpoints (e.g., 'run tests after adding route', 'validate schema before migration').
Remove or significantly trim the anti-patterns section, as these are well-known Node.js best practices that Claude already understands.
Add a brief 'When to use this skill' section at the top to clarify scope (e.g., new Express/Fastify projects vs. modifying existing ones).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly code examples which are useful, but it's quite long (~200 lines) and covers many patterns (project structure, API design, DI, error handling, DB, config, testing, anti-patterns) that could be split into separate files. Some sections like the anti-patterns list state things Claude already knows well. | 2 / 3 |
Actionability | All code examples are fully executable TypeScript with real libraries (Express, Zod, Kysely, Jest, Supertest). The patterns are copy-paste ready with concrete imports, types, and implementations rather than pseudocode. | 3 / 3 |
Workflow Clarity | The skill presents patterns in a logical order (structure → routes → errors → DB → config → testing) but lacks explicit workflow sequencing for setting up a new project or adding features. There are no validation checkpoints or feedback loops for operations like database migrations. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of content with no references to supporting files. All patterns—project structure, API design, error handling, database, config, and testing—are inlined in a single file when they would benefit greatly from being split into separate reference documents with a concise overview in SKILL.md. | 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 | |
7e5f7a2
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.