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".
Best use case
restaurant-search is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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".
Teams using restaurant-search should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/restaurant-search/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How restaurant-search Compares
| Feature / Agent | restaurant-search | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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".
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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: ```bash 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: ```bash 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: ```bash hpp genre ``` Common genre codes: | Code | Genre | | ---- | -------------------- | | 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: ```bash hpp budget ``` Common budget codes: | Code | Range | | ---- | ------------- | | B001 | ~1500円 | | B002 | 2001~3000円 | | B003 | 3001~4000円 | | B008 | 4001~5000円 | | B004 | 5001~7000円 | | B005 | 7001~10000円 | | B006 | 10001~15000円 | | B012 | 15001~20000円 | | B013 | 20001~30000円 | | B014 | 30001円~ | ### 5. Search restaurants Build the `hpp search` command with resolved codes and flags: ```bash hpp search --small-area <code> --party-capacity <N> --count 10 ``` Key flags to apply based on user needs: | Need | Flag | | ----------------------- | --------------------------------------- | | 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: | Column | Source | | ------------ | ------------------------------------------- | | # | Row number | | Restaurant | `name` | | Genre | `genre.name` | | Budget | `budget.average` | | Access | `access` (summarize to station + walk time) | | Private Room | `private_room` (yes/no/semi) | | Hours | `open` (show relevant day only) | | Link | `urls.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
Related Skills
p-ego-search
Search for mentions of you across Slack, Fireflies, and GitHub. Triggers on "egosearch", "/egosearch", "search for mentions of me", "who's talking about me".
project-namer
Use when naming a project, repository, tool, or product and wanting a memorable, unique name
p-slack-triage
Scan Slack for messages needing your attention, walk through them one-by-one, and draft/send replies. Covers DMs, mentions, threads, and channel activity. Use when the user wants to triage Slack, check what needs attention, or draft replies. Triggers on "triage slack", "check slack", "what needs my attention on slack", "slack replies", "review slack messages", "/slack-triage".
p-news-briefing
Use when the user asks for news, wants a briefing, says "/news-briefing", or asks to aggregate recent information on any topic. Triggers on requests like "what's happening with AI", "get me news on crypto", "news briefing on climate".
p-md-to-slides
Convert a structured Markdown deck source into a styled Google Slides presentation. Use this skill when the user has a slide.md file (or wants to write one) and wants Google Slides output — talks, LT decks, lecture slides, conference presentations, internal explainers. Trigger phrases include "md からスライド作って", "slide.md を Google Slides にして", "発表資料を Google Slides で", "convert this markdown to slides", "build a Google Slides deck from this markdown", "make slides from md", "/md-to-slides", and similar. Also use when the user references a presentation/<date>/slide.md file structure with `## Slide N — title`, `**話すこと:**`, and `**スライド要素:**` sections.
p-daily-standup
Aggregate previous business day activity and post standup update to Slack. Use when the user says "standup", "daily standup", "post status", "status update", or "/daily-standup".
p-daily-report
Use when reviewing what you worked on, creating standups, writing status updates, tracking daily/weekly progress, or asking "what did I do today"
p-daily-reflection
Reflect on past work and iterate to improve. Analyzes Claude sessions, GitHub, Slack, and Fireflies to generate a journal entry with actionable improvements. Updates persistent memory with confirmed learnings. Use when the user says "reflect", "reflection", "what can I improve", "retrospective", "review my work", or "/daily-reflection".
p-blog-writer
Write blog posts in {user_name}'s voice with theoretical depth and persuasive arguments. Iterative workflow: intake → outline → section-by-section expansion → polish. Adapts to tool announcements, opinion pieces, deep-dives, and tutorials. Use when the user says "/blog-writer", "write a blog post", "draft an article about", "help me write about", or wants to create blog content.
p-blog-post-mining
Mine development activities for blog-worthy topics and create outlines. Analyzes Claude session history, GitHub commits/PRs, Slack discussions, and Fireflies meeting recordings to find interesting stories. Use when the user wants blog ideas, content inspiration, or asks "what can I write about", "find blog material", "blog ideas from my work", "/blog-post-mining".
p-activity-digest
Summarize recent communication activity from Slack and meeting recordings. Use when the user wants to know what happened on Slack, review meeting action items, find mentions, or get a communication summary. Triggers on "summarize Slack", "meeting action items", "what was discussed", "activity summary", "search my mentions", "highlight of the day", "/activity-digest".
gws-meeting-scheduler
Schedule meetings between people using the `gws` CLI (Google Calendar). Use when the user wants to find a meeting time, schedule a meeting, check availability, or book time with someone. Triggers on requests like "schedule a meeting with X", "find time with Y", "book a 1:1", "when can I meet with Z", "set up a sync".