Inspiration

After a loss, an insurer or a manufacturer asks three things: did you own it, what was it worth, and what happened. The answers are usually already on the NAS. They sit in a PDF invoice inside a mail export, a photo of the new laptop on the desk, a manual in a downloads folder, and a doorbell clip from the night it went missing. People gather them under stress, late, or never.

What it does

Proof of Ownership is a Uliya Skill for UGREEN AI NAS with two modes.

  • Ledger mode builds one entry per purchased item: merchant, date, price, serial number, warranty end date, up to three ownership photos, the matching manual, and a SHA-256 fingerprint of every evidence file.
  • Claim mode starts from one sentence ("my bike was taken from the porch last night", "the TV won't turn on"). It finds the item in the ledger, re-checks the fingerprints so you can show the evidence is unchanged, searches home-camera events in the incident window, quotes the warranty terms from the manual, and drafts a claim letter that uses only verified facts. Anything missing is written as MISSING, never guessed.

Everything stays on the NAS. The Skill reads and links your files; it never moves, renames, edits or deletes the originals. The ledger, the dossier and an optional album are the only writes, and each one waits for approval.

How I built it

The Skill is a single SKILL.md under the Uliya Skill Development Standard, plus four linked references (ledger format, scenarios, test plan, disclosures). The parent Skill only delegates, with self-contained instructions:

Step Expert Capability
Receipts → purchase records document-agent ug-document extract
Photographed receipts, ownership photos, serial plates photo-agent ug-photo search-picture, vision-ocr, vision-vlm, meta
Manuals, fingerprints, integrity re-check file-agent ug-filesystem find, stat, sha256sum
Camera events in the incident window security-monitor-agent ug-surveillance event-timeline, event-evidence
Warranty terms, claim letter draft document-agent ug-document qa, writing
Save ledger and dossier knowledge-agent ug-knowledge save-text

Each step passes only the real result of the step before it. All five delegation states (completed, failed, cancelled, waiting_user, waiting_approval) are handled, and empty results are reported, not filled in. The package passes the kit's static checker with 0 errors and 0 warnings.

Challenges

The kit is strict, which helped: no scripts, no direct cli.invoke, no hard-coded NAS paths. The design problem was linking data across five experts without letting any step invent a value, and keeping the claim useful when a piece is missing (no cameras, no serial number, a changed receipt).

What's next

On the finalist test day: run the synthetic fixture (12 invoices, 3 receipt photos, 20 photos, 4 manuals) through the ledger build, a TV warranty claim, and the tamper edge case, then tune the photo-matching instructions on real output.

Disclosure

AI tools used: Claude Code (Anthropic) helped read the rules and the developer package, draft the Skill text and references, run the static checker, and draft proposal wording. Full disclosure is in the Skill's references/disclosures.md.

Built With

Share this project:

Updates

Submission history