yar-cafe-menu-flow
Purpose
This skill lets the assistant act as a menu concierge for YAR (Одеса, вул. Шишкіна, 48/1). It is built for the flow: user describes preferences in natural language -> assistant parses the full menu -> assistant returns suitable items with photo links and descriptions, so the user can choose without visiting the website.
What this skill does
- Fetches all YAR sections from one URL (
menu,bar,wine-list,banketne-menyu). - Normalizes menu data (name, price, category, description, section, photo URL).
- Supports keyword search and free-text preference-based suggestions.
- Generates share-ready cards (
photo link + description + price).
Core commands
1) Dump full menu data
python3 scripts/yar_menu_flow.py dump --out yar_dump.json2) Search by query
python3 scripts/yar_menu_flow.py search --input yar_dump.json --query "салат"3) Suggest from free-form preferences (AI-style flow)
python3 scripts/yar_menu_flow.py suggest \
--input yar_dump.json \
--preference-text "Хочу щось ситне, без алкоголю, до 700 грн" \
--no-alcohol \
--budget 700Use --with-drink auto|yes|no to control whether drink pairing is included.
4) Build photo-link cards
python3 scripts/yar_menu_flow.py cards \
--input yar_dump.json \
--query "десерт" \
--require-photoDelivery rule (important)
When showing menu visuals in chat, prefer hyperlinks to menu photos:
- Use
photo_markdown(orphoto_html) from card output. - Send one item per message for readability.
- Use direct media attachment only when hyperlink format is not appropriate.
Resources
scripts/yar_menu_flow.py— deterministic parser/search/suggest/cards CLI.references/preferences_profile_example.md— generic preference/filter template.