Fastify patterns — always apply schema-first validation, plugin encapsulation, structured error handling, hooks lifecycle, decorators, TypeScript type providers, production hardening (CORS, helmet, rate limiting), pino logging, graceful shutdown, and correct async handler patterns
89
89%
Does it follow best practices?
Impact
91%
2.75xAverage score across 5 eval scenarios
Passed
No known issues
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 Fastify-specific patterns and capabilities with concrete, actionable items. It includes a well-structured 'Use when' clause with multiple natural trigger scenarios and uses proper third-person voice throughout. The description effectively balances technical depth with accessibility.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions and patterns: schema-first validation, encapsulated plugins, hooks lifecycle, decorators, structured error handling, TypeScript type providers, async handler patterns, and production hardening with specific tools (CORS, helmet, rate limiting, logging, graceful shutdown). | 3 / 3 |
Completeness | Clearly answers both what (Fastify patterns with comprehensive list of capabilities) AND when with explicit triggers: 'Use when building or reviewing Fastify APIs, when migrating from Express, or when setting up a new Node.js API with Fastify.' | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'Fastify', 'APIs', 'Express', 'Node.js API', 'TypeScript', 'CORS', 'helmet', 'rate limiting', 'logging', 'graceful shutdown', 'migrating from Express'. These are terms developers naturally use when working with Fastify. | 3 / 3 |
Distinctiveness Conflict Risk | Clear niche focused specifically on Fastify framework with distinct triggers. The mention of 'migrating from Express' and Fastify-specific concepts (encapsulated plugins, hooks lifecycle, decorators) clearly distinguishes it from generic Node.js or Express skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a strong, highly actionable Fastify skill with excellent executable code examples and clear workflow guidance. The main weakness is verbosity—some introductory explanations and rule preambles explain concepts Claude already knows, and the document length suggests some content could be split into referenced files for better progressive disclosure.
Suggestions
Trim introductory paragraphs that explain what Fastify is or why its features matter—start directly with the actionable guidance
Consider splitting production hardening (CORS, helmet, rate limiting) and TypeScript type providers into separate referenced files to reduce main document length
Remove explanatory comments in code that state the obvious (e.g., '// No validation, no types' after showing untyped code)
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient with good code examples, but includes some unnecessary explanation (e.g., 'Fastify is built around three ideas that distinguish it from Express' preamble, explanations of what hooks do that Claude would know). The opening paragraph and some rule introductions could be tightened. | 2 / 3 |
Actionability | Excellent actionability with fully executable TypeScript code examples throughout. Every rule includes copy-paste ready code, correct/wrong patterns clearly labeled, and specific package names (@fastify/cors, @fastify/helmet, etc.). The checklist at the end provides concrete verification steps. | 3 / 3 |
Workflow Clarity | Clear sequencing throughout: hooks lifecycle table shows exact order, plugin registration order is explicit ('register auth first, OUTSIDE route plugins'), graceful shutdown has numbered implicit steps. The checklist serves as a validation checkpoint for the entire setup process. | 3 / 3 |
Progressive Disclosure | Content is well-organized with clear rule-based sections and a summary checklist. However, this is a long monolithic document (~400 lines) that could benefit from splitting advanced topics (TypeScript type providers, production hardening) into separate referenced files. The verifiers section references external files appropriately. | 2 / 3 |
Total | 10 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (515 lines); consider splitting into references/ and linking | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
Reviewed
Table of Contents