{"id":"38407ab0-e972-43f1-a95d-710f74a1ce9d","shortId":"wP8GCa","kind":"skill","title":"gourmet-research","tagline":"Use when creating or updating city-based gourmet research outputs that require multi-source evidence, standardized scoring, and structured audit files.","description":"# Gourmet Research\n\n## Overview\nTemplate-first workflow for traceable, comparable, auditable food recommendations across cities. Keep evidence, scores, and decisions synchronized.\n\n## Core Rules (Non-Negotiable)\n- If the user has not specified an **output language**, ask once at project start and record it in `overview.md`.\n- Use **gourmet/<city-slug>/** with 6 files: `overview.md`, `inbox.md`, `candidates.md`, `notes.md`, `top-places.md`, `excluded.md`.\n- **Never fabricate** sources, ratings, or claims. Use `unknown` when missing.\n- Prefer **original-language place names** (not translated) unless the user requests otherwise.\n- **Preserve audit trail**: never delete candidates; mark `rejected` and record why in `excluded.md`.\n- Default **minimum sources = 4**. If the locale is information-sparse, allow **3** only when you record `evidence: limited` with the reason and attempted sources.\n\n## Template-First Workflow (Summary)\n1. **Initialize**: Ask for output language + city, then copy templates from `assets/templates/` into the city folder.\n2. **Normalize**: Update language/city placeholders in the copied files before research begins.\n2. **Discovery**: Capture raw ideas in `inbox.md`, then move top candidates into `candidates.md` with `status: inbox`.\n3. **Evidence**: For each candidate, write a full evidence block in `notes.md` with sources + practical constraints.\n4. **Score**: Apply the 50-point rubric and justify each component in `notes.md`.\n5. **Decide**: Promote to Top Picks (>=35), Backups (30-34), or reject (<30).\n6. **Publish**: Update `top-places.md` and `excluded.md` to match decisions.\n7. **Verify**: Ensure no `inbox` statuses remain and required sections exist.\n\n## Ranking Retrieval (When user asks for “highest score”)\nBefore extracting any “top N” list, **confirm the scope**:\n- **Geography**: Okinawa *prefecture* vs *main island only* vs *specific subarea*.\n- **Category**: overall vs cuisine category.\n- **Source URL**: must match the user’s intent exactly.\n\n**Checklist (must pass):**\n1. URL matches the requested scope (prefecture vs category).\n2. If “main island only” is required, exclude island subareas (A4705/A4706).\n3. Page title confirms the intended ranking.\n4. Language modal handled so list items actually render.\n\nIf static scraping fails or content is blocked, **use Playwright** to load the page, close the language modal (日本語), and then extract items.\n\n## Evidence & Negative Review Rules\n- Sources must include: **Maps + local reviews + guide/editorial + official channel** (where available).\n- **Negative review analysis is conditional**: perform a focused negative review pass when risk signals appear in any source.\n  - **Risk signals**: repeated service complaints, hygiene/safety concerns, tourist-trap claims, extreme queue issues, inconsistent ratings, unclear hours/reservations.\n  - If triggered: add a **Negative reviews** subsection in `notes.md`, adjust Risk/Consistency/Value as needed, and sync scores/status across files.\n\n## Locale-Specific Source Suggestions (Optional)\n| Locale | Local reviews | Aggregator | Guides/editorial |\n| --- | --- | --- | --- |\n| Japan | Tabelog, Retty | Google Maps | Michelin, local food media |\n| Korea | Naver Map, Kakao Map | Google Maps | Michelin, local food media |\n| Taiwan | Google Maps, iPeen | OpenRice | Local food media |\n| Hong Kong | OpenRice | Google Maps | Michelin, local food media |\n| Singapore | OpenRice | Google Maps | Michelin, local food media |\n| Europe | Google Maps | Tripadvisor | Michelin, local city guides |\n| North America | Google Maps, Yelp | Tripadvisor | Eater, local food media |\n| Latin America | Google Maps | Tripadvisor | Local city guides |\n| SEA (general) | Google Maps | Tripadvisor | Local food media |\n\n## Scoring (50-Point Rubric)\n- Taste/Quality (0-10)\n- Value (0-10)\n- Convenience (0-10)\n- Consistency (0-10)\n- Risk (0-10, higher = lower risk)\n\nThresholds:\n- **Top Picks**: >=35\n- **Backups**: 30-34\n- **Reject**: <30 (or hard exclusion: hygiene/safety/tourist-trap evidence)\n\n## Roles (Optional, Compact)\n- **Research**: find sources + capture evidence.\n- **Verify**: resolve conflicts, confirm practical constraints.\n- **Score**: apply rubric + justify.\n- **Synthesize**: finalize top-places + dining strategy.\n\n## Quick Reference\n| Item | Rule |\n| --- | --- |\n| City path | `gourmet/<city-slug>/` |\n| Files | overview/inbox/candidates/notes/top-places/excluded |\n| Min sources | 4 (3 only with `evidence: limited`) |\n| Output language | Ask if not specified |\n| Place names | Prefer original language |\n| Score tiers | >=35 Top, 30-34 Backup, <30 Reject |\n\n## Example (Evidence Block)\n```markdown\n### Sakura Teahouse\n**Official**: https://example.com\n**Maps**: 4.4/5 (820 reviews) - https://maps.app.goo.gl/...\n**Local reviews**: 3.7/5 (420 reviews) - https://tabelog.com/...\n**Guide/editorial**: https://guide.example.com/...\n**Notes**: quiet seating, popular seasonal desserts\n**Practical**: reservations recommended, closed Tue\n**Score**: Taste 8 / Value 7 / Convenience 6 / Consistency 7 / Risk 7 = **35/50**\n```\n\n## Common Mistakes\n- Skipping templates and mixing content across files.\n- Skipping `inbox.md` and dumping raw ideas into candidates.\n- Translating place names instead of using the original language.\n- Using only one review platform.\n- Pulling the wrong ranking scope (category vs overall, islands included).\n- Changing scores without updating candidates/top-places/excluded.\n- Ignoring unclear hours or reservation policies.\n\n## Rationalization Table\n| Excuse | Reality |\n| --- | --- |\n| \"It’s just one city; I can skip templates.\" | Templates prevent drift and keep outputs comparable. |\n| \"Inbox is optional; I can put everything in candidates.\" | `inbox.md` keeps raw capture separate and reduces noise. |\n| \"There aren’t 4 sources; I’ll guess.\" | Use `unknown` and mark `evidence: limited`. Never guess. |\n| \"I’ll translate names for clarity.\" | Keep original-language names unless the user asks. |\n| \"This ranking page is close enough.\" | Scope mismatch invalidates the answer. Confirm URL and geography. |\n| \"Negative reviews are optional.\" | Required when risk signals appear. |\n\n## Red Flags — Stop and Fix\n- Candidates deleted instead of rejected.\n- Scores updated in notes but not in candidates/top-places.\n- Missing output language decision.\n- Uncited claims or ratings.\n\n## References\n- `references/repo-spec.md`\n- `assets/templates/`","tags":["gourmet","research","skills","narumiruna","agent-skills"],"capabilities":["skill","source-narumiruna","skill-gourmet-research","topic-agent-skills"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/narumiruna/skills/gourmet-research","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add narumiruna/skills","source_repo":"https://github.com/narumiruna/skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (6,427 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:13:45.660Z","embedding":null,"createdAt":"2026-05-18T19:13:45.660Z","updatedAt":"2026-05-18T19:13:45.660Z","lastSeenAt":"2026-05-18T19:13:45.660Z","tsv":"'-10':523,526,529,532,535 '-34':231,545,611 '/...':630,639,643 '/5':625,634 '0':522,525,528,531,534 '1':149,299 '2':165,177,308 '3':131,193,319,590 '3.7':633 '30':230,234,544,547,610,613 '35':228,542,608 '35/50':666 '4':122,209,326,589,759 '4.4':624 '420':635 '5':222 '50':213,518 '6':75,235,661 '7':244,659,663,665 '8':657 '820':626 'a4705/a4706':318 'across':40,425,674 'actual':333 'add':411 'adjust':418 'aggreg':436 'allow':130 'america':492,502 'analysi':375 'answer':797 'appear':387,810 'appli':211,568 'aren':757 'ask':62,151,259,597,786 'assets/templates':160,839 'attempt':142 'audit':25,37,107 'avail':372 'backup':229,543,612 'base':11 'begin':176 'block':202,342,617 'candid':111,187,197,683,747,816 'candidates.md':79,189 'candidates/top-places':828 'candidates/top-places/excluded':712 'captur':179,559,751 'categori':282,286,307,703 'chang':708 'channel':370 'checklist':296 'citi':10,41,155,163,489,507,582,727 'city-bas':9 'claim':88,401,834 'clariti':777 'close':349,653,791 'common':667 'compact':555 'compar':36,738 'complaint':395 'compon':219 'concern':397 'condit':377 'confirm':269,322,564,798 'conflict':563 'consist':530,662 'constraint':208,566 'content':340,673 'conveni':527,660 'copi':157,172 'core':48 'creat':6 'cuisin':285 'decid':223 'decis':46,243,832 'default':119 'delet':110,817 'dessert':649 'dine':576 'discoveri':178 'drift':734 'dump':679 'eater':497 'enough':792 'ensur':246 'europ':483 'everyth':745 'evid':20,43,136,194,201,358,552,560,593,616,768 'exact':295 'exampl':615 'example.com':622 'exclud':315 'excluded.md':82,118,240 'exclus':550 'excus':721 'exist':254 'extract':264,356 'extrem':402 'fabric':84 'fail':338 'file':26,76,173,426,585,675 'final':572 'find':557 'first':32,146 'fix':815 'flag':812 'focus':380 'folder':164 'food':38,445,456,464,473,481,499,515 'full':200 'general':510 'geographi':272,801 'googl':441,452,459,469,477,484,493,503,511 'gourmet':2,12,27,73,584 'gourmet-research':1 'guess':763,771 'guid':490,508 'guide.example.com':642 'guide.example.com/...':641 'guide/editorial':368,640 'guides/editorial':437 'handl':329 'hard':549 'higher':536 'highest':261 'hong':466 'hour':715 'hours/reservations':408 'hygiene/safety':396 'hygiene/safety/tourist-trap':551 'idea':181,681 'ignor':713 'inbox':192,248,739 'inbox.md':78,183,677,748 'includ':364,707 'inconsist':405 'inform':128 'information-spars':127 'initi':150 'instead':687,818 'intend':324 'intent':294 'invalid':795 'ipeen':461 'island':277,311,316,706 'issu':404 'item':332,357,580 'japan':438 'justifi':217,570 'kakao':450 'keep':42,736,749,778 'kong':467 'korea':447 'languag':61,96,154,327,351,596,605,692,781,831 'language/city':168 'latin':501 'limit':137,594,769 'list':268,331 'll':762,773 'load':346 'local':125,366,428,433,434,444,455,463,472,480,488,498,506,514,631 'locale-specif':427 'lower':537 'main':276,310 'map':365,442,449,451,453,460,470,478,485,494,504,512,623 'maps.app.goo.gl':629 'maps.app.goo.gl/...':628 'mark':112,767 'markdown':618 'match':242,290,301 'media':446,457,465,474,482,500,516 'michelin':443,454,471,479,487 'min':587 'minimum':120 'mismatch':794 'miss':92,829 'mistak':668 'mix':672 'modal':328,352 'move':185 'multi':18 'multi-sourc':17 'must':289,297,363 'n':267 'name':98,602,686,775,782 'naver':448 'need':421 'negat':359,373,381,413,802 'negoti':52 'never':83,109,770 'nois':755 'non':51 'non-negoti':50 'normal':166 'north':491 'note':644,824 'notes.md':80,204,221,417 'offici':369,621 'okinawa':273 'one':695,726 'openric':462,468,476 'option':432,554,741,805 'origin':95,604,691,780 'original-languag':94,779 'otherwis':105 'output':14,60,153,595,737,830 'overal':283,705 'overview':29 'overview.md':71,77 'overview/inbox/candidates/notes/top-places/excluded':586 'page':320,348,789 'pass':298,383 'path':583 'perform':378 'pick':227,541 'place':97,575,601,685 'placehold':169 'platform':697 'playwright':344 'point':214,519 'polici':718 'popular':647 'practic':207,565,650 'prefectur':274,305 'prefer':93,603 'preserv':106 'prevent':733 'project':65 'promot':224 'publish':236 'pull':698 'put':744 'queue':403 'quick':578 'quiet':645 'rank':255,325,701,788 'rate':86,406,836 'ration':719 'raw':180,680,750 'realiti':722 'reason':140 'recommend':39,652 'record':68,115,135 'red':811 'reduc':754 'refer':579,837 'references/repo-spec.md':838 'reject':113,233,546,614,820 'remain':250 'render':334 'repeat':393 'request':104,303 'requir':16,252,314,806 'research':3,13,28,175,556 'reserv':651,717 'resolv':562 'retriev':256 'retti':440 'review':360,367,374,382,414,435,627,632,636,696,803 'risk':385,391,533,538,664,808 'risk/consistency/value':419 'role':553 'rubric':215,520,569 'rule':49,361,581 'sakura':619 'scope':271,304,702,793 'score':22,44,210,262,517,567,606,655,709,821 'scores/status':424 'scrape':337 'sea':509 'season':648 'seat':646 'section':253 'separ':752 'servic':394 'signal':386,392,809 'singapor':475 'skill' 'skill-gourmet-research' 'skip':669,676,730 'sourc':19,85,121,143,206,287,362,390,430,558,588,760 'source-narumiruna' 'spars':129 'specif':280,429 'specifi':58,600 'standard':21 'start':66 'static':336 'status':191,249 'stop':813 'strategi':577 'structur':24 'subarea':281,317 'subsect':415 'suggest':431 'summari':148 'sync':423 'synchron':47 'synthes':571 'tabelog':439 'tabelog.com':638 'tabelog.com/...':637 'tabl':720 'taiwan':458 'tast':656 'taste/quality':521 'teahous':620 'templat':31,145,158,670,731,732 'template-first':30,144 'threshold':539 'tier':607 'titl':321 'top':186,226,266,540,574,609 'top-plac':573 'top-places.md':81,238 'topic-agent-skills' 'tourist':399 'tourist-trap':398 'traceabl':35 'trail':108 'translat':100,684,774 'trap':400 'trigger':410 'tripadvisor':486,496,505,513 'tue':654 'uncit':833 'unclear':407,714 'unknown':90,765 'unless':101,783 'updat':8,167,237,711,822 'url':288,300,799 'use':4,72,89,343,689,693,764 'user':55,103,258,292,785 'valu':524,658 'verifi':245,561 'vs':275,279,284,306,704 'without':710 'workflow':33,147 'write':198 'wrong':700 'yelp':495 '日本語':353","prices":[{"id":"0656ac5c-85af-4321-b762-36afcf062cdb","listingId":"38407ab0-e972-43f1-a95d-710f74a1ce9d","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"narumiruna","category":"skills","install_from":"skills.sh"},"createdAt":"2026-05-18T19:13:45.660Z"}],"sources":[{"listingId":"38407ab0-e972-43f1-a95d-710f74a1ce9d","source":"github","sourceId":"narumiruna/skills/gourmet-research","sourceUrl":"https://github.com/narumiruna/skills/tree/main/skills/gourmet-research","isPrimary":false,"firstSeenAt":"2026-05-18T19:13:45.660Z","lastSeenAt":"2026-05-18T19:13:45.660Z"}],"details":{"listingId":"38407ab0-e972-43f1-a95d-710f74a1ce9d","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"narumiruna","slug":"gourmet-research","github":{"repo":"narumiruna/skills","stars":7,"topics":["agent-skills"],"license":"mit","html_url":"https://github.com/narumiruna/skills","pushed_at":"2026-05-17T11:15:28Z","description":null,"skill_md_sha":"38f3a621452cc432d01f3f4177302cc5d79ca173","skill_md_path":"skills/gourmet-research/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/narumiruna/skills/tree/main/skills/gourmet-research"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"gourmet-research","description":"Use when creating or updating city-based gourmet research outputs that require multi-source evidence, standardized scoring, and structured audit files."},"skills_sh_url":"https://skills.sh/narumiruna/skills/gourmet-research"},"updatedAt":"2026-05-18T19:13:45.660Z"}}