Inspiration
Families moving a Google Photos export into UGREEN Photos often run the import for days. When power fails or the session drops midway, they cannot tell which files arrived, which albums are complete, or which writes are uncertain. A file count does not show that the expected album survived.
What it does
Photo Album Handoff rechecks one explicit album batch once the NAS is usable again. It shows which files and album memberships actually landed, lists what is missing, mismatched or unknown, and completes the rest only with the user's approval.
It keeps three separate records: source occurrences and hashes; destination file identities and hashes; and expected versus observed album membership. Date conflicts, ambiguous associations and unsupported media stay unresolved until evidence or a user decision resolves them.
Main user flow
- Confirm the source folders, folder-to-album mapping, destination and batch roster.
- Recheck the whole batch, not just files near the outage: destination bytes and observed album membership.
- Review what is verified, missing, mismatched or unknown, and approve copies of missing items into a new staging destination.
- After exact identities are established, approve creation of new albums.
- Re-query every album member with complete coverage, save a new Markdown receipt and re-read it.
- Uncertain writes stop for review instead of being retried blindly.
How it works
The parent Skill only delegates to the documented Uliya expert agents; it never calls CLIs directly.
- file-agent / ug-filesystem: find, stat, cat and sha256sum for the scoped inventory and byte checks; approval-gated cpmv(copy) for missing items.
- photo-agent / ug-photo: meta and search-picture for actual photo evidence; approval-gated create-album for new albums.
- knowledge-agent / ug-knowledge: save-text for receipts, followed by file-agent readback.
Every copy, album creation and receipt save waits for platform approval. The Skill runs on whichever model the NAS's Uliya assistant is configured with, preferably the local model for private photos, and calls no external model or service.
What makes it different
Checksums, manifests and resumable imports already exist. The increment is a native UGREEN Photos acceptance workflow that links source occurrences, verified bytes, actual album membership and explicit human decisions, without installing another photo server. Its differentiation depends on exact Photos readback, not chat or hashing alone.
Status
The Skill package (SKILL.md plus five linked references) passes the official Uliya kit checker with no errors or warnings. It has not yet been run on a UGREEN NAS. Pending NAS validation: file identities round-tripping into create-album, complete membership readback across pages, and actual permission and approval behavior.
Finalist test plan
- Core case 1: twelve synthetic photos across two albums, including shared bytes and same-named different files; observed memberships must match the declared roster.
- Core case 2: simulate an interruption by stopping after copying, restart in a new conversation, and identify missing or hash-mismatched destinations without recreating albums.
- Edge case: incomplete search coverage or an uncertain creation response must block completion and preserve all originals.
Known limits
The Skill assumes the NAS is already usable; it does not detect outages or check power, disk or RAID health. Already-extracted inputs only. No cloud-completeness certification, EXIF repair or unattended trigger. Same-NAS copies are not independent backups. Single-writer use only. Demonstrations use non-sensitive synthetic data.
AI assistance and components
AI tools used: OpenAI ChatGPT (research, capability mapping, proposal and Markdown drafting, test-oracle design), OpenAI Codex (research reports on candidate workflows and the official Skill catalog), Grok (a research report that was read and cross-checked), and Anthropic Claude (running the official checker and fixing the issues it reported).
The ZIP contains only Markdown documents and bundles no third-party code, library, font or image. It depends on UGREEN's Uliya platform and documented expert agents (Starter Kit 0.7.3-en, capability catalog 2.0.0). The proposal PDF was typeset with ReportLab 4.4.9 (BSD license) in the standard Helvetica font. Full disclosures are in references/disclosures.md.
Built With
- markdown
- reportlab
- ugreen-ai-nas
- uliya