Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add xiaohuailabs/xiaohu-video-translate --skill xiaohu-video-downloadgit clone --depth 1 https://github.com/xiaohuailabs/xiaohu-video-translateWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/xiaohuailabs/xiaohu-video-translate/xiaohu-video-download)<a href="https://agentmods.dev/skills/xiaohuailabs/xiaohu-video-translate/xiaohu-video-download"><img src="https://agentmods.dev/badge/skills/xiaohuailabs/xiaohu-video-translate/xiaohu-video-download/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/xiaohuailabs/xiaohu-video-translate/xiaohu-video-download"><img src="https://agentmods.dev/badge/skills/xiaohuailabs/xiaohu-video-translate/xiaohu-video-download.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 4 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high YARA Match · line 87 YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).Fix: Remove the malware payload or compromised file entirely. Investigate how it entered the skill and audit all other artifacts for additional indicators of compromise.
- high Tool Misuse · line 273 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- medium Rogue Agent · line 34 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Rogue Agent · line 34 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00078 | $0.04950 |
| Opus 5 | $0.00039 | $0.02475 |
| Sonnet 5 | $0.00016 | $0.00990 |
| Haiku 4.5 | $0.00008 | $0.00495 |
Grade A, and why
下载视频 scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 317 lines — stays where its author put it; the contents beside it link to each section on GitHub.
视频下载工具
适用/能力
- 下载整段视频(获取素材):下载视频文件和外挂中文字幕,无字幕则仅下载视频。
- 下载播放列表:批量下载多个视频,支持指定范围或全部。
- 仅下载音频:提取音频并嵌入封面和元数据。
- 为本地视频添加字幕:从本地视频提取音频 → Whisper 转写 → 翻译成中文 → 烧录字幕到视频画面。
强制规则(先读配置再执行)
- 执行任何命令/写入任何文件前,必须先读取本技能目录
config.json,取output_dir作为<输出根>(支持~展开)。 - 文档中的所有
<输出根>/...在执行前必须替换为真实绝对路径;禁止把<输出根>原样带到命令里执行(否则会写到当前目录,表现为“乱保存”)。 - 若
config.json缺失、output_dir为空/相对路径/不可写:立即停止并提示用户在网页面板填写,或用脚本参数--outdir <绝对路径>覆盖。 - 默认只写
<输出根>/tmp/与<输出根>/data/。例外:本地视频加字幕流程的最终输出会按下文规则询问保存位置;用户回答“默认/随便”时允许保存到原视频目录。
建议的“输出根解析”固定前置步骤(避免手打长路径导致误写目录):
# 在本技能目录执行
OUTPUT_ROOT="$(python3 - <<'PY'
import json, os
from pathlib import Path
cfg = json.load(open("config.json", "r", encoding="utf-8"))
out = Path(os.path.expanduser(str(cfg.get("output_dir", ""))).strip())
if not out.is_absolute():
raise SystemExit("config.json: output_dir 必须是绝对路径或以 ~ 开头")
print(str(out))
PY
)"
mkdir -p "$OUTPUT_ROOT/tmp" "$OUTPUT_ROOT/data"
echo "OUTPUT_ROOT=$OUTPUT_ROOT"
后续所有命令都必须使用 $OUTPUT_ROOT/...,不要在命令里手写/粘贴完整长路径。
通用配置
代理设置(可选):
- 如需访问 YouTube 等受限网站,所有 yt-dlp 命令添加:
--proxy http://127.0.0.1:7890
路径说明:
- 输出根目录:要求显式配置;临时目录
<输出根>/tmp/(下文用<输出根>指定的根路径) - 配置方式:在本技能目录下
config.json设置output_dir=<绝对路径>,或命令行--outdir <绝对路径>(命令行优先)。output_dir为空/缺失/相对路径时,脚本会强制提示用户输入绝对路径并写回config.json,不允许默认回落技能目录。
转写引擎(默认走脚本 scripts/transcribe_srt.py,自动下模型、零配置):
- 默认:MLX Whisper / faster-whisper——首次运行自动下载模型,是烧字幕场景的首选(whisper-cli 没有词级时间戳,字幕会不同步,不要用于烧字幕)。
- 可选备份:whisper-cli(whisper-cpp)——仅纯转文字、或脚本不可用时才用,需自行
brew install whisper-cpp并把模型下到~/.cache/whisper-cpp/:- 精确模式:
~/.cache/whisper-cpp/ggml-large-v3-turbo.bin(默认模型) - 快速模式:
~/.cache/whisper-cpp/ggml-medium.bin(用户没有要求不允许使用此模型)
- 精确模式:
转写模式选择逻辑:
- 精确模式(默认):
ggml-large-v3-turbo.bin,95% 精度 - 快速模式:
ggml-medium.bin,90% 精度,触发条件为用户指令中包含"快速"、"快"或"快速模式"关键词
输出路径选择逻辑
默认:保存到 <输出根>/data/(临时 <输出根>/tmp/),不再询问。
用户/工作流指定路径:优先使用指定路径。
本地视频加字幕:默认询问保存位置;“随便/默认”→视频目录,“同名”→覆盖需确认。
- 避免误写到当前目录:所有
-o示例都包含<输出根>/...,不要使用裸data/…相对路径,否则会写到当前工作目录的data/。 - 首次未配置/配置无效时:脚本会引导用户手动输入绝对路径并写入
config.json的output_dir(需用户确认,不自动填默认)。若已配置有效值则不再提示,如需重新指定请删除/清空config.json的output_dir后运行。
What ships with it
11 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- config.example.json 472 B
- gemini-extension.json 274 B
- scripts/douyin_download.py 23 KB runs code
- scripts/douyin_login.py 5.5 KB runs code
- scripts/transcribe_srt.py 11 KB runs code
- scripts/vtt_to_text.sh 414 B runs code
- scripts/youtube_download.py 3.6 KB runs code
- 使用说明.md 2.2 KB
- 初始化.md 3.6 KB
- 抖音初始化.md 1.8 KB
- 非中文翻译规则.md 5.2 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 13d ago First seen · 317 lines · 78 tokens per session scan A 40bd56359d0b
下载视频 is a skill published in the GitHub repository xiaohuailabs/xiaohu-video-translate (646 stars, last pushed 3mo ago), licensed MIT. It adds 78 tokens to every session and 4,950 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…