Creates interactive, synchronized HTML lecture notes from video transcripts and slide PDFs.
Install
mkdir -p .claude/skills/lecture-transcript-slide-matcher && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/485" && unzip -o skill.zip -d .claude/skills/lecture-transcript-slide-matcher && rm skill.zipInstalls to .claude/skills/lecture-transcript-slide-matcher
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Combines YouTube lecture transcripts with PDF slides to create an interactive HTML page. Matches each slide to corresponding transcript segments, organized by key concepts. Use when users want to create synchronized lecture notes from transcript text files and slide PDFs.Key capabilities
- →Standardizes lecture timestamps
- →Maps slides to transcript concepts
- →Cleans transcript filler text
- →Generates interactive HTML study guides
- →Groups content by topic
How it works
Executes scripts to align transcript timestamps with PDF slide segments and generates an HTML file mapping these concepts.
Inputs & outputs
When to use lecture-transcript-slide-matcher
- →Create interactive study guides from lectures
- →Sync transcript segments with slide content
- →Generate searchable lecture notes
About this skill
Lecture Transcript and Slide Matcher
Combines YouTube lecture transcripts (txt files) with corresponding PDF slides to create an interactive HTML page with synchronized content organized by key concepts.
Overview
This skill processes lecture materials and generates an HTML page with:
- Left-hand table of contents (TOC) with key concepts
- Main content area with slides and transcript segments for each concept
- Automatic transcript cleaning (removes fillers, formats paragraphs)
- Visual separation between sections
Workflow
The matching process involves these steps:
- Convert transcript - Standardize timestamp format in transcript
- Analyze content - Extract information from transcript and PDF
- Create mapping - Match concepts to slides and transcript segments
- Generate HTML - Produce the final interactive page
Step 1: Covert transcript
Run the conversion script to standardize the transcript timestamp format:
python scripts/convert_transcript.py <transcript_input.txt> <transcript_output.pdf>
This script:
- Reads timestamps from separate lines
- Converts them to [MM:SS] or [H:MM:SS] format
- Attaches timestamps inline with text
- Outputs a new transcript text file
Step 2: Analyze Content
Run the analysis script to understand the lecture materials:
python scripts/analyze_content.py <transcript.txt> <slides.pdf> [output_analysis.json]
This script:
- Parses all transcript segments with timestamps
- Extracts text previews from each PDF slide
- Creates a mapping template
- Outputs
content_analysis.jsonwith all information
What to do:
- Run the analysis script
- Review the output JSON file
- Examine transcript segments and slide previews
- Identify the key concepts in the lecture
Step 3: Create Mapping
Create a mapping.json file that connects concepts to slides and transcript segments.
Option A: Let Claude create the mapping
After running the analysis script, ask Claude to create the mapping by providing:
- The
content_analysis.jsonfile - The original transcript file (for full text)
- Instructions on how to identify key concepts
Claude will analyze the content and create a comprehensive mapping.
Option B: Manual creation
Use the template in content_analysis.json as a starting point. See references/mapping_schema.md for complete documentation.
Mapping Structure
[
{
"title": "Key concept or insight",
"slide_indices": [0, 1, 2],
"transcript_segments": [
{
"start_time": "MM:SS or HH:MM:SS",
"end_time": "MM:SS or HH:MM:SS",
"text": "Full transcript text from this time range"
}
]
}
]
Key points:
- Use 0-based indexing for slides (first slide = 0)
- Timestamps must match format in transcript:
[HH:MM:SS]or[MM:SS] - Include full transcript text, not summaries
- Each TOC item represents one coherent concept
- Multiple slides and transcript segments can map to one concept
See references/mapping_schema.md for detailed schema documentation and examples.
Step 4: Generate HTML
Run the generation script to create the final HTML page:
python scripts/match_lecture_content.py <transcript.txt> <slides.pdf> <mapping.json> [output.html]
The script:
- Parses the transcript and extracts all segments
- Converts PDF pages to images (embedded as base64)
- Reads the mapping JSON
- Generates an interactive HTML page with:
- Left panel with TOC (clickable navigation)
- Main area with sections for each concept
- Slides displayed as images
- Cleaned and formatted transcript segments
- Visual separation between sections
Output: lecture_output.html (or specified filename)
Transcript Format Requirements
The transcript must use timestamp markers:
[00:15] Welcome to today's lecture on machine learning.
[00:45] We'll start by discussing supervised learning...
[02:30] Now let's look at an example with house prices...
Supported timestamp formats:
[HH:MM:SS]- Hours, minutes, seconds[MM:SS]- Minutes, seconds[H:MM:SS]- Single-digit hours
Automatic Transcript Cleaning
The script automatically:
- Removes filler words (um, uh, like, you know, etc.)
- Removes conversational artifacts ([inaudible], [laughter], etc.)
- Condenses multiple spaces
- Breaks text into readable paragraphs (50 words per paragraph)
- Displays only start and end timestamps for continuous segments
HTML Output Features
Table of Contents (Left Panel)
- Clickable items for navigation
- Highlights current section on scroll
- Fixed width, scrollable
- Responsive (collapses on mobile)
Content Area
- One section per TOC item
- Section title as header
- Slides displayed as images
- Transcript segments below slides
- Time range badges for each segment
- Visual separators between sections
- Smooth scrolling
Styling
- Clean, professional appearance
- Blue accent colors
- Readable typography
- Shadow effects for slides
- Highlighted transcript containers
Best Practices
Identifying Key Concepts
Good concept granularity:
- "Linear Regression: Mathematical Formulation"
- "Gradient Descent Algorithm"
- "Neural Networks: Forward Propagation"
Too broad:
- "Machine Learning Overview" (entire lecture)
Too narrow:
- "Definition of Theta" (single term)
Creating Effective Mappings
- One concept per TOC item: Each entry should represent one coherent idea
- Logical ordering: Follow lecture sequence
- Complete coverage: Include all major concepts
- Accurate alignment: Ensure slides and transcript truly correspond
- Full transcript text: Don't summarize; include everything from the time range
Handling Edge Cases
Concept spans non-contiguous slides:
{
"title": "Example: Housing Price Prediction",
"slide_indices": [5, 8, 12],
"transcript_segments": [...]
}
Multiple transcript segments per concept:
{
"title": "Backpropagation",
"slide_indices": [15],
"transcript_segments": [
{"start_time": "20:00", "end_time": "22:30", "text": "..."},
{"start_time": "23:00", "end_time": "25:45", "text": "..."}
]
}
No slides for a concept (discussion only):
{
"title": "Q&A: Common Misconceptions",
"slide_indices": [],
"transcript_segments": [...]
}
Dependencies
The scripts require PyMuPDF for PDF processing:
pip install pymupdf --break-system-packages
Claude handles installation automatically when needed.
Example Usage
Complete workflow example:
# Step 1: Analyze
python scripts/analyze_content.py lecture.txt slides.pdf analysis.json
# Step 2: Create mapping (manually or with Claude's help)
# Edit analysis.json or create new mapping.json
# Step 3: Generate HTML
python scripts/match_lecture_content.py lecture.txt slides.pdf mapping.json output.html
Reference Files
references/mapping_schema.md- Complete JSON schema documentation with examplesreferences/example_mapping.json- Sample mapping for a machine learning lecture
Troubleshooting
"PyMuPDF not installed"
Run: pip install pymupdf --break-system-packages
Timestamps don't match Ensure timestamps in mapping.json exactly match those in the transcript file.
Slides not displaying Verify slide_indices are 0-based (first slide = 0, not 1).
Text looks messy The cleaning is automatic. If issues persist, check for unusual formatting in the transcript.
Missing concepts Review the analysis output to ensure all relevant transcript segments and slides are covered.
When not to use it
- →Non-lecture video processing
- →Processing audio without transcripts
- →Complex multi-media video editing
Prerequisites
Limitations
- →Requires formatted input files
- →Manual concept verification often needed
- →Alignment accuracy depends on input quality
How it compares
It creates a synchronized study interface rather than just transcribing audio.
Compared to similar skills
lecture-transcript-slide-matcher side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| lecture-transcript-slide-matcher (this skill) | 6 | 9mo | Review | Advanced |
| annas-archive-ebooks | 22 | 7mo | Review | Beginner |
| scientific-critical-thinking | 18 | 7mo | Review | Advanced |
| biorxiv-database | 7 | 9mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by az9713
View all by az9713 →You might also like
annas-archive-ebooks
ratacat
Use when needing to look up book content, find a book by title/author, download an ebook, or reference material from a published book. Triggers on book lookups, ebook downloads, "find the book", "get the PDF/EPUB of". Downloads produce PDF/EPUB/MOBI files - use ebook-extractor skill to convert to text.
scientific-critical-thinking
davila7
Evaluate research rigor. Assess methodology, experimental design, statistical validity, biases, confounding, evidence quality (GRADE, Cochrane ROB), for critical analysis of scientific claims.
biorxiv-database
lifangda
Efficient database search tool for bioRxiv preprint server. Use this skill when searching for life sciences preprints by keywords, authors, date ranges, or categories, retrieving paper metadata, downloading PDFs, or conducting literature reviews.
rudin-real-complex-analysis
parcadei
Problem-solving with Rudin's Real and Complex Analysis textbook
arxiv-to-md
solatis
Convert arXiv papers to LLM-consumable markdown. Invoke when user provides an arXiv ID or URL, or when syncing academic papers from a PDF folder to a markdown destination.
youtube-collector
greatSumini
유튜브 채널을 등록하고 새 컨텐츠를 수집하여 자막 기반 요약을 생성하는 skill. 사용자가 (1) 유튜브 채널 등록/관리를 요청하거나, (2) 등록된 채널의 새 영상 수집을 요청하거나, (3) 유튜브 영상 요약을 요청할 때 사용. 데이터는 .reference/ 폴더에 YAML 형식으로 저장됨.