Initial commit
This commit is contained in:
90
commands/yt-analyze.md
Normal file
90
commands/yt-analyze.md
Normal file
@@ -0,0 +1,90 @@
|
||||
---
|
||||
model: claude-sonnet-4-5
|
||||
allowed-tools: Task, Bash, Read, Write, WebFetch
|
||||
argument-hint: <video-url> [--detailed] [--check-captions] [--quality-report]
|
||||
description: Analyze YouTube video metadata and technical properties
|
||||
---
|
||||
|
||||
# YouTube Analyze Command
|
||||
|
||||
Inspect and analyze a YouTube video without downloading it. Get detailed metadata, assess transcribability, check available captions, and generate quality reports.
|
||||
|
||||
## Arguments
|
||||
|
||||
**$1 (Required)**: `video-url`
|
||||
|
||||
The full YouTube URL to analyze. Example: `https://www.youtube.com/watch?v=dQw4w9WgXcQ`
|
||||
|
||||
**Optional flags**:
|
||||
|
||||
- `--detailed` - Show comprehensive technical specifications (codecs, bitrates, etc.)
|
||||
- `--check-captions` - Detailed inspection of available subtitle/caption tracks
|
||||
- `--quality-report` - Generate quality assessment and transcription feasibility report
|
||||
- `--format-options` - List all available format combinations
|
||||
- `--estimate-sizes` - Estimate file sizes for each available quality
|
||||
|
||||
## Examples
|
||||
|
||||
```bash
|
||||
/yt-analyze "https://www.youtube.com/watch?v=VIDEO_ID"
|
||||
/yt-analyze "https://www.youtube.com/watch?v=VIDEO_ID" --detailed --check-captions
|
||||
/yt-analyze "https://www.youtube.com/watch?v=VIDEO_ID" --quality-report --format-options
|
||||
/yt-analyze "https://www.youtube.com/watch?v=VIDEO_ID" --detailed --estimate-sizes
|
||||
```
|
||||
|
||||
## How It Works
|
||||
|
||||
The analyzer inspects the video and provides:
|
||||
|
||||
1. **Basic Metadata** - Title, channel, duration, view count, upload date
|
||||
2. **Technical Specs** - Available codecs, resolutions, frame rates, bitrates
|
||||
3. **Caption Analysis** - Available subtitles, auto-generated status, language options
|
||||
4. **Access Information** - Age restrictions, geo-blocking, authentication requirements
|
||||
5. **Quality Assessment** - Estimated transcription quality, audio clarity indicators
|
||||
6. **Format Recommendations** - Best formats for different use cases (streaming, archival, etc.)
|
||||
|
||||
## Output Structure
|
||||
|
||||
```
|
||||
Video: {Title}
|
||||
Channel: {Channel Name}
|
||||
Duration: {HH:MM:SS}
|
||||
Published: {Date}
|
||||
|
||||
METADATA
|
||||
- Views: {count}
|
||||
- Likes: {count}
|
||||
- Language: {language}
|
||||
|
||||
CAPTION TRACKS
|
||||
- English (auto-generated)
|
||||
- Spanish (user-provided)
|
||||
- French (user-provided)
|
||||
|
||||
TECHNICAL SPECIFICATIONS
|
||||
- Best video: {codec} @ {resolution}p {fps}
|
||||
- Best audio: {codec} {bitrate}
|
||||
- Available formats: {count}
|
||||
|
||||
QUALITY ASSESSMENT
|
||||
- Transcription feasibility: {High/Medium/Low}
|
||||
- Recommended approach: {API/Speech-to-text/Manual}
|
||||
- Audio clarity: {Good/Fair/Poor}
|
||||
|
||||
RECOMMENDATIONS
|
||||
- For download: {recommended format}
|
||||
- For transcription: {recommended method}
|
||||
- For streaming: {recommended quality}
|
||||
```
|
||||
|
||||
## Tips
|
||||
|
||||
- Use without flags for quick overview
|
||||
- Add `--quality-report` to assess transcription reliability before committing to download
|
||||
- Check `--captions` to see all available subtitle options before downloading
|
||||
- Use `--estimate-sizes` to plan bandwidth if internet is limited
|
||||
- Detailed technical info is helpful for troubleshooting download issues
|
||||
|
||||
---
|
||||
|
||||
Invoke the video-analyzer agent to perform comprehensive video inspection and quality assessment.
|
||||
70
commands/yt-download.md
Normal file
70
commands/yt-download.md
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
model: claude-sonnet-4-5
|
||||
allowed-tools: Task, Bash, Read, Write
|
||||
argument-hint: <video-url> [--format format] [--audio-only] [--quality quality]
|
||||
description: Download a YouTube video with intelligent format selection
|
||||
---
|
||||
|
||||
# YouTube Download Command
|
||||
|
||||
Download a YouTube video using yt-dlp with support for JavaScript-protected content, flexible format selection, and optional post-processing.
|
||||
|
||||
## Arguments
|
||||
|
||||
**$1 (Required)**: `video-url`
|
||||
|
||||
The full YouTube URL to download. Example: `https://www.youtube.com/watch?v=dQw4w9WgXcQ`
|
||||
|
||||
**Optional flags**:
|
||||
|
||||
- `--format` - Format selection: `best` (default), `best-video`, `best-audio`, `mp4`, `webm`, `mkv`
|
||||
- `--audio-only` - Extract audio only (creates m4a/mp3 file)
|
||||
- `--quality` - Quality preference: `1080p`, `720p`, `480p`, `360p`, `auto` (default)
|
||||
- `--no-js` - Disable JavaScript rendering (faster for standard videos)
|
||||
- `--output-dir` - Custom output directory (default: `./downloads`)
|
||||
- `--convert-to` - Convert to target format using ffmpeg (e.g., `mp3`, `wav`)
|
||||
|
||||
## Examples
|
||||
|
||||
```bash
|
||||
/yt-download "https://www.youtube.com/watch?v=VIDEO_ID"
|
||||
/yt-download "https://www.youtube.com/watch?v=VIDEO_ID" --format best --quality 720p
|
||||
/yt-download "https://www.youtube.com/watch?v=VIDEO_ID" --audio-only --convert-to mp3
|
||||
/yt-download "https://www.youtube.com/watch?v=VIDEO_ID" --format webm --quality 1080p
|
||||
```
|
||||
|
||||
## How It Works
|
||||
|
||||
1. **Video Analysis** - Inspects video source and available formats
|
||||
2. **Format Selection** - Recommends optimal codec/container for your use case
|
||||
3. **Download** - Executes yt-dlp with JavaScript support for protected content
|
||||
4. **Post-Processing** - Optionally converts format or extracts audio
|
||||
5. **Validation** - Confirms successful download and file integrity
|
||||
|
||||
## Configuration
|
||||
|
||||
The downloader automatically:
|
||||
- Enables JavaScript rendering for protected content
|
||||
- Sets appropriate user agents and headers
|
||||
- Handles throttling and rate limiting
|
||||
- Embeds metadata (title, description, thumbnail)
|
||||
- Creates output directory if needed
|
||||
|
||||
## Output
|
||||
|
||||
- Downloaded video file with metadata embedded
|
||||
- File naming: `{Video Title}.{extension}`
|
||||
- Metadata includes thumbnail, description, and upload date
|
||||
- Console output shows progress, speed, and estimated time remaining
|
||||
|
||||
## Tips
|
||||
|
||||
- Use `--audio-only` for podcasts, music, or when video content isn't needed
|
||||
- `--format best` auto-selects best available quality (usually 1080p60 if available)
|
||||
- JavaScript rendering is enabled by default but can be disabled for speed with `--no-js`
|
||||
- Conversions use ffmpeg, so ensure it's installed for audio extraction
|
||||
- Downloads are stored in `./downloads` by default; change with `--output-dir`
|
||||
|
||||
---
|
||||
|
||||
Invoke the media-downloader agent to handle download operations and format optimization.
|
||||
98
commands/yt-fetch-transcript.md
Normal file
98
commands/yt-fetch-transcript.md
Normal file
@@ -0,0 +1,98 @@
|
||||
---
|
||||
model: claude-sonnet-4-5
|
||||
allowed-tools: Task, Bash, Read, Write, WebFetch
|
||||
argument-hint: <video-url> [--method method] [--language lang] [--format format] [--quality quality]
|
||||
description: Fetch transcript using YouTube API or speech-to-text
|
||||
---
|
||||
|
||||
# YouTube Fetch Transcript Command
|
||||
|
||||
Retrieve the transcript from a YouTube video using the fastest available method. Supports YouTube's native transcript API, fallback providers, and speech-to-text.
|
||||
|
||||
## Arguments
|
||||
|
||||
**$1 (Required)**: `video-url`
|
||||
|
||||
The full YouTube URL to fetch transcript from. Example: `https://www.youtube.com/watch?v=dQw4w9WgXcQ`
|
||||
|
||||
**Optional flags**:
|
||||
|
||||
- `--method` - Retrieval method: `auto` (default), `api`, `speech-to-text`, `fallback`
|
||||
- `--language` - Specific language code (e.g., `en`, `es`, `fr`). Default: auto-detect
|
||||
- `--format` - Output format: `text` (default), `markdown`, `json`, `vtt`, `srt`
|
||||
- `--quality` - Quality preference: `best` (default), `high`, `standard`, `draft`
|
||||
- `--timestamps` - Include timestamps in transcript
|
||||
- `--preserve-formatting` - Keep original formatting and paragraph breaks
|
||||
- `--validate` - Check transcript completeness and quality
|
||||
|
||||
## Examples
|
||||
|
||||
```bash
|
||||
/yt-fetch-transcript "https://www.youtube.com/watch?v=VIDEO_ID"
|
||||
/yt-fetch-transcript "https://www.youtube.com/watch?v=VIDEO_ID" --method api --language en
|
||||
/yt-fetch-transcript "https://www.youtube.com/watch?v=VIDEO_ID" --method speech-to-text --quality best
|
||||
/yt-fetch-transcript "https://www.youtube.com/watch?v=VIDEO_ID" --format json --timestamps --validate
|
||||
```
|
||||
|
||||
## Retrieval Methods
|
||||
|
||||
### `auto` (Default)
|
||||
Intelligent fallback chain:
|
||||
1. Check YouTube's native transcripts (fastest)
|
||||
2. Look for manually added captions
|
||||
3. Fall back to auto-generated captions
|
||||
4. If no captions, use speech-to-text on downloaded video
|
||||
|
||||
### `api`
|
||||
Direct YouTube Transcript API call - fastest if captions exist
|
||||
- Works for videos with any type of captions
|
||||
- Returns immediately
|
||||
- High accuracy (uses existing captions)
|
||||
|
||||
### `speech-to-text`
|
||||
Local transcription using Whisper or similar
|
||||
- Works for any video with audio
|
||||
- Slower but doesn't depend on captions
|
||||
- Good for videos without captions
|
||||
|
||||
### `fallback`
|
||||
Try multiple transcript providers
|
||||
- YouTube API first
|
||||
- Third-party providers second
|
||||
- Speech-to-text as last resort
|
||||
|
||||
## Output Formats
|
||||
|
||||
- **text** - Plain text with timestamps
|
||||
- **markdown** - Structured markdown with headers and formatting
|
||||
- **json** - Structured JSON with timing metadata
|
||||
- **vtt** - WebVTT subtitle format (for subtitles)
|
||||
- **srt** - SubRip format (for subtitles)
|
||||
|
||||
## Quality Levels
|
||||
|
||||
- **best** - Use highest quality available (manual captions preferred)
|
||||
- **high** - Use auto-generated captions from YouTube
|
||||
- **standard** - Accept any available captions
|
||||
- **draft** - Quick retrieval, may be incomplete
|
||||
|
||||
## Output
|
||||
|
||||
Returns:
|
||||
- Full transcript text with optional timestamps
|
||||
- Metadata: language, source (auto-generated vs. human), quality indicator
|
||||
- Coverage: percentage of video covered by transcript
|
||||
- Recommendations for quality or alternative methods
|
||||
|
||||
## Tips
|
||||
|
||||
- `--method auto` provides best balance of speed and quality
|
||||
- For videos without captions, expect `--method speech-to-text` to take longer
|
||||
- Use `--format json` for downstream processing and analysis
|
||||
- Use `--format vtt` or `--format srt` to create subtitle files
|
||||
- Add `--validate` to check transcript completeness before proceeding
|
||||
- Use `--quality best` for important content that needs high accuracy
|
||||
|
||||
---
|
||||
|
||||
Invoke the transcript-fetcher agent to retrieve transcripts via multiple methods and ensure data quality.
|
||||
59
commands/yt-transcribe.md
Normal file
59
commands/yt-transcribe.md
Normal file
@@ -0,0 +1,59 @@
|
||||
---
|
||||
model: claude-sonnet-4-5
|
||||
allowed-tools: Task, Bash, Read, Write, WebFetch
|
||||
argument-hint: <video-url> [--output-format format] [--summary] [--language lang]
|
||||
description: Transcribe a YouTube video and extract key insights
|
||||
---
|
||||
|
||||
# YouTube Transcribe Command
|
||||
|
||||
Transcribe a YouTube video, fetch the transcript, and extract key insights and summaries.
|
||||
|
||||
## Arguments
|
||||
|
||||
**$1 (Required)**: `video-url`
|
||||
|
||||
The full YouTube URL to transcribe. Example: `https://www.youtube.com/watch?v=dQw4w9WgXcQ`
|
||||
|
||||
**Optional flags**:
|
||||
|
||||
- `--output-format` - Output format: `text` (default), `markdown`, `json`, `vtt`
|
||||
- `--summary` - Generate a concise summary alongside full transcript
|
||||
- `--language` - Specific language code (e.g., `en`, `es`, `fr`). Default: auto-detect
|
||||
- `--timestamps` - Include timestamps in output
|
||||
- `--speakers` - Identify and separate speaker segments
|
||||
|
||||
## Examples
|
||||
|
||||
```bash
|
||||
/yt-transcribe "https://www.youtube.com/watch?v=VIDEO_ID"
|
||||
/yt-transcribe "https://www.youtube.com/watch?v=VIDEO_ID" --summary --format markdown
|
||||
/yt-transcribe "https://www.youtube.com/watch?v=VIDEO_ID" --language es --timestamps
|
||||
/yt-transcribe "https://www.youtube.com/watch?v=VIDEO_ID" --summary --speakers
|
||||
```
|
||||
|
||||
## How It Works
|
||||
|
||||
1. **Video Analysis** - Uses the video-analyzer agent to inspect the video
|
||||
2. **Transcript Fetching** - Uses the transcript-fetcher agent to get the best available transcript
|
||||
3. **Processing** - Uses the transcript-processor agent to format and optionally summarize
|
||||
4. **Output** - Delivers transcript in your specified format
|
||||
|
||||
## Output
|
||||
|
||||
The command returns:
|
||||
- Complete transcript with timestamps (if requested)
|
||||
- Speaker identification and segmentation (if requested)
|
||||
- Summary and key points (if requested)
|
||||
- Metadata including duration, language, source quality
|
||||
|
||||
## Tips
|
||||
|
||||
- For videos without captions, the system will attempt speech-to-text transcription
|
||||
- Add `--summary` to get a concise overview alongside the full transcript
|
||||
- Use `--speakers` to identify who's speaking and when
|
||||
- Markdown format is best for reading; JSON is best for downstream processing
|
||||
|
||||
---
|
||||
|
||||
Invoke the transcript-fetcher agent to retrieve the transcript, then use the transcript-processor agent to format and analyze it.
|
||||
Reference in New Issue
Block a user