Recursively extract various archive formats with auto dependency install, idempotency via marker files, and support for nested archives up to 20 levels deep.
This skill provides a reliable way to recursively extract archives. It supports complex logic like avoiding re-extraction of already processed files and handling nested archives (e.g., a zip containing a tar.gz).
.extracted_success) is found, unless forced..zip, .tar) and complex ones (.rar, .7z) by auto-installing dependencies..gz files (e.g., data.txt.gz -> data.txt/data.txt).Run the python script located in scripts/extract.py.
python3 scripts/extract.py <PATH> [OPTIONS]
<PATH>: The target file or directory pattern to process.
data.zip, downloads/, "*.tar.gz" (glob patterns supported).-f, --force: Force re-extraction even if the success marker exists. Use this if the user says "retry", "overwrite", or "force".-d, --dest <DIR>: Specify a root output directory. If omitted, archives are extracted alongside the source files.Extract a single file or a directory of archives.
python3 scripts/extract.py downloads/archive.zip
# OR for a directory
python3 scripts/extract.py downloads/
Use when the user suspects corruption or explicitly requests a clean start.
python3 scripts/extract.py downloads/archive.zip -f
Use when the user wants to organize output in a separate location.
python3 scripts/extract.py downloads/ -d ./extracted_output
patool is missing, the script will attempt to pip install it automatically.ZIP package — ready to use