From image-production
Batch-stamp copyright, artist, and rights information on all images in a directory. Use when you need to quickly add copyright metadata to a photo library before distribution or archival — a convenience wrapper around exiftool.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin image-productionThis skill is limited to using the following tools:
Walk a directory and stamp copyright, artist, and rights metadata on every image using `exiftool`. Common real-world use: archiving a photo library with a consistent copyright statement.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Walk a directory and stamp copyright, artist, and rights metadata on every image using exiftool. Common real-world use: archiving a photo library with a consistent copyright statement.
© 2026 <Artist>. Allow the user to override._original sidecars.command -v exiftool || echo "exiftool not installed — install with: sudo apt install libimage-exiftool-perl"
Abort if missing.
© <YYYY> <Artist> where <YYYY> is the current year.Print a summary for user confirmation before proceeding.
# Count images that will be tagged
find <target> -maxdepth <1|999> -type f \
\( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \
-o -iname '*.heic' -o -iname '*.webp' -o -iname '*.tif' -o -iname '*.tiff' \) | wc -l
Print:
Non-recursive:
find <target> -maxdepth 1 -type f \
\( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \
-o -iname '*.heic' -o -iname '*.webp' -o -iname '*.tif' -o -iname '*.tiff' \) \
-exec exiftool -Artist="<artist>" -Copyright="<copyright>" \
<-Rights="<rights>"> {} \;
(Include -Rights= only if the user provided a rights string.)
Recursive:
find <target> -maxdepth 999 -type f \
\( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \
-o -iname '*.heic' -o -iname '*.webp' -o -iname '*.tif' -o -iname '*.tiff' \) \
-exec exiftool -Artist="<artist>" -Copyright="<copyright>" \
<-Rights="<rights>"> {} \;
Show progress as files are processed (especially for large batches).
Sample 3–5 images across the directory and confirm metadata was applied:
exiftool -Artist -Copyright -Rights "<sample1.jpg>"
exiftool -Artist -Copyright -Rights "<sample2.jpg>"
After completion:
_original sidecars have been created (location noted)._original sidecars if the user is confident the write succeeded._original sidecars created in the same directories (can be removed post-verification).date +%Y) to build the year. If images are from a prior year, the user should provide a custom copyright string (e.g., "© 2024 Daniel Rosehill").exiftool writes to EXIF IFD0 / IPTC / XMP as appropriate. Different image readers may check different formats; this skill writes comprehensively so compatibility is high.Rights, others use UsageRights or custom XMP fields. The Rights tag is most portable; if compatibility issues arise, document alternatives in the report.scrub-metadata skill first.apt install libimage-exiftool-perl.