Inspiration
Paying a builder, plumber or electrician usually means trusting an invoice. The proof sits scattered across a NAS: the quote PDF, scanned invoices, phone photos from the site, voice memos and maybe a driveway camera. Checking it all by hand takes hours, so most people pay without checking, or argue from memory when something looks off.
UGREEN AI NAS already holds that evidence, and its AI can read documents, date and describe photos, transcribe audio and query camera events locally. Workproof puts those pieces together for one job.
What it does
Workproof builds a line-by-line evidence ledger for one renovation or repair job. For each billed item and each billed working day, it gives one of four statuses:
- Supported: your records back it up.
- Conflicting: two records disagree (for example, 60 m² quoted against 75 m² billed). Both are shown and no winner is chosen.
- Not found: the selected records say nothing about it. This never means it did not happen.
- Needs review: low-confidence text, a missing date, or evidence that comes only from a photo description.
Every row names its source file. Workproof reports evidence only: it never decides who is right, never uses blame words, and gives no legal advice.
How we built it
Workproof is an orchestration Skill written in Markdown with the official UGOS Skill Creation Tool (uliya-skill-kit 0.7.3). Each step was checked against the published capability catalog (2.0.0), and the Skill delegates real work to UGREEN's registered experts:
- file-agent finds the job's documents and audio.
- document-agent extracts quote and invoice lines with the contract and invoice schemas, then reconciles them.
- photo-agent finds photos in the date range, reads EXIF capture times, and describes the visible work stage on billed dates.
- knowledge-agent transcribes the owner's own voice memos (optional).
- security-monitor-agent counts camera activity on billed days (optional, off by default, with no identification of people).
- knowledge-agent saves the ledger, only after the user approves.
The Skill is read-only until that one approved save, and it uses on-NAS AI only.
Challenges
- No NAS for Round 1. Every capability had to be confirmed from the catalog instead of a device, and the parts still needing hardware testing (page references, multi-file reconcile, vision output, camera counts) are listed openly.
- Strict packaging rules. Some template defaults do not match the static checker. A root README, a heading named "Expert orchestration" and an arrow written as
->would all fail it. We followed the checker exactly and moved the user guide intoreferences/. - Being honest by design. The hardest part was the status rules. A vision-model description or a quiet camera can never make a row Supported on its own, and "Not found" is never treated as proof.
What we learned
How UGOS Skills hand work to specialised agents instead of calling tools directly, why every step must pass only real results from the step before, and how much trust comes from showing sources and uncertainty instead of verdicts.
What's next
Test the Skill on a real iDX6011 Pro with a synthetic job folder, tune the extraction prompts, and check that repeat runs give the same statuses.
Built With
- claude
- document-extraction
- markdown
- ocr
- skill-md
- speech-to-text
- ugos
- ugreen-ai-nas
- uliya-skill-kit
- vision-language-model
Log in or sign up for Devpost to join the conversation.