agentleFS
danielrosehilldanielrosehill/Claude-Image-Production-Plugin/skills/batch-set-copyright/SKILL.md

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

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
  1. Distinctive:

    Recursive?: Ask whether to process subdirectories.

    line 21
  2. Very specific:

    Backup before write?: Default: yes. Automatic via exiftool _original sidecars.

    line 25
  3. Distinctive:

    Artist: Use the user-provided value.

    line 39
  4. Very specific:

    Copyright: Use provided, or auto-generate: © <YYYY> <Artist> where <YYYY> is the current year.

    line 40
  5. Distinctive:

    Rights/Usage: Use if provided; otherwise omit.

    line 41

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 _original sidecars.

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 -l

Print:

  • 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: _original sidecars have been created (location noted).
  • Option: offer to remove _original sidecars if the user is confident the write succeeded.

Output / side effects

  • Copyright, Artist, and optional Rights metadata written to all images in scope.
  • _original sidecars 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: exiftool writes 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 use UsageRights or custom XMP fields. The Rights tag 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-metadata skill first.
  • Depends: apt install libimage-exiftool-perl.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.