batch-set-copyright
Skill21 starsChanged 7 days agoMITView on GitHub
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.
- Installs packages
In this repository28 other files it gives its agents.
- ai-graphicsSkill
- auto-deskewSkill
- auto-toneSkill
- auto-white-balanceSkill
- check-model-pricingSkill
- convert-to-avifSkill
- fast-resizeSkill
- fast-thumbnailSkill
- from-jxlSkill
- images-to-pdfSkill
- install-depsSkill
- new-projectSkill
- new-workflowSkill
- open-workspaceSkill
- optimize-jpegSkill
- optimize-pngSkill
- pdf-extract-embedded-imagesSkill
- pdf-to-imagesSkill
- read-metadataSkill
- scrub-metadataSkill
- set-metadataSkill
- svg-to-rasterSkill
- to-jxlSkill
- transcode-jpeg-to-jxl-losslessSkill
- upscale-imageSkill
- vectorizeSkill
- web-readySkill
- workspace-setupSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Recursive?: Ask whether to process subdirectories.
- Very specific: line 25
Backup before write?: Default: yes. Automatic via exiftool _original sidecars.
- Distinctive: line 39
Artist: Use the user-provided value.
- Very specific: line 40
Copyright: Use provided, or auto-generate: © <YYYY> <Artist> where <YYYY> is the current year.
- Distinctive: line 41
Rights/Usage: Use if provided; otherwise omit.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Batch Set Copyright on Images
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.
When to use
- Preparing a personal photo library for distribution or archival with consistent copyright metadata.
- Quickly tagging all images from an event or shoot with the same artist and copyright info.
- Ensuring your photo library has baseline legal metadata before sharing or licensing.
Inputs to gather
- Target directory — folder containing images to tag. Default: current directory.
- Recursive? Ask whether to process subdirectories. Default: no (flat, current folder only).
- Artist name — required. Ask for the photographer or creator name (e.g., "Daniel Rosehill").
- Copyright string — optional. If not provided, auto-generate from current year and artist:
© 2026 <Artist>. Allow the user to override. - Rights/Usage statement (optional) — additional rights text (e.g., "All rights reserved", "Creative Commons BY-SA 4.0"). If omitted, skip this field.
- Backup before write? Default: yes. Automatic via exiftool
_originalsidecars.
Procedure
1. Check tooling
command -v exiftool || echo "exiftool not installed — install with: sudo apt install libimage-exiftool-perl"Abort if missing.
2. Build metadata strings
- Artist: Use the user-provided value.
- Copyright: Use provided, or auto-generate:
© <YYYY> <Artist>where<YYYY>is the current year. - Rights/Usage: Use if provided; otherwise omit.
Print a summary for user confirmation before proceeding.
3. Count and preview
# 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 -lPrint:
- Number of images found.
- Metadata to be applied.
- Request confirmation before applying.
4. Apply metadata
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).
5. Verify
Sample 3–5 images across the directory and confirm metadata was applied:
exiftool -Artist -Copyright -Rights "<sample1.jpg>"
exiftool -Artist -Copyright -Rights "<sample2.jpg>"6. Report
After completion:
- Count of images successfully tagged.
- Count of failures (if any).
- Reminder:
_originalsidecars have been created (location noted). - Option: offer to remove
_originalsidecars if the user is confident the write succeeded.
Output / side effects
- Copyright, Artist, and optional Rights metadata written to all images in scope.
_originalsidecars created in the same directories (can be removed post-verification).- Original images modified; create a backup directory first if preservation is critical.
Notes
- Auto-generated copyright: The script uses the system date (
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"). - Metadata format:
exiftoolwrites to EXIF IFD0 / IPTC / XMP as appropriate. Different image readers may check different formats; this skill writes comprehensively so compatibility is high. - Batch verification: For large directories, consider sampling rather than checking every file. Spot-check 5–10% of the batch.
- Rights field variations: Some tools recognize
Rights, others useUsageRightsor custom XMP fields. TheRightstag is most portable; if compatibility issues arise, document alternatives in the report. - Preserve prior metadata: By default, this skill adds/updates copyright metadata without touching other tags. If the user wants a fresh start (nuke all, then add new), use the
scrub-metadataskill first. - Depends:
apt install libimage-exiftool-perl.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

