Inspiration

Hosting at home means the night before is spent hunting: songs in one app, films in another, last year's photos somewhere else, a handwritten recipe card to read and scale for twelve. If all of it already lives on a NAS, the host should be able to describe the evening once and get a plan back. That is the idea behind Mehfil.

What it does

You tell Mehfil the occasion, the guest count, the music feel, whether you want a film, last year's date of the same gathering and the dishes. It gathers:

  • I. Music: a set of real tracks from your library by genre, era or singer.
  • II. Film: three to five unwatched films; it checks the chosen film for a subtitle track and finds one only if it is missing.
  • III. Memories: last year's photos from the date you give, collected into a new album.
  • IV. Table: ingredients from your recipe files and photographed recipe cards, scaled for your guests and marked approximate.
  • V. The plan: one preview built only from real results.

You approve the plan once. The NAS then asks for up to three confirmations, one per write: subtitle download, album, plan file. The plan is saved and read back, and every part reports its outcome, including "none found".

How I built it

Mehfil is a Markdown Skill built with the UGREEN Uliya Skill Kit 0.7.3. SKILL.md delegates thirteen steps to five expert agents (media, file, photo, document, knowledge). I checked every step against the kit's capability catalog, kept the four branches independent, and wrote a failure catalogue, an approvals and privacy file, a test plan, install and versioning notes and a changelog as linked references. The package passes the kit's static checker with 0 errors and 0 warnings. The Hark AI assistant helped draft and statically check the files; I reviewed and edited them.

Challenges I ran into

  • The catalog has no action to add photos to an existing album, so the album is created with the found items in one write.
  • Only search-picture supports a date range for photos.
  • The music app cannot save playlists, so the set lives in the plan.
  • Eid moves every year, so Mehfil asks for last year's date instead of working it out.
  • Approval batching is not documented, so I designed for one confirmation per write.

Accomplishments that I'm proud of

  • One request runs across five agents, and an empty branch never blocks the others.
  • No step writes anything before the host has seen the plan.
  • No face or person search is used anywhere.

What I learned

Writing for an orchestrator is different from writing code. Each instruction must stand on its own, name its empty-result behaviour, and pass on only real results. Being honest about what the platform cannot do made the design simpler.

What's next

If selected as a finalist: build an openly licensed test library, run the two core tests and the edge case on the NAS, confirm watch-status values, playback device and OCR quality, then tighten the instructions based on real expert outputs.

Built With

  • agentic-ai
  • ai-agents
  • automation
  • home-media
  • knowledge-base
  • lifehacks
  • llm
  • local-first
  • media-library
  • multi-agent
  • music
  • nas
  • ocr
  • on-device-ai
  • orchestration
  • photos
  • privacy
  • productivity
  • recipes
  • self-hosted
  • skills
  • subtitles
  • ugreen
  • uliya-skill
  • video
Share this project:

Updates

Submission history