CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

expressjs-project-starter

Scaffold a production-ready Express 5.x API with TypeScript, layered architecture, Zod validation, and robust error handling.

Quality

74%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./backend-node/expressjs-project-starter/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong, highly actionable scaffold skill: every file's code is complete and executable, conventions are crisp, and the workflow ends in a verification step. The two weaknesses are minor internal inconsistencies (missing .env.example content, health.routes.ts mismatch, pnpm/npm drift) and the monolithic inlining of all file templates, which should be split into referenced bundle files.

Suggestions

Move the full per-file code templates into a references/ directory (or a scaffold script) and keep SKILL.md as an overview with key conventions and pointers.

Add the .env.example contents, remove or implement the phantom health.routes.ts, and align the package manager between prerequisites and the scaffold command.

Promote 'pnpm tsc --noEmit' into the First Steps sequence as an explicit validation checkpoint before starting the dev server.

DimensionReasoningScore

Conciseness

The body is code-dominated with lean, high-signal prose ('Controllers never import database clients — they call services') and no explanation of concepts Claude already knows; even the async-handler comment justifies its existence ('Express 5 natively handles async errors, but this provides an explicit safety net'). It is not a 5 because the complete boilerplate for every project file (~290 lines of code) could be trimmed or externalized in places.

4 / 5

Actionability

Concrete, copy-paste-ready guidance throughout: an executable scaffold command with a real tsc invocation, complete TypeScript for every file, and a curl smoke test. Not a 5 due to minor gaps: '.env.example' is referenced in 'First Steps' but its content is never provided, 'health.routes.ts' is listed in the project structure while the health route is actually defined inline in routes/index.ts, and the scaffold uses pnpm while prerequisites state 'npm >= 10.x'.

4 / 5

Workflow Clarity

A clear sequence runs from the scaffold command through project structure and patterns to numbered 'First Steps After Scaffold' ending with a validation checkpoint ('Test the API: curl http://localhost:3000/api/health'). Not a 5 because the type-check command ('pnpm tsc --noEmit') sits in 'Common Commands' rather than being an explicit checkpoint before starting the dev server; scaffolding is not destructive/batch so no cap applies.

4 / 5

Progressive Disclosure

Section headers are well-organized, but the complete source of ~15 project files is inlined in a 355-line SKILL.md with no external references at all — 'content that should be separate is inline' per anchor 3. It is not a 4 because there are no references to be 'mostly clear'; the full per-file templates would naturally live in a references/ bundle.

3 / 5

Total

15

/

20

Passed

Description

66%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A specific, third-person description that clearly states what the skill builds, anchored by a concrete technology stack. Its main weakness is the absence of any 'use when' trigger guidance, which both caps completeness and limits its usefulness for skill selection.

Suggestions

Append an explicit trigger clause such as 'Use when the user asks to create, scaffold, or bootstrap an Express/Node.js API or backend service.'

Add natural synonyms users actually say — e.g. 'Node.js backend', 'REST API', 'server' — to improve trigger term coverage.

DimensionReasoningScore

Specificity

The description names the domain ("Express 5.x API") and several concrete attributes ("TypeScript, layered architecture, Zod validation, and robust error handling"), matching the anchor for several specific actions with minor gaps. It is not a 5 because it describes a single scaffold action qualified by technologies rather than multiple distinct concrete actions.

4 / 5

Completeness

The description has a clear 'what' ("Scaffold a production-ready Express 5.x API with TypeScript...") but contains no 'Use when...' clause or equivalent trigger guidance, which the rubric explicitly caps at 3. It is not a 2 because the 'what' is specific and concrete, not vague.

3 / 5

Trigger Term Quality

Natural keywords like "Express 5.x", "API", "TypeScript", and "Zod" are present and would match user requests, but common variations such as "Node.js backend", "REST API", or "server" are missing. Good coverage with a few natural terms absent, matching anchor 4.

4 / 5

Distinctiveness Conflict Risk

The specific stack ("Express 5.x", "Zod validation", "layered architecture") carves out a fairly distinct niche with only minor overlap risk against generic Node.js/Express or general backend skills. Not a 5 because 'Express API' alone could still collide with other Express-related skills.

4 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

achreftlili/deep-dev-skills

Path

backend-node/expressjs-project-starter/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.