agentsclimarketplace

Restaurant search

Skill jackchuka/skills/restaurant-search

Search for Japanese restaurants using the `hpp` CLI (HotPepper Gourmet API). Use when the user wants to find a restaurant, plan a dinner, search for izakayas, or book a group meal in Japan. Triggers on requests like "find a restaurant near Shibuya", "search for izakayas in 新宿", "restaurant for 10 people in 浜松町", "dinner spot near Tokyo station".From its SKILL.md

Install
npx -y skills add jackchuka/skills --skill restaurant-search

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

6.4 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Restaurant Search

Find Japanese restaurants using the hpp CLI (HotPepper Gourmet API). https://github.com/jackchuka/hpp

Prerequisites

  • hpp CLI installed and HOTPEPPER_API_KEY env var set

Workflow

1. Parse the request

Extract from the user's request:

  • Location: Station name, area name, or coordinates
  • Party size: Number of people (maps to --party-capacity)
  • Day/time: Determines which restaurants are open (check open/close fields)
  • Genre preference: e.g., izakaya, Chinese, Italian (maps to --genre)
  • Budget: Price range (maps to --budget)
  • Features: Private rooms (--private-room), non-smoking (--non-smoking), WiFi (--wifi), free drink (--free-drink), etc.
  • Keywords: Free text like "ramen", "sushi" (maps to --keyword)

2. Resolve the area code

The API requires area codes, not free-text location names. Resolve the location:

hpp area small --keyword "<location-name>"

This returns small area codes (e.g., X085 for 浜松町) along with parent middle/large area codes.

If no small area matches, try middle area:

hpp area middle --keyword "<location-name>"

If the user provides coordinates (lat/lng), skip area lookup and use --lat, --lng, --range instead.

3. Resolve genre codes (if needed)

If the user requests a specific cuisine type:

hpp genre

Common genre codes:

CodeGenre
G001居酒屋
G002ダイニングバー・バル
G003創作料理
G004和食
G005洋食
G006イタリアン・フレンチ
G007中華
G008焼肉・ホルモン
G009アジア・エスニック
G010各国料理
G011カラオケ・パーティ
G012バー・カクテル
G013ラーメン
G014カフェ・スイーツ
G016お好み焼き・もんじゃ
G017韓国料理

If unsure, run hpp genre to get the full list.

4. Resolve budget codes (if needed)

If the user specifies a budget:

hpp budget

Common budget codes:

CodeRange
B001~1500円
B0022001~3000円
B0033001~4000円
B0084001~5000円
B0045001~7000円
B0057001~10000円
B00610001~15000円
B01215001~20000円
B01320001~30000円
B01430001円~

5. Search restaurants

Build the hpp search command with resolved codes and flags:

hpp search --small-area <code> --party-capacity <N> --count 10

Key flags to apply based on user needs:

NeedFlag
Party size--party-capacity <N>
Genre--genre <code>
Budget--budget <code>
Private room--private-room
Non-smoking--non-smoking
WiFi--wifi
All-you-can-drink--free-drink
All-you-can-eat--free-food
English menu--english
Card payment--card
Late night (after 11pm)--midnight
Lunch--lunch
Keyword--keyword "<text>"
Coordinates--lat <lat> --lng <lng> --range <1-5>

Range values for coordinate search: 1=300m, 2=500m, 3=1km, 4=2km, 5=3km.

Always use JSON output (default) for parsing, then present results as a table.

6. Present results

Display results as a markdown table with these columns:

ColumnSource
#Row number
Restaurantname
Genregenre.name
Budgetbudget.average
Accessaccess (summarize to station + walk time)
Private Roomprivate_room (yes/no/semi)
Hoursopen (show relevant day only)
Linkurls.pc (as clickable markdown link)

After the table, add brief recommendations highlighting the best options for the user's specific needs (e.g., closest to station, best for groups, has private rooms).

7. Refine (if requested)

If the user wants to narrow down, add more flags and re-search. Common refinements:

  • "with private rooms" → add --private-room
  • "under 4000 yen" → add --budget B001,B002,B003
  • "non-smoking" → add --non-smoking
  • "show me more" → increase --count or use --start for pagination

Other Useful Commands

  • hpp shop --name "<name>" — Look up a specific restaurant by name
  • hpp special list — Browse special features/tags
  • hpp creditcard — List accepted credit card types

Important Notes

  • Always use --count to limit results (default 10, max 100)
  • The API returns Japanese text — present it as-is, do not translate unless asked
  • Monday = 月, check open/close fields to verify the restaurant is open on the requested day
  • When the user specifies a day, check the close field for regular holidays (e.g., 日 = Sunday)
  • Coupon links are available in coupon_urls.sp — mention if the user asks about deals

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.