# Lathe: LLM-generated hands-on technical tutorials you build yourself

> Lathe is a Go CLI and LLM skill system that generates multi-part hands-on tutorials on demand, then serves them locally so you do the work by hand.

Published: 2026-06-08
URL: https://daniliants.com/insights/lathe-llm-generated-hands-on-technical-tutorials/
Tags: llm-tutorials, developer-tools, hands-on-learning, ai-education, golang, claude-code, self-hosting

---

## Summary

Lathe is a Go CLI + LLM skill system that generates multi-part hands-on technical tutorials on demand, then presents them in a local reading UI for manual work-through. The key design inversion: the LLM teaches, the human does the work, rather than the LLM doing the work while the human watches. Particularly useful for obscure or emerging domains where human-written tutorials do not yet exist.

## Key Insight

- **Core philosophy inversion:** most LLM coding tools replace the human's work; Lathe uses the LLM only to scaffold the learning path, leaving all hands-on execution to the reader. This preserves the "aha moment" that leads to durable skill acquisition.
- **Best fit use case:** niche or very new domains lacking human-written tutorials (e.g. 3D slicer internals, embedded Zig development). For well-documented topics, human-written tutorials remain superior.
- **Hallucination risk is lower than typical LLM use** because the reader types and runs every step manually, so they naturally catch inconsistencies rather than blindly executing generated code.
- **Voices system:** tutorials are written in a named "voice" (default `plainspoken`, optional `companion`, or custom). Custom voices are authored via an interview skill. Every tutorial's byline discloses the exact LLM model + voice used, with no pretend-human framing.
- **Verification is opt-in and interactive:** `/lathe-verify` runs through every step in a temp scratch dir under the user's normal Claude Code session, so tool calls are visible and approved. Status cycles through `unverified`, `verifying`, `verified/failed/skipped`.
- **Source trail is durable:** URLs consulted during generation are stored in `metadata.json` and surfaced in the UI, not just inline citations, so provenance can be sanity-checked independently.
- **Runs locally, no cloud dependency:** tutorials live in `~/.lathe/tutorials/`, served at `localhost:4242`. The Go binary never calls an LLM itself; all LLM interaction happens in the user's interactive Claude Code / Cursor / Codex session.
- **Skills install into standard locations:** `lathe skills install` drops SKILL.md files into `.claude/skills/`, `.cursor/commands/`, or `.agents/skills/`, compatible with the standard Claude Code skill discovery pattern.
- **Author is explicit about limitations:** LLM tutorials lack heart, personality, and architectural soundness vs. human-written ones. Recommended: use the largest "thinking" model available (Opus, GPT-5 Codex) since tutorial generation is research-and-design-heavy, not iterative mechanical coding.