agentleFS
buildingopenbuildingopen/opencfo/skill/SKILL.md

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

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.
  • sahinSkill

    cpo

    CPO Co-Pilot - product strategy, roadmap prioritization, competitive positioning, and product-market fit validation

    Also in 3 projects that use this

  • sahinSkill

    cmo

    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

    1. pollow/c-suite-skills★ 15same name
    2. lotosbin/claude-skills★ 14same name
    3. 200iqlabs/shared-skills★ 4same name
    4. linggen/skills★ 3same name
    5. sahin/claude-skills★ 1same name
    6. sundhar0304/founder-executive-team★ 1same name
    7. vinitjhawar/opencouncil★ 1same name
    8. 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
  1. Distinctive:

    Browser MCP: must be available (Playwright MCP or similar browser automation)

    line 14
  2. Very specific:

    Read ~/.claude/skills/cfo/references/preferences.md to check:

    line 31
  3. Distinctive:

    Wait for page to reload with local restaurants

    line 46
  4. Distinctive:

    Search for the dish/cuisine:

    line 47
  5. Distinctive:

    Wait for results to load

    line 51
  6. Very specific:

    Use browser_snapshot to read page content, more reliable than screenshots

    line 62
  7. Distinctive:

    Look for rating in the snapshot text (usually like "4.3" near the restaurant name)

    line 64
  8. Distinctive:

    Create a comparison table sorted by combined score:

    line 81
  9. Distinctive:

    Ask if the user wants to:

    line 102
  10. Distinctive:

    After the interaction, run the preferences update:

    line 109
  11. Distinctive:

    Keep the final recommendation concise, a table + 1-2 line recommendation.

    line 131
  12. Very specific:

    If sending via messaging (cfo.sh), strip markdown formatting and use plain text.

    line 145

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.

  1. Navigate to the delivery platform
  2. Set delivery location:
    • Click the location/address field
    • Type the location
    • Select the first autocomplete suggestion
    • Wait for page to reload with local restaurants
  3. Search for the dish/cuisine:
    • Click the search bar
    • Type the dish/cuisine name
    • Press Enter or click search
    • Wait for results to load
  4. Switch to "Restaurants" tab if available (not "Dishes")
  5. 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_snapshot to read page content, more reliable than screenshots
  • Delivery apps load restaurants dynamically; scroll down if needed using browser_evaluate with window.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):

  1. Open a new tab: browser_tabs with action "new"
  2. Navigate to https://www.google.com/maps/search/<restaurant name> <location>
  3. Take a snapshot to find:
    • Google Maps rating (out of 5)
    • Number of reviews
    • Any notable review highlights
  4. 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:

  1. Open the menu on the delivery app (navigate to the restaurant page)
  2. See more options (scroll for more results)
  3. 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.