How the New z‑skills Video Download Split Improves Knowledge‑Gathering Workflows

The author refactors the z‑skills suite by separating video link discovery (z‑web‑pack) from actual downloading (z‑video‑downloader), explains why the split solves performance and reliability issues, details four concrete code and documentation changes, and shows a simple usage pattern for the updated skills.

Old Zhang's AI Learning
Old Zhang's AI Learning
Old Zhang's AI Learning
How the New z‑skills Video Download Split Improves Knowledge‑Gathering Workflows

Hello, I’m Ai, the veteran behind the video‑watching skills.

Previously I open‑sourced a universal video‑download Skill that attracted many unconventional requests. The original implementation bundled web‑content collection and video downloading into a single tool called z-web-pack, which worked at first but became problematic as the tool grew.

When the tool became “fat”, two conflicting requirements emerged: web‑content collection needs to be lightweight, fast, and stable, while video downloading is heavy, slow, and often blocked by platform anti‑bot measures. Combining them caused a poor experience—collecting a writing resource could get stuck on a single video link.

Why split

In the earlier 1-web-pack version I added video download capability with the following logic:

Direct <video>, <source>, or .mp4 links were streamed straight to the assets folder.

Links from YouTube, Bilibili, Vimeo, X, TikTok, or m3u8 were handed to yt-dlp.

When platforms required login, bot detection, HTTP 412, or cookies, I retried with --browser-cookies chrome.

After a successful download, the Markdown video link was replaced with a local path.

Although functional, this approach did not align with the fast‑paced rhythm of web‑material collection.

I wanted the collector to behave like a robot vacuum—quietly gathering text, images, and links, and continuing even if a few pages fail—while video downloading is more like moving large furniture, prone to size and anti‑bot hurdles.

What changed

The refactor touches four areas:

1. Updated z-web-pack/scripts/collect_web_pack.py

The previous script contained a full video‑download pipeline:

--videos direct
--videos all
--max-video-mb
--browser-cookies
download_direct_video
download_platform_video
apply_videos_to_page

All of those lines were removed. The script now only detects video links and records them.

It extracts clues from:

Page <video> and <source> tags.

Direct links ending with .mp4, .webm, .mov, etc.

Platform URLs such as YouTube, Bilibili, Vimeo, X, TikTok, or m3u8.

Pages that are themselves video pages.

Detected links are written to 04-media-inventory.md with a simple record:

Status: detected
Kind: direct / platform
Download Skill: z-video-downloader
Source URL: original video link

The collector now only leaves a trace; the actual download is delegated.

2. Updated z-web-pack/SKILL.md

This file, which is shown to the Agent, had its previous “download video” instructions removed. It now contains a single rule:

When a video link is found, record it in 04-media-inventory.md; use z-video-downloader to download the video.

3. Updated z-video-downloader/SKILL.md

The downloader becomes the sole handler of video files. I added a line to its workflow:

If the link originates from 1-web-pack’s 04-media-inventory.md, use the Source URL directly.

This connects the two skills.

4. Added a project‑root README.md

Previously the z-skills repository lacked a clear entry point. The new README documents the responsibilities: z-web-pack – collects web material. z-video-downloader – handles video downloading.

From now on, video links only appear in 04-media-inventory.md.

To save a video, pass the Source URL to z-video-downloader.

z-skills video responsibility split
z-skills video responsibility split

Usage

The workflow is straightforward: copy the desired skill or hand the link to an Agent for installation.

z-skills usage illustration
z-skills usage illustration
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

PythonWeb Scrapingvideo downloadtool architectureyt-dlpz-skills
Old Zhang's AI Learning
Written by

Old Zhang's AI Learning

AI practitioner specializing in large-model evaluation and on-premise deployment, agents, AI programming, Vibe Coding, general AI, and broader tech trends, with daily original technical articles.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.