Inspiration

Many families have a box of recipe cards or a notebook that only one person can still read. Often someone photographed the pages once, and the photos now sit in a backup among thousands of others. Typing them up rarely happens, generic OCR mangles handwriting, and relatives abroad may not read the original language.

What it does

Family Recipe Box is a Skill for UGREEN AI NAS. You tell it where the recipe photos are ("my Grandma album", "the photos from last August") and where to save the notes. It:

  • finds the photos that show a recipe, using photo search with OCR filters;
  • reads each one with the NAS vision model and OCR, keeping the cook's exact words, quantities and units;
  • marks every word it cannot read as [unreadable] instead of guessing;
  • shows you a review list so the family can fill in gaps, drop shopping lists and merge recipes that run over two pages;
  • optionally translates each recipe, keeping the original next to the translation;
  • optionally transcribes voice memos ("she always added a pinch of cinnamon") and attaches them to the right recipe;
  • saves one Markdown note per recipe plus an index, and creates an album of the original photos;
  • later answers questions like "how long does the walnut cake bake?" using only the saved notes, and says which note the answer came from.

Nothing is deleted, moved or overwritten, and every change waits for your approval.

How we built it

The Skill is pure orchestration, written to the Uliya Skill Development Standard: one SKILL.md and five Markdown references, no scripts. Every step delegates to a registered expert with a self-contained instruction:

  • photo-agent: search-picture, search-screen, vision-vlm, vision-ocr, create-album
  • document-agent: translate, qa
  • knowledge-agent: audio-transcription, save-text
  • file-agent: find, mkdir

Each step passes only the real results of the step before it (photo paths, identities, saved file paths), and all five delegation states (completed, failed, cancelled, waiting_user, waiting_approval) are handled. We checked every capability against the kit's catalog and ran the kit's static checker until it reported no errors and no warnings.

Challenges we ran into

Handwriting is the hard part. The temptation is to let the model produce a clean recipe, but a "corrected" family recipe is a wrong one. We designed the workflow around faithfulness instead: explicit [unreadable] markers, a confidence level per recipe, and a review step before anything is saved.

Accomplishments that we're proud of

A complete flow from a messy photo library to a family recipe book, with the originals preserved, translations alongside, and answers that always cite their source.

What we learned

The Uliya expert model rewards being explicit: fixed scopes, empty-result behaviour and approval boundaries make the Skill predictable for the user.

What's next

Test it on the NAS with a set of synthetic handwritten cards, tune the review list on real handwriting, and add a printable cookbook layout.

AI tools disclosure

Claude (Anthropic), used through Claude Code, helped draft and revise SKILL.md, the references and the proposal, checked them against the capability catalog, and ran the kit's static checker. AI-assisted, human-directed.

Built With

Share this project:

Updates

Submission history