Inspiration

When an appliance breaks, the proof of purchase is always somewhere: a receipt photo in the camera roll, an invoice PDF in a Documents folder, a warranty-card scan, a manual nobody has read. Most people either cannot find it in time or cannot tell whether the warranty has ended, and end up paying for a repair that should have been free. Receipt apps solve this by uploading everything to their cloud. I wanted the opposite: the proof already lives on my NAS, so the answer should come from there and never leave home.

What it does

You ask "Is my dishwasher NP-45 still under warranty?" in Japanese, English or Chinese. The Skill confirms the search scope in one message, searches the Photos text index and your authorized folders, reads the purchase date and the warranty wording from what it finds, and answers with a verdict (Covered, Expired, Unverified or Not found), the calculation, and an evidence table in which every date, term and claim condition cites the file and page or the photo and capture time. A second mode lists every warranty ending in the next N days. After you approve, it can save a claim sheet, tag the evidence files and copy them into a claim folder. It never guesses: conflicting or unreadable dates become Unverified with every candidate shown, and no default warranty length is ever assumed.

How I built it

The Skill is an orchestration-only SKILL.md with seven Markdown references, written with the official uliya-skill-kit 0.7.3. It delegates self-contained instructions to the registered experts (photo-agent, file-agent, document-agent, knowledge-agent) through ug-photo, ug-filesystem, ug-filemgr, ug-document and ug-knowledge, passes only real upstream paths, pages and quotes between steps, handles all five delegation states, and stays read-only until each write is approved. The references hold the rules the verdict depends on: how to read printed dates (including Japanese era names and ambiguous day/month order), which event starts the warranty, the calendar rule end = start + months - 1 day, multilingual search terms, output formats, and three validation cases. The package passes the kit's static checker with no diagnostics. AI assistants (Grok Bot, then Claude Code) helped draft and revise the files under my direction; the details are in references/disclosures.md.

Challenges I ran into

Dates. Receipts print them as 2025/12/01, 令和7年12月1日, 03/04/2025 or 二〇二五年十二月一日; warranty cards start the term at purchase, delivery or installation; and manufacturers count "12 months" differently. Instead of letting the model guess, every conversion is written out, ambiguous dates are marked, and the calculation is shown in the answer. The second challenge was writing instructions that an expert agent can execute without me being able to test on a NAS in Round 1: every delegation names its scope, limits, negative conditions and the exact shape of the result it must return.

What I learned

An orchestration Skill is mostly about discipline: the parent only delegates, each instruction is self-contained, downstream steps use only real upstream results, and every state is handled explicitly. I also learned how much the NAS already knows. The Photos text index makes a shoebox of receipt photos searchable without uploading anything, which is what makes this workflow possible at all.

What's next

Validate on a real UGREEN AI NAS as a finalist: OCR on faded or rotated receipts, extraction from images, tag creation, and prompt wording for the local model. Then publish the Skill on UGREEN Skills Hub under the MIT licence.

Built With

  • markdown
  • nas
  • ocr
  • ug-document
  • ug-filemgr
  • ug-filesystem
  • ug-knowledge
  • ug-photo
  • ugos
  • uliya
  • uliya-skill-kit
Share this project:

Updates

Submission history