[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JF9S76CX94PR9ZBZWTFPFN":3,"skill-same:01M6JF9S76CX94PR9ZBZWTFPFN":83},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":25,"publishedAt":46,"linkOnly":47,"markdownContent":48,"markdownBody":49,"frontMatter":50,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":64,"repositoryHtmlUrl":65,"repositoryHomepageUrl":66,"ownerHtmlUrl":67,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":68,"install":69,"resources":82},"01M6JF9S76CX94PR9ZBZWTFPFN","travel-accommodation",null,"Research and recommend hotels, resorts, Airbnbs, and villas for client travel. Covers family-friendliness assessment, luxury evaluation, price-range estimation, and compiling with booking links.","S3YED\u002Fappie-kit","S3YED","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F62743867?v=4","01M6JBKBRRVP6KMS0VWZ27T3R6","01M6JBKBX0KG30284PW1DBYJT1",14,"MIT","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fpersonal\u002Ftravel-accommodation\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"travel accommodation","travel","price","booking","recommend","for","hotel","links","with","recommendation","client","research","estimation","family","find","site","knowledge","Evaluation","compiling","assessment","2026-11-10 10:12:30",false,"---\nname: travel-accommodation\ndescription: Research and recommend hotels, resorts, Airbnbs, and villas for client travel. Covers family-friendliness assessment, luxury evaluation, price-range estimation, and compiling with booking links.\ncategory: knowledge\ntriggers:\n  - find hotel\n  - find resort\n  - find Airbnb\n  - find villa\n  - accommodation research\n  - family-friendly hotel\n  - luxury resort\n  - hotel recommendation\n  - booking site\n  - travel accommodation\n---\n\n# Travel Accommodation Research Skill\n\nResearch and recommend accommodations (hotels, resorts, Airbnbs, villas) for client or personal travel. Produces a ranked overview with ratings, price context, amenities, and booking links.\n\n## Workflow\n\n### Step 1: Gather Requirements\n\nAsk or extract:\n- Destination (city\u002Farea)\n- Traveler profile: solo \u002F couple \u002F family with kids (ages) \u002F group\n- Preferred vibe: luxury, budget, boutique, eco, party, quiet\n- Must-haves: private pool, kids club, beach access, babysitting, specific location\n- Budget range per night\n- Dates (if specific — affects availability\u002Fprice)\n\n### Step 2: Research Hotels & Resorts\n\n**Primary method — DuckDuckGo HTML endpoint** (works without API key):\n\n```python\nimport urllib.request, re\n\ndef ddg_search(query):\n    url = \"https:\u002F\u002Fhtml.duckduckgo.com\u002Fhtml\u002F\"\n    data = urllib.parse.urlencode({\"q\": query}).encode()\n    req = urllib.request.Request(url, data=data, headers={\"User-Agent\": \"Mozilla\u002F5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\u002F537.36\"})\n    html = urllib.request.urlopen(req, timeout=10).read().decode()\n    results = re.findall(r'uddg=(https?[^&]+)', html)\n    titles = re.findall(r'class=\"result__title\"[^>]*>(.*?)\u003C\u002F', html, re.DOTALL)\n    return list(zip(titles, results))\n```\n\n**Search queries that work well:**\n- `best family [luxury] hotels [area] [destination] [year]`\n- `top 10 resorts [area] [destination] kids friendly`\n- `best Airbnbs [area] [destination] family private pool`\n- `luxury villas [area] [destination] private pool`\n\n**Fallback when DDG blocks** (CAPTCHA):\n- Try browser_navigate directly to known review\u002Faggregator sites\n- Try `html.duckduckgo.com\u002Fhtml\u002F` with different User-Agent\n- Use curl via terminal with the same URL + headers\n\n### Step 3: Extract Details from Articles\n\nOnce you have article URLs from search results:\n\n```python\nimport urllib.request, re\n\ndef extract_article_text(url):\n    html = urllib.request.urlopen(url, timeout=10).read().decode()\n    html = re.sub(r'\u003Cscript[^>]*>.*?\u003C\u002Fscript>', '', html, flags=re.DOTALL)\n    html = re.sub(r'\u003Cstyle[^>]*>.*?\u003C\u002Fstyle>', '', html, flags=re.DOTALL)\n    text = re.sub(r'\u003C[^>]+>', '\\n', html)\n    return re.sub(r'\\n+', '\\n', text).strip()\n```\n\nThen scan for hotel\u002Fresort names and details using keyword matching:\n- Hotel\u002Fresort names + star ratings\n- Amenities: kids club, babysitting, pool, spa\n- Pricing mentions\n- Location descriptions\n\n**Keywords:** `hotel`, `resort`, `villa`, `kids`, `family`, `club`, `pool`, `suite`, `luxury`, `price`, `rate`, `beach`, `restaurant`, `spa`\n\n### Step 4: Research Airbnb\u002FVilla Options\n\nUse same DDG search with queries like:\n- `Airbnb [area] [destination] family villa`\n- `best Airbnb [area] [destination] private pool`\n- `vacation rentals [area] [destination]`\n\nDirect Airbnb URL:\n`https:\u002F\u002Fwww.airbnb.com\u002F[area]\u002F[region]-[country]\u002Fstays`\n\nAlso check specialized villa rental sites for the destination.\n\n### Step 5: Compile the Overview\n\nFor each option, present:\n\n```\n**[Name]** ⭐[rating]\u002F5\n- **Vibe:** [luxury \u002F budget \u002F boutique \u002F family]\n- **Price:** ~$XXX-XXX\u002Fnight\n- **Kids:** [kids club? babysitting? nurse?]\n- **Location:** [area, quiet\u002Fbusy, proximity to attractions]\n- **Booking:** [Booking.com](link) | [Agoda](link) | [Airbnb](link) | [Direct](link)\n- **Note:** [why this fits the traveler profile]\n```\n\n### Step 6: Rank with Recommendation\n\nAlways end with a top pick recommendation and why. If asked for alternatives, suggest 1-2 contrasting options (e.g. one ultra-luxury, one better value).\n\nInclude booking sites that work for the region:\n- **Booking.com** — wide selection, free cancellation on many\n- **Agoda** — often cheaper for Asia\n- **Airbnb** — villas, apartments, family homes\n- **Hotels.com** — loyalty program (10th night free)\n- **Direct via resort** — sometimes better rates + upgrades\n\n## Pitfalls\n\n- Travel\u002Fbooking sites block headless browsers (TripAdvisor, Booking.com) — use curl with real browser User-Agent as fallback, or search via DuckDuckGo HTML endpoint instead.\n- Google, Bing, TripAdvisor all CAPTCHA from headless — DDG HTML endpoint is the most reliable.\n- Airbnb listing pages are JavaScript-heavy — the initial HTML may not contain full listing data.\n- Price ranges are seasonal — mention that rates vary by season.\n- \"Family-friendly\" means different things — a baby needs different amenities than a 10yo.\n- Article data can be stale — check publication dates; prices and ratings change.\n- DuckDuckGo HTML endpoint may also CAPTCHA after many requests — space queries 2-3 seconds apart via time.sleep().","# Travel Accommodation Research Skill\n\nResearch and recommend accommodations (hotels, resorts, Airbnbs, villas) for client or personal travel. Produces a ranked overview with ratings, price context, amenities, and booking links.\n\n## Workflow\n\n### Step 1: Gather Requirements\n\nAsk or extract:\n- Destination (city\u002Farea)\n- Traveler profile: solo \u002F couple \u002F family with kids (ages) \u002F group\n- Preferred vibe: luxury, budget, boutique, eco, party, quiet\n- Must-haves: private pool, kids club, beach access, babysitting, specific location\n- Budget range per night\n- Dates (if specific — affects availability\u002Fprice)\n\n### Step 2: Research Hotels & Resorts\n\n**Primary method — DuckDuckGo HTML endpoint** (works without API key):\n\n```python\nimport urllib.request, re\n\ndef ddg_search(query):\n    url = \"https:\u002F\u002Fhtml.duckduckgo.com\u002Fhtml\u002F\"\n    data = urllib.parse.urlencode({\"q\": query}).encode()\n    req = urllib.request.Request(url, data=data, headers={\"User-Agent\": \"Mozilla\u002F5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\u002F537.36\"})\n    html = urllib.request.urlopen(req, timeout=10).read().decode()\n    results = re.findall(r'uddg=(https?[^&]+)', html)\n    titles = re.findall(r'class=\"result__title\"[^>]*>(.*?)\u003C\u002F', html, re.DOTALL)\n    return list(zip(titles, results))\n```\n\n**Search queries that work well:**\n- `best family [luxury] hotels [area] [destination] [year]`\n- `top 10 resorts [area] [destination] kids friendly`\n- `best Airbnbs [area] [destination] family private pool`\n- `luxury villas [area] [destination] private pool`\n\n**Fallback when DDG blocks** (CAPTCHA):\n- Try browser_navigate directly to known review\u002Faggregator sites\n- Try `html.duckduckgo.com\u002Fhtml\u002F` with different User-Agent\n- Use curl via terminal with the same URL + headers\n\n### Step 3: Extract Details from Articles\n\nOnce you have article URLs from search results:\n\n```python\nimport urllib.request, re\n\ndef extract_article_text(url):\n    html = urllib.request.urlopen(url, timeout=10).read().decode()\n    html = re.sub(r'\u003Cscript[^>]*>.*?\u003C\u002Fscript>', '', html, flags=re.DOTALL)\n    html = re.sub(r'\u003Cstyle[^>]*>.*?\u003C\u002Fstyle>', '', html, flags=re.DOTALL)\n    text = re.sub(r'\u003C[^>]+>', '\\n', html)\n    return re.sub(r'\\n+', '\\n', text).strip()\n```\n\nThen scan for hotel\u002Fresort names and details using keyword matching:\n- Hotel\u002Fresort names + star ratings\n- Amenities: kids club, babysitting, pool, spa\n- Pricing mentions\n- Location descriptions\n\n**Keywords:** `hotel`, `resort`, `villa`, `kids`, `family`, `club`, `pool`, `suite`, `luxury`, `price`, `rate`, `beach`, `restaurant`, `spa`\n\n### Step 4: Research Airbnb\u002FVilla Options\n\nUse same DDG search with queries like:\n- `Airbnb [area] [destination] family villa`\n- `best Airbnb [area] [destination] private pool`\n- `vacation rentals [area] [destination]`\n\nDirect Airbnb URL:\n`https:\u002F\u002Fwww.airbnb.com\u002F[area]\u002F[region]-[country]\u002Fstays`\n\nAlso check specialized villa rental sites for the destination.\n\n### Step 5: Compile the Overview\n\nFor each option, present:\n\n```\n**[Name]** ⭐[rating]\u002F5\n- **Vibe:** [luxury \u002F budget \u002F boutique \u002F family]\n- **Price:** ~$XXX-XXX\u002Fnight\n- **Kids:** [kids club? babysitting? nurse?]\n- **Location:** [area, quiet\u002Fbusy, proximity to attractions]\n- **Booking:** [Booking.com](link) | [Agoda](link) | [Airbnb](link) | [Direct](link)\n- **Note:** [why this fits the traveler profile]\n```\n\n### Step 6: Rank with Recommendation\n\nAlways end with a top pick recommendation and why. If asked for alternatives, suggest 1-2 contrasting options (e.g. one ultra-luxury, one better value).\n\nInclude booking sites that work for the region:\n- **Booking.com** — wide selection, free cancellation on many\n- **Agoda** — often cheaper for Asia\n- **Airbnb** — villas, apartments, family homes\n- **Hotels.com** — loyalty program (10th night free)\n- **Direct via resort** — sometimes better rates + upgrades\n\n## Pitfalls\n\n- Travel\u002Fbooking sites block headless browsers (TripAdvisor, Booking.com) — use curl with real browser User-Agent as fallback, or search via DuckDuckGo HTML endpoint instead.\n- Google, Bing, TripAdvisor all CAPTCHA from headless — DDG HTML endpoint is the most reliable.\n- Airbnb listing pages are JavaScript-heavy — the initial HTML may not contain full listing data.\n- Price ranges are seasonal — mention that rates vary by season.\n- \"Family-friendly\" means different things — a baby needs different amenities than a 10yo.\n- Article data can be stale — check publication dates; prices and ratings change.\n- DuckDuckGo HTML endpoint may also CAPTCHA after many requests — space queries 2-3 seconds apart via time.sleep().",{"name":5,"category":42,"triggers":51,"description":7},[52,53,54,55,56,57,58,59,60,26],"find hotel","find resort","find Airbnb","find villa","accommodation research","family-friendly hotel","luxury resort","hotel recommendation","booking site","master","8ec37df6d71fb664ea19d32c079e7d3ff931a8e0","skills\u002Fpersonal\u002Ftravel-accommodation",3,"https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit","https:\u002F\u002Fweblyfe.ai","https:\u002F\u002Fgithub.com\u002FS3YED","2026-08-27 01:54:02",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":81},[71,74,77],{"tool":72,"command":73},"npx","npx skills add S3YED\u002Fappie-kit --skill travel-accommodation",{"tool":75,"command":76},"bunx","bunx skills add S3YED\u002Fappie-kit --skill travel-accommodation",{"tool":78,"command":79},"pnpm","pnpm dlx skills add S3YED\u002Fappie-kit --skill travel-accommodation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fpersonal\u002Ftravel-accommodation\u002FSKILL.md",true,[],[84,116,151,177,207,231],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":97,"publishedAt":46},"01M6JFD4M6N4DSGC7TXEJ5R3J2","ai-music","AI music generation and audio tools: HeartMuLa lyrics-to-music generation, songwriting craft (+ Suno prompts), and audio spectrogram\u002Ffeature visualization.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fwethlete\u002Fai-music\u002FSKILL.md",[90,93,96],{"categoryNo":91,"categoryName":92,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":94,"categoryName":95,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115],"music","ai music","humanizer","visualization","Tools","Audio","hermes","hermes agent","songwriting","suno","lyrics","prompts","heartmula","craft","generation","feature","ai music generation","music generation",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":130,"publishedAt":46},"01M6JFCZE4XNFQFMNZDHKHT5V5","agentic-webdesign-design-system-ingestion","Use v0 Design Systems 2.0, Bolt Design System Agents, or Lovable to generate production UI from a client's real design system components — not generic Tailwind. Use when building a client website where brand consistency matters.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fweb-design\u002Fagentic-webdesign-design-system-ingestion\u002FSKILL.md",[122,125],{"categoryNo":123,"categoryName":124,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150],"design","agentic","design system","system","ingestion","webdesign","agentic webdesign design system ingestion","components","generate","design systems","website","ui","Tailwind","bolt","lovable","v0","design-system","wed","design system components","appie",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":159,"publishedAt":46},"01M6JFCVPX3913CFAS6QQJ33ZB","agentic-webdesign-agent-elements","Use 21st.dev Agent Elements — 25 shadcn\u002Fui components purpose-built for AI agent UIs. Tool cards (Bash, Edit, Search, Plan, Subagent, MCP), chat, input, streaming. Open source, shadcn-registry install, no runtime lock-in.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fweb-design\u002Fagentic-webdesign-agent-elements\u002FSKILL.md",[157,158],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},[132,160,136,161,162,163,138,164,165,166,167,168,169,170,171,172,173,174,175,176],"elements","agentic webdesign agent elements","MCP","ai agent","registry","search","streaming","open source","open","Bash","plan","subagent","edit","install","input","lock","source",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":187,"publishedAt":46},"01M6JFCQC7H65M9QJ6TRE71BS1","vercel-deployment","Deploy static sites and frontends to Vercel — handles both CLI and REST API paths, including the CLI token sanitization workaround.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fsoftware-development\u002Fvercel-deployment\u002FSKILL.md",[183,186],{"categoryNo":184,"categoryName":185,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[188,189,190,191,192,193,194,195,196,197,198,41,199,200,201,202,203,204,205,206],"deployment","vercel deployment","vercel","macos","cli","linux","windows","deploy","vercel deploy","REST","api","deploy to vercel","token","rest api","host","sites","paths","sanitization","static site",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":211,"categories":212,"keywords":214,"publishedAt":46},"01M6JFCM4SMTXBM5A01BK2YQG1","software-quality-workflows","Umbrella workflow for TDD, debugging, code simplification, spikes, pre-commit review, and debugger-assisted investigation.","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fsoftware-development\u002Fsoftware-quality-workflows\u002FSKILL.md",[213],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,31],"workflows","quality","software","software quality workflows","review","tdd","workflow","commit","debugging","code","debugger","pre-commit","investigation","code simplification","user","simplification",{"skillNo":232,"name":233,"nameZh":6,"description":234,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":235,"categories":236,"keywords":244,"publishedAt":46},"01M6JFCGD0M6CEATY01W7YN6DB","react-component-refactoring","Safely refactor large React components into smaller, maintainable pieces using proven patterns","https:\u002F\u002Fgithub.com\u002FS3YED\u002Fappie-kit\u002Fblob\u002Fmaster\u002Fskills\u002Fsoftware-development\u002Freact-component-refactoring\u002FSKILL.md",[237,240,243],{"categoryNo":238,"categoryName":239,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":241,"categoryName":242,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[245,246,247,248,249,250,251,252,191,253,254,138,255,194,256,224,257,258,259,260],"react","component","refactoring","component refactoring","react component","react component refactoring","frontend","writing","safe","typescript","react components","modular","refactor","simplify","patterns","test-driven-development"]