CtrlK
BlogDocsLog inGet started
Tessl Logo

nodejs-best-practices

Node.js development principles and decision-making. Framework selection, async patterns, security, and architecture. Teaches thinking, not copying.

52

Quality

60%

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 ./.agents/skills/nodejs-best-practices/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

53%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.

The body is a well-structured, genuinely actionable decision-making reference organized into clear sections, but it leans on conceptual trees rather than executable code, repeats its core mantra, and embeds aging version numbers without a deprecation section.

Suggestions

Move version-specific claims (Node.js 24+/24.12, 'removed in Node 26', 'stable since Node.js 20') into a dedicated 'Runtime/version notes' or 'Deprecated/old patterns' section so time-sensitive facts don't penalize conciseness as they age.

Add a few concise, copy-paste-ready code snippets for the highest-value patterns (e.g., a layered controller/service/repository skeleton, a centralized error-handling middleware) to lift actionability beyond conceptual trees.

De-duplicate the 'ask the user / think don't memorize' messaging — keep it once in the 'How to Use' section and the closing note — to tighten token efficiency.

DimensionReasoningScore

Conciseness

The body is mostly efficient — it relies on decision trees, tables, and checklists rather than prose — but repeats the 'learn to think, not memorize' theme and 'ask the user' guidance across multiple sections, and embeds time-sensitive version claims ('Node.js 24+', 'stable since 24.12', 'removed in Node 26') outside any deprecated/old-patterns section, which the rubric penalizes.

3 / 5

Actionability

Decision trees, comparison tables, status-code mappings, and selection checklists give concrete, specific guidance a user can act on directly, but the skill contains no executable code examples — architecture and async-pattern sections are conceptual trees only — leaving the guidance incomplete for a best-practices skill.

3 / 5

Workflow Clarity

The framework decision tree and the section-10 pre-implementation checklist provide a recognizable sequence, but there are no explicit validation checkpoints or feedback loops; checkpoints are at best implicit, matching the anchor where sequence is present but validation is missing.

3 / 5

Progressive Disclosure

Content is well-organized into ten clearly headed numbered sections with consistent tables and trees, and no bundle files or nested references exist to mismanage; it stays just below 5 because the ~250-line monolithic file could split some reference material (detailed framework/security tables) into separate files.

4 / 5

Total

13

/

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.

The description clearly conveys what the skill covers and lists several specific topic areas with good trigger keywords, but it omits an explicit 'Use when' trigger clause, which caps its completeness and limits the score.

Suggestions

Append an explicit 'Use when...' trigger clause to the description (e.g., 'Use when building Node.js backends, selecting a framework, or designing async/error-handling patterns') so both what and when are answered in-field.

Add natural synonyms and concrete trigger phrases (e.g., 'Express', 'Fastify', 'NestJS', 'Node backend') to broaden keyword coverage for user queries.

Tighten 'Teaches thinking, not copying' into a concrete capability statement to reduce philosophical padding and sharpen distinctiveness.

DimensionReasoningScore

Specificity

Names the Node.js domain plus several specific action areas — 'Framework selection, async patterns, security, and architecture' — listing multiple concrete topics with only minor coverage gaps; not a 5 because these are topic domains rather than fully enumerated concrete actions.

4 / 5

Completeness

The description field gives a clear 'what' (Node.js development principles and decision-making across named areas) but contains no 'Use when...' clause; per the rubric, a missing explicit trigger clause caps completeness at 3.

3 / 5

Trigger Term Quality

Includes natural terms users would say ('Node.js', 'framework', 'async patterns', 'security', 'architecture') with good coverage; not a 5 because it lacks synonyms and file/extension-style variations for the domain.

4 / 5

Distinctiveness Conflict Risk

'Node.js development principles and decision-making' carves a mostly distinct niche with concrete framework names implied by the topic, though 'security' and 'architecture' overlap with adjacent skills, keeping it just below 5.

4 / 5

Total

15

/

20

Passed

Validation

87%

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

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
vudovn/ag-kit
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.