Agent skill · Audited from source

fastify-best-practices

skill · mcollina/skillsMIT licenceAudited 21 Oct 2026 · source 3f067ed6a979

★ 1,956pushed 3 days ago
!CAUTIONGrade B · 89/100 · 9 findings · 3f067ed
1,956repo stars · whole mcollina/skills

Is it safe? With care — CAUTION, grade B (89/100). We read this skill's source at commit 3f067ed6a979 and observed network access and a hard-coded secret (see the findings). The audit raised 9 findings, 0 critical or high. What it does: Creates, structures, and reviews technical documentation following the Diátaxis framework (tutorials, how-to guides, reference, and explanation pages). Use when a user needs to write or reorganize docs, structure a…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “fastify-best-practices (mcollina/skills)”. Retrieved 21 Oct 2026. https://modelsatlas.com/skills/mcollina/fastify-best-practices

Trust audit

Audit 0.4.1 · source read 21 Oct 2026

Trust score89/100!CAUTION B
0 critical0 high3 medium2 low4 info

CAUTION means the audit found things worth knowing before you trust this skill. Grade B is shared by 13,985 of 14,816 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkDeclared1 observation
  • ShellNone observedNo commands run in the source
  • DependenciesNot pinnedSome versions float
  • SecretsFoundSee the findings; values are never shown

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeWARN4
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS5
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (9)

MEDIUMNetwork egressnet.raw_ip · skills/node/rules/assets/graceful-server.ts:60
F-04 Network egressCWE-200 · CWE-319Layer L1
console.log('Server listening on http://0.0.0.0:3000');
Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.db_uri · skills/node/rules/environment.md:207
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1
DATA…://…@localhost:5432/myapp
Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.db_uri · skills/node/rules/environment.md:211
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1
DATA…://…@localhost:5432/myapp_test
Why
No further detail recorded for this rule.
Fix
—
LOWSupply chainsupply.unpinned · package.json
F-08 Supply chainCWE-829 · CWE-1357Layer L1
@eslint/js, @types/node, close-with-grace, eslint, globals, typescript, typescript-eslint
Why
7 dependency range(s) float
Fix
pin exact versions or ship a lockfile
LOWPrompt injectionprompt.transfer_instruction · skills/octocat/rules/security-advisory-private-fork-prs.md:61
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
- Creating the fork requires write access to the advisory (repository admin, security manager, or advisory collaborator; confirm against the [REST reference](https://docs.github.com/en/rest/security-a
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
INFOPrompt injectionprompt.credential_read · skills/fastify/rules/configuration.md:47
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
dotenv: true, // Load from .env file
Why
asks the agent to read credentials
Fix
—
INFOPrompt injectionprompt.credential_read · skills/node/rules/environment.md:12
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
Use Node.js built-in `--env-file` flag to load environment variables:
Why
asks the agent to read credentials
Fix
—
INFOPrompt injectionprompt.credential_read · skills/node/rules/environment.md:15
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
# Load from .env file
Why
asks the agent to read credentials
Fix
—
INFOPrompt injectionprompt.credential_read · skills/node/rules/environment.md:29
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
// Load .env from current directory
Why
asks the agent to read credentials
Fix
—

Audit 0.4.1 · source sha 3f067ed6a979 · 21 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publishermcollina GitHub userOwner of the repository this skill is read from
  • Source foldermcollina/skillsThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdict3f067ed6a979A new audit runs when the source changes
  • Repository statusNot archivedLast push 3 days ago
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Creates, structures, and reviews technical documentation following the Diátaxis framework (tutorials, how-to guides, reference, and explanation pages). Use when a user needs to write or reorganize docs, structure a…

---
name: documentation
description: "Creates, structures, and reviews technical documentation following the Diátaxis framework (tutorials, how-to guides, reference, and explanation pages). Use when a user needs to write or reorganize docs, structure a tutorial vs. a how-to guide, build reference docs or API documentation, create explanation pages, choose between Diátaxis documentation types, or improve existing documentation structure. Trigger terms include: documentation structure, Diátaxis, tutorials vs how-to guides, organize docs, user guide, reference docs, technical writing."
metadata:
  tags: documentation, technical-writing, tutorials, guides, reference, diataxis
---

## When to use

Use this skill when you need to create, review, or improve technical documentation following the Diátaxis framework. Examples include:
- Creating user guides
- API documentation
- Tutorial content
- Restructuring existing documentation to better serve different user needs and contexts

## Instructions

Organize documentation into four distinct types — tutorials, how-to guides, reference material, and explanations — each serving different user needs and contexts.

Always ask clarifying questions about the user's context, audience, and goals **before** creating documentation.

---

### Step 1 — Identify the documentation type

Use the following decision checklist based on user signals:

| User signal | Documentation type |
|---|---|
| "I'm new to X and want to learn it" / "walk me through" | **Tutorial** |
| "How do I...?" / "I need to accomplish X" | **How-to guide** |
| "What are the parameters/options/syntax for X?" | **Reference** |
| "Why does X work this way?" / "Help me understand X" | **Explanation** |

Quick decision tree:
- Is the user **learning by doing** for the first time? → Tutorial
- Do they need to **solve a specific problem** they already understand? → How-to guide
- Do they need **technical facts** to look up? → Reference
- Do they want **conceptual background**? → Explanation

---

### Step 2 — Apply type-specific patterns

#### Tutorials (learning-oriented)
- **Title pattern:** Start with a verb — *"Build your first X"*, *"Create a Y from scratch"*
- Structure: Goal → Prerequisites → Numbered steps → Immediate verifiable result at each step → Final outcome
- Minimise explanation; maximise doing
- Every step must produce a visible, testable result
- **Validation:** A beginner must be able to complete the tutorial without external help

**Example intro:**
> *"In this tutorial, you will build a simple REST API using Express. By the end, you will have a running server that responds to GET requests. No prior Express experience is needed."*

---

#### How-to guides (problem-oriented)
- **Title pattern:** Frame as a task — *"How to configure X"*, *"How to deploy Y to Z"*
- Structure: Goal statement → Assumptions/prerequisites → Numbered steps → Expected result
- Assume baseline knowledge; skip conceptual explanations
- Allow for variation; note alternatives where they exist
- **Validation:** An experienced user can complete the task without confusion or backtracking

**Example intro:**
> *"This guide shows how to add JWT authentication to an existing Express app. It assumes you have a working Express server and basic familiarity with middleware."*

---

#### Reference (information-oriented)
- **Title pattern:** Name the thing — *"Configuration options"*, *"API endpoints"*, *"CLI flags"*
- Structure: Consistent repeatable format per entry (name → type → default → description → example)
- State facts; avoid instruction beyond minimal usage examples
- Keep current; version-stamp if needed
- **Validation:** A user can look up a specific fact in under 30 seconds without reading surrounding content

**Example entry:**
> **`timeout`** *(integer, default: `5000`)*
> Maximum time in milliseconds to wait for a response before the request fails.
> *Example:* `{ timeout: 3000 }`

---

#### Explanations (understanding-oriented)
- **Title pattern:** Frame as a concept — *"How X works"*, *"Understanding Y"*, *"Why Z is designed this way"*
- Structure: Context → Core concept → Alternatives/trade-offs → Higher-level perspective
- Avoid step-by-step instruction or technical specification
- **Validation:** After reading, the user can explain the concept in their own words and understands the rationale behind design decisions

**Example intro:**
> *"Authentication and authorisation are often confused. This page explains the distinction, why both matter, and how common patterns (sessions, tokens, OAuth) approach each concern differently."*

---

### Step 3 — Maintain separation and integration

- Keep each document a single type — don't mix tutorial steps with reference tables or conceptual digressions
- Cross-link between types: a tutorial can link to the relevant reference page; a how-to guide can link to an explanation for background
- Use consistent headings and terminology across all types so users can navigate the full documentation system

---

### Step 4 — Validate before delivering

| Type | Validation check |
|---|---|
| Tutorial | Can a beginner complete it end-to-end without external help? |
| How-to guide | Does it solve the stated problem for an experienced user? |
| Reference | Can the user find a specific fact in under 30 seconds? |
| Explanation | Does the user understand the *why*, not just the *what*? |

Excerpt, first 5,402 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 3f067ed

Download folder ↗
npm install -g autocannon
npm install --save-dev eslint@9 neostandard
npm install --save-dev eslint neostandard
npm install --save-dev eslint @eslint/js typescript-eslint
npm install --save-dev eslint@^9
npm install --save-dev neostandard eslint

Commands as the repository documents them: shown, never run by us. Our verdict covers commit 3f067ed6a979 only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
CodexMentioned in its text, not testedSkills for Codex · About Codex
GitHub CopilotMentioned in its text, not testedSkills for GitHub Copilot · About GitHub Copilot
CursorMentioned in its text, not testedSkills for Cursor · About Cursor
Gemini CLIMentioned in its text, not testedSkills for Gemini CLI · About Gemini CLI
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. !CAUTION B 89 / 100

    first audit · source 3f067ed6a979

README badge

For maintainers · shows the latest audit

ModelsAtlas: CAUTION BMODELSATLASCAUTION · B
[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/mcollina/fastify-best-practices/badge.svg)](https://modelsatlas.com/skills/mcollina/fastify-best-practices/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

Add this badge to your README

[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/mcollina/fastify-best-practices/badge.svg)](https://modelsatlas.com/skills/mcollina/fastify-best-practices/)

Questions about fastify-best-practices

What does the fastify-best-practices skill do?
My own collection of skills for modern Node.js development
Is fastify-best-practices safe to install?
With care. The audit graded it B (89/100) and found 9 things worth knowing before you trust this skill, listed below with the exact line each was found on.
What can fastify-best-practices access on my machine?
The audit observed that it reaches the network. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.
Which assistants does fastify-best-practices work with?
Its documentation mentions claude-code, codex, copilot, cursor and gemini-cli. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (3f067ed6a979), read on 2026-10-21. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.