Agent skill

MediaGo Video Downloader

by mediago-dev in mediago-dev/mediago

Downloads videos from m3u8/HLS streams, Bilibili and direct URLs by driving a running MediaGo instance's REST API, with bilingual first-time setup guidance.

MITAuto-check passedMedia & Creative

Install MediaGo Video Downloader

skills CLI
$ npx skills add mediago-dev/mediago --skill mediago -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mediago-dev/mediago mediago --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mediago-dev/mediago.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mediago .claude/skills/mediago && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mediago
GitHub stars
9.3k
Token cost
~1.1k tokens
SKILL.md length
462 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Downloads videos from m3u8/HLS streams, Bilibili and direct URLs by driving a running MediaGo instance's REST API, with bilingual first-time setup guidance.

  • Works in 5 steps: Check config / 检查配置: Read… → Health check / 健康检查: Verify service is… → Create task / 创建任务: POST to… → …
  • Downloading a video from an m3u8/HLS stream, Bilibili or a direct URL
  • SKILL.md covers Configuration, API Reference, Download Workflow / 下载流程 and Important Notes / 注意事项
  • Calls curl and docker; needs API_KEY

What it does

The skill reads and writes its own small config file, ~/.mediago-skill.json, holding the MediaGo instance's base URL and an optional API key. On first use, if that file does not exist, it shows a bilingual message explaining how to install MediaGo, either the desktop app or a Docker container exposing port 8899, and how to tell the skill the instance's address; later requests to change the URL or API key update the same file.

All calls go through curl against the configured base URL, adding an X-API-Key header when a key is set. A health check confirms the service is reachable, and creating a download posts a task with a type of m3u8, bilibili or direct, a video URL and an optional custom name, with the type auto-detected from the URL when not given (bilibili.com or b23.tv for Bilibili, .m3u8 for that format, otherwise direct); the response's task id is then used to track the download.

When your agent uses it

  • Downloading a video from an m3u8/HLS stream, Bilibili or a direct URL
  • Setting up the MediaGo skill's connection to a desktop or Docker instance for the first time
  • Changing the configured MediaGo address or API key

Example prompts

  • “Download this video: https://example.com/stream.m3u8”
  • “设置 mediago 地址为 http://localhost:8899”
  • “Download this Bilibili video and name it lecture-3.”

Requirements

  • A running MediaGo instance, desktop app or Docker
  • curl

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Check config / 检查配置: Read ~/.mediago-skill.json. If missing, run the First-time Setup flow above.
  2. Health check / 健康检查: Verify service is reachable. If not, tell the user MediaGo may not be running and guide them to start it.
  3. Create task / 创建任务: POST to /api/downloads with startDownload: true.
  4. Poll progress / 轮询进度: GET /api/downloads/TASK_ID every 3 seconds. Report status to user.
  5. Report result / 报告结果

What it can do on your machine

Read from SKILL.md and the folder at commit c3c943b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • docker

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

MediaGo Video Downloader loads about 1.1k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 462 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~70
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mediago-dev/mediago at commit c3c943b, republished under its MIT licence (© mediago-dev). 462 words, ~1,127 tokens.

Download SKILL.mdSave it as .claude/skills/mediago/SKILL.md (or your agent's skills folder).
name
mediago
description
Download videos from m3u8/HLS streams, Bilibili, and direct URLs using MediaGo. 下载视频、m3u8直播流、B站视频。 Triggers on: download video, 下载视频, 下载这个链接, 帮我下载, m3u8 download, 设置mediago地址, configure mediago, mediago api key. Requires a running MediaGo instance (desktop app or Docker).
license
MIT
metadata.author
caorushizi
metadata.version
1.0.0
metadata.homepage
https://github.com/caorushizi/mediago

MediaGo Video Downloader

Download videos from m3u8/HLS streams, Bilibili, and direct URLs via a running MediaGo instance.

Configuration

Config file: ~/.mediago-skill.json

json
{
  "url": "http://localhost:8899",
  "apiKey": ""
}
First-time Setup / 首次配置

If ~/.mediago-skill.json does not exist, show the following message (respond in the user's language):

EN: "MediaGo is not configured yet. To use this skill:

1. Install MediaGo (if you haven't already):

2. Initialize — tell me your MediaGo address, for example:

  • Docker: 设置 mediago 地址为 http://localhost:8899
  • Desktop app: 设置 mediago 地址为 http://192.168.x.x:39719"

CN: "MediaGo 还没有配置。要使用此功能:

1. 安装 MediaGo(如果还没装):

2. 初始化配置 — 告诉我你的 MediaGo 地址,例如:

  • Docker:设置 mediago 地址为 http://localhost:8899
  • 桌面客户端:设置 mediago 地址为 http://192.168.x.x:39719"

When the user provides the URL (and optionally an API key), write it to ~/.mediago-skill.json.

Updating Config / 更新配置

Trigger on phrases like:

  • EN: "set mediago url to ...", "mediago api key is ...", "my mediago is at ..."
  • CN: "设置 mediago 地址为 ...", "mediago api key 是 ...", "我的 mediago 跑在 ..."

Read the existing config, update the relevant field, and write it back.

API Reference

All API calls use curl. Read url and apiKey from ~/.mediago-skill.json before each call.

If apiKey is set, add header: -H "X-API-Key: API_KEY"

Health Check
curl -s BASE_URL/healthy

Returns {"success":true,...} if service is running.

Create & Start Download
curl -s -X POST BASE_URL/api/downloads \
  -H "Content-Type: application/json" \
  -d '{"tasks":[{"type":"TYPE","url":"VIDEO_URL","name":"NAME"}],"startDownload":true}'
  • type (required): m3u8, bilibili, or direct
  • url (required): video URL
  • name (optional): custom filename

Type detection from URL:

  • Contains bilibili.com or b23.tv → bilibili
  • Contains .m3u8 → m3u8
  • Otherwise → direct

Response data is an array of created tasks. Extract data[0].id as the task ID.

Get Task Status
curl -s BASE_URL/api/downloads/TASK_ID

Response data fields: id, name, status, type, exists, file.

Status values: pending, downloading, success, failed, stopped.

Show full SKILL.md (183 more words)Show less
List Downloads
curl -s "BASE_URL/api/downloads?current=1&pageSize=20"

Response: data.total (count) and data.list (array of tasks).

Get Config (download directory etc.)
curl -s BASE_URL/api/config

Returns config including local (download directory path).

Download Workflow / 下载流程

  1. Check config / 检查配置: Read ~/.mediago-skill.json. If missing, run the First-time Setup flow above.
  2. Health check / 健康检查: Verify service is reachable. If not, tell the user MediaGo may not be running and guide them to start it.
  3. Create task / 创建任务: POST to /api/downloads with startDownload: true.
  4. Poll progress / 轮询进度: GET /api/downloads/TASK_ID every 3 seconds. Report status to user.
  5. Report result / 报告结果:
    • success → EN: "Download complete! File: [path]" / CN: "下载完成!文件:[path]"
    • failed → EN: "Download failed." / CN: "下载失败。"
    • If polling exceeds 5 minutes, tell user the download is still in progress.

Important Notes / 注意事项

  • Language / 语言: Always respond in the same language the user is using (Chinese or English).
  • If API returns HTTP 401, tell the user their API key may be wrong and ask them to update it.
  • Always auto-detect the download type from the URL unless the user specifies it.
  • If name is not provided, omit it from the request — the server will auto-generate one.

© mediago-dev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/mediago of mediago-dev/mediago.

Open the folder on GitHubat commit c3c943b

Compare with similar skills

MediaGo Video Downloader next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

MediaGo Video Downloader compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
MediaGo Video Downloader this skillmediago-dev/mediago9.3k—~1.1kAutomated safety check: PassMIT
Video Podcast MakerAgents365-ai/video-podcast-maker1.7k—~4.9kAutomated safety check: PassMIT
Video Podcast Maker LiteAgents365-ai/video-podcast-maker1.7k—~4.5kAutomated safety check: PassMIT
Yt Dlp DownloaderMapleShaw/yt-dlp-downloader-skill2091 repos~1.5kAutomated safety check: PassNone
Video Podcast Maker NanoAgents365-ai/video-podcast-maker1.7k—~3.6kAutomated safety check: PassMIT
Video Clip Extractorlinzzzzzz/openclip569—~2.8kAutomated safety check: WarnMIT

Similar skills

  • Video Podcast Maker

    Agents365-ai/video-podcast-maker

    A skill your agent uses when the user gives a topic and wants an automated topic-driven narrated explainer, podcast, or knowledge-summary video (Bilibili / YouTube / Xiaohongshu / Douyin / WeChat…

    1.7k GitHub stars~4.9k tokensUpdated 8 days ago
    Media & CreativeAuto-check passed
  • Video Podcast Maker Lite

    Agents365-ai/video-podcast-maker

    Minimal personal narrated-video pipeline — a topic becomes a talking-head-free explainer MP4 (1080p or 4K) via script → Azure TTS (SSML) → Remotion.

    1.7k GitHub stars~4.5k tokensUpdated 8 days ago
    Media & CreativeAuto-check passed
  • Yt Dlp Downloader

    MapleShaw/yt-dlp-downloader-skill

    Download videos from YouTube, Bilibili, Twitter, and thousands of other sites using yt-dlp.

    209 GitHub starsUsed in 1 repo~1.5k tokens
    Media & CreativeAuto-check passed
  • Video Podcast Maker Nano

    Agents365-ai/video-podcast-maker

    Smallest personal narrated-explainer-video pipeline (spoken narration over visuals, not an audio podcast), fully tool-agnostic and autonomous by default — topic → research ∥ asset collection →…

    1.7k GitHub stars~3.6k tokensUpdated 8 days ago
    Media & CreativeAuto-check passed
  • Video Clip Extractor

    linzzzzzz/openclip

    Processes videos to identify engaging moments, generate transcripts, and create highlight clips with artistic titles and custom cover images.

    569 GitHub stars~2.8k tokensUpdated 1 mo ago
    Media & CreativeAuto-check: warnings
  • Generates SRT, VTT and caption JSON for final narration audio or a merged video using Volcengine Doubao ASR word timestamps, with a quality gate before delivery.

    1.6k GitHub stars~1.1k tokensUpdated 18 days ago
    Media & CreativeAuto-check: notes

Works with

Questions about MediaGo Video Downloader

What does MediaGo Video Downloader do?

Downloads videos from m3u8/HLS streams, Bilibili and direct URLs by driving a running MediaGo instance's REST API, with bilingual first-time setup guidance. json, holding the MediaGo instance's base URL and an optional API key. On first use, if that file does not exist, it shows a bilingual message explaining how to install MediaGo, either the desktop app or a Docker container exposing port 8899, and how to tell the skill the instance's address; later requests to change the URL or API key update the same file.

When should I use MediaGo Video Downloader?

MediaGo Video Downloader fits situations like: downloading a video from an m3u8/HLS stream, Bilibili or a direct URL; setting up the MediaGo skill's connection to a desktop or Docker instance for the first time; changing the configured MediaGo address or API key.

How do I install MediaGo Video Downloader in Claude Code?

Run `npx skills add mediago-dev/mediago --skill mediago -a claude-code`. Or copy the skill folder (skills/mediago in mediago-dev/mediago) into .claude/skills/mediago in your project. Claude Code loads it when a task matches its description.

How do I install MediaGo Video Downloader in Codex?

Run `npx skills add mediago-dev/mediago --skill mediago -a codex`. Or copy the skill folder (skills/mediago in mediago-dev/mediago) into .agents/skills/mediago in your project. Codex loads it when a task matches its description.

Can I use MediaGo Video Downloader in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mediago-dev/mediago --skill mediago -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mediago, .gemini/skills/mediago, .github/skills/mediago and .opencode/skills/mediago in your project.

What does MediaGo Video Downloader need to run?

Going by SKILL.md and its folder, MediaGo Video Downloader needs the command-line tools its instructions call (curl and docker) and credentials named API_KEY. Our summary lists: A running MediaGo instance, desktop app or Docker; curl.

Does MediaGo Video Downloader access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is MediaGo Video Downloader safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does MediaGo Video Downloader use?

MediaGo Video Downloader is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does MediaGo Video Downloader use?

About 1.1k tokens (SKILL.md is roughly 4.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to MediaGo Video Downloader?

Skills that share tags, products or a category with MediaGo Video Downloader: Video Podcast Maker (Agents365-ai/video-podcast-maker, 1.7k stars), Video Podcast Maker Lite (Agents365-ai/video-podcast-maker, 1.7k stars), Yt Dlp Downloader (MapleShaw/yt-dlp-downloader-skill, 209 stars) and Video Podcast Maker Nano (Agents365-ai/video-podcast-maker, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains MediaGo Video Downloader?

mediago-dev (a GitHub organization) maintains it in mediago-dev/mediago, which has 9,259 GitHub stars. The repository was last updated on October 6, 2026.

Source: mediago-dev/mediago on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.