Agent skill · Audited from source
fastify-best-practices
skill · mcollina/skillsMIT licenceAudited 21 Oct 2026 · source 3f067ed6a979
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…
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
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
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | WARN | 4 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 5 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (9)
MEDIUMNetwork egressnet.raw_ip · skills/node/rules/assets/graceful-server.ts:60
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
DATA…://…@localhost:5432/myapp
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.db_uri · skills/node/rules/environment.md:211
DATA…://…@localhost:5432/myapp_test
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWSupply chainsupply.unpinned · package.json
@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
- 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
dotenv: true, // Load from .env file
- Why
- asks the agent to read credentials
- Fix
- —
INFOPrompt injectionprompt.credential_read · skills/node/rules/environment.md:12
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
# Load from .env file
- Why
- asks the agent to read credentials
- Fix
- —
INFOPrompt injectionprompt.credential_read · skills/node/rules/environment.md:29
// 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
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
git clone https://github.com/mcollina/skills git -C skills checkout 3f067ed6a979
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
| Agent | Status | More |
|---|---|---|
| Claude Code | Mentioned in its text, not tested | Skills for Claude Code · About Claude Code |
| Codex | Mentioned in its text, not tested | Skills for Codex · About Codex |
| GitHub Copilot | Mentioned in its text, not tested | Skills for GitHub Copilot · About GitHub Copilot |
| Cursor | Mentioned in its text, not tested | Skills for Cursor · About Cursor |
| Gemini CLI | Mentioned in its text, not tested | Skills for Gemini CLI · About Gemini CLI |
Audit history
Every audit, every source change
- !CAUTION B 89 / 100
first audit · source
3f067ed6a979
README badge
For maintainers · shows the latest audit
[](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
obra/superpowers
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions…
obra/superpowers
Use when you have a spec or requirements for a multi-step task, before touching code
obra/superpowers
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
Add this badge to your README
[](https://modelsatlas.com/skills/mcollina/fastify-best-practices/)
<a href="https://modelsatlas.com/skills/mcollina/fastify-best-practices/"><img src="https://modelsatlas.com/skills/mcollina/fastify-best-practices/badge.svg" alt="ModelsAtlas: CAUTION B"></a>
Questions about fastify-best-practices
What does the fastify-best-practices skill do?
Is fastify-best-practices safe to install?
What can fastify-best-practices access on my machine?
Which assistants does fastify-best-practices work with?
How current is this page?
Sources
- github.com/mcollina/skills — the audited source at commit 3f067ed6a979 and every finding aboveObserved · 21 Oct 2026
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.
- What does the fastify-best-practices skill do?
- Is fastify-best-practices safe to install?
- What can fastify-best-practices access on my machine?