Browser-automated file download with enhanced features. Auto-detects platform (Windows/macOS/Linux, 64/32-bit, ARM/Intel), handles multi-step navigation (homepage to platform-specific pages), captures auto-downloads triggered on page load, and falls back to button clicking when needed. Ideal for complex download flows where curl/wget fail due to client-side rendering, automatic downloads, or multi-page navigation. Features page scrolling for lazy content, extended wait times, and Golang support.
50
63%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./public/skills/aaronxx/browser-auto-download/SKILL.mdDownload files from dynamic webpages with intelligent detection and multi-step navigation.
Use this skill for:
NOT for: Direct file URLs (use curl/wget instead)
python skills/browser-auto-download/scripts/auto_download.py \
--url "https://example.com/download"The script will:
# WeChat DevTools
python skills/browser-auto-download/scripts/auto_download.py --wechat
# Meitu Xiuxiu
python skills/browser-auto-download/scripts/auto_download.py --meitufrom skills.browser-auto-download.scripts.auto_download import auto_download
result = auto_download(
url="https://example.com/download",
auto_select=True, # Platform detection
auto_navigate=True # Multi-step navigation
)
if result:
print(f"Downloaded: {result['path']}")Stage 1: Auto-Download Detection
Page loads - Check for downloads - Success?
Yes: No:
Save file Go to Stage 2Stage 2: Multi-Step Navigation
Look for "PC/Desktop" link - Navigate - Check downloads - Success?
Yes: No:
Save file Go to Stage 3Stage 3: Button Clicking
Try multiple selectors - Click - Wait for download - SaveAutomatically finds links like:
Keywords: pc, desktop, windows, mac, download, 电脑, 桌面, 客户端
# Sites that trigger download on page load
python skills/browser-auto-download/scripts/auto_download.py \
--url "https://pc.meitu.com/en/pc?download=pc"# Homepage - PC version - Download
python skills/browser-auto-download/scripts/auto_download.py \
--url "https://xiuxiu.meitu.com/" \
--auto-navigate # Enable (default: True)# If auto-detection fails
python skills/browser-auto-download/scripts/auto_download.py \
--url "https://example.com/download" \
--selector "button:has-text('Download for free')"# Don't navigate to platform pages
python skills/browser-auto-download/scripts/auto_download.py \
--url "https://example.com" \
--no-auto-navigate
# Don't detect platform
python skills/browser-auto-download/scripts/auto_download.py \
--url "https://example.com" \
--no-auto-select| System | Architecture | Keywords Used |
|---|---|---|
| Windows | AMD64/x86_64 | windows, win64, x64, 64-bit, pc |
| Windows | x86/i686 | windows, win32, x86, 32-bit, pc |
| macOS | ARM64 (M1/M2/M3) | macos, arm64, apple silicon |
| macOS | x86_64 (Intel) | macos, x64, intel |
| Linux | x86_64 | linux, x64, amd64 |
Download not starting:
--headless (default: False) to observe the process--no-auto-navigate if navigation is causing issues--selector to manually specify buttonWrong version downloaded:
--no-auto-select and manually specify --selectorNavigation going to wrong page:
--no-auto-navigateFile not saved:
Starting browser (visible)...
Opening: https://example.com
Checking for auto-downloads...
Checking for platform-specific page link...
Found platform page: https://pc.example.com
Navigating to platform page...
Download detected: software_v2.1.0_win64.exe
Saving: software_v2.1.0_win64.exe
SUCCESS!
File: C:\Users\User\Downloads\software_v2.1.0_win64.exe
Size: 231.9 MB{
"path": "C:\\Users\\User\\Downloads\\software_v2.1.0_win64.exe",
"filename": "software_v2.1.0_win64.exe",
"size_bytes": 243209941,
"size_mb": 231.9,
"platform": "Windows AMD64"
}from auto_download import quick_download_meitu
result = quick_download_meitu()
# Flow: Homepage - PC page link - Navigate - Auto-downloadfrom auto_download import quick_download_wechat_devtools
result = quick_download_wechat_devtools()
# Flow: Homepage - Click "Stable Windows 64" - Downloadresult = auto_download(
url="https://example.com/downloads",
auto_select=True, # Detect Windows 64-bit
auto_navigate=True # Find "Desktop version" link
)pip install playwright
playwright install chromiumModify get_system_preference() in the script to add custom keywords.
import subprocess
import json
result = subprocess.run([
'python', 'skills/browser-auto-download/scripts/auto_download.py',
'--url', 'https://example.com/download'
], capture_output=True, text=True)
if result.returncode == 0:
data = json.loads(result.stdout)
print(f"Downloaded: {data['path']}") # Use the fileurls = [
"https://example1.com/download",
"https://example2.com/download",
"https://example3.com/download"
]
for url in urls:
result = auto_download(url)
if result:
print(f"Success: {result['filename']}")Demerzels-lab/elsamultiskillagent
f45fcb5
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.