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 linshidream/skill-hub --skill mafengwo-original-imagesgit clone --depth 1 https://github.com/linshidream/skill-hubWrote 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/linshidream/skill-hub/mafengwo-original-images)<a href="https://agentmods.dev/skills/linshidream/skill-hub/mafengwo-original-images"><img src="https://agentmods.dev/badge/skills/linshidream/skill-hub/mafengwo-original-images/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/linshidream/skill-hub/mafengwo-original-images"><img src="https://agentmods.dev/badge/skills/linshidream/skill-hub/mafengwo-original-images.svg" alt="Reviewed on agentmods" width="80" 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.00060 | $0.01335 |
| Opus 5 | $0.00030 | $0.00668 |
| Sonnet 5 | $0.00012 | $0.00267 |
| Haiku 4.5 | $0.00006 | $0.00134 |
Grade A, and why
mafengwo-original-images 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 12d 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 — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.
马蜂窝原图下载
目标
当用户提供马蜂窝图片页、游记页或类似页面,并要求下载网页图片时,使用本 skill 提取原始图片链接、去掉缩略图参数、下载原图,并导出:
original_image_links.txt
images/
summary.json
original_image_links.txt 必须使用以下格式,每行一个原图链接和文件大小,逗号拼接:
https://note.mafengwo.net/img/xx/yy/example.jpeg,1.5M
使用场景
当用户说出类似需求时触发:
- “帮我下载马蜂窝图片 https://www.mafengwo.cn/..."
- “不要缩略图,要原图”
- “导出原始图片链接和大小”
- “继续下载剩余图片,不要重复下载”
输出规范
- 只保存原图,不保存缩略图。
- 图片链接必须去掉
?及其后面的压缩、裁剪、质量参数,例如去掉imageView2%2F2%2Fw%2F600%2Fq%2F50。 - 输出文件夹命名为
YYYYMMDD图片下载-地点或网页标题-原图。 - 地点名称优先从页面面包屑、标题或明显地点信息中提取,例如
意大利;没有可靠地点时使用网页标题。 - 原图链接清单命名为
original_image_links.txt。 original_image_links.txt每行格式为原始链接,文件大小M,例如https://note.mafengwo.net/img/xx/yy/example.jpeg,1.5M。- 支持断点续下:已存在且有效的图片不要重复下载,缺失、零字节或损坏的图片需要补下。
执行流程
- 在可渲染页面的浏览器环境中打开马蜂窝 URL。
- 如果马蜂窝出现安全校验、滑块或登录阻断,让用户在浏览器里手动完成后继续。
- 从渲染后的 DOM 中提取图片候选链接,优先读取:
data-original,data-src,data-url,data-rt-src,src. - 只保留正文或图集中的图片,马蜂窝原图通常来自
note.mafengwo.net/img/...。 - 对每个图片链接去掉
?及其后面的所有内容。 - 去重后保存为
raw_image_links.txt,再调用下载脚本。 - 运行
scripts/download_original_images.py完成下载、断点续下、大小统计和清单生成。 - 下载后校验数量、图片有效性,以及最终链接清单中是否仍存在
?或imageView2。
浏览器提取
优先使用宿主 agent 提供的浏览器自动化能力提取渲染后的图片链接。如果没有可用自动化能力,先在普通浏览器完成页面验证,再把以下代码粘贴到 DevTools Console:
copy([...new Set([...document.images]
.map(img => img.dataset.original || img.dataset.src || img.dataset.url || img.dataset.rtSrc || img.src)
.filter(Boolean)
.map(url => url.startsWith("//") ? `https:${url}` : url)
.filter(url => /^https?:\/\//.test(url))
.filter(url => /\.(jpe?g|png|webp|gif)(\?|$)/i.test(url))
.filter(url => /note\.mafengwo\.net\/img\//.test(url))
)].join("\n"))
将复制出来的内容保存为 raw_image_links.txt。
下载命令
python3 scripts/download_original_images.py \
--url "https://www.mafengwo.cn/photo/10051/scenery_24796451_1.html" \
--raw-links raw_image_links.txt \
--place "意大利" \
--page-title "从佛罗伦萨到多洛米蒂,繁花盛开的序曲" \
--out-root .
脚本会执行以下工作:
- 去掉缩略图 query 参数。
- 对原图链接去重。
- 将文件命名为
original_001.jpeg、original_002.png等。 - 跳过已经下载且有效的图片。
- 重新下载损坏、零字节或缺失的图片。
- 以
M为单位写入文件大小,例如0.2M、1.5M。 - 写入
summary.json和download_check.json。
What ships with it
9 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.
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.
- 12d ago First seen · 119 lines · 60 tokens per session scan A 91f7ee3b635a
mafengwo-original-images is a skill published in the GitHub repository linshidream/skill-hub (20 stars, last pushed 1mo ago), licensed MIT. It adds 60 tokens to every session and 1,335 once invoked, about $0.0003 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
feature-demo-recording
Record a demo video of a web feature from a real browser. Two modes -- a NARRATED film where measured voiceover drives the timeline (designed slides, subtitles, punch-in camera, rendered from an HTML timeline), and a SILENT evidence clip for a PR or a QA pass. Use when the user asks to record a video, demo, or screen…
html-to-video-pipeline
Reliable HTML-to-MP4 rendering via headless browser recording (Playwright/Puppeteer) + ffmpeg — the ordering, gotchas, and verification steps you MUST get right or the output silently rots. Trigger whenever the user is building or debugging any pipeline that turns an HTML/CSS/JS page (single-file, multi-composition…
browser-video-recording
Create polished 60 fps 4:3 4K browser screen-recording style videos from Codex in-app browser captures, with browser-only crop, natural macOS cursor styling, deliberate click choreography, zoom-follow framing, ffprobe/thumbnail verification, and optional native recording compatibility checks. Use when the user asks to…
record-video
Record and upload a short browser interaction video artifact.
playwright-recording
Record browser interactions as video using Playwright. Use for capturing demo videos, app walkthroughs, and UI flows for Remotion videos. Triggers include recording a demo, capturing browser video, screen recording a website, or creating walkthrough footage.
demo-video
Agent-recorded product demo videos — choreograph a real browser flow with a cursor overlay and camera zooms, encode from raw frames, and package for PR evidence or social posts. Project specifics come from .demo-video.yaml.