Generates complete technical tutorials from prerequisites and environment setup to core steps, troubleshooting, and a final cheatsheet. Trigger on requests to write a tutorial, create a setup guide, organize steps for beginners, or keywords like step-by-step, quickstart, or how-to guide.
Install with the open skills CLI (global, non-interactive — available in every Claude Code session):
npx skills add zebbern/claude-code-guide --skill "dev-guide-generator" -g -a claude-code -yOr manually — clone and copy the skill directory (SKILL.md + companion files):
git clone --depth 1 https://github.com/zebbern/claude-code-guide /tmp/claude-code-guide && cp -r /tmp/claude-code-guide/skills/dev-guide-generator ~/.claude/skills/dev-guide-generatorThis skill is a directory: SKILL.md is the entry point; the files below ship with it.
---
name: dev-guide-generator
description: "Generates complete technical tutorials from prerequisites and environment setup to core steps, troubleshooting, and a final cheatsheet. Trigger on requests to write a tutorial, create a setup guide, organize steps for beginners, or keywords like step-by-step, quickstart, or how-to guide."
license: MIT
---
# Dev Guide Generator
**One topic → complete technical tutorial**: Through a structured SOP workflow, transform a technical topic into a comprehensive tutorial covering prerequisites, environment setup, core steps, common error troubleshooting, and advanced topics — all accompanied by a cheatsheet.
## Quick Start
The user simply provides a technical topic or operational goal, and the Agent automatically generates a complete tutorial following this workflow:
```
User: Help me write a Docker beginner's tutorial
Agent: [Outputs complete technical tutorial + Cheatsheet following the SOP workflow]
```
## SOP Workflow
### Phase 1: Topic Scoping & Audience Analysis
**Goal**: Define the tutorial's technical subject, target audience, and scope boundaries.
**Steps**:
1. **Parse the topic**: Identify the core technology, operational goals, and expected deliverables from the user's input
2. **Ask clarifying questions** (up to 4 key questions):
- What is the target audience's technical level? (Complete beginner / Some experience / Experienced developer)
- What operating system will the reader be using? (macOS / Windows / Linux / Any)
- What should the reader be able to do after completing the tutorial? (Specific deliverable)
- Are there any version or tech stack constraints?
3. **If the user asks to skip clarification**, proceed with these default assumptions:
- Audience: Has basic programming experience but is unfamiliar with the topic technology
- Environment: Cover both macOS and Linux (note Windows differences where necessary)
- Goal: Be able to independently complete a minimal working example
**Output**: Tutorial metadata summary (topic, audience, objective, scope — no more than 150 words)
---
### Phase 2: Prerequisites
**Goal**: List all knowledge and tools the reader needs before starting this tutorial, ensuring there are no knowledge gaps.
**Steps**:
1. **Dependency analysis**:
- List all technical concepts involved in this tutorial
- For each concept, determine whether it should be "explained within the tutorial" or "assumed as prior knowledge"
- Decision rule: If explaining it would digress more than 200 words from the main topic, classify it as a prerequisite
2. **Prerequisites checklist**:
- Categorize into "Must know" and "Nice to know" tiers
- Attach a one-line explanation for each: "why you need it"
- Format:
```
**Must know**:
- [Concept]: [Why you need it] (Recommended resource)
**Nice to know**:
- [Concept]: [What aspects of the tutorial it relates to]
```
3. **Self-check rules**:
- If prerequisites exceed 5 items, consider narrowing the tutorial scope or splitting into a series
- Every prerequisite must have a publicly available learning resource
**Output**: Tiered prerequisites checklist
---
### Phase 3: Environment Setup
**Goal**: Provide a reproducible environment configuration path so the reader is fully set up before starting the core steps.
**Steps**:
1. **Environment inventory**: List all tools to install/configure with recommended versions
- Format: `Tool name Version requirement (e.g., >= x.y) | Purpose`
- Clearly distinguish "required" from "optional" installations
2. **Installation steps**: Provide commands for each operating system
- Precede each command with a one-line explanation of what it does
- Use only officially recommended methods or mainstream package managers
- Format:
```
**macOS**:
# Install xxx (via Homebrew)
brew install xxx
**Linux (Ubuntu/Debian)**:
# Install xxx (via apt)
sudo apt update && sudo apt install -y xxx
```
3. **Environment verification**: Provide a verification command and expected output after each tool installation
- Format:
```
# Verify installation
xxx --version
# Expected output: xxx x.y.z
```
4. **Self-check rules**:
- All installation commands must come from official documentation or mainstream package managers — no third-party scripts
- Never include real API keys, passwords, tokens, or other sensitive values
- When configuration files are involved, use placeholders (e.g., `YOUR_API_KEY`) and explain how to obtain the real value
**Output**: OS-specific installation and configuration guide + verification commands
---
### Phase 4: Core Steps
**Goal**: Walk the reader through the core operations in a progressive structure, where each step can be independently verified.
**Steps**:
1. **Step planning**:
- Break the entire operation into 5–10 steps (each focused on one sub-goal)
- Order steps strictly by dependency
- Each step includes: step number, title, and objective statement
2. **Step writing format**:
```
#### Step N: [Step Title]
**Objective**: [What state is achieved after this step]
**Actions**:
[Code block or operational instructions]
**Explanation**:
- [Line-by-line or section-by-section explanation of key parts]
**Verification**:
[What command to run / what result to check to confirm success]
Expected output: [Specific expected result]
```
3. **Writing guidelines**:
- Code blocks must specify the language (e.g., ```bash, ```python)
- Placeholders use ALL_CAPS_WITH_UNDERSCORES format (e.g., `YOUR_PROJECT_NAME`) and are explained on first occurrence
- Each code block should not exceed 30 lines; split and explain in sections if longer
- Use relative file paths; state the project root directory at the beginning
- Every step must end with a verification section
4. **Progressive complexity**:
- Steps 1–3: Minimal runnable example (Hello World level)
- Middle steps: Gradually introduce real-world features
- Final 1–2 steps: Combine everything into a complete example
**Output**: Numbered step list, each containing actions + explanation + verification
---
### Phase 5: Troubleshooting
**Goal**: Anticipate problems the reader may encounter and provide a direct path from error message to solution.
**Steps**:
1. **Error collection**: Based on the technical topic, list the 5–8 most common error scenarios
- Sources: Environment misconfiguration, version incompatibilities, permission issues, typos, network problems, etc.
2. **Error entry format**:
```
**Error N: [Error message summary]**
Full error message:
[Actual error output]
Cause: [One-sentence explanation of why this error occurs]
Solution:
[Specific fix commands or steps]
Verify the fix:
[What to run to confirm the issue is resolved]
```
3. **Writing guidelines**:
- Error messages must be real (do not fabricate error messages)
- Solutions must be actionable — avoid vague advice like "check your configuration"
- If an error has multiple possible causes, list them from most to least likely
- For permission-related issues, explain why the permission is needed rather than jumping to `sudo` or `chmod 777`
4. **Self-check rules**:
- Solutions must not include operations that could create security risks (e.g., `chmod 777`, disabling firewalls)
- Never advise the reader to disable security features to "fix" a problem
**Output**: Structured troubleshooting table
---
### Phase 6: Advanced Topics
**Goal**: Point readers who have completed the basics toward next steps, providing a learning path from beginner to advanced.
**Steps**:
1. **Advanced topic recommendations** (3–5 directions):
- For each direction, write a short paragraph: what it is, why it's worth learning, and what scenarios it applies to
- Tag the difficulty level: Intermediate / Advanced
- Format:
```
**Direction N: [Topic Name]** | Difficulty: [Intermediate/Advanced]
[Short paragraph]
Recommended resources:
- [Resource name] ([Type: documentation/book/course])
```
2. **Hands-on project suggestions**:
- Provide 2–3 small projects the reader can independently complete using what they learned
- Each project includes: project name, one-sentence description, and relevant concepts
3. **Best practice tips** (3–5 items):
- Key differences between production and tutorial environments
- Security considerations
- Performance optimization directions
**Output**: Advanced learning roadmap + hands-on project suggestions + best practices
---
### Phase 7: Cheatsheet
**Goal**: Distill the tutorial's essentials into a one-page quick reference for everyday use.
**Steps**:
1. **Cheatsheet structure**:
```
# [Technology Name] Cheatsheet
## Environment Info
| Item | Command/Path |
|------|--------------|
| Install | `command` |
| Version check | `command` |
| Config file location | `path` |
## Common Commands
| Action | Command | Description |
|--------|---------|-------------|
| xxx | `xxx` | xxx |
## Common Code Snippets
[Up to 5 frequently used code snippets, each no more than 10 lines]
## Quick Troubleshooting
| Symptom | Possible Cause | Quick Fix |
|---------|---------------|-----------|
| xxx | xxx | `xxx` |
```
2. **Writing guidelines**:
- Total cheatsheet length should fit on 2 printed A4 pages
- Commands must be complete and ready to copy-paste
- No explanatory prose — only "what to do → how to do it" mappings
- Order items by frequency of use, from most to least common
**Output**: One-page cheatsheet
---
### Phase 8: Document Assembly & Output
**Goal**: Assemble the outputs from the previous seven phases into a complete tutorial document.
**Tutorial document template**:
```markdown
# [Technical Topic] Complete Tutorial
> Last updated: [Current date] | Applicable version: [Version number]
> Difficulty: [Beginner/Intermediate/Advanced] | Estimated time: [N hours/minutes]
## Tutorial Overview
[Phase 1 metadata summary — what the reader will be able to do after completion]
## 1. Prerequisites
[Phase 2 prerequisites checklist]
## 2. Environment Setup
[Phase 3 installation and configuration guide]
## 3. Core Steps
[Phase 4 numbered step list]
## 4. Troubleshooting
[Phase 5 troubleshooting table]
## 5. Advanced Topics
[Phase 6 advanced roadmap and hands-on projects]
## 6. Cheatsheet
[Phase 7 cheatsheet]
## Appendix
- Glossary (if domain-specific terminology is used, list in a table: Term | Definition)
- Reference links (official documentation, community resources, etc.)
```
**Document output requirements**:
- All code blocks must specify the language
- All commands must be directly copy-pasteable (no line numbers, prompts, or other noise)
- All placeholders use the `YOUR_XXX` format and are explained on first occurrence
- Configuration files must not contain real keys or tokens
- Dates must use the actual current date
---
## Flow Control Rules
### Interaction Mode Selection
Choose the mode based on the level of detail in the user's input:
| User Input | Mode | Behavior |
|------------|------|----------|
| Just a technology name (e.g., "Docker tutorial") | **Guided mode** | Execute Phase 1 questions, wait for answers before continuing |
| Specific goal (e.g., "Deploy a Node.js app with Docker") | **Semi-auto mode** | Ask 1–2 key questions while simultaneously planning the steps |
| Detailed description (includes audience, environment, goal) | **Full-auto mode** | Start output directly from Phase 2 |
| User says "just write it / don't ask" | **Quick mode** | Output the complete tutorial based on default assumptions |
### Quality Checklist
Before outputting the final tutorial, check each item:
- [ ] Prerequisites checklist is complete with no knowledge gaps
- [ ] Every environment setup command has a verification step
- [ ] Every core step includes "actions + explanation + verification"
- [ ] Step dependencies are correct (no step uses a tool that hasn't been installed yet)
- [ ] At least 5 common errors with specific, actionable solutions
- [ ] At least 3 advanced directions with resource recommendations
- [ ] Cheatsheet is self-contained with common commands and troubleshooting info
- [ ] All code blocks specify the language
- [ ] No hardcoded keys, tokens, or personal paths
- [ ] No suggestions that could create security vulnerabilities (e.g., `chmod 777`)
- [ ] No dependency on paid APIs or subscription-only tools (unless the tool itself is the tutorial subject)
### Iterative Refinement
If the user provides feedback on the tutorial:
1. Identify which Phase the feedback relates to
2. Re-execute from that Phase
3. Cascade updates to all downstream content (e.g., an environment change must propagate to subsequent steps and the Cheatsheet)
4. Maintain step numbering continuity
## Use Cases
This tutorial generator is suitable for the following types of technical tutorials:
- **Tool usage**: Tutorials for tools like Git, Docker, Kubernetes, Vim, etc.
- **Environment setup**: Development environments, CI/CD pipelines, server configuration, etc.
- **Programming introductions**: Language primers, framework quickstarts, library usage, etc.
- **Operations manuals**: Deployment, monitoring, logging, backup and recovery, etc.
- **Data processing**: Database operations, ETL workflows, data analysis tool usage, etc.