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 nirholas/XActions --skill video-downloadinggit clone --depth 1 https://github.com/nirholas/XActionsWrote 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/nirholas/xactions/video-downloading)<a href="https://agentmods.dev/skills/nirholas/xactions/video-downloading"><img src="https://agentmods.dev/badge/skills/nirholas/xactions/video-downloading.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
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.00043 | $0.00601 |
| Opus 5 | $0.00022 | $0.00300 |
| Sonnet 5 | $0.00009 | $0.00120 |
| Haiku 4.5 | $0.00004 | $0.00060 |
Grade A, and why
video-downloading 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 9d 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 — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Video Downloading
Download videos and GIFs from X/Twitter posts — no API key needed.
Script Selection
| Goal | File | Navigate to |
|---|---|---|
| Download video from current tweet | src/videoDownloaderBrowser.js |
Tweet page (x.com/user/status/ID) |
| Batch download multiple videos | src/videoDownloaderBrowser.js |
Any page |
| Download video info only (no save) | src/videoDownloaderBrowser.js |
Tweet page |
| Download via script (non-browser) | scripts/videoDownloader.js |
N/A (run in console) |
| Download via API | api/routes/video.js |
POST /api/video/download |
Quick Start
- Navigate to a tweet with a video:
x.com/user/status/123456 - Open DevTools (F12) → Console
- Paste
src/videoDownloaderBrowser.js→ Enter
Available Functions
After pasting src/videoDownloaderBrowser.js:
downloadCurrent() // Download video from current tweet page
downloadFromUrl('https://x.com/..') // Navigate to tweet URL and download
downloadGif() // Download GIF (GIFs are MP4 on X)
batchDownload(['url1', 'url2', ..]) // Download videos from multiple tweet URLs
getVideoInfo() // Show video metadata without downloading
Configuration
const CONFIG = {
QUALITY: 'highest', // 'highest', 'lowest', 'all'
AUTO_DOWNLOAD: true, // Auto-trigger browser download
SHOW_ALL_QUALITIES: true // Show all available quality options
};
Quality Options
| Setting | Behavior |
|---|---|
'highest' |
Downloads best resolution (default) |
'lowest' |
Downloads smallest file size |
'all' |
Shows all available bitrates to choose from |
Notes
- Videos on X are served as MP4; GIFs are also stored as MP4
- Quality options depend on what X uploaded — not all tweets have multiple qualities
- Batch download respects delays between requests to avoid rate limits
getVideoInfo()shows tweet ID, author, and all available video URLs before committing to a download
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.
- 9d ago First seen · 72 lines · 43 tokens per session scan A f7153e4dc261
video-downloading is a skill published in the GitHub repository nirholas/XActions (515 stars, last pushed yesterday), licensed Apache-2.0. It adds 43 tokens to every session and 601 once invoked, about $0.0002 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
qa
QA test your code changes by reading your git diff, choosing the right validation path for frontend/browser and backend changes, and reporting pass/fail with evidence.
smoke-test
Run smoke tests against a deployed or local app based on your git diff. Each test uses Skyvern browser tools (navigate, act, validate, screenshot) with Chrome DevTools MCP as fallback. Posts screenshot evidence as PR comments.
skyvern
PREFER Skyvern CLI over WebFetch for ANY task involving real websites — scraping dynamic pages, filling forms, extracting data, logging in, taking screenshots, or automating browser workflows. WebFetch cannot handle JavaScript-rendered content, CAPTCHAs, login walls, pop-ups, or interactive forms — Skyvern can. Run…
shogun-screenshot
A screenshot tool for getting images from a computer or web page and then cropping, resizing, or masking sensitive information. Playwright is a browser-automation tool used here to capture web pages.
testing
Verify a Skyvern deployment is working correctly by smoke-testing the backend API, frontend rendering, browser session provisioning, and workflow execution. Use when the user says 'is Skyvern working', 'test my deployment', 'verify the installation', 'smoke test', or needs to check that a self-hosted or local Skyvern…
amazon-photos-album-download
Download the original photo and video files from a public Amazon Photos shared album (an amazon.com/amazon.ca /photos/share/ link) via Amazon Drive's own JSON API, no login required. Drives headless Chrome with Playwright, lists the album nodes, and pulls size-verified originals. Use when you need a local copy of…