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:
- Lists the files directly inside that folder.
- Reads each one and classifies it as a receipt, invoice, ID, warranty, bank statement or other.
- Extracts the vendor, date and amount.
- Proposes a clear name such as
2026-11-03_Shoprite_12450NGN.pdfand a Year/Type destination folder. - 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, viafile-workflow,ug-filesystem(ls, find, stat, mkdir, rename, cpmv with overwrite off) andug-filemgr(tags)document-agent, viaug-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.mdandreferences/at the top level, so the README lives inreferences/.
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
Log in or sign up for Devpost to join the conversation.