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.md
source 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
    unknown
    when missing.
  • Prefer original-language place names (not translated) unless the user requests otherwise.
  • Preserve audit trail: never delete candidates; mark
    rejected
    and record why in
    excluded.md
    .
  • Default minimum sources = 4. If the locale is information-sparse, allow 3 only when you record
    evidence: limited
    with the reason and attempted sources.

Template-First Workflow (Summary)

  1. Initialize: Ask for output language + city, then copy templates from
    assets/templates/
    into the city folder.
  2. Normalize: Update language/city placeholders in the copied files before research begins.
  3. Discovery: Capture raw ideas in
    inbox.md
    , then move top candidates into
    candidates.md
    with
    status: inbox
    .
  4. Evidence: For each candidate, write a full evidence block in
    notes.md
    with sources + practical constraints.
  5. Score: Apply the 50-point rubric and justify each component in
    notes.md
    .
  6. Decide: Promote to Top Picks (>=35), Backups (30-34), or reject (<30).
  7. Publish: Update
    top-places.md
    and
    excluded.md
    to match decisions.
  8. Verify: Ensure no
    inbox
    statuses remain and required sections exist.

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):

  1. URL matches the requested scope (prefecture vs category).
  2. If “main island only” is required, exclude island subareas (A4705/A4706).
  3. Page title confirms the intended ranking.
  4. 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
      notes.md
      , adjust Risk/Consistency/Value as needed, and sync scores/status across files.

Locale-Specific Source Suggestions (Optional)

LocaleLocal reviewsAggregatorGuides/editorial
JapanTabelog, RettyGoogle MapsMichelin, local food media
KoreaNaver Map, Kakao MapGoogle MapsMichelin, local food media
TaiwanGoogle Maps, iPeenOpenRiceLocal food media
Hong KongOpenRiceGoogle MapsMichelin, local food media
SingaporeOpenRiceGoogle MapsMichelin, local food media
EuropeGoogle MapsTripadvisorMichelin, local city guides
North AmericaGoogle Maps, YelpTripadvisorEater, local food media
Latin AmericaGoogle MapsTripadvisorLocal city guides
SEA (general)Google MapsTripadvisorLocal 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

ItemRule
City path
gourmet/<city-slug>/
Filesoverview/inbox/candidates/notes/top-places/excluded
Min sources4 (3 only with
evidence: limited
)
Output languageAsk if not specified
Place namesPrefer 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
    inbox.md
    and dumping raw ideas into candidates.
  • 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

ExcuseReality
"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."
inbox.md
keeps raw capture separate and reduces noise.
"There aren’t 4 sources; I’ll guess."Use
unknown
and mark
evidence: limited
. 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.md
  • assets/templates/