Audits restaurants for seed-oil-free and organic options by reading websites, menus, and reviews with parallel agents. Produces a ranked HTML report with verdicts and reliability scores.
How this skill is triggered — by the user, by Claude, or both
Slash command
/find-ultra-quality-food:find-ultra-quality-food <explicit restaurant list> | "<category> in <place>"<explicit restaurant list> | "<category> in <place>"The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Find the places whose food is **ultra quality in the specific sense of how it is cooked and
Find the places whose food is ultra quality in the specific sense of how it is cooked and
sourced — seed-oil-free and/or organic — for a health-conscious diner who avoids industrial
seed oils and prefers organic. This is not a taste/authenticity audit (that's
food-review-review); it extracts two factual signals and presents them as a clean, ranked report.
For each outlet, answer two independent questions. Each gets a verdict of yes / no /
unknown and a reliability score (0–100) — how much to trust that verdict.
seed_oil_free — is there a way to eat here WITHOUT seed oil? yes if it fries/cooks
entirely in non-seed fats OR offers a clear seed-oil-free option a diner can choose (e.g. a
beef-dripping fryer alongside the vegetable-oil one — both count as yes, the distinction is
deliberately collapsed). no if it cooks in seed/"vegetable" oil with no seed-oil-free option.organic — are there organic options? yes if any organic dishes/ingredients are offered,
no if not.unknown means no evidence was found — it is the honest verdict, never a guess and never a
stand-in for no.
seed_oil_free: yes: beef dripping, beef tallow,
lard, duck/goose fat, butter, ghee/clarified butter, olive oil, coconut oil, avocado
oil, palm oil (animal fats or fruit/drupe oils).yes, but say so in the evidence ("peanut oil —
legume, not a seed oil").Reliability is how much to trust the verdict, NOT how good the outlet is. Set it from the number of sources, their recency (old sources are heavily discounted), and their type (official site/menu > article > review), and drop it when sources disagree:
unknown — nothing found.Do not invent reliability from generic priors ("chip shops often use dripping"). A regional
prior is not evidence; with no source for this outlet the verdict is unknown.
unknown. Never a default negative. Defaulting a not-found fact to "uses seed
oil" / "no organic" is a silent failure and is banned. Never flip a verdict on a hunch.unknown verdict MUST cite evidence — ≥1 {text, source, date, url?} item with a
real quote/paraphrase from a page you fetched, each tagged with its date (so recency can be
weighed). No citation ⇒ unknown.food-review-review.⚠️ LARGE SET: <N> outlets → <N> research agents, each doing several web fetches.
This will take a while and use significant tokens. Ctrl-C now to abort.
curl -sL "<url>" -o menu.pdf then
Read the PDF (or pdftotext menu.pdf -); for an image menu, curl it then Read for OCR. A
menu's frying-oil / "all our beef is organic" line is often the single best 100% source.food-review-review
uses). Only a light pass is needed: pull reviews and scan for oil/fat/organic mentions with
their dates (recency matters). If Apify isn't connected, rely on website/menu/articles + review
snippets from WebSearch.
claude mcp add --transport http apify https://mcp.apify.com --header "Authorization: Bearer apify_api_YOUR_TOKEN" (token from
https://console.apify.com/settings/integrations), then restart (claude --continue).$ARGUMENTS)call-actor with
compass/crawler-google-places, input
{ "searchStringsArray": ["restaurants <place>","takeaway <place>","fish and chips <place>", …per-cuisine…], "maxCrawledPlaces": 100, "language": "en", "countryCode": "gb" } —
then read the dataset (get-dataset-items, fields
title,categoryName,address,postalCode,city,website,menu,url,placeId). Keep the genuine food
outlets in the target locality (filter by city/postcode), drop non-food (barbers, shops) and
permanently-closed. If Apify isn't available, enumerate via WebSearch + a local directory and
de-duplicate by name.Record per outlet: clean name, area/town, and website URL if known. Print the resolved list and the HARD RULE 6 warning if > 60. Then proceed.
For each outlet the agent:
<name> <town>" → WebFetch the official site (about / "our oil" /
sustainability / allergen pages).Read /
pdftotext; image via Read for OCR). Look for the frying medium and "organic" sourcing lines."<name> <town>" (beef dripping OR "vegetable oil" OR "seed oil" OR organic)
and local-press / food-blog coverage.Then set each fact's verdict (yes/no/unknown) from the most recent, authoritative
evidence, plus a reliability per the scale, attaching dated evidence items. Nothing found for a
fact ⇒ unknown, reliability 0, empty evidence.
Use the Workflow tool. One agent per outlet, full strength (do not pass a cheaper model),
agentType: 'general-purpose' so it has WebSearch/WebFetch/Bash/Read (and MCP via ToolSearch).
Embed the outlet list as a literal array in the script (the args global has been unreliable), and
tell the agents today's date so they can weigh recency.
const OUTLETS = [ { name: "Mr Chips Diss", area: "Diss (IP22 4AB)", website: "…" }, /* …embed all… */ ];
const TODAY = "2026-06-22"; // pass the real current date
const RUBRIC = `…paste "The two facts" + "What counts as a seed oil" + "Reliability score" verbatim…`;
const EV = { type:'array', items:{ type:'object', required:['text','source','date'], properties:{
text:{type:'string'}, source:{enum:['website','menu','article','review']},
date:{type:'string'}, url:{type:'string'} } } };
const FACT = (verdicts) => ({ type:'object', required:['verdict','reliability','evidence'], properties:{
verdict:{enum:verdicts}, reliability:{type:'integer',minimum:0,maximum:100}, evidence:EV } });
const VERDICT_SCHEMA = { type:'object', required:['name','seed_oil_free','organic'], properties:{
name:{type:'string'}, area:{type:'string'}, website:{type:'string'},
seed_oil_free: FACT(['yes','no','unknown']),
organic: FACT(['yes','no','unknown']),
take:{type:'string'} } };
phase('Research');
const verdicts = await parallel(OUTLETS.map((o) => () =>
agent(`${RUBRIC}\n\nToday is ${TODAY}. Research this single outlet and return its verdict.\n` +
`Name: ${o.name}\nArea: ${o.area}\nKnown website: ${o.website || '(find it)'}\n` +
`Fetch the website, find+download+read the menu (OCR PDFs/images), search articles, light review pass. ` +
`Set each fact's verdict from the most recent/authoritative evidence; set reliability from number+recency+type of sources, dropping it on conflict. ` +
`Cite a dated quote+source for every non-"unknown" verdict. No evidence ⇒ verdict "unknown", reliability 0, evidence []. Never guess.`,
{ label: `research:${o.name}`.slice(0,60), phase:'Research', agentType:'general-purpose', effort:'high', schema:VERDICT_SCHEMA })));
return { restaurants: verdicts.filter(Boolean) };
combined.jsonTake the workflow's restaurants, add a meta block, and write combined.json matching the schema
documented at the top of scripts/build_report.py:
{ meta: {scope, date, sources, notes?}, restaurants: [ {name, area, website?, seed_oil_free, organic, take?} ] }.
Use today's date for meta.date. Optionally write a one-line factual take per outlet.
python3 <this-skill-dir>/scripts/build_report.py <combined.json> <out.html>
(<this-skill-dir> = the directory containing this SKILL.md.) Ranking rules (all in the generator):
seed_oil_free is the primary key; organic breaks ties. Within each fact the order is
yes → no → unknown, and within yes the most reliable outlet ranks first (so a
strongly-evidenced seed-oil-free option beats a single old review).yes
(e.g. one stale review) is visually obviously weak even though it's still a yes.unknown on BOTH facts are not ranked — they drop into a compressed "no published
evidence" table at the foot, keeping the ranked cards scannable.Publish with the Artifact tool (favicon a food emoji, e.g. 🍟/🥗/🫒). Give the user the URL plus
a tight summary: which places are seed-oil-free (and how reliably), which are confirmed seed-oil,
which have organic options, and how many came back unknown (and why — e.g. no website/menu online).
unknown is a feature, not a gap. A report full of honest unknowns for places with no web
presence is correct; quietly marking them "uses seed oil" would be a lie.build_report.py).unknown; never present an inferred verdict as if evidenced.npx claudepluginhub samthebest/dump --plugin find-ultra-quality-foodAudits and ranks restaurants by genuine food quality by reading every Google/TripAdvisor review via Apify, filtering non-food and unsophisticated-palate complaints, and producing a visual ranked HTML report.
Provides domain vocabulary, operating rules, and incumbent landscape for restaurant-tech products (online-ordering, reservations, loyalty, shift-scheduling). Essential for architects and PMs speccing food-service systems.
Maps local demand for restaurant dishes and cuisine angles using public search, AI answers, and social trends to prioritize content and promotions.