Claude-skill-registry gourmet-research
Use when creating or updating evidence-based gourmet research outputs for cities (restaurants/cafes/desserts) that require multi-source evidence, standardized scoring, and structured city folders.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/gourmet-research" ~/.claude/skills/majiayu000-claude-skill-registry-gourmet-research && rm -rf "$T"
manifest:
skills/data/gourmet-research/SKILL.mdsource content
Gourmet Research
Overview
Template-first workflow for traceable, comparable, auditable food recommendations across cities. Keep evidence, scores, and decisions synchronized.
Core Rules (Non-Negotiable)
- If the user has not specified an output language, ask once at project start and record it in
.overview.md - Use gourmet/<city-slug>/ with 6 files:
,overview.md
,inbox.md
,candidates.md
,notes.md
,top-places.md
.excluded.md - Never fabricate sources, ratings, or claims. Use
when missing.unknown - Prefer original-language place names (not translated) unless the user requests otherwise.
- Preserve audit trail: never delete candidates; mark
and record why inrejected
.excluded.md - Default minimum sources = 4. If the locale is information-sparse, allow 3 only when you record
with the reason and attempted sources.evidence: limited
Template-First Workflow (Summary)
- Initialize: Ask for output language + city, then copy templates from
into the city folder.assets/templates/ - Normalize: Update language/city placeholders in the copied files before research begins.
- Discovery: Capture raw ideas in
, then move top candidates intoinbox.md
withcandidates.md
.status: inbox - Evidence: For each candidate, write a full evidence block in
with sources + practical constraints.notes.md - Score: Apply the 50-point rubric and justify each component in
.notes.md - Decide: Promote to Top Picks (>=35), Backups (30-34), or reject (<30).
- Publish: Update
andtop-places.md
to match decisions.excluded.md - Verify: Ensure no
statuses remain and required sections exist.inbox
Ranking Retrieval (When user asks for “highest score”)
Before extracting any “top N” list, confirm the scope:
- Geography: Okinawa prefecture vs main island only vs specific subarea.
- Category: overall vs cuisine category.
- Source URL: must match the user’s intent exactly.
Checklist (must pass):
- URL matches the requested scope (prefecture vs category).
- If “main island only” is required, exclude island subareas (A4705/A4706).
- Page title confirms the intended ranking.
- Language modal handled so list items actually render.
If static scraping fails or content is blocked, use Playwright to load the page, close the language modal (日本語), and then extract items.
Evidence & Negative Review Rules
- Sources must include: Maps + local reviews + guide/editorial + official channel (where available).
- Negative review analysis is conditional: perform a focused negative review pass when risk signals appear in any source.
- Risk signals: repeated service complaints, hygiene/safety concerns, tourist-trap claims, extreme queue issues, inconsistent ratings, unclear hours/reservations.
- If triggered: add a Negative reviews subsection in
, adjust Risk/Consistency/Value as needed, and sync scores/status across files.notes.md
Locale-Specific Source Suggestions (Optional)
| Locale | Local reviews | Aggregator | Guides/editorial |
|---|---|---|---|
| Japan | Tabelog, Retty | Google Maps | Michelin, local food media |
| Korea | Naver Map, Kakao Map | Google Maps | Michelin, local food media |
| Taiwan | Google Maps, iPeen | OpenRice | Local food media |
| Hong Kong | OpenRice | Google Maps | Michelin, local food media |
| Singapore | OpenRice | Google Maps | Michelin, local food media |
| Europe | Google Maps | Tripadvisor | Michelin, local city guides |
| North America | Google Maps, Yelp | Tripadvisor | Eater, local food media |
| Latin America | Google Maps | Tripadvisor | Local city guides |
| SEA (general) | Google Maps | Tripadvisor | Local food media |
Scoring (50-Point Rubric)
- Taste/Quality (0-10)
- Value (0-10)
- Convenience (0-10)
- Consistency (0-10)
- Risk (0-10, higher = lower risk)
Thresholds:
- Top Picks: >=35
- Backups: 30-34
- Reject: <30 (or hard exclusion: hygiene/safety/tourist-trap evidence)
Roles (Optional, Compact)
- Research: find sources + capture evidence.
- Verify: resolve conflicts, confirm practical constraints.
- Score: apply rubric + justify.
- Synthesize: finalize top-places + dining strategy.
Quick Reference
| Item | Rule |
|---|---|
| City path | |
| Files | overview/inbox/candidates/notes/top-places/excluded |
| Min sources | 4 (3 only with ) |
| Output language | Ask if not specified |
| Place names | Prefer original language |
| Score tiers | >=35 Top, 30-34 Backup, <30 Reject |
Example (Evidence Block)
### Sakura Teahouse **Official**: https://example.com **Maps**: 4.4/5 (820 reviews) - https://maps.app.goo.gl/... **Local reviews**: 3.7/5 (420 reviews) - https://tabelog.com/... **Guide/editorial**: https://guide.example.com/... **Notes**: quiet seating, popular seasonal desserts **Practical**: reservations recommended, closed Tue **Score**: Taste 8 / Value 7 / Convenience 6 / Consistency 7 / Risk 7 = **35/50**
Common Mistakes
- Skipping templates and mixing content across files.
- Skipping
and dumping raw ideas into candidates.inbox.md - Translating place names instead of using the original language.
- Using only one review platform.
- Pulling the wrong ranking scope (category vs overall, islands included).
- Changing scores without updating candidates/top-places/excluded.
- Ignoring unclear hours or reservation policies.
Rationalization Table
| Excuse | Reality |
|---|---|
| "It’s just one city; I can skip templates." | Templates prevent drift and keep outputs comparable. |
| "Inbox is optional; I can put everything in candidates." | keeps raw capture separate and reduces noise. |
| "There aren’t 4 sources; I’ll guess." | Use and mark . Never guess. |
| "I’ll translate names for clarity." | Keep original-language names unless the user asks. |
| "This ranking page is close enough." | Scope mismatch invalidates the answer. Confirm URL and geography. |
| "Negative reviews are optional." | Required when risk signals appear. |
Red Flags — Stop and Fix
- Candidates deleted instead of rejected.
- Scores updated in notes but not in candidates/top-places.
- Missing output language decision.
- Uncited claims or ratings.
References
references/repo-spec.mdassets/templates/