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.
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_pageAll 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 linkThe 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.
Usage
The workflow is straightforward: copy the desired skill or hand the link to an Agent for installation.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
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.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
