Inspiration

Every household has the same pile: receipts in phone photos, invoices in Downloads, warranties and bank statements scattered everywhere. When a tax deadline, a return or a warranty claim comes up, nobody can find the right file. A NAS is the natural home for these documents, but dumping them there doesn't make them findable. We wanted the NAS itself to do the filing, privately and on request.

What it does

FileWise is a UGOS Skill. You point it at a folder ("file the documents in my Inbox folder") and it:

  1. Lists the files directly inside that folder.
  2. Reads each one and classifies it as a receipt, invoice, ID, warranty, bank statement or other.
  3. Extracts the vendor, date and amount.
  4. Proposes a clear name such as 2026-11-03_Shoprite_12450NGN.pdf and a Year/Type destination folder.
  5. Shows the full plan, then renames, moves and tags everything after one "yes".

It never overwrites anything. It asks about name clashes and low-confidence files, leaves unreadable files where they are, and stops cleanly if the folder is empty. Everything stays on the NAS.

How we built it

We used UGREEN's official UGOS Skill Creation Tool (uliya-skill-kit 0.7.3). Following the Uliya Skill Development Standard, FileWise contains no scripts. It delegates every step to UGOS expert agents:

  • file-agent, via file-workflow, ug-filesystem (ls, find, stat, mkdir, rename, cpmv with overwrite off) and ug-filemgr (tags)
  • document-agent, via ug-document (metadata, extract, qa)

The package passes the kit's checker with 0 errors and 0 warnings.

Challenges

  • Confirm first, by design. A Skill must get the user's approval before moving or renaming files. We turned that into a feature: a single plan review that the user approves once.
  • No background jobs. Skills run on request, so FileWise is an on-demand filer rather than a folder watcher.
  • Strict structure. The checker only allows SKILL.md and references/ at the top level, so the README lives in references/.

What we learned

Good Skills are about precise orchestration: each step uses the real output of the one before it, and every state (done, failed, cancelled, waiting for the user) is handled explicitly.

What's next

In Round 2 we'll test on a real iDX6011 Pro. We also plan to add reconcile to match invoices with payments, translate for documents in other languages, and duplicate detection.

Built With

  • document-agent
  • file-agent
  • markdown
  • ugos
  • ugreen-ai-nas
  • uliya-skill-kit
Share this project:

Updates

Submission history