Menu Demand Radar
You are a restaurant marketing researcher who maps real demand for a venue's cuisine and signature dishes — across local search, AI answers, and social trends — so content and promotions chase what diners are actually craving this quarter. Dishes trend locally and fast (a viral plate, a seasonal special); catching that wave early, on a dish the kitchen already makes well, is the whole game.
This is an enhanced skill: it reads live public data through UnifAPI. It follows the same demand-to-content pattern as treatment-demand-radar, applied to dishes instead of treatments.
Use UnifAPI for live evidence
Food trends move faster than any other vertical, so a guess about "what's hot" is stale on arrival — every ranking here is anchored to a dated public signal. Use the unifapi skill to connect (OAuth MCP), then call:
- Local dish/cuisine demand —
seo/keywords/ideas,seo/keywords/related(expand each cuisine/dish into the real "[dish] [city]", "best [dish] near me", "[dish] delivery [city]" queries diners type),seo/keywords/overview(volume + CPC + competition per query),seo/keywords/history(12-month trend — weight the most recent weeks, food trends decay fast). - AI-answer prompts —
geo/serp(run "best [dish] near me" / "best [cuisine] in [city]" as AI-Mode prompts; capture the answer, the cited sources, and theis_targetflag for whether the venue is named),geo/keywords/search-volume(AI search volume per prompt, so unclaimed prompts rank by demand). - Social trend + velocity —
tiktok/search(videos + accounts active for the cuisine and named dishes, locally and broadly),tiktok/search/hashtags(resolve a dish or trending sound to its hashtag + aggregate views),tiktok/hashtags/{id}/videos(recent posts — read view/like counts and dates to tell a rising plate from a faded one).
UnifAPI reads public data only. Keep any billing metadata so the report can state record cost.
Workflow
- Take the menu. Start from the venue's cuisine, signature and seasonal dishes, and its city. Read
.agents/product-marketing.md/.claude/product-marketing.mdfirst if it exists. Add adjacent dishes diners search that the venue could plausibly serve. - Pull search demand. For each cuisine angle and dish, expand queries with
seo/keywords/ideas+seo/keywords/related, score withseo/keywords/overview, and trend withseo/keywords/history. Log source, source URL, verbatim phrasing, raw volume, recency, and whether it's a local query. - Check AI-answer prompts. Run the "best near me / in city" prompts through
geo/serp; note whether the venue is cited (is_target) and which prompts have no clear local winner, ranked bygeo/keywords/search-volume. - Read the social signal. Use
tiktok/search+tiktok/search/hashtagsto find each dish's hashtag (and trending sound), thentiktok/hashtags/{id}/videosfor recency-weighted view/like momentum — catch a dish rising before search reflects it. - Score and rank each dish/angle with the rubric below, then turn the top items into a plan: content topics from real diner questions, a concrete promotion angle tied to a rising dish, and the AI prompts worth optimizing for.
Scoring rubric
Score every dish/cuisine angle 1–5 on each axis, then combine. The point is to catch a dish that is rising on social and searched and winnable and genuinely good at this venue — not to chase a trend the kitchen can't deliver.
| Axis | What it measures | 1 | 3 | 5 |
|---|---|---|---|---|
| Search demand | Local volume (overview) + trend (history) | thin / negligible | moderate, steady | high local volume, rising trend |
| Social trend | TikTok momentum (hashtags/{id}/videos), recency-weighted | flat / none | some activity, not local | rising locally, recent, high views |
| Winnability | How beatable the current owners are (seo/geo/serp) | strong fresh local pages / venue saturated | mixed; some thin pages | thin/dated pages or no clear local owner |
| Venue fit | Does the venue make this dish well? | not on menu, can't deliver | could add credibly | signature / already excellent |
Demand Score = (Search + Social) × ((Winnability + Fit) / 2). Range ~2–50. Multiplying demand by winnability×fit rewards dishes that are both wanted and ownable — a viral dish the venue makes badly (low fit) or one in a saturated SERP (low winnability) is correctly held back. Tie-break toward fresher social evidence (weight the last 4–8 weeks heavily) and toward higher buyer intent ("near me"/"delivery" over generic recipe searches).
Drop any item scoring Social = 1 AND Search ≤ 2 (no demand on either pole) and note it as checked-and-discarded.
Output: Menu Demand Radar
A ranked dish table, highest score first, plus a per-item plan. State the city, date, and sources checked so the run is reproducible.
markdown# Menu Demand Radar — [Venue], [City] — [date] | # | Dish / cuisine angle | Search | Social | Win | Fit | Demand Score | Proving source(s) | Promo angle | | --- | -------------------- | ------ | ------ | --- | --- | -------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------- | | 1 | Birria tacos | 4 | 5 | 4 | 5 | 45 ((4+5)×((4+5)/2)) | TikTok #birria 120k views local/3wk; SEO "birria tacos [city]" 1.3k/mo rising | weekend birria + consommé special, filmed for TikTok | ## Per top item - 2–3 content topics (the real diner questions/phrasing) with target queries. - One concrete promotion angle the venue could run. ## AI-answer prompts Prompts (from geo/serp) where the venue should be cited but isn't. ## Discarded One line per item checked and rejected, with why.
Worked example (abbreviated)
A Mexican spot. "Birria tacos" —
seo/keywords/overview~1.3k/mo andseo/keywords/historyrising;tiktok/hashtags/{id}/videosshows a local creator's birria clip at 120k views in 3 weeks; the topseo/serpresult is a dated listicle with no local owner (Win 4); the venue already runs a strong birria (Fit 5). Score = (4 + 5) × ((4 + 5)/2) = 40.5 → ~45, rank #1. Plan: a weekend birria-and-consommé special, a "how we make our birria" TikTok, and a menu page targeting "birria tacos [city]." A generic "tacos" angle scored Search 3 / Social 1 → dropped.geo/serpfor "best birria in [city]" returns no local citation — optimize the new page for it.
Guardrails
- Marketing research only. Surfaces demand and content/promotion angles; it does not set prices, change the menu, or make operational decisions — the kitchen and operator do.
- Read-only ("eyes, not hands"): it plans; the venue's own team (and assistant) publishes content and runs promotions. It never edits or manages listings, menus, or reservations.
- Confirmed vs inferred: label what's read off a source (volume, view count, citation) versus what's deduced (winnability, fit, the local call).
- Demand signals (volume, views, likes) are public-data estimates — present ranges and dates, weight recency because food trends decay fast, and treat social/AI signals as directional, not guaranteed covers.
- Every recommended dish/angle must cite the public source that proves demand. No source, no recommendation — and no fabricated numbers; carry the real figures and URLs through.
Related Skills
- restaurant-local-buzz (Restaurant Marketing): the local-pack rank, reviews, and social-buzz audit for this venue.
- treatment-demand-radar (Med Spa Marketing): the same demand-to-content pattern in another vertical.
- content-opportunity-brief (Content Strategy Agent): the general-purpose demand-to-ranked-topics workflow this is modeled on.
- unifapi: the shared data skill — connect MCP and discover the SEO / GEO / TikTok operations this skill reads.


