Inspiration

I'm a hobby photographer and I edit my shots in Lightroom. Every shoot ends the same way: 600+ frames on my NAS, mostly bursts and near-duplicates, and two or three hours of culling before I can even start editing. Culling is the step every photographer hates — and the photos are already sitting on the NAS, which today only stores them.

What it does

Shoot Culling Assistant is a UGREEN AI NAS Skill that turns a raw shoot into a short, explained selection:

  • Groups bursts and near-duplicates into scenes (capture time + visual similarity).
  • Flags clear technical failures: motion blur, missed focus, closed eyes, clipped exposure.
  • Proposes the best frame per scene, each with a one-line reason ("sharpest eyes in a 9-frame burst").
  • Lets you swap picks or change how many you want.
  • After you confirm, saves an album with the picks and a culling-report.md — originals are never moved, edited or deleted.

How we built it

Built with the official Uliya Skill Kit. The Skill is a SKILL.md that only delegates to the NAS experts: file-agent lists the shoot and finds duplicates (ug-filesystem, ug-filemgr), photo-agent reads EXIF and judges every frame with the on-device vision model (ug-photo meta and vision-vlm) and creates the picks album, and knowledge-agent saves the culling report (ug-knowledge). It passes the kit's static checker with 0 errors and 0 warnings. Everything runs locally, so private client photos never leave the NAS.

Challenges

Keeping it strictly non-destructive and making "taste" explainable: every pick and every rejection needs a reason the photographer can check in seconds.

What's next

Round 2: validate on a real AI NAS with real shoots, tune scene grouping, and test RAW support.

Built With

  • ai-agents
  • claude
  • local-ai
  • markdown
  • skill-md
  • ugos
  • ugreen-ai-nas
Share this project:

Updates

Submission history