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
