Inspiration

When something is stolen, flooded, or breaks under warranty, the first thing an insurer or warranty desk asks for is proof: the receipt, a photo of the item before the incident, a serial number. Most of that proof already sits on a home NAS (scanned receipts, invoice PDFs, phone photo backups, camera recordings), but nobody can find it in a hurry. ClaimReady asks the NAS to do that search, and to be honest about what it found.

What it does

  • One request, for example: "my laptop was stolen last night, prepare my insurance claim".
  • For each item it gathers the receipt (seller, date, amount), photos taken before the incident date, a serial number check, and camera events for theft.
  • Each item gets exactly one status: FULLY PROVEN, VALUE ONLY, OWNERSHIP ONLY, CONFLICT, or NO EVIDENCE.
  • The claim total adds only amounts from real receipts. Nothing is saved until the user approves, and evidence files are copied, never moved.

How I built it

ClaimReady is a Markdown orchestration Skill built with the official Uliya Skill Kit 0.7.3. The main agent delegates to five registered experts:

  • document-agent (ug-document): receipt and invoice extraction with deduplication
  • photo-agent (ug-photo): object recognition, OCR, EXIF capture time, and a visual check
  • security-monitor-agent (ug-surveillance): camera events and snapshots
  • file-agent (ug-filesystem) and knowledge-agent (ug-knowledge): saving the pack after approval

AI models read documents and photos. The evidence rules (statuses, serial comparison, duplicates, date cut-off, warranty dates) are fixed and written in the Skill, so a model can never upgrade a status or invent a price. The package passes the kit's static check with zero errors and zero warnings.

Challenges

  • Making a mismatch detectable: an early draft only read serial numbers from photos that already matched, so CONFLICT could never appear. Now every returned photo is read.
  • Duplicates without false merges: the same receipt saved twice counts once, but receipts with different invoice numbers are always separate purchases.
  • Object recognition may not know every item, so there is a fallback: the user names an album, and visual matches count only after the user confirms them.

What I learned

A claim helper is only useful if it refuses to guess. "Value not proven" is worth more than a confident wrong total.

What's next

Testing on a real iDX6011 Pro with synthetic receipts, photos, and camera events (three test cases are in references/test-cases.md), and tuning item names to the photo library's object vocabulary.

Disclosure

Built with help from Claude Code (Anthropic) for research, drafting, and running the official static checker. Details are in references/disclosures.md.

Built With

Share this project:

Updates

Submission history