Inspiration

Freelancers and small studios struggle to know whether they can publicly show a client's project, because the agreement, approval emails and drafts sit in different NAS folders. An approval may cover only an older draft or private use. My own case-study drafts carry "Blocks publishing" checklists with exactly these questions: may I name the client, is there an NDA, does the approval cover this version.

What it does

Reviews a client case study against its agreement and approvals on the NAS before publishing, identifies open questions and drafts the client follow-up.

A UGREEN NAS skill that reads the case-study files and records, checks every listed client name against the contract and approvals, and shows what is already covered and what is restricted, conflicting or still needs the client's confirmation.

The user names the draft, the client's names, the channel and the records. The skill shows each file's role and asks before reading: local model, test files or allowed cloud. Then it shows the report and a copy-ready client request.

Unlike conventional AI that summarizes documents, it applies strict rules: an approval counts only if it names this file and channel, comes from the client and was sent after the last edit. So an approval for private presentations does not cover a public website.

How I built it

  • A Uliya Skill written against UGREEN's uliya-skill-kit 0.7.7 and its capability catalog 2.2.0.
  • NAS experts: file-agent (ug-filesystem ls, stat), document-agent (ug-document qa, metadata), photo-agent (ug-photo vision-ocr on screenshots the user attaches or pastes).
  • Read-only: nothing is saved, sent or changed on the NAS; the report and request are shown in the conversation.
  • Tested in labelled simulations with synthetic files: a smaller model plays the NAS assistant with scripted expert replies, and separate graders check each run against expected outcomes written before the run.

Challenges I ran into

  • Approvals that look valid but are not: written for an older draft, sent by the wrong person, or limited to private use. Each needed its own rule and its own test case.
  • Making sure the Skill never gives a verdict ("cleared", "safe") and never quotes something the files did not say.
  • Confidential files and AI models: the Skill reads nothing until the user says the model is local, the files are test copies, or a cloud model is allowed.

Accomplishments I'm proud of

  • UGREEN's checker reports no errors.
  • In the final simulation rounds: no malformed command, no write and no wrongly counted approval.
  • The example report shows the core catch: an approval for private presentations does not cover a public portfolio website.

What I learned

Blind graders and test cases written by someone else found failures my own tests missed. Every fix needed a new test round, not just a re-read.

What's next for case-study-reviewer

Round 2 on a real UGREEN NAS: how well the experts find clauses and read screenshot text, approvals that exist only as images, and saving the report on the NAS once writing is safe.

Limits

Only the client names you list are checked; logos, faces and video are not. Evidence, not legal advice: it never says a case study is cleared. Nothing has run on a NAS yet.

AI use

SKILL.md, the references and the technical proposal answers were drafted with Claude Code and reviewed by me. The project name and the first five proposal answers (reused on this page) were written by me and edited with Claude Code for grammar, length, accuracy and formatting; the other sections of this page were drafted with Claude Code from the proposal and package and reviewed by me. OpenAI Codex was used as an independent reviewer. Full details are in the package disclosures. All test material is synthetic.

Built With

Share this project:

Updates

Submission history