CtrlK
BlogDocsLog inGet started
Tessl Logo

mcollina/fastify-best-practices

Guides development of Fastify Node.js backend servers and REST APIs using TypeScript or JavaScript. Use when building, configuring, or debugging a Fastify application — including defining routes, implementing plugins, setting up JSON Schema validation, handling errors, optimising performance, managing authentication, configuring CORS and security headers, integrating databases, working with WebSockets, and deploying to production. Covers the full Fastify request lifecycle (hooks, serialization, logging with Pino) and TypeScript integration via strip types. Trigger terms: Fastify, Node.js server, REST API, API routes, backend framework, fastify.config, server.ts, app.ts.

93

Quality

93%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

Quality

Discovery

100%

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 is an excellent skill description that comprehensively covers specific capabilities, provides explicit trigger guidance with a 'Use when...' clause, and includes a dedicated list of trigger terms. It is clearly scoped to the Fastify framework, making it highly distinctive and unlikely to conflict with other backend or Node.js skills. The description uses proper third-person voice throughout.

DimensionReasoningScore

Specificity

Lists numerous specific concrete actions: defining routes, implementing plugins, JSON Schema validation, handling errors, optimising performance, managing authentication, configuring CORS and security headers, integrating databases, working with WebSockets, deploying to production, and more.

3 / 3

Completeness

Clearly answers both 'what' (guides development of Fastify backend servers with a comprehensive list of capabilities) and 'when' (explicit 'Use when building, configuring, or debugging a Fastify application' clause plus explicit trigger terms section).

3 / 3

Trigger Term Quality

Includes a rich set of natural trigger terms users would actually say: 'Fastify', 'Node.js server', 'REST API', 'API routes', 'backend framework', as well as file-level triggers like 'server.ts', 'app.ts', 'fastify.config'. Also embeds terms like 'plugins', 'WebSockets', 'CORS', and 'Pino' throughout the description.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive — clearly scoped to the Fastify framework specifically, with framework-specific terms like 'Fastify', 'Pino', 'fastify.config', and 'strip types'. Unlikely to conflict with generic Node.js or Express skills due to the explicit Fastify focus.

3 / 3

Total

12

/

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.

This skill content serves well as a hub/index file with strong progressive disclosure and clear navigation to detailed sub-files. Its main weaknesses are some unnecessary verbosity (the 'When to use' and 'Core Principles' sections add little value for Claude) and limited standalone actionability beyond the quick start example. The reading order recommendations are a nice touch but lack true workflow clarity with validation steps.

Suggestions

Remove or significantly trim the 'When to use' section — this duplicates the skill description and wastes tokens on information Claude can infer.

Remove or condense the 'Core Principles' section — these are general concepts Claude already knows; if kept, make them Fastify-specific actionable rules (e.g., 'Always define response schemas for 2x serialization speed').

Add a brief concrete workflow for a common multi-step task (e.g., 'Adding a new route with validation: 1. Define schema → 2. Create route handler → 3. Register plugin → 4. Test with inject()') to improve workflow clarity.

DimensionReasoningScore

Conciseness

The 'When to use' section is somewhat redundant given the skill description and could be trimmed. The 'Core Principles' section explains concepts Claude already knows (async/await, encapsulation). However, the overall structure is reasonably efficient.

2 / 3

Actionability

The Quick Start provides a concrete, executable code example, which is good. However, the SKILL.md itself is primarily a table of contents pointing to other files — the actual actionable guidance lives in the referenced rule files, so this file alone provides limited concrete instruction beyond the starter snippet.

2 / 3

Workflow Clarity

The 'Recommended Reading Order' section provides useful scenario-based sequences, which is helpful. However, there are no validation checkpoints, feedback loops, or explicit step-by-step workflows for any multi-step process (e.g., setting up a project, adding a plugin, deploying).

2 / 3

Progressive Disclosure

Excellent progressive disclosure: a concise overview with a quick start, scenario-based reading paths, and well-signaled one-level-deep references to 19 individual rule files. Navigation is clear and well-organized.

3 / 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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

10

/

11

Passed

Reviewed

Table of Contents