Inspiration

Whenever something goes wrong at home, like a scratched car, a parcel that "was delivered" but never arrived, or a landlord holding back a deposit, the proof usually already exists. It is just scattered: a camera event in one app, phone photos backed up somewhere else, a scanned policy in a folder nobody has opened in a year. Under stress, people miss items, send undated photos, and weak claims get rejected.

At work I build multi-agent systems and RAG solutions, so I kept seeing the same pattern: the hard part is not finding one file, it is putting the pieces together and being honest about what is missing. A UGREEN AI NAS already holds all of those pieces, privately, in one place. That made it the right home for this idea.

What it does

ProofPack is a Skill for UGREEN AI NAS (Uliya). You describe the incident and roughly when it happened, for example "Build a claim pack for my car scratch last Tuesday night." ProofPack then:

  1. Confirms the claim type and time window before searching anything.
  2. Searches camera events, photos and documents for that window, read-only.
  3. Extracts the facts an insurer, landlord or seller will ask for, translates foreign-language documents, and shows what changed between versions (for example a revised repair quote).
  4. Builds one timeline where every line names its source file.
  5. Checks each required item and marks it Verified, Single source, Conflict, Weak or Missing.
  6. Flags photos that show other people, so bystanders and children can be left out.
  7. Only after you confirm, creates a case folder, an evidence album and a cited summary note.

It never moves, deletes or shares your files, and it never decides who is right. If the courier says "delivered 14:32" but the door camera shows nothing, you see both facts side by side.

The core rule is simple. For a checklist item $i$ with sources $S_i$:

$$ \text{status}(i) = \begin{cases} \text{Missing} & |S_i| = 0 \ \text{Conflict} & \exists\, a, b \in S_i \text{ that disagree} \ \text{Verified} & \geq 2 \text{ independent sources agree} \ \text{Single source} & \text{otherwise} \end{cases} $$

Weak is applied on top, using rules for each claim type, such as damage photos taken long after the incident.

How I built it

This was a solo build. I started by writing out several possible concepts and scoring each one against the four judging criteria: user value, innovation, technical quality and AI NAS fit. ProofPack scored highest. I then folded in the best ideas from the others: conflict detection, version comparison and the bystander check.

I built the Skill with Claude Code and the official UGOS Skill Creation Tool (uliya-skill-kit):

  • SKILL.md orchestrates five expert agents (Surveillance, Albums, Files, Documents, Knowledge) over ten steps. Each step passes real event IDs, photo IDs and file paths to the next, never vague references.
  • references/ holds five claim recipes (vehicle damage, delivery, warranty, rental deposit, home damage), the evidence rules, output formats, a 25-case failure table, a test plan and disclosures.
  • I ran "Help me check this skill" repeatedly until no required changes remained.

The package is Markdown only: no scripts, no credentials and no external downloads. All test data is synthetic.

Challenges I ran into

  • No NAS in Round 1. I had to design against the documented capability scope without running anything, so I wrote every step to depend only on listed capabilities and planned the device tests in advance.
  • Not overclaiming privacy. My first draft said everything ran locally. Then I realised Uliya itself may use a cloud AI service, depending on the user's settings. The Skill now sends nothing off the NAS itself, and asks before reading documents so the user can decide.
  • Designing for absence. The easy failure for an AI tool is to fill a gap with something similar. I had to make "nothing found" a first-class result: name what was searched, mark it Missing, and stop rather than substitute.
  • Fitting it into 500 words. Cutting the proposal down forced me to decide which features really mattered.

Accomplishments that I'm proud of

  • The five-status evidence check. It tells you not just what was found but whether your case actually holds together.
  • Conflicts are shown as two facts, never as a verdict.
  • Nothing is written until you say yes, and even then only new folders, copies, an album and a note. Originals are never touched.
  • The Skill passes the UGOS Skill Creation Tool check.

What I learned

  • In evidence work, honesty is the feature. A tool that says "this is missing" is more useful than one that confidently fills the gap.
  • Confirmation gates and failure handling take as much design as the main flow. The failure table grew to 25 cases.
  • Privacy claims need to be exact. "Runs locally" and "this Skill sends nothing itself" are different promises.

What's next for ProofPack

  • Round 2 testing on a real UGREEN AI NAS: confirm the surveillance output format, person search, album creation and reading accuracy on scanned documents.
  • A demo video that walks through a full vehicle-damage pack and a conflicting delivery claim.
  • More claim recipes, such as medical bills and travel disruption, once the core flow is proven.
  • Better handling of poor scans, so unreadable fields are flagged clearly for a manual check.

Built With

  • ai-agents
  • anthropic
  • claude
  • claude-code
  • git
  • github
  • local-ai
  • markdown
  • multi-agent
  • ugos
  • ugos-skill-creation-tool
  • ugreen-ai-nas
  • uliya
  • uliya-skill-kit
Share this project:

Updates

Submission history