Inspiration
Building managers and facility inspectors take dozens of photos on every round: equipment labels, meter dials, rust, leaks. The photos land on the NAS through phone backup, and then someone retypes serial numbers, readings, and conditions into a report table by hand. Chat AI helps with a few attached photos at a time, but it does not say which values it read and which it guessed, and nothing is left on the NAS afterwards.
What it does
Photo Columns turns a NAS photo folder into a saved table with columns you name in plain words, for example "equipment type, label text, condition good/worn/broken, taken date".
- Visual columns are filled by the NAS vision language model (VLM).
- Text columns are read by the VLM and checked by OCR. Each cell is marked
[confirmed],[VLM-only], or[OCR-only], so you check one cell instead of the whole table. - Date and camera columns come from photo metadata, marked
[EXIF]. They are never guessed by the VLM. - Columns that identify people are refused.
- The Skill shows two pilot rows first, fills up to 20 photos per run, saves the table after your approval, and can tag matching photos in UGOS Files. Later runs continue the same table.
How we built it
The Skill follows the Uliya Skill Development Standard from the UGREEN Skill Developer Package (uliya-skill-kit 0.7.7). SKILL.md delegates one step at a time to the NAS expert agents: file-agent for finding photos and reading or appending the table, photo-agent for vision-vlm, vision-ocr, and meta, and knowledge-agent for saving the table. Every write waits for platform approval, and every delegation result is handled in all five terminal states. The package passes the kit checker with no errors and no warnings.
Challenges we ran into
- Keeping VLM guesses visible. The answer was a source label on every cell and a rule that metadata columns never fall back to the VLM.
- Matching VLM text and OCR text without exact positions. We compare word by word and keep mismatches as
[VLM-only]. - Writing a Skill that cannot run until the NAS testing day. Every step, approval, and edge case is written down as a test plan for Round 2.
What we learned
The NAS already has the pieces for this job: local vision, OCR, metadata, files, and tags. The useful work is in joining them so a person can trust the result.
What's next
On the Round 2 testing day: measure VLM speed, verify approvals and tagging, and record the full run on the iDX6011 Pro.
AI tool disclosure
Claude Code (Claude Opus 5.5) and its plugins were used for research, writing the Skill package, the proposal, and this text. The full list is in references/disclosures.md inside the package.
Built With
- claude-code
- exif
- markdown
- ocr
- ugos
- uliya-skill-kit
- vision-language-model