cfo
Skill2 starsChanged 9 months agoMITView on GitHub
Find restaurants and food delivery options near a location. Searches delivery apps for restaurants, cross-references Google Maps ratings, and recommends the best options. Learns food preferences over time.
8 other projects use a version of this.
Adopted by
Most recently taken up by
- 200iqlabs/shared-skillstheir own version, first seen Oct 31, 2026
- linggen/skillstheir own version, first seen Oct 22, 2026
- beelabstudio/aitheir own version, first seen Sep 20, 2026
- sundhar0304/founder-executive-teamtheir own version, first seen Aug 13, 2026
- vinitjhawar/opencounciltheir own version, first seen May 17, 2026
- pollow/c-suite-skillstheir own version, first seen Mar 3, 2026
Used with
Projects with it also use cpo and cmo.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
sahinSkillcpo
CPO Co-Pilot - product strategy, roadmap prioritization, competitive positioning, and product-market fit validation
Also in 3 projects that use this
sahinSkillcmo
CMO Co-Pilot - GTM strategy, growth frameworks, and marketing leadership (composite GTM leader voice)
Also in 3 projects that use this
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 8
- pollow/c-suite-skills★ 15same name
- lotosbin/claude-skills★ 14same name
- 200iqlabs/shared-skills★ 4same name
- linggen/skills★ 3same name
- sahin/claude-skills★ 1same name
- sundhar0304/founder-executive-team★ 1same name
- vinitjhawar/opencouncil★ 1same name
- beelabstudio/ai★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 9 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Browser MCP: must be available (Playwright MCP or similar browser automation)
- Very specific: line 31
Read ~/.claude/skills/cfo/references/preferences.md to check:
- Distinctive: line 46
Wait for page to reload with local restaurants
- Distinctive: line 47
Search for the dish/cuisine:
- Distinctive: line 51
Wait for results to load
- Very specific: line 62
Use browser_snapshot to read page content, more reliable than screenshots
- Distinctive: line 64
Look for rating in the snapshot text (usually like "4.3" near the restaurant name)
- Distinctive: line 81
Create a comparison table sorted by combined score:
- Distinctive: line 102
Ask if the user wants to:
- Distinctive: line 109
After the interaction, run the preferences update:
- Distinctive: line 131
Keep the final recommendation concise, a table + 1-2 line recommendation.
- Very specific: line 145
If sending via messaging (cfo.sh), strip markdown formatting and use plain text.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Chief Food Officer
You find the best food delivery options by searching delivery apps and cross-referencing Google Maps ratings.
Prerequisites
- Browser MCP must be available (Playwright MCP or similar browser automation)
- Browser can access Google Maps
- Delivery platform accessible without login for browsing
Workflow
Step 1: Parse the Request
Extract from the user's query:
- Dish/cuisine (e.g., "momos", "pizza", "biryani", "ramen")
- Location (from user's preferences or query)
- Party size (default: 2)
- Budget (optional)
- Dietary preferences (default: no preference)
Step 2: Read Preferences
Read ~/.claude/skills/cfo/references/preferences.md to check:
- Known favorite restaurants
- Rating thresholds
- Cuisine preferences
- Usual budget range
Step 3: Search Delivery App
The default platform is Swiggy (swiggy.com). Adapt these steps for your platform.
- Navigate to the delivery platform
- Set delivery location:
- Click the location/address field
- Type the location
- Select the first autocomplete suggestion
- Wait for page to reload with local restaurants
- Search for the dish/cuisine:
- Click the search bar
- Type the dish/cuisine name
- Press Enter or click search
- Wait for results to load
- Switch to "Restaurants" tab if available (not "Dishes")
- Collect top 8-10 results:
- Restaurant name
- Rating (out of 5)
- Delivery time (minutes)
- Price for two
- Cuisine tags
- Any offers/discounts visible
Tips for scraping delivery apps:
- Use
browser_snapshotto read page content, more reliable than screenshots - Delivery apps load restaurants dynamically; scroll down if needed using
browser_evaluatewithwindow.scrollBy(0, 800) - Look for rating in the snapshot text (usually like "4.3" near the restaurant name)
- Price for two is usually shown as "₹300 for two" or similar
Step 4: Cross-reference Google Maps
For the top 5 restaurants (by app rating):
- Open a new tab:
browser_tabswith action "new" - Navigate to
https://www.google.com/maps/search/<restaurant name> <location> - Take a snapshot to find:
- Google Maps rating (out of 5)
- Number of reviews
- Any notable review highlights
- Go back to the delivery app tab
Step 5: Rank & Recommend
Create a comparison table sorted by combined score:
- Combined score = (App rating x 0.4) + (Google Maps rating x 0.4) + (review volume score x 0.2)
- Review volume score: 4.5+ if >1000 reviews, 4.0 if >500, 3.5 if >200, 3.0 otherwise
Present the table:
| # | Restaurant | Cuisine | App | Google (reviews) | Delivery | Price/2 | Score |
|---|-----------|---------|------|-----------------|----------|---------|-------|
| 1 | Name | Type | 4.5 | 4.4 (1.2k) | 30 min | ₹400 | 4.48 |Highlight the top pick with a brief reason (e.g., "Best overall rating + fast delivery").
Apply preference adjustments:
- Boost restaurants matching known favorites
- Boost restaurants above user's rating threshold
- Flag if below user's usual budget or rating preferences
Step 6: Offer Next Steps
Ask if the user wants to:
- Open the menu on the delivery app (navigate to the restaurant page)
- See more options (scroll for more results)
- Try a different cuisine/location
Step 7: Update Preferences
After the interaction, run the preferences update:
python3 ~/.claude/skills/cfo/scripts/update_prefs.py \
--cuisine "<cuisine searched>" \
--location "<location>" \
--chosen "<restaurant chosen, if any>" \
--party-size <N> \
--budget "<budget range>"This appends/updates entries in references/preferences.md.
Error Handling
- App not loading: Try refreshing. If still broken, fall back to Google Maps search only.
- Location not setting: Try typing a more specific address.
- No results: Broaden the search (e.g., "Chinese" instead of "Szechuan dumplings").
- Google Maps rate limit: Skip cross-referencing, present delivery app results only with a note.
Output Format
Keep the final recommendation concise, a table + 1-2 line recommendation. Example:
Top picks for ramen near Shibuya:
| # | Restaurant | App | Google (reviews) | Time | Price/2 |
|---|----------------|------|-----------------|-------|----------|
| 1 | Fuunji | 4.6 | 4.5 (2.1k) | 20min | ¥1,800 |
| 2 | Afuri | 4.4 | 4.3 (1.8k) | 25min | ¥1,600 |
| 3 | Ichiran | 4.3 | 4.1 (3.2k) | 15min | ¥1,400 |
Top pick: Fuunji, highest combined rating, reasonable delivery time.If sending via messaging (cfo.sh), strip markdown formatting and use plain text.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

