grubhub — Claude Code skill: restaurant search
Find nearby restaurants, browse menus and prices, and check delivery or pickup estimates. Useful when comparing places before ordering.
npx skills add imoonkey/openweb --skill grubhub -a claude-codeWhat grubhub does
Search by latitude and longitude to get nearby restaurants, including names, ratings, fees and other details. Add a search term to narrow the results by a dish or cuisine. Once you have a restaurantId, you can retrieve the menu or check opening status, the order minimum, and delivery or pickup estimates.
Responses use camelCase fields. Prices are in USD, and time estimates are returned as minute ranges, so delivery fees and order minimums can be compared as separate amounts. Restaurant search requires coordinates; menu and delivery lookups require the restaurant’s restaurantId. Search results support pagination with pageNum and pageSize.
What it helps with
- find restaurants near given coordinates
- narrow restaurant results by dish or cuisine
- view menu categories and item prices
- compare delivery fees and order minimums
- check delivery and pickup time ranges
Example prompts for the agent
- Find pizza places near latitude 40.7484 and longitude -73.9857, then compare delivery fees.
- Show the menu and item prices for restaurant
64436. - Check opening status, order minimum, and delivery estimates for restaurant
64436.
How to install grubhub
1Skills CLI (Vercel)
npx skills add imoonkey/openweb --skill grubhub -a claude-code2Manually: put the files in place
~/.claude/skills/grubhub/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/grubhub/
1Skills CLI (Vercel)
npx skills add imoonkey/openweb --skill grubhub -a codex2Manually: put the files in place
.agents/skills/grubhub/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add imoonkey/openweb --skill grubhub -a cursor2Manually: put the files in place
.cursor/skills/grubhub/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install imoonkey/openweb grubhub2Manually: put the files in place
.github/skills/grubhub/SKILL.md1Skills CLI (Vercel)
npx skills add imoonkey/openweb --skill grubhub -a gemini-cli2Platform CLI
gemini skills install https://github.com/imoonkey/openweb --path src/sites/grubhubManually: put the files in place
.devin/skills/grubhub/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add imoonkey/openweb --skill grubhub -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about grubhub
How do I install grubhub in Claude Code?
Run npx skills add imoonkey/openweb --skill grubhub -a claude-code. The skill file is at ~/.claude/skills/grubhub/SKILL.md.
What does grubhub do?
It searches for restaurants by location, retrieves menus with prices, and checks delivery or pickup details.
What do I need to retrieve a restaurant menu?
Search using latitude and longitude first, then pass the restaurant’s restaurantId to the menu lookup.
Source text
SKILL.md · MIT
# Grubhub
## Overview
Grubhub is a food delivery platform (archetype: Food Delivery). Search restaurants, browse menus with prices, and check delivery time/fee estimates.
Responses are **adapter-trimmed** (camelCase, prices in USD dollars). Fields are clean and ready to use.
## Workflows
### Find restaurants and browse menu
1. `searchRestaurants(latitude, longitude, searchTerm)` → `restaurants[]` with `restaurantId`, `name`, ratings, fees
2. `getMenu(restaurantId)` → `categories[].items[]` with names and prices
### Check delivery details
1. `searchRestaurants(latitude, longitude)` → `restaurants[].restaurantId`
2. `getDeliveryEstimate(restaurantId)` → open/hours, delivery fee, pickup estimate, minimum order
## Operations
| Operation | Intent | Key Input | Top-level Shape | Notes |
|-----------|--------|-----------|-----------------|-------|
| searchRestaurants | find restaurants near a location | latitude, longitude, searchTerm? | `{ totalResults, restaurants[] }` | paginated via `pageNum`/`pageSize` |
| getMenu | browse restaurant menu | restaurantId ← searchRestaurants | `{ restaurantName, categories[] }` | items in `categories[].items[]` |
| getDeliveryEstimate | check delivery time and fees | restaurantId ← searchRestaurants | `{ open, openDelivery, deliveryFee, orderMinimum, … }` | money in USD; ranges in minutes |
## Field Reference
### searchRestaurants — `restaurants[]`
- `restaurantId` — unique ID (use with getMenu and getDeliveryEstimate)
- `name` — restaurant name
- `rating` — average rating (0-5 scale, null if too few)
- `ratingCount` — number of ratings
- `priceRating` — price tier (1-4, dollar signs)
- `cuisines` — array of cuisine strings
- `logo` — logo URL (nullable)
- `deliveryFee` — delivery fee in USD
- `deliveryEstimateMin` / `deliveryEstimateMax` — delivery time range in minutes (nullable)
- `address` — street address (nullable)
- `distance` — miles from delivery location (nullable)
- `totalResults` — total matching restaurants (top level)
### getMenu — `categories[]`
- `restaurantName` — restaurant name (top level)
- `categories[].name` — category name (e.g. "Appetizers", "Pizza")
- `categories[].items[].itemId` — menu item ID
- `categories[].items[].name` — item name
- `categories[].items[].description` — item description (nullable)
- `categories[].items[].price` — price in USD
- `categories[].items[].popular` — popular flag
### getDeliveryEstimate
- `restaurantId` — restaurant ID
- `open` / `openDelivery` / `openPickup` — availability flags
- `deliveryEstimateMin` / `deliveryEstimateMax` — delivery time range in minutes
- `pickupEstimateMin` / `pickupEstimateMax` — pickup time range in minutes (nullable)
- `deliveryFee` — delivery fee in USD
- `orderMinimum` — minimum order in USD
- `salesTax` — sales tax rate (e.g. 8.875 for 8.875%)
## Quick Start
```bash
# Search for pizza near Midtown Manhattan
openweb grubhub exec searchRestaurants '{"latitude": 40.7484, "longitude": -73.9857, "searchTerm": "pizza"}'
# Get a restaurant's menu
openweb grubhub exec getMenu '{"restaurantId": "64436"}'
# Check delivery estimate
openweb grubhub exec getDeliveryEstimate '{"restaurantId": "64436"}'
```
© imoonkey · MIT · imoonkey/openweb