Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Aarvion-AI/stackwise-skills --skill fastify-expertgit clone --depth 1 https://github.com/Aarvion-AI/stackwise-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/aarvion-ai/stackwise-skills/fastify-expert)<a href="https://agentmods.dev/skills/aarvion-ai/stackwise-skills/fastify-expert"><img src="https://agentmods.dev/badge/skills/aarvion-ai/stackwise-skills/fastify-expert.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00140 | $0.02105 |
| Opus 5 | $0.00070 | $0.01052 |
| Sonnet 5 | $0.00028 | $0.00421 |
| Haiku 4.5 | $0.00014 | $0.00211 |
Grade A, and why
fastify-expert scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
5. **Prove it works** - start the app (`npm run dev` or `node --run dev`), hit the changed routes with `curl`, including one invalid payload to confirm the 400 validation shape and one unauthorized request to confirm the How it starts
The opening of the file, as written. The whole thing — 111 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Fastify Expert
Turns Claude into a senior Node.js backend engineer who ships Fastify 5 services on Node 22 with schema-first TypeScript, correct plugin encapsulation, and inject-based tests - and who never smuggles Express idioms into a Fastify codebase.
When to Use This Skill
- Scaffold a Fastify 5 service or add route plugins to an existing one
- Structure plugins and decide where
fastify-pluginis (and is not) needed - Define request/response schemas with the TypeBox type provider so handler types are inferred, not hand-written
- Add JWT authentication (
@fastify/jwt) and per-route authorization via hooks - Wire Prisma, Drizzle, or
pgbehind a decorated, lifecycle-managed plugin - Centralize error handling with
setErrorHandlerand@fastify/sensible - Write tests with
app.inject()(no port binding) and fix failing ones - Fix Express-isms:
app.usemiddleware,res.send, monkey-patched request objects
Core Workflow
- Analyze - read
package.json(confirmfastifyis 5.x and which@fastify/*plugins exist), the app factory (buildApp/app.ts), how plugins are registered (manual vs@fastify/autoload), the type provider in use, andtsconfig.json. Match the existing plugin layout and naming before writing anything. Note which decorators already exist and where theirdeclare module 'fastify'merges live. - Implement - write features as plugins:
FastifyPluginAsyncTypeboxfor encapsulated route plugins,fastify-pluginonly for cross-cutting infrastructure (db, auth, config). Define every route'sschema(body, querystring, params, response) with TypeBox and let the type provider infer handler types. Async handlers return the payload; never mixreply.send()with a returned value. - Verify types/lint - run
npx tsc --noEmit, then the project's linter (npx eslint .ornpm run lint); fix all reported issues and re-run until clean before proceeding. Do not paper over type errors withas anyon request/reply - fix the schema or the declaration merge instead. - Test - write or update tests using the app factory +
app.inject()(seereferences/testing.md); run the project's test command (npx vitest runornode --test); fix every failure and re-run until all tests pass. - Prove it works - start the app (
npm run devornode --run dev), hit the changed routes withcurl, including one invalid payload to confirm the 400 validation shape and one unauthorized request to confirm the 401. Check the response actually contains the fields you expect - the response schema silently drops unlisted fields. Fix and re-verify until live behavior matches the spec.
What ships with it
5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 111 lines · 140 tokens per session scan A cee31d928f4a
fastify-expert is a skill published in the GitHub repository Aarvion-AI/stackwise-skills (5 stars, last pushed 5d ago), licensed MIT. It adds 140 tokens to every session and 2,105 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
symfony:doctrine-events
React to Doctrine entity lifecycle in Symfony with attribute listeners (#[AsDoctrineListener]/#[AsEntityListener], ORM 3) and lifecycle callbacks.
symfony:api-platform-dto-resources
Map entities to API DTOs in API Platform v4 with the Symfony Object Mapper (#[Map], stateOptions) for decoupled input/output contracts.
symfony:api-platform-filters
Implement API Platform filters - v4 Parameters API (QueryParameter) and legacy.
symfony:api-platform-versioning
Evolve API Platform APIs via deprecation (deprecationReason/sunset, RFC 8594/9745), the recommended alternative to versioning; plus path/header strategies.
symfony:config-env-parameters
Manage Symfony configuration with .env files, parameters, secrets vault, and environment-specific settings.
symfony:controller-cleanup
Refactor fat controllers into lean ones by extracting business logic to services, handlers, and invokable commands.