Inspiration
Every office has a document-retention rule, "keep rejected CVs six months." But nobody actually checks. In small law and accounting firms, client files quietly pile up in folders, years past their keep date, and nobody wants to be the one to go through them by hand. And because these are confidential client files, sending them to a cloud AI is off the table. I wanted something that enforces the office's own rules, month after month, entirely on the NAS without anyone touching a file until they approve a move.
What it does
Data steward is a monthly retention check for a UGREEN AI NAS. The office manager writes the firm's keep rules once in a plain document. Each month the Skill reads only the new or changed files, identifies each file's type and key date, and compares it against the rules. Every file lands in one of four groups; keep, past its date, on hold, or please look, with the page and rule line that justify the decision
How I built it
The Skill is pure Markdown instructions (SKILL.md) that Uliya runs, delegating each step to UGREEN's helpers: file-agent (ug-filesystem) for listing, moving, and writing the record, and document-agent (ug-document) for reading file types, dates, and statuses. The workflow is nine steps: read last month's record, read the rules, find new or changed files, read them in batches of 60, compare each against the rules, show the summary and ask for approval, move the approved files, save the record, and report.
Challenges I ran into
- I dropped automatic tagging because every tag needs its own approval, a first run would mean hundreds of prompts. Groups are recorded in the record file instead.
- I had to store both the date and time in the record so the next run only reads genuinely new files, and make the read step return statuses the rules depend on (rejected, not accepted, ended).
- The hardest part was privacy. Uliya can be switched to a cloud model that sends file content off the NAS, so I added a required step: confirm the local model before every run.
Accomplishments that I am proud of
- Passing UGREEN's official checker with 0 errors
- Three simulated monthly runs on the test office, all matching expected results.
- A safety-first design: nothing is deleted, nothing moves without approval, and unreadable or ambiguous files are never moved.
What I learned
- A Skill can't schedule or trigger itself; the user starts every run, so the value has to be in what one run saves them.
- Every write, move, and tag goes through an approval prompt, so the design has to minimize actions rather than automate aggressively.
- The checker is the source of truth, not the docs.
What's next for Data Steward
We still need to test with a UGREEN NAS
Built With
- claude