awesome-webpage-image-download

Downloads candidate image URLs into a local project directory with MIME and magic-byte validation.

6.8k|540|Updated May 6, 2026
One-click install
npx skills add https://github.com/opensquilla/opensquilla --skill awesome-webpage-image-download
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: awesome-webpage-image-download
Source: https://github.com/opensquilla/opensquilla/tree/main/src/opensquilla/skills/bundled/awesome-webpage-image-download
Command: npx skills add https://github.com/opensquilla/opensquilla --skill awesome-webpage-image-download

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

After a web search produces candidate image URLs, fetching them reliably requires handling redirects, non-image responses, and slot-to-URL matching. This Skill performs that download step deterministically with Python HTTP APIs instead of sandboxed shell curl, saving validated images into the configured project tree.

Core Features & Use Cases

  • Slot-based image fetching: Reads normalized media slots and search results from stdin, scores candidate URLs against slot subjects and keywords, and downloads the best match per slot.
  • Content validation: Verifies responses via magic bytes and Content-Type for PNG, JPEG, GIF, and WebP before writing files named by slot_id.
  • Structured reporting: Emits a JSON summary plus IMAGE_READY records for each saved file and IMAGE_DOWNLOAD_INCOMPLETE when slots remain unfilled.
  • Use Case: As part of an AwesomeWebpageMetaSkill workflow, pipe search results containing image URLs into this downloader to populate a project's assets/images directory with validated local copies.

Quick Start

Run this skill with the output directory and piped search results to download the candidate images into your project's assets folder.

Frequently Asked Questions about awesome-webpage-image-download

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I download images from URLs in Python without curl?

Use urllib.request with a custom User-Agent and Accept header to fetch image URLs, then validate the response before saving. This skill reads URLs from stdin, checks magic bytes and Content-Type, and writes verified images to an output directory.

How to verify a downloaded file is actually an image?

Check the file's magic bytes against known signatures for PNG, JPEG, GIF, and WebP, and confirm the Content-Type header. This downloader rejects responses that fail both checks and records them as skipped with a not_image reason.

What image formats does this downloader support?

It supports PNG, JPEG, GIF, and WebP, detected via magic-byte signatures and Content-Type headers. Files are saved with the correct extension derived from the validated MIME type.

Why does image download report IMAGE_DOWNLOAD_INCOMPLETE?

This status appears when one or more requested image slots could not be filled, either because no candidate URL matched or all fetch attempts failed. The output lists the unfilled slot_ids so the workflow can retry or substitute images.

Can this skill run without network access?

No, it requires network-read capability to fetch remote image URLs over HTTP. It also needs filesystem-write permission for the configured output directory and a python3 binary.