
Built a tool that generates Claude Skills from YouTube tutorials. I'm looking for feedback on the output schema
Hey r/claude_skills — been lurking here, finally have something to contribute.
I built a Chrome extension (Tube2Skill) that takes any YouTube tutorial and converts it into a .skill.md file ready to drop into Claude's Skills folder. The goal was solving a personal pain point: I kept watching great LangChain/agent/RAG tutorials and then spending another 30 minutes manually feeding the technique to Claude before it could actually apply what the video taught.
https://reddit.com/link/1tw1rbz/video/c99ql7hpn45h1/player
I'm posting because the output format is where I've spent the most time iterating, and I'd love this sub's feedback on the schema decisions before I lock anything in.
How the conversion works
It's a three-pass pipeline:
Section extraction — detects topic shifts in the transcript (phrases like "ok so now let's...", "the next thing is...") to break the video into discrete steps
Content typing — within each section, separates: action verbs (→ procedure steps), code blocks (→ preserved verbatim), conceptual explanations (→ "When to use" guidance), and gotchas (→ pitfalls section)
Schema validation — formats into Anthropic's Skill schema with frontmatter, deduplicates, sanity-checks
A single-pass approach gave Skills that were ~60% as useful. Three passes lands closer to ~90% for typical tutorials.
Example output
For a tutorial like "Build a RAG app with LangChain in 10 minutes," the generated skill structure looks roughly like:
```yaml
---
name: rag-app-with-langchain
description: Use when building a RAG application with LangChain. Covers document loading, embedding, vector store setup, and retrieval chain construction.
---
# RAG App with LangChain
## When to use
- User wants to build retrieval-augmented generation over their own docs
- Working with LangChain (not LlamaIndex or custom pipelines)
-...
## Procedure
Load documents using DocumentLoader
Split with RecursiveCharacterTextSplitter (chunk_size=1000)
Generate embeddings with OpenAIEmbeddings
Store in vector DB (Chroma or FAISS for local; Pinecone for hosted)
Build retrieval chain with create_retrieval_chain()
## Code references
[code blocks preserved verbatim with section labels]
## Common pitfalls
- Don't forget to set chunk_overlap (creator emphasized this at 3:42)
- API key must be in environment, not hardcoded
- ...
```
What I'd love this sub's feedback on:
Is the three-section structure (When to use / Procedure / Code references / Pitfalls) the right shape? I went with this because it mirrors how Anthropic's own example Skills are structured, but I'm not sure if it's right for tutorial-derived skills specifically.
For tutorials with multiple discrete workflows (e.g., a video that covers both "indexing" and "querying"), should it generate ONE skill with two procedures, or TWO separate skills? Right now I'm doing one, but two might be more reusable.
What's the right level of abstraction in the "When to use" section? Too specific = skill only fires for near-identical queries. Too general = skill fires when it shouldn't.
Any patterns in your manually-written skills that I should try to detect/reproduce automatically?
Common skill failure modes you've hit that I should design around?
It's a Chrome extension, free to install, 2 free conversions to test the output. If anyone wants to try it on a specific tutorial and share the resulting skill, I'd love to see what works and what breaks. Feedback on actual generated skills > theoretical feedback.
You can download the extension here: Tube2Skill for free and comes with 2 free uses to try out.
Happy to share the conversion prompt itself if anyone's curious about the prompt engineering side. Built solo, not affiliated with Anthropic.
Open to a few early user spots on the Unlimited tier in exchange for structured feedback if anyone here wants to dig in deeper.
DM me.