Claude-skill-registry highlight-scanner
Combined analysis skill to find viral-worthy highlights from videos. Scans transcripts, detects laughter, analyzes sentiment/emotion, and uses scene changes to identify the most engaging moments for TikTok/Shorts/Reels. Produces ranked list of highlight segments with virality scores.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/highlight-scanner" ~/.claude/skills/majiayu000-claude-skill-registry-highlight-scanner && rm -rf "$T"
skills/data/highlight-scanner/SKILL.mdHighlight Scanner
This skill combines all detection methods to find viral-worthy highlights from videos. It's the core analysis component for the autocut-shorts workflow.
When to Use
- User wants to find the best moments from a video
- Identifying viral-worthy segments for short-form content
- Creating highlight reels from long videos
- Analyzing podcast, vlog, gaming, or tutorial content
- Preparing content for autocut workflow
Detection Signals
1. Transcript Analysis
- Identifies hooks and attention-grabbing phrases
- Detects story beats and important points
- Finds question/answer patterns
- Keyword matching for viral phrases
2. Laughter Detection
- Finds humorous moments
- Detects audience reactions
- Identifies funny segments
3. Sentiment/Emotion Analysis
- Positive emotions (excitement, joy)
- Surprise moments
- Negative emotions (controversy, drama)
- Emotional peaks and intensity
4. Scene Detection
- Scene changes as natural cut points
- Topic transitions
- Visual changes
Scoring System
Each highlight is scored based on:
virality_score = ( transcript_score * 0.35 + laughter_score * 0.25 + sentiment_score * 0.25 + scene_score * 0.15 )
Score Range: 0.0 - 1.0
- 0.8 - 1.0: Premium viral potential (must use)
- 0.6 - 0.8: High potential (excellent clips)
- 0.4 - 0.6: Good potential (consider using)
- 0.2 - 0.4: Moderate potential (optional)
- 0.0 - 0.2: Low potential (skip)
Available Scripts
scripts/find_highlights.py
scripts/find_highlights.pyFind viral-worthy highlight segments.
Usage:
python skills/highlight-scanner/scripts/find_highlights.py <video_path> [options]
Options:
: Path to transcript SRT/VTT file--transcript-path
: Path to scenes JSON file (from scene-detector)--scenes-path
: Path to laughter JSON file (from laughter-detector)--laughter-path
: Path to sentiment JSON file (from sentiment-analyzer)--sentiment-path
: Number of clips to generate - default: 5--num-clips
: Minimum clip duration (seconds) - default: 15--min-duration
: Maximum clip duration (seconds) - default: 60--max-duration
: Output JSON path (default:--output, -o
)<video_path>_highlights.json
Examples:
Find highlights with transcript only:
python skills/highlight-scanner/scripts/find_highlights.py video.mp4 --transcript-path video.srt
Full analysis with all signals:
python skills/highlight-scanner/scripts/find_highlights.py video.mp4 \ --transcript-path video.srt \ --scenes-path video_scenes.json \ --laughter-path video_laughter.json \ --sentiment-path video_sentiment.json
Find 10 clips with custom duration:
python skills/highlight-scanner/scripts/find_highlights.py video.mp4 \ --transcript-path video.srt \ --num-clips 10 \ --min-duration 20 \ --max-duration 45
scripts/analyze_viral_potential.py
scripts/analyze_viral_potential.pyAnalyze the viral potential of video segments.
Usage:
python skills/highlight-scanner/scripts/analyze_viral_potential.py <video_path> [options]
Options:
: Path to transcript file--transcript-path
: Output JSON path--output, -o
Example:
python skills/highlight-scanner/scripts/analyze_viral_potential.py video.mp4 --transcript-path video.srt
Output Format
{ "video_path": "video.mp4", "total_segments_analyzed": 15, "highlights": [ { "rank": 1, "start_time": 45.2, "end_time": 72.5, "duration": 27.3, "virality_score": 0.92, "scores": { "transcript": 0.95, "laughter": 0.80, "sentiment": 0.85, "scenes": 0.70 }, "text": "This is the key moment text...", "reasoning": "Contains hook + laughter + positive emotion", "suggested_clip_start": 42.0, "suggested_clip_end": 75.0, "confidence": "high" } ], "analysis_summary": { "total_duration": 120.5, "avg_virality_score": 0.68, "best_segment_start": 45.2, "recommended_num_clips": 5 } }
Scoring Weights
Default weights (customizable):
DEFAULT_WEIGHTS = { 'transcript': 0.35, # Content analysis 'laughter': 0.25, # Humor detection 'sentiment': 0.25, # Emotion analysis 'scenes': 0.15 # Visual transitions }
Adjust weights based on content type:
- Comedy content: Increase
weightlaughter - Emotional content: Increase
weightsentiment - Educational content: Increase
weighttranscript - Action content: Increase
weightscenes
Viral Phrases/Keywords
High-Viral Potential Phrases
Hooks/Attention Grabbers:
- "You won't believe..."
- "This changes everything..."
- "The secret to..."
- "What nobody tells you about..."
- "I made a huge mistake..."
- "This is illegal..."
Story Beats:
- "The plot twist..."
- "And then it happened..."
- "But here's the catch..."
- "The most important part..."
Engagement:
- "Comment if you agree..."
- "Like if you've experienced this..."
- "Wait for it..."
- "Watch till the end..."
Moderate-Viral Potential
- Interesting facts
- Tips and tricks
- How-to content
- Before/after reveals
Integration with Other Skills
This skill combines inputs from:
: Transcript for content analysisvideo-transcriber
: Scene changes for cut pointsscene-detector
: Humorous momentslaughter-detector
: Emotional peakssentiment-analyzer
Output is used by:
: Create clips from highlightsvideo-trimmer
: Full workflow executionautocut-shorts
Common Workflow
- User provides video file
- Transcribe with
video-transcriber - Detect scenes with
(optional)scene-detector - Detect laughter with
(optional)laughter-detector - Analyze sentiment with
(optional)sentiment-analyzer - Find highlights using this skill (combines all signals)
- Create clips from highlights with
orvideo-trimmerautocut-shorts
Tips
- More input signals = better highlight detection
- Always provide transcript (minimum requirement)
- Scene detection helps with clean cuts
- Laughter detection improves viral potential
- Sentiment analysis identifies emotional peaks
- Adjust weights based on your content type
- Filter by score threshold for quality control
- Consider clip duration when selecting highlights
Performance
- Transcript only: ~2 seconds for 1-minute video
- Full analysis: ~10-30 seconds for 10-minute video
- Scales linearly with video duration
- Can process in real-time for live content
References
- Viral content analysis research
- Engagement metrics studies
- TikTok/YouTube algorithm insights