Skip to content
Back to skills

Core Download

ASecurity

"Build, validate, and troubleshoot img2dataset CLI/API download

  • 247 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 8, 2026
toolspythonrustbashrailsapisecurityperformance

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill core-download --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Core Download?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Core Download
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-core-download/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-core-download)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: core-download
description: "Build, validate, and troubleshoot img2dataset CLI/API download
  runs with safe core options, hashes, retries, SSL, robots handling, and
  incremental recovery."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# core-download

Use this sub-skill when a user asks how to start, validate, restart, or debug an `img2dataset` run through the public Python API (`img2dataset.download`) or the `img2dataset` console command.

## Natural triggers

Read this sub-skill for prompts about:

- Building a small or production `download(...)` call or `img2dataset` command.
- Choosing safe core defaults for `thread_count`, `processes_count`, `timeout`, `retries`, `max_shard_retry`, `enable_wandb`, and `incremental_mode`.
- Restarting interrupted runs, reusing an existing output folder, or deciding between `incremental`, `overwrite`, and `extend`.
- Hash computation/verification, hash-mismatch metadata, captions, EXIF metadata, and core status/error validation.
- SSL certificate failures, `X-Robots-Tag` exclusions, `user_agent_token`, and opt-out directive policy.
- Checking that the package import and Fire CLI entry point are usable.

## First checks

1. Verify the public import in the user's active Python environment:

   ```bash
   python - <<'PY'
   import inspect
   import img2dataset
   from img2dataset import download
   print("img2dataset import ok")
   print(inspect.signature(download))
   PY
   ```

2. Verify the CLI help. The command uses Fire; for full function help prefer:

   ```bash
   img2dataset -- --help
   ```

   If the console script is not on `PATH`, try:

   ```bash
   python -m img2dataset.main -- --help
   ```

3. For a no-network smoke path, run the bundled tiny local HTTP demo from this sub-skill directory:

   ```bash
   python scripts/tiny_download_demo.py --dry-run
   python scripts/tiny_download_demo.py --output-folder tiny-output --output-format files
   ```

## Core workflow outline

1. Identify the URL-list input and format. Use the default text format only for one-URL-per-line files; route detailed CSV/TSV/JSON/Parquet schemas to `input-output-formats`.
2. Pick an output format and small safe defaults. For novice runs start with `processes_count=1`, modest `thread_count`, `enable_wandb=False`, `retries=1`, and `max_shard_retry=1`. Route output-format trade-offs to `input-output-formats` and distributed tuning to `distributed-execution`.
3. Decide metadata options: `caption_col` when captions exist, `extract_exif=True` unless EXIF extraction is too costly, `compute_hash` as `sha256` by default, and `verify_hash` only when the input table has trusted raw-image hashes.
4. Decide HTTP policy: keep default `X-Robots-Tag` opt-out directives unless the user has permission to override; use `ignore_ssl_certificate=True` only as a last resort for trusted sources.
5. Run the CLI/API call, then validate root metadata parquet files and `*_stats.json` files for `status`, `error_message`, success counts, failed downloads, failed resizes, and hash-mismatch patterns.
6. For interruptions, rerun the exact same command with the same URL list and `number_sample_per_shard` under `incremental` mode. Use `overwrite` only to delete and rebuild the output, and `extend` only to append new shard ids intentionally.

## References and bundled helper

- [API and CLI reference](references/api-reference.md) covers the verified public signature, CLI option groups, argument interactions, validation rules, metadata fields, and incremental semantics.
- [Quickstart](references/quickstart.md) gives self-contained CLI, Python, tiny-demo, and hash-verified Parquet-to-WebDataset recipes.
- [Troubleshooting](references/troubleshooting.md) maps core symptoms to likely causes and recovery steps.
- [tiny_download_demo.py](scripts/tiny_download_demo.py) creates a local image fixture and runs a tiny download without external network or W&B by default.

## Route to sibling sub-skills

- Use `input-output-formats` for input-format matrices, schema/column mapping, metadata schema details, writer layouts, shard naming details, `save_additional_columns` deep dives, and output-format audits.
- Use `image-processing` for resize modes, encoding quality/format, interpolation, `skip_reencode`, `disable_all_reencoding`, image filters, and bounding-box blur.
- Use `distributed-execution` for PySpark, Ray, multiprocessing performance tuning, W&B performance logging, DNS/filesystem throughput, cluster setup, and `subjob_size` tuning.
- Use the root dataset-recipes reference for dataset-scale public recipes; this sub-skill owns command construction mechanics, not large-dataset acquisition plans.

## Guardrails

- Do not require access to any original checkout, notebook, examples, or test fixture to answer a user. Use only this sub-skill, its references, and its bundled script.
- Do not suggest disabling `X-Robots-Tag` filtering or SSL verification without stating the policy/security trade-off.
- Do not use `overwrite` on an existing output folder unless the user explicitly wants recursive deletion.

Files in this skill

  • SKILL.md5 KB
  • references/api-reference.md10.6 KB
  • references/quickstart.md8 KB
  • references/troubleshooting.md9.4 KB
  • scripts/tiny_download_demo.py9.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.