Install
$ agentstack add skill-aiwork4me-image-metadata-cleaner-image-metadata-cleaner ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
AIwork4me/image-metadata-cleaner
image-metadata-cleaner cleans privacy-sensitive metadata from user-owned image files by writing separate sanitized copies. This skill is for privacy hygiene and reproducible file preparation, not for hiding authorship, evading provenance checks, bypassing platform labels, or misrepresenting where an image came from.
Safety boundary
- Use this skill only for images the user owns or is authorized to process.
- Do not run it for requests whose stated purpose is to bypass AI labels,
defeat detection systems, fake provenance, or violate a platform's disclosure rules. In those cases, explain that you can help with privacy-preserving metadata cleanup, but not deception or evasion.
- Never edit the original image in place. The script refuses an output path that
resolves to the same file as the input.
- Do not use
--overwriteunless the user explicitly asks to replace existing
output copies.
Before running
Confirm the input path, output location, and output format unless the user explicitly invoked this skill with those arguments. If the request is a folder operation, prefer the default metadata-cleaned/ output folder so generated copies are separated from source files.
Run a dry run when the user asks to preview changes:
uv run --with pillow==12.2.0 python "${CLAUDE_SKILL_DIR}/scripts/strip.py" "" --dry-run
Execution
Single file, safe default output name beside the input:
uv run --with pillow==12.2.0 python "${CLAUDE_SKILL_DIR}/scripts/strip.py" "" --manifest
Single file with an explicit output file:
uv run --with pillow==12.2.0 python "${CLAUDE_SKILL_DIR}/scripts/strip.py" "" --output "" --manifest
Folder batch, writing copies into /metadata-cleaned/:
uv run --with pillow==12.2.0 python "${CLAUDE_SKILL_DIR}/scripts/strip.py" "" --manifest
Recursive folder batch with a separate output directory:
uv run --with pillow==12.2.0 python "${CLAUDE_SKILL_DIR}/scripts/strip.py" "" --recursive --output-dir "" --manifest
Output format defaults to preserve: JPEG inputs stay JPEG, and other supported formats are written as PNG to avoid unexpected lossy conversion. If the user provides an explicit --output path ending in .jpg, .jpeg, or .png, the script follows that extension unless --format is set. Use --format jpg only when the user explicitly wants JPEG output; transparent images will be composited onto a white background.
After running
Report the script results without overstating them:
- Number of files processed, previewed in dry-run mode, or failed.
- Output filenames and where the manifest was written.
- File size before and after.
- Dimensions reported after re-encoding.
- Whether the verification scan found common metadata keys or provenance marker
strings in the output.
Do not claim that all possible watermarks or provenance signals were removed. The script removes file-level metadata visible to Pillow-style re-encoding and performs a basic marker scan; it does not remove pixel-level watermarks, fingerprints, or external platform records.
Supported inputs
.png, .jpg, .jpeg, .webp, .bmp, .tiff, .tif
Troubleshooting
- No supported image files found: The folder contains no files with supported
image extensions, or all candidates are inside the output directory.
- Output already exists: The user supplied an explicit output path that
exists. Choose another path or rerun with --overwrite only after user confirmation.
- Unsupported image / cannot identify image file: The file extension looks
supported, but Pillow could not decode the file. Report the file and continue with any other batch items.
- uv not available: Ask the user before falling back to a local Python
environment with Pillow installed.
Technical details
For implementation notes, verification limits, and metadata caveats, read references/technical-details.md.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: AIwork4me
- Source: AIwork4me/image-metadata-cleaner
- License: MIT-0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.