@modbender/video-download-faas
ADownload videos in MP4 format using yt-dlp with FaaS (Firecracker/Container) isolation. Start downloads, check status, and kill processes. Videos are automatically converted to MP4 format.
Install
agr install @modbender/video-download-faas --target claudeWrites 1 file into .claude/skills/, pinned to git-16ae0fa3.
- .claude/skills/video-download-faas/SKILL.md
Document
name: video-download-faas description: Download videos in MP4 format using yt-dlp with FaaS (Firecracker/Container) isolation. Start downloads, check status, and kill processes. Videos are automatically converted to MP4 format.
Video Download FaaS
Download videos asynchronously using yt-dlp in isolated background processes. All downloads are saved as MP4 files.
Overview
This skill manages video downloads as background tasks that:
- Start immediately and return control to the user
- Continue running even if the session disconnects
- Can be monitored for progress
- Can be terminated when needed
When to Use
Use this skill when:
- Downloading large videos that take time
- Processing multiple videos concurrently
- Running downloads on remote/headless systems
- Need to continue working while downloading
Quick Start
Start a Download
scripts/download.sh "https://youtube.com/watch?v=..."
Returns immediately with:
- Session ID
- Process ID (PID)
- Log file location
Check Status
# List all active downloads
scripts/check-status.sh
# Check specific download
scripts/check-status.sh video_dl_1234567890_12345
Kill Download
# Graceful stop
scripts/kill-download.sh video_dl_1234567890_12345
# Force kill
scripts/kill-download.sh video_dl_1234567890_12345 --force
Commands
download.sh
Start a video download in background with MP4 output format.
Usage:
download.sh <URL> [output_directory]
Parameters:
URL- Video URL to download (required)output_directory- Where to save video (optional, default: ~/Downloads)
Output Format:
- Downloads are automatically converted to MP4 format
- Uses best available MP4 video + M4A audio, merged into MP4
- If source isn't MP4, it will be re-encoded to MP4
Returns:
- Session ID for tracking
- PID for process management
- Paths to log and session files
Example:
scripts/download.sh "https://www.youtube.com/watch?v=dQw4w9WgXcQ" /tmp/videos
check-status.sh
Check download progress and status.
Usage:
# List all sessions
check-status.sh
# Check specific session
check-status.sh <session_id>
Returns:
- Process status (running/completed)
- Download progress (if running)
- Downloaded files (if completed)
- Error information (if failed)
kill-download.sh
Terminate a running download.
Usage:
kill-download.sh <session_id> [--force]
Parameters:
session_id- The session ID from download.sh--force- Use SIGKILL instead of SIGTERM
Session Management
Session files are stored in /tmp/ with format:
video_dl_{timestamp}_{pid}.session- Session metadatavideo_dl_{timestamp}_{pid}.pid- Process IDvideo_dl_{timestamp}_{pid}.log- Download log
Sessions are automatically cleaned up when:
- Download completes successfully
- Process is killed via kill-download.sh
FaaS Integration
For containerized/Firecracker execution:
# Run download in isolated container
./run-in-container.sh scripts/download.sh "URL"
# Check from host
scripts/check-status.sh
Troubleshooting
Download not starting:
- Check yt-dlp is installed:
yt-dlp --version - Verify URL is accessible:
curl -I "URL"
Process not found:
- Session may have completed and auto-cleaned
- Check ~/Downloads for finished files
Permission denied:
- Ensure scripts are executable:
chmod +x scripts/*.sh
Requirements
- yt-dlp installed and in PATH
- Bash 4.0+
- Write access to /tmp and output directory
Repository README
Describes modbender/skill-library-mcp as a whole, which may contain artifacts other than this one. Where this artifact had no useful description of its own, its summary was taken from here.
Skill Library MCP
15,000+ ready-to-use skills for AI coding assistants, served on demand via MCP.
An MCP server that provides on-demand skill loading for AI coding assistants. Instead of stuffing your system prompt with every skill you might need, this server indexes 15,000+ skills and serves only the ones relevant to your current task — keeping context windows lean and responses focused.
Documentation
Full documentation is at modbender.in/skill-library-mcp — installation, the tools it exposes, configuration, and examples.
Why?
- 15,000+ skills covering frontend, backend, DevOps, security, testing, databases, AI/ML, automation, and more
- On-demand loading — skills are fetched only when needed, not crammed into every conversation
- IDF-weighted search — finds the right skill even from natural language queries like "help me debug a memory leak"
- Browse by category — 13 categories to discover skills you didn't know existed
- Works with any MCP-compatible tool — Claude Code, Cursor, Windsurf, VS Code, Claude Desktop, and others
- Claude Code plugin — one-command install with
claude plugin install - Zero config — run with
npx, no setup needed
Quick Start
Claude Code Plugin (Recommended)
Add the marketplace source, then install the plugin:
claude plugin marketplace add https://github.com/modbender/skill-library-mcp.git --scope user
claude plugin install skill-library --scope user
The MCP server starts automatically when Claude Code launches. No manual configuration needed.
Claude Code (MCP Server)
claude mcp add skill-library --scope user -- npx -y skill-library-mcp
MCP Server (Other Tools)
Add to your claude_desktop_config.json (location varies by OS):
{
"mcpServers": {
"skill-library": {
"command": "npx",
"args": ["-y", "skill-library-mcp"]
}
}
}
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"skill-library": {
"command": "npx",
"args": ["-y", "skill-library-mcp"]
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"skill-library": {
"command": "npx",
"args": ["-y", "skill-library-mcp"]
}
}
}
Add to .vscode/mcp.json:
{
"servers": {
"skill-library": {
"command": "npx",
"args": ["-y", "skill-library-mcp"]
}
}
}
git clone https://github.com/modbender/skill-library-mcp
cd skill-library-mcp
pnpm install
pnpm build
Then point your MCP config to the built binary:
{
"mcpServers": {
"skill-library": {
"command": "node",
"args": ["/path/to/skill-library-mcp/dist/index.js"]
}
}
}
Tools
search_skill
Search for skills by keyword. Returns a ranked list of matching skill names and descriptions.
search_skill({ query: "react patterns" })
load_skill
Load the full content of a skill by name. Optionally includes resource files.
load_skill({ name: "brainstorming", include_resources: true })
list_categories
Browse all skill categories with counts and examples. Use to discover skills before searching.
list_categories()
Skill Categories
The library includes 15,000+ skills across 13 categories:
| Category | Examples |
|---|---|
| Frontend | React patterns, Angular, Vue, Svelte, Next.js, Tailwind, accessibility |
| Backend | Node.js, FastAPI, Django, NestJS, Express, GraphQL, REST API design |
| AI & LLM | LLM app dev, RAG implementation, agent patterns, prompt engineering, embeddings |
| DevOps & Infra | Terraform, Kubernetes, Docker, AWS, GCP, Azure, CI/CD |
| Data & Databases | PostgreSQL, MongoDB, Redis, SQL optimization, ETL pipelines, analytics |
| Security | Penetration testing, OWASP, threat modeling, vulnerability scanning, encryption |
| Testing | TDD workflows, Playwright, Vitest, Jest, E2E testing patterns |
| Mobile | React Native, Flutter, iOS, Android, Expo |
| Automation | Workflow automation, n8n, Zapier, web scraping, bots |
| Python | Django, Flask, FastAPI, pandas, Python tooling |
| TypeScript & JS | TypeScript, JavaScript, Deno, Bun |
| Architecture | Microservices, system design, design patterns, monorepos |
| Other | Hundreds of specialized and niche skills |
Skill Format
Skills are directories containing a SKILL.md file with YAML frontmatter:
---
name: my-skill
description: What this skill does
---
# My Skill
Skill content here...
Skills can optionally include a resources/ directory with additional .md files that are appended when include_resources: true is set.
Contributing
Contributions are welcome! To add a new skill:
- Create a directory under
data/with your skill name - Add a
SKILL.mdfile with YAML frontmatter (name,description) - Run
pnpm dedupto check for duplicates - Submit a PR
Development
pnpm install # Install dependencies
pnpm test # Run tests
pnpm build # Build to dist/
pnpm dev # Run server locally
pnpm dedup # Check for duplicate skills
pnpm validate-skills # Validate data/ directory structure
pnpm fix-skills # Fix broken skills (dry run by default)
pnpm clean-skills # Remove invalid skill dirs (dry run by default)
make ci # Run test + validate + build
Third-Party Content
This project includes skills from openclaw/skills, licensed under the MIT License. See THIRD_PARTY_NOTICES.md for details.
License
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-16ae0fa329342026-07-31