CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

express-api-generator

Generates Express.js REST API endpoints with TypeScript following security best practices. Use when the user asks to create a REST API, backend service, or CRUD endpoints. Produces code with parameterized SQL queries, bcrypt password hashing, JWT via environment variables, input validation with zod, helmet security headers, proper error handling, and typed request/response handlers.

72

Quality

91%

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

SKILL.md
Quality
Evals
Security

Quality

Content

86%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 tight, executable skill body: every step carries concrete TypeScript or a runnable command, each step ends in a verification checkpoint, and detailed code is properly offloaded to a real one-level reference file. The main gaps are missing imports/schema-creation in the inline snippets and no error-recovery loop after checkpoints.

Suggestions

Add the missing imports to the inline snippets (e.g., `import Database from 'better-sqlite3'`) or include a CREATE TABLE statement so the database step is copy-paste runnable, lifting actionability to fully executable.

Add one line of recovery guidance (e.g., 'If a checkpoint fails, fix and re-run it before moving to the next step') to close the feedback loop the workflow_clarity anchor expects.

DimensionReasoningScore

Conciseness

Lean and efficient throughout — directives like 'Every query uses `?` placeholders. Whitelist sort columns.' assume Claude's competence, and every section carries code or a command rather than explanation of known concepts. No padding found, matching the anchor-5 'every token earns its place' standard.

5 / 5

Actionability

Mostly executable guidance: real TypeScript snippets per step, the exact dependency list, and concrete commands like `npx tsc --noEmit`. Falls short of anchor 5 because snippets omit imports and the tasks table is never created (no CREATE TABLE / migration), so they are not copy-paste runnable as-is.

4 / 5

Workflow Clarity

Six clearly sequenced steps, each with an explicit checkpoint ('Run `npx tsc --noEmit` — must compile cleanly', 'Confirm server refuses to start without `JWT_SECRET` and returns 401 for invalid tokens'), so validation gaps are essentially absent. Between anchors 4 and 5: anchor 5 additionally calls for feedback loops and checklists, and the body has no 'if the checkpoint fails, fix and re-run' recovery guidance.

4 / 5

Progressive Disclosure

Well-structured overview with bulk patterns (insert/update/delete, password hashing, token generation, additional routes) correctly split into the verified one-level-deep `references/patterns.md`, each reference clearly signaling what it contains. Matches anchor 5's clear-overview pattern; anchor 4 would require organizational gaps that are not present.

5 / 5

Total

18

/

20

Passed

Description

92%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 strong description: third-person voice, concrete capability list, and an explicit 'Use when...' clause with natural trigger phrases. The only weakness is slightly narrow trigger coverage that omits common synonyms a user might say.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions — 'parameterized SQL queries, bcrypt password hashing, JWT via environment variables, input validation with zod, helmet security headers, proper error handling, and typed request/response handlers' — with comprehensive coverage and no generic filler. This matches the anchor-5 example's breadth rather than the 'minor gaps' of a 4.

5 / 5

Completeness

Explicitly answers both what ('Generates Express.js REST API endpoints with TypeScript following security best practices...') and when ('Use when the user asks to create a REST API, backend service, or CRUD endpoints') with concrete trigger phrases, mirroring the anchor-5 example.

5 / 5

Trigger Term Quality

Includes natural phrases users would say — 'create a REST API, backend service, or CRUD endpoints' — plus 'Express.js'. Falls short of anchor 5 because common synonyms and variations ('Node.js', 'server', 'build an API') are absent; it is clearly better than anchor 3's thin keyword coverage.

4 / 5

Distinctiveness Conflict Risk

Clear niche — Express.js + TypeScript + a named stack (zod, bcrypt, helmet, JWT) — with triggers specific to backend API creation, so overlap risk with other skills is minimal. Only a 4 would fit if triggers were broad enough to collide with closely related skills, which they are not.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

jbaruch/tessl-demo

Path

steps/03-improved-tile/express-api-generator/skills/express-api-generator/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.