Claude-skill-registry add-video-to-collection
Manually add individual YouTube URLs to a custom collection CSV. Use when adding one-off videos to folders like library-of-minds or random, not from a channel extraction.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/add-video-to-collection" ~/.claude/skills/majiayu000-claude-skill-registry-add-video-to-collection && rm -rf "$T"
manifest:
skills/data/add-video-to-collection/SKILL.mdsafety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- pip install
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
Add Video to Collection
Why? Curated collections contain videos from multiple sources—manually editing CSVs causes formatting bugs and duplicates. This skill uses the CLI to add videos safely.
Quick Start
ytscriber add "<youtube-url>" --folder <collection>
[!IMPORTANT] Always quote URLs to prevent shell interpretation of
and?characters.&
| Collection | Description |
|---|---|
| library-of-minds | Thought leaders, interviews, educational content |
| random | Miscellaneous, one-off interesting content |
| (custom) | Any folder name you specify |
Workflow
1. Identify the Target Collection
Determine which collection the video belongs to:
| If the video is... | Use collection |
|---|---|
| Thought leader, interview, educational | |
| Miscellaneous, one-off interesting content | |
| User specifies a collection | Use that collection |
2. Run the CLI Command
ytscriber add "<youtube-url>" --folder <collection>
[!CAUTION] NEVER manually edit CSV files to add videos. Always use
to ensure proper formatting and duplicate detection.ytscriber add
Examples:
# Add to library-of-minds ytscriber add "https://www.youtube.com/watch?v=dQw4w9WgXcQ" --folder library-of-minds # Add to random collection ytscriber add "https://www.youtube.com/watch?v=jNQXAC9IVRw" --folder random # Verbose output for debugging ytscriber add "https://www.youtube.com/watch?v=9bZkp7q19f0" --folder random -v
3. Verify the Output
| Output | Meaning |
|---|---|
| Success — video was added |
| Duplicate — no action needed |
| Error message | See Troubleshooting below |
4. Offer Transcript Download (Optional)
After adding, ask the user if they want to download the transcript:
ytscriber download --folder <collection>
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
| CLI not installed | Run from project root |
| Malformed URL | Use full URL: |
| File permissions | Check write access to data directory |
| Video not appearing in CSV | Silent failure | Run with flag to see debug output |
Common Mistakes
- Unquoted URLs — Shell interprets
as glob. Always wrap URLs in double quotes.? - Editing CSV directly — Causes newline corruption and duplicate entries. Always use CLI.
- Using short URLs —
works, but fullyoutu.be/XXX
is preferred.youtube.com/watch?v=XXX - Wrong collection — Double-check the collection name matches an existing folder or will be created.
- Forgetting to download transcript — Adding to CSV doesn't download content. Run
separately.ytscriber download
Reference
What the CLI handles automatically:
- Duplicate detection (skips existing URLs)
- URL normalization to canonical format
- Proper CSV escaping and formatting
- Header creation for new CSV files
- Folder creation if it doesn't exist
Metadata populated during transcript download:
- Video title
- Duration
- Upload date
- Channel name