skills/izakaya-search/SKILL.md
Search and recommend izakaya (Japanese-style pubs) and restaurants based on party size, budget, area, and additional preferences. Aggregates reviews from gourmet sites (Tabelog, Hot Pepper Gourmet, Gurunavi) and Google Maps, calculates composite ratings, and provides reservation links and Google Maps directions for quick booking.
npx skillsauth add danishi/claude-code-config izakaya-searchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Interactively find the best izakaya and restaurants by hearing the user's requirements and searching gourmet sites and Google Maps.
Ask the user the following questions using the AskUserQuestion tool.
Gather all required information before searching. If any additional context
is provided by the user (e.g., "quiet atmosphere", "private rooms",
"all-you-can-drink"), incorporate it into the search.
| Item | Question example | Notes | |---|---|---| | Area / location | "Which area or station are you looking for?" | Accept station names, city names, or landmarks | | Party size | "How many people?" | Important for seat/room availability | | Budget per person | "What is your budget per person?" | Accept ranges like "3,000-5,000 yen" |
| Item | Question example | Notes | |---|---|---| | Date and time | "When are you planning to go?" | Affects availability and course options | | Cuisine preferences | "Any preferred cuisine type?" | e.g., Japanese, seafood, yakitori, Korean, etc. | | Must-have features | "Any requirements?" | e.g., private rooms, smoking/non-smoking, all-you-can-drink, accessibility | | Occasion | "What is the occasion?" | e.g., casual drinks, welcome/farewell party, date, business dinner |
Use WebSearch to search across multiple gourmet platforms. Execute
multiple searches in parallel when possible for efficiency.
Build search queries combining the user's requirements. Always search at least these sources:
Tabelog (食べログ)
"食べログ {area} 居酒屋 {cuisine} {features}"
Hot Pepper Gourmet (ホットペッパーグルメ)
"ホットペッパー {area} 居酒屋 {party_size}名 {budget}"
Gurunavi (ぐるなび)
"ぐるなび {area} 居酒屋 {features} {cuisine}"
Google Maps
"Google Maps {area} 居酒屋 {cuisine} 口コミ"
WebSearch calls with different query variationsWebSearch snippets when possible,
especially for sites known to block WebFetch (see Step 3)Use WebFetch to visit the top candidate restaurant pages and collect:
Batch size control (critical):
Parallel WebFetch calls share a failure boundary — if one call returns
an error (403, 404, timeout), all sibling calls in the same batch are
cancelled. To mitigate this:
Site reliability tiers:
| Tier | Sites | Strategy |
|---|---|---|
| Tier 1 (reliable) | Google Maps, aumo, ヒトサラ, さんたつ, TripAdvisor | Safe to batch together (2-3 per batch) |
| Tier 2 (sometimes blocked) | ぐるなび (r.gnavi.co.jp) | Fetch individually or with Tier 1 sites |
| Tier 3 (frequently blocked) | 食べログ (tabelog.com), ホットペッパー (hotpepper.jp), RETRIP (rtrp.jp) | Fetch individually; expect 403 errors |
| Tier 4 (not fetchable) | JS-rendered SPAs (colmo, etc.) | Skip WebFetch; rely on WebSearch snippets only |
Fallback strategy when WebFetch fails:
WebSearch result
snippets (ratings, addresses, phone numbers often appear in snippets)WebSearch: "cache:{url}" or "{restaurant_name} site:{domain}"Compute a weighted composite score from available review sources:
| Source | Weight | Score range | Notes | |---|---|---|---| | Google Maps | 45% | 1.0 - 5.0 | Largest review volume; highest weight | | Tabelog | 35% | 1.0 - 5.0 | Most trusted for food quality in Japan | | Hot Pepper / Gurunavi | 20% | 1.0 - 5.0 | Useful for atmosphere and service |
Composite score formula:
composite = (google * 0.45) + (tabelog * 0.35) + (hotpepper_or_gurunavi * 0.20)
Google Maps reviews are susceptible to fake positive reviews (サクラ). When gathering Google Maps data, always check for the following red flags and apply a penalty to the Google Maps score if detected:
| Red flag | How to detect | Penalty | |---|---|---| | Suspiciously high ratio of 5-star reviews | >80% of reviews are 5-star with very few 3-4 star | -0.3 from Google score | | Generic/short praise comments | Many reviews are only 1-2 sentences like "美味しかった!" with no detail | -0.2 from Google score | | Reviewer profiles with only 1 review | Multiple reviewers who have only ever reviewed this one restaurant | -0.3 from Google score | | Review spike pattern | Large number of reviews posted within a short time period | -0.3 from Google score | | Score gap vs. Tabelog | Google score is ≥1.0 higher than Tabelog score for the same restaurant | -0.2 from Google score |
Detection process:
WebFetch on the Google Maps page, scan the visible review
comments (at least 5-10 recent reviews)⚠ Google Maps score adjusted ({original} → {adjusted}): suspected fake reviews detectedPresent 3 to 5 recommended restaurants directly in Markdown format as follows:
For each restaurant, present:
## {rank}. {restaurant_name}
**Composite Rating: {composite_score}/5.00** ({total_reviews} reviews)
| Source | Rating | Reviews |
|---|---|---|
| Tabelog | {score}/5.0 | {count} reviews |
| Google Maps | {score}/5.0 | {count} reviews |
| Hot Pepper | {score}/5.0 | {count} reviews |
- **Genre:** {cuisine_type}
- **Area:** {area} ({nearest_station}, {walk_minutes} min walk)
- **Budget:** {budget_range} per person
- **Hours:** {business_hours}
- **Regular holiday:** {holidays}
- **Seats:** {seat_count} seats ({room_types})
- **Features:** {features}
### Recommended courses
| Course name | Price | Duration | Includes |
|---|---|---|---|
| {course_name} | {price} | {duration} | {description} |
### Quick links
- [Tabelog page]({tabelog_url})
- [Hot Pepper page]({hotpepper_url})
- [Google Maps]({google_maps_url})
- [Reserve on Tabelog]({tabelog_reservation_url})
- [Reserve on Hot Pepper]({hotpepper_reservation_url})
- [Call to reserve](tel:{phone_number})
After presenting results, ask the user:
If the user selects a restaurant, provide:
See references/search-guide.md for a comprehensive search strategy reference.
| Issue | Solution | |---|---| | No results found for area | Broaden the area (e.g., "新宿" instead of "新宿三丁目") | | Budget too restrictive | Suggest adjusting budget range or removing course requirement | | No reviews available | Note this to the user; rely on other available sources | | Outdated information suspected | Warn the user and suggest calling to confirm | | All-you-can-drink not available | Suggest alternative plans or nearby options that offer it |
| Error | Affected sites | Solution |
|---|---|---|
| HTTP 403 Forbidden | 食べログ, ホットペッパー, RETRIP | Bot protection is active. Do NOT retry. Use WebSearch snippets for ratings/info, or fetch the same restaurant from a Tier 1 site instead |
| HTTP 404 Not Found | ホットペッパー (store pages) | URL may have changed. Search for the restaurant name + "ホットペッパー" via WebSearch to find the current URL |
| Sibling call cancelled | Any site in a failed batch | A different call in the same parallel batch failed. Re-fetch the cancelled URLs in a new, smaller batch (1-2 calls) |
| Empty/JS-only content | colmo, some SPA-based review sites | Site requires JavaScript rendering. Skip WebFetch and rely on WebSearch snippets only |
| Timeout | Any site under heavy load | Retry once individually (not in a batch). If still failing, fall back to WebSearch snippets |
When multiple fetches fail, prioritize recovery in this order:
WebSearch snippets for course/coupon infotools
Produce rich, finished video content with React Remotion by orchestrating the repository's media-generation skills (nanobanana for images, veo for video clips, lyria for BGM, gemini-tts for narration) and composing them on a data-driven Remotion timeline. Follows an approval-gated workflow: first return a video composition plan for the user to approve, then generate assets, compose, run a multimodal self-review loop, and deliver only when the result meets the quality bar. Use when the user wants to "create a video", "make a promo / explainer / social clip", or combine images, video, music, and voiceover into one polished video.
tools
Generate videos using Google Gemini Veo 3.1. Defaults to the cost-effective Veo 3.1 Lite model; the premium (Veo 3.1) and Fast models are used only when explicitly requested via --pro / --fast. Supports text-to-video and image-to-video (first frame + optional last frame), 16:9 / 9:16, 720p / 1080p (4k on Pro), 4-8s clips, and 1-4 videos per request. Works with both the Gemini Developer API and Vertex AI.
tools
Package a skill directory into a distributable `.skill` archive placed on the Desktop. Use when the user asks to "package", "bundle", "zip up", "export", "distribute", or "ship" a skill, or mentions creating a `.skill` file from `~/.claude/skills/<skill-name>/`.
tools
Salesforce CLIを使ってSalesforceのデータ操作・管理を行うスキル。 取引先・商談・プロジェクト・外注管理のCRUD操作、SOQLクエリ、パイプライン分析、レポート生成を実行する。 ユーザーがSalesforceのデータを照会・更新・分析したいとき、商談のステージを確認・変更したいとき、 プロジェクトや外注の状況を確認したいとき、売上・粗利・パイプラインのレポートが必要なとき、 取引先や案件の情報を調べたいとき、SOQLクエリを実行したいときに使用する。 「Salesforce」「SF」「商談」「取引先」「パイプライン」「案件」「プロジェクト」「外注」「粗利」 「売上」「受注」「失注」「ステージ」「SOQL」などのキーワードが含まれる場合はこのスキルを使う。 Salesforceに関する質問や操作依頼であれば、明示的にスキル名を言及していなくても積極的にこのスキルを使用すること。