name: Photos
description: Organize, index, and search local photo libraries with AI-powered metadata and safe file handling.
metadata: {"clawdbot":{"emoji":"πΌοΈ","requires":{"bins":["exiftool"]},"os":["linux","darwin","win32"]}}
Safety First
Never delete photos directly β move to .photo-trash/ folder with original path preserved in filename
Never overwrite originals β edits go to edited/ subfolder, originals stay untouched
Before bulk operations, create manifest: photos-pending.json with planned actions for user review
When user says "delete duplicates", move to trash and report count β let them empty trash manually
Indexing Strategy
Create .photo-index/ in library root with one JSON sidecar per photo
Sidecar filename: {original-hash}.json β survives renames and moves
Index fields: hash, path, date_taken, camera, gps, description, tags, indexed_at
Run indexing incrementally β skip files with matching hash already indexed
Store description from vision analysis in sidecar, not in EXIF (non-destructive)
Vision Analysis (Token-Efficient)
Don't analyze every photo upfront β index on-demand when user searches or asks
Cache vision results permanently in sidecar JSON β never re-analyze same photo
For bulk analysis, process in batches of 20 with progress updates
Use concise prompts: "Describe this photo in 2-3 sentences. List people, objects, location, activity."
Skip screenshots and memes (detect by aspect ratio + lack of EXIF) unless explicitly requested