← Browse

@modbender/video-download-faas

A

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.

skillclaude

Install

agr install @modbender/video-download-faas --target claude

Writes 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 metadata
  • video_dl_{timestamp}_{pid}.pid - Process ID
  • video_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.

npm version License: MIT Node.js

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:

CategoryExamples
FrontendReact patterns, Angular, Vue, Svelte, Next.js, Tailwind, accessibility
BackendNode.js, FastAPI, Django, NestJS, Express, GraphQL, REST API design
AI & LLMLLM app dev, RAG implementation, agent patterns, prompt engineering, embeddings
DevOps & InfraTerraform, Kubernetes, Docker, AWS, GCP, Azure, CI/CD
Data & DatabasesPostgreSQL, MongoDB, Redis, SQL optimization, ETL pipelines, analytics
SecurityPenetration testing, OWASP, threat modeling, vulnerability scanning, encryption
TestingTDD workflows, Playwright, Vitest, Jest, E2E testing patterns
MobileReact Native, Flutter, iOS, Android, Expo
AutomationWorkflow automation, n8n, Zapier, web scraping, bots
PythonDjango, Flask, FastAPI, pandas, Python tooling
TypeScript & JSTypeScript, JavaScript, Deno, Bun
ArchitectureMicroservices, system design, design patterns, monorepos
OtherHundreds 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:

  1. Create a directory under data/ with your skill name
  2. Add a SKILL.md file with YAML frontmatter (name, description)
  3. Run pnpm dedup to check for duplicates
  4. 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

MIT

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