tutorial-docs — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited tutorial-docs (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill provides patterns for writing effective tutorials following the Diataxis framework. Tutorials are learning-oriented content where the reader learns by doing under the guidance of a teacher.
Dependency: Use this skill with docs-style for core writing principles. To confirm a tutorial is the right type — rather than a how-to, reference, or explanation — see docs-style/references/diataxis-compass.md.
Target readers:
Tutorials are NOT:
Tutorials teach through action, not explanation. The reader should be doing something at every moment.
| Avoid | Prefer |
|---|---|
| "REST APIs use HTTP methods to..." | "Run this command to make your first API call:" |
| "Authentication is important because..." | "Add your API key to authenticate:" |
| "The dashboard contains several sections..." | "Click Create Project in the dashboard." |
After each action, tell readers exactly what they should see. This confirms success and builds confidence.
Run the development server:
npm run dev
You should see:
Local: http://localhost:3000 Ready in 500ms
Open http://localhost:3000 in your browser. You should see a welcome page with "Hello, World!" displayed.Tutorials should not offer alternatives. Pick one way and guide the reader through it completely.
| Avoid | Prefer |
|---|---|
| "You can use npm, yarn, or pnpm..." | "Install the dependencies:" |
| "There are several ways to configure..." | "Create a config file:" |
| "Optionally, you might want to..." | [Omit optional steps entirely] |
If the reader fails, the tutorial failed. Anticipate problems and prevent them. Never blame the reader.
<Warning>
Make sure you're in the project directory before running this command.
If you see "command not found", return to Step 2 to verify the installation.
</Warning>Repeating similar actions in slightly different contexts helps cement learning. Don't try to be efficient.
Diataxis prescribes the "we" voice for tutorials — "In this tutorial, we will build…", "Now we add…", "Let's check the output." It affirms the bond between teacher and learner: you are doing this together, and the teacher takes responsibility for the outcome. Reserve bare second-person imperatives ("Run this command") for the individual actions the reader performs; frame the journey itself with "we."
| Avoid | Prefer |
|---|---|
| "You will build a dashboard." | "In this tutorial, we'll build a dashboard." |
| "Next, configure the API." | "Now let's configure the API." |
Use this structure for all tutorials:
---
title: "Build your first [thing]"
description: "Learn the basics of [product] by building a working [thing]"
---
# Build Your First [Thing]
In this tutorial, we'll build a [concrete deliverable]. By the end, you'll have a working [thing] that [does something visible].
<Note>
This tutorial takes approximately [X] minutes to complete.
</Note>
## What you'll build
[Screenshot or diagram of the end result]
A [brief description of the concrete deliverable] that:
- [Visible capability 1]
- [Visible capability 2]
- [Visible capability 3]
## Prerequisites
Before starting, make sure you have:
- [Minimal requirement 1 - link to install guide if needed]
- [Minimal requirement 2]
<Tip>
New to [prerequisite]? [Link to external resource] has a quick setup guide.
</Tip>
## Step 1: [Set up your project]
[First action - always start with something that produces visible output]
[command]
You should see:
[expected output]
[Brief confirmation of what this means]
## Step 2: [Create your first thing]
[Next action with clear instruction]
[code to add or modify]
Save the file. You should see [visible change].
<Note>
[Optional tip to prevent common mistakes]
</Note>
## Step 3: [Continue building]
[Continue with more steps, each producing visible output]
## Step 4: [Add the final piece]
[Bring it together with a final step]
You should now see [final visible result].
[Screenshot of completed project]
## What you've learned
In this tutorial, you:
- [Concrete skill 1 - what they can now do]
- [Concrete skill 2]
- [Concrete skill 3]
## Next steps
Now that you have a working [thing], you can:
- **[Tutorial 2 title]** - Continue learning by [next learning goal]
- **[How-to guide]** - Learn how to [specific task] with your [thing]
- **[Concepts page]** - Understand [concept] in more depthTutorials are for beginners, so minimize prerequisites:
## Prerequisites
- A computer with macOS, Windows, or Linux
- A text editor (we recommend VS Code)
- 15 minutes of time
<Tip>
You don't need any programming experience. This tutorial explains everything as we go.
</Tip>This is the most important pattern in tutorial writing. Use it constantly:
Click **Save**. You should see a green checkmark appear next to the filename.
Run the test:
npm test
You should see:
PASS src/app.test.js ✓ renders welcome message (23ms)
Tests: 1 passed, 1 total
Anticipate failures and guide readers back on track:
<Warning>
If you see "Module not found", make sure you saved the file from Step 2.
Return to Step 2 and verify the import statement matches exactly.
</Warning>Show what success looks like:
<Frame caption="Your completed dashboard should look like this">

</Frame>For numbered sequences within a step:
<Steps>
<Step title="Open the settings panel">
Click the gear icon in the top right corner.
</Step>
<Step title="Find the API section">
Scroll down to **Developer Settings**.
</Step>
<Step title="Generate a key">
Click **Create New Key** and copy the value shown.
</Step>
</Steps><Note>
Don't worry if the colors look different on your screen.
We'll customize the theme in the next step.
</Note>
<Warning>
Make sure to save the file before continuing.
The next step won't work without this change.
</Warning>
<Tip>
You can press Cmd+S (Mac) or Ctrl+S (Windows) to save quickly.
</Tip>Draw attention to what matters:
function App() { return ( <h1>Hello, World!</h1> <p>Welcome to your first app.</p> ); }
See references/example-weather-api.md for a complete example tutorial demonstrating all principles above. The example builds a weather dashboard that fetches real API data.
Before publishing, verify:
Run these in order. Start the next gate only after the previous pass is satisfied.
| User's mindset | Doc type | Example |
|---|---|---|
| "I want to learn" | Tutorial | "Build your first chatbot" |
| "I want to do X" | How-To | "How to configure SSO" |
| "I want to understand" | Explanation | "How our caching works" |
| "I need to look up Y" | Reference | "API endpoint reference" |
For the full compass procedure and the other type distinctions, see docs-style/references/diataxis-compass.md.
| Aspect | Tutorial | How-To |
|---|---|---|
| Purpose | Learning through doing | Accomplishing a specific task |
| Audience | Complete beginners | Users with some experience |
| Structure | Linear journey with one path | Steps to achieve a goal |
| Choices | None - one prescribed way | May show alternatives |
| Explanations | Minimal - action over theory | Minimal - focus on steps |
| Success | Reader learns and gains confidence | Reader completes their task |
| Length | Longer, more hand-holding | Shorter, more direct |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.