Skill

Market developer tools with technical content & community

Creates step-by-step tutorials using progressive complexity layers, a copy-paste-friendly code checklist, and checkpoint moments every 3-5 steps.

Works with githubslackdiscordredditlinkedin

27
Spark score
out of 100
Updated 4 months ago
Version 1.0.0

Add to Favorites

Why it matters

Help AI agents execute authentic, technically-grounded marketing strategies that resonate with developer audiences by providing specialized knowledge for content creation, community engagement, distribution, and conversion across channels developers actually use.

Outcomes

What it gets done

01

Write technical tutorials, documentation, and blog posts that developers trust and share

02

Engage authentically on Hacker News, Reddit, GitHub, and developer communities without triggering BS detectors

03

Optimize developer onboarding flows, signup experiences, and time-to-first-API-call

04

Monitor developer conversations across platforms to find pain points and engagement opportunities

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-technical-tutorials | bash

Overview

Technical Tutorials

This skill creates step-by-step tutorials, quickstarts, and walkthroughs using a fixed 7-part structure, a 5-layer progressive-complexity build order, a copy-paste-verification checklist for every code block, and checkpoint wins every 3-5 steps. Use it when creating a tutorial, quickstart, getting-started guide, walkthrough, or hands-on code guide.

What it does

Helps create step-by-step technical tutorials, quickstarts, and code walkthroughs that actually work, first loading developer-audience context (skill level, tech stack familiarity, OS environment, why they're learning) or running that context-gathering skill first if it doesn't exist. It distinguishes four tutorial types by length and purpose - quickstart (5-10 min, first success ASAP), tutorial (20-45 min, learn a concept deeply), workshop (1-3 hours, a comprehensive project), and code walkthrough (varies, explaining existing code) - and structures every tutorial the same way: title and meta (what you'll build, time estimate, prerequisites), an overview with a final-result preview, a prerequisites check with verification commands, the progressive build itself with checkpoints, a "what you built" recap with complete code, a troubleshooting section, and next steps. Progressive complexity follows a five-layer cake: skeleton (minimum viable running code, like a Hello World server), core feature (the primary functionality, like one API endpoint), real data (replacing hardcoded values with a database connection), error handling (production-ready try/catch and validation), and polish (logging, config, tests) - each layer building on the last rather than dumping the complete 200-line file up front (the explicitly flagged wrong approach) versus showing a minimal working server first, then adding one route at a time (the right approach). Every code block must pass a copy-paste checklist: it runs standalone when pasted into a new file, includes every import/require statement, references no undefined variables from steps not yet shown, works across Mac/Linux/Windows, and comments explain why rather than restating what the code already shows. Code block patterns reinforce this: labeling which file a snippet belongs to and where in it ("server.js - add this before your routes"), showing the project's file structure with an arrow pointing at the file being edited, and marking added lines explicitly (e.g. a " ADD THIS" comment) so a developer can tell new code from context. Checkpoints land every 3-5 steps to create an "it works!" motivational win, each with a concrete way to verify success (a test API call, a visual result) rather than just moving on to the next step. Troubleshooting sections use a fixed template per common error: the exact error message as a heading, its cause, and the fix - covering environment-specific gotchas like port-already-in-use across macOS/Linux/Windows command syntax differences. Two ready-to-use templates are provided: a Quickstart template (prerequisites, install, configure, write code, run it, celebration) and a Full Tutorial template (what you'll build, required software and knowledge, numbered feature steps, complete code, troubleshooting, what you learned, next steps). A pre-publish quality checklist covers code quality (every block runs unmodified, imports included, expected output shown, error handling present, env vars follow the .env pattern), structure quality (explicit prerequisites, a tested and accurate time estimate, checkpoints every 3-5 steps, final complete code, troubleshooting for likely errors), and accessibility (works on Mac/Linux/Windows, commands work across bash/zsh/PowerShell, correct path separators, no assumed pre-installed tools).

When to use - and when NOT to

Use it when someone wants to create a step-by-step tutorial, quickstart, getting-started guide, walkthrough, or hands-on code guide.

Inputs and outputs

Input is a technology or feature to teach, plus the target developer audience's skill level and environment. Output is a structured tutorial (title/meta, overview, prerequisites, progressive checkpointed steps, recap, troubleshooting, next steps) following either the Quickstart or Full Tutorial template, verified against the copy-paste and quality checklists.

Integrations

Reads .agents/developer-audience-context.md before drafting, and recommends Replit/CodeSandbox for embedded runnable examples, Carbon/Ray.so for code screenshots, Excalidraw for architecture diagrams, and Terminalizer/Loom for terminal or video supplements; hands off to devrel-content, developer-onboarding, and developer-seo skills for adjacent work.

Who it's for

Developer relations and technical writers creating tutorials, quickstarts, or walkthroughs who want every code block to actually run when copy-pasted, progressive complexity instead of an overwhelming first example, and regular checkpoint wins that keep a learner motivated through to the end.

Source README

Technical Tutorials

When to Use

Use this skill when you need when the user wants to create step-by-step technical tutorials, quickstarts, or code walkthroughs. Trigger phrases include "tutorial," "quickstart," "getting started guide," "walkthrough," "step by step," "how to guide," "hands-on guide," or "code tutorial.".

This skill helps you create step-by-step tutorials that actually work. Covers prerequisite handling, progressive complexity, troubleshooting sections, and creating those satisfying "it works!" moments.


Before You Start

Load your audience context first. Read .agents/developer-audience-context.md to understand:

  • Developer skill level (beginner, intermediate, senior)
  • Tech stack familiarity (what can you assume they know?)
  • Environment (macOS, Linux, Windows, cloud)
  • Why they're learning (job, side project, curiosity)

If the context file doesn't exist, run the developer-audience-context skill first.


Tutorial Types

Type Length Purpose Example
Quickstart 5-10 min First success ASAP "Make your first API call"
Tutorial 20-45 min Learn a concept deeply "Build a REST API with Node.js"
Workshop 1-3 hours Comprehensive project "Build a full-stack app"
Code walkthrough Varies Explain existing code "Understanding our SDK architecture"

The Tutorial Structure

Anatomy of a Great Tutorial

1. Title & Meta
   - What you'll build
   - Time estimate
   - Prerequisites

2. Overview
   - What you'll learn
   - Final result preview

3. Prerequisites Check
   - Environment setup
   - Verification commands

4. The Build (Progressive Steps)
   - Step 1: Simplest foundation
   - Step 2: Add one concept
   - Step 3: Add complexity
   - [Checkpoint: "It works!" moment]
   - Step 4: Continue building
   - ...
   - [Final checkpoint]

5. What You Built
   - Recap
   - Complete code

6. Troubleshooting
   - Common errors
   - Debugging tips

7. Next Steps
   - Where to go from here
   - Related tutorials

Prerequisites Handling

The Prerequisites Section

Be explicit. Don't make developers guess what they need.

### Prerequisites

Before starting, make sure you have:

| Requirement | Version | Check Command |
|-------------|---------|---------------|
| Node.js | 18+ | `node --version` |
| npm | 9+ | `npm --version` |
| Git | Any | `git --version` |

You should also be comfortable with:
- Basic JavaScript (variables, functions, async/await)
- Command line basics (cd, mkdir, running commands)
- REST API concepts (HTTP methods, JSON)

**New to any of these?** Check out [link to prerequisite tutorial].

Environment Setup Section

Make setup foolproof:

### Setting Up Your Environment

### 1. Create Project Directory

\`\`\`bash
mkdir my-awesome-project
cd my-awesome-project
\`\`\`

### 2. Initialize the Project

\`\`\`bash
npm init -y
\`\`\`

You should see output like:
\`\`\`json
{
  "name": "my-awesome-project",
  "version": "1.0.0",
  ...
}
\`\`\`

### 3. Install Dependencies

\`\`\`bash
npm install express dotenv
\`\`\`

### 4. Verify Installation

\`\`\`bash
node -e "require('express'); console.log('Express installed!')"
\`\`\`

Expected output: `Express installed!`

Progressive Complexity

The Layer Cake Approach

Build up in understandable layers:

Layer What It Does Example
1. Skeleton Minimum viable code that runs "Hello World" server
2. Core feature Primary functionality Add one API endpoint
3. Real data Replace hardcoded values Connect to database
4. Error handling Production-ready patterns Add try/catch, validation
5. Polish Nice-to-haves Logging, config, tests

Show Progress, Not Perfection

Wrong approach (overwhelming):

// Here's the complete file with everything
const express = require('express');
const { Pool } = require('pg');
const helmet = require('helmet');
const rateLimit = require('express-rate-limit');
const winston = require('winston');
// ... 200 more lines

Right approach (progressive):

Step 1: Basic server

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Server running on http://localhost:3000');
});

Step 2: Add your first route

// Add this below your existing route
app.get('/api/users', (req, res) => {
  res.json([{ id: 1, name: 'Jane' }]);
});

Copy-Paste Friendly Code

The Copy-Paste Checklist

Every code block must pass these tests:

Test How to Verify
Runs standalone Copy into new file, execute, it works
Imports included All require/import statements present
No undefined variables No references to code from other steps without showing it
Environment agnostic Works on Mac/Linux/Windows
Comments explain why Not what (code shows what), but why

Code Block Patterns

File context is critical:

// server.js - Add this to your existing file
const rateLimit = require('express-rate-limit');

// Add this BEFORE your routes
const limiter = rateLimit({
  windowMs: 15 * 60 * 1000, // 15 minutes
  max: 100 // limit each IP to 100 requests per window
});

app.use(limiter);

Show file structure:

my-project/
├── src/
│   ├── index.js      ← You're editing this
│   ├── routes/
│   │   └── users.js
│   └── db/
│       └── connection.js
├── package.json
└── .env

Highlight changes in context:

// src/index.js
const express = require('express');
const app = express();

// ✅ ADD THIS: Import your new route
const userRoutes = require('./routes/users');

// ✅ ADD THIS: Use the route
app.use('/api/users', userRoutes);

app.listen(3000);

"It Works!" Moments

Checkpoints Create Motivation

Every 3-5 steps, give developers a win:

### Checkpoint: Test Your API

Let's make sure everything works before continuing.

**Start your server:**
\`\`\`bash
node server.js
\`\`\`

**In a new terminal, test the endpoint:**
\`\`\`bash
curl http://localhost:3000/api/users
\`\`\`

**You should see:**
\`\`\`json
[{"id": 1, "name": "Jane"}]
\`\`\`

🎉 **It works!** Your API is returning data.

If you don't see this output, check the [Troubleshooting](#troubleshooting) section.

Visual Confirmation

When possible, show what success looks like:

Output Type How to Show
Terminal output Code block with expected text
Browser result Screenshot or description
API response Formatted JSON
Logs Code block with log output

Troubleshooting Sections

Common Error Template

### Troubleshooting

### "Error: Cannot find module 'express'"

**Cause:** Dependencies weren't installed.

**Fix:**
\`\`\`bash
npm install
\`\`\`

---

### "EADDRINUSE: address already in use :::3000"

**Cause:** Another process is using port 3000.

**Fix (macOS/Linux):**
\`\`\`bash
### Find the process
lsof -i :3000

### Kill it (replace PID with actual number)
kill -9 PID
\`\`\`

**Or use a different port:**
\`\`\`javascript
app.listen(process.env.PORT || 3001);
\`\`\`

---

### "SyntaxError: Unexpected token"

**Cause:** Likely a typo or missing bracket.

**Debug steps:**
1. Check the line number in the error
2. Look for missing `,`, `}`, or `)`
3. Verify all strings are closed with matching quotes

Proactive Error Prevention

Add warnings before common pitfalls:

⚠️ **Windows users:** Use `set` instead of `export`:
\`\`\`bash
### macOS/Linux
export API_KEY=your_key

### Windows Command Prompt
set API_KEY=your_key

### Windows PowerShell
$env:API_KEY = Read-Host -AsSecureString "API key"
\`\`\`

Tutorial Templates

Quickstart Template (5-10 minutes)

### [Product] Quickstart: [What You'll Do] in 5 Minutes

Get [specific outcome] in under 5 minutes.

### Prerequisites

- [Requirement 1]
- [Requirement 2]

### Step 1: Install

\`\`\`bash
npm install your-package
\`\`\`

### Step 2: Configure

Create a `.env` file:
\`\`\`
API_KEY=your_key_here
\`\`\`

### Step 3: Write Code

Create `index.js`:
\`\`\`javascript
// Complete, working code
\`\`\`

### Step 4: Run It

\`\`\`bash
node index.js
\`\`\`

Expected output:
\`\`\`
[Output here]
\`\`\`

### 🎉 You Did It!

You just [accomplished thing].

**Next steps:**
- [Link to full tutorial]
- [Link to API docs]
- [Link to examples repo]

Full Tutorial Template (20-45 minutes)

### Build a [Thing] with [Technology]

Learn how to [outcome] by building [specific project].

| | |
|---|---|
| **Time** | 30 minutes |
| **Level** | Intermediate |
| **Prerequisites** | Node.js 18+, basic JavaScript |

### What You'll Build

[Screenshot or diagram of final result]

By the end, you'll have:
- ✅ [Capability 1]
- ✅ [Capability 2]
- ✅ [Capability 3]

### Prerequisites

### Required Software

| Tool | Version | Verify |
|------|---------|--------|
| Node.js | 18+ | `node -v` |

### Required Knowledge

- [Concept 1] — [link to learn]
- [Concept 2] — [link to learn]

### Step 1: Project Setup

[Setup instructions with verification]

**Checkpoint:** You should see `[expected output]`.

### Step 2: [First Feature]

[Instructions]

**Checkpoint:** Test with `[command]`.

### Step 3: [Second Feature]

[Instructions]

### Step 4: [Third Feature]

[Instructions]

**Checkpoint:** Your app should now [do thing].

### Complete Code

Here's everything together:

\`\`\`javascript
// Full final code
\`\`\`

### Troubleshooting

### [Common Error 1]
[Solution]

### [Common Error 2]
[Solution]

### What You Learned

- [Key concept 1]
- [Key concept 2]
- [Key concept 3]

### Next Steps

- **Go deeper:** [Link to advanced tutorial]
- **Explore:** [Link to related feature]
- **Get help:** [Link to Discord/community]

Quality Checklist

Before publishing, verify:

Code Quality

  • Every code block runs without modification
  • All imports/requires are included
  • Expected output is shown
  • Error handling is included
  • Environment variables use .env pattern

Structure Quality

  • Prerequisites are explicit
  • Time estimate is accurate (test it!)
  • Checkpoints every 3-5 steps
  • Final complete code is provided
  • Troubleshooting covers likely errors

Accessibility

  • Works on Mac, Linux, AND Windows
  • Commands work in bash/zsh/PowerShell
  • File paths use correct separators
  • No assumptions about installed tools

Tools

Tool Use Case
Octolens Find common questions and errors developers encounter. Monitor Stack Overflow and GitHub issues for troubleshooting content.
Replit/CodeSandbox Embed runnable examples
Carbon/Ray.so Beautiful code screenshots
Excalidraw Architecture diagrams
Terminalizer Record terminal sessions
Loom Quick video supplements

Related Skills

  • developer-audience-context - Understand skill level and environment
  • devrel-content - General technical writing principles
  • developer-onboarding - Optimize time to first success
  • developer-seo - Get tutorials found via search

Limitations

  • Use this skill only when the task clearly matches its upstream source and local project context.
  • Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
  • Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.