[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M713QRN8VFMA9VKS6R4DJ2WS":3,"skill-same:01M713QRN8VFMA9VKS6R4DJ2WS":77},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M713QRN8VFMA9VKS6R4DJ2WS","zocdoc-doctor-finder",null,"Use when a user needs to find a doctor, dentist, specialist, therapist, or healthcare provider — especially when they mention insurance, in-network, availability, location, appointments, or booking. Also use for browsing provider reviews, comparing doctors by specialty, or checking if a provider takes their insurance.","FDU-INS\u002FInsurance-Skills","FDU-INS","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F167067594?v=4","01M6XEYMRS4CVJMZ834YWE66BV","FDU-Insurance","01M6XEYMXPDA34HFM0ZE6AY78G",82,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fzocdoc-doctor-finder\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"doctor","zocdoc doctor finder","automation","use","tool","provider","for","availability","computer","therapist","network","booking","browser","browsing","when","access","browser automation","insurance","reviews","healthcare","2026-11-10 10:12:30",false,"---\nname: zocdoc-doctor-finder\ndescription: Use when a user needs to find a doctor, dentist, specialist, therapist, or healthcare provider — especially when they mention insurance, in-network, availability, location, appointments, or booking. Also use for browsing provider reviews, comparing doctors by specialty, or checking if a provider takes their insurance.\ncompatibility: Requires browser access (e.g., computer use or browser automation tool)\n---\n\n# Zocdoc Doctor Finder\n\n## Overview\n\nFind in-network healthcare providers with real-time availability on Zocdoc.com using browser automation. Extract data from Zocdoc's Redux store and GraphQL API — no authentication required.\n\n## Browser Requirements\n\nThis skill requires the user's **real browser session** — not a headless browser, fresh profile, or isolated automation context. Use the browser the user already has open, with their existing cookies, history, and login state. A clean profile with no browsing history is more likely to trigger bot detection.\n\n**Pacing:** Wait for each page to fully load before taking the next action. Do not rapid-fire navigate between pages. A 2-3 second pause between actions mimics normal browsing and reduces bot detection risk.\n\n**Two interaction modes exist:**\n\n| Mode | Can run console JS? | How to extract data |\n|------|-------------------|-------------------|\n| **Programmatic** (Playwright, Puppeteer) | Yes | Redux state extraction (preferred) |\n| **Computer use** (screen-based agent) | No | Read data directly from the visible page |\n\nBoth modes follow the same workflow — the only difference is *how* you extract data at each step. Instructions for both are included below.\n\n## When to Use\n\n- User asks to find a doctor, dentist, or specialist\n- User mentions insurance and wants to know who's in-network\n- User wants to check appointment availability or book a visit\n- User wants to compare providers by rating, distance, or reviews\n- User asks about a specific provider on Zocdoc\n\n**When NOT to use:**\n- User wants to interact with Zocdoc's programmatic\u002Fpartner API\n- User needs providers outside the US (Zocdoc is US-only)\n- User wants to complete the booking transaction (requires auth + PHI)\n\n## Workflow\n\n### 1. Gather Requirements\n\nCollect from the user (ask only what's missing — infer from context when possible):\n\n- **What they need**: specialty, condition, or procedure (e.g., \"dermatologist\", \"back pain\", \"annual physical\")\n- **Location**: city\u002Fstate, zip code, or address\n- **Insurance** (optional but high-value): carrier + plan name\n- **Preferences** (optional): time of day, virtual vs in-person, language, gender, urgency (\"soon as possible\")\n\nIf the user is vague (\"I need a doctor\"), ask one focused question: \"What kind of doctor, and where are you located?\"\n\n**Agent tips:**\n- Always ask about insurance if not provided — it's the #1 factor that determines which doctors appear\n- If the user names a condition (\"my knee hurts\") rather than a specialty, do not guess the specialty — use the homepage search autocomplete in step 2\n- Infer location from prior conversation context before asking (e.g., user previously mentioned \"I live in Brooklyn\")\n- Don't ask for all fields upfront — specialty + location is enough to start; refine with filters after showing initial results\n\n### 2. Construct Search URL\n\nBuild a Zocdoc search URL. See [references\u002Furl-patterns.md](references\u002Furl-patterns.md) for full parameter documentation.\n\n**Quick reference — search URL structure:**\n\n```\nhttps:\u002F\u002Fwww.zocdoc.com\u002Fsearch?\n  address=\u003CCity,+State+or+Zip>\n  &dr_specialty=\u003Cspecialty_id>\n  &insurance_carrier=\u003Ccarrier_name>\n  &insurance_plan=\u003Cplan_id>\n  &day_filter=\u003CAnyDay|Today|Tomorrow|NextWeek>\n  &sort_type=Default\n  &visitType=\u003CinPersonAndVirtualVisits|virtualVisits|inPersonVisits>\n  &after_5pm=\u003Ctrue|false>\n  &before_10am=\u003Ctrue|false>\n  &gender=\u003C-1|1|2>\n  &language=\u003Clanguage_id|-1>\n  &offset=\u003Cpage_number>\n```\n\nCommon specialty IDs: Primary Care = `153`, Dentist = `98`, Dermatologist = `105`, OB-GYN = `133`, Psychiatrist = `319`, Eye Doctor = `113`, Urgent Care = `702`.\n\nFor a complete specialty list, see [references\u002Furl-patterns.md](references\u002Furl-patterns.md).\n\nIf the specialty ID is unknown, use the homepage search: navigate to `zocdoc.com`, type the specialty\u002Fcondition in the search combobox, and select from autocomplete suggestions.\n\n### 3. Navigate and Parse Results\n\n1. Open the search URL in the browser.\n2. If a **visit reason picker** appears (\"What type of care are you looking for?\"), click the \"Skip to search results\" button to bypass it.\n3. **Extract structured data from Redux** (preferred over DOM scraping). Run this in the browser console:\n\n```javascript\n(() => {\n  const sr = window.__REDUX_STATE__?.searchResults?.search?.searchResponse;\n  if (!sr) return JSON.stringify({error: 'no results'});\n  return JSON.stringify(sr.providerLocations.map(pl => ({\n    name: pl.provider.approvedFullName,\n    rating: pl.provider.averageRating,\n    reviewCount: pl.provider.reviewCount,\n    specialty: pl.provider.relevantSpecialty?.name,\n    profileUrl: 'https:\u002F\u002Fwww.zocdoc.com' + pl.provider.profileUrl,\n    address: [pl.location.address, pl.location.cityName, pl.location.stateName, pl.location.zip].filter(Boolean).join(', '),\n    distance: pl.location.distanceMiles,\n    isVirtual: pl.location.isVirtual,\n    isSponsored: !!pl.spoData?.adDecisionId,\n    badges: pl.provider.badges?.map(b => b.displayText) || []\n  })), null, 2);\n})()\n```\n\nThis returns clean JSON from the Redux store — much more reliable than parsing the DOM.\n\n4. **Computer-use alternative**: If you cannot run JavaScript (screen-based agent), read the search results directly from the visible page. Each result card shows:\n   - Provider name and credentials (header of each card)\n   - Star rating and review count (below the name)\n   - Address and distance (below rating)\n   - Badges like \"Highly Recommended\" (if present)\n   - Availability preview (date\u002Ftime slots on the right side of the card)\n   - \"Sponsored\" label (top-right corner, if applicable)\n\n   Read each card carefully and extract these fields from what is visible. **Do not infer or fabricate any field you cannot see on the page.**\n\n5. **Fallback**: If Redux state is unavailable and you are in programmatic mode, read search results from the DOM snapshot. Each article\u002Fresult card contains provider name, rating, reviews, address, badges, and availability grid.\n\n6. Present results to the user in a clean summary. Format each provider like:\n\n   ```\n   1. **Dr. Name, MD** — ⭐ 4.96 (312 reviews) · Highly Recommended\n      📍 1.2 mi — 680 N Lake Shore Dr, Chicago, IL 60611\n      🗓 Next available: Tomorrow, Mar 4\n      🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Fname-slug-123456\n\n      ℹ️ Sponsored result (if applicable)\n   ```\n\n   Include for each: name + credentials, rating + review count, address + distance, notable badges, next available date, direct profile link, and whether it's a sponsored result.\n\n**Agent tips:**\n- Show 3-5 top results initially — don't dump the full list of 20. Offer \"Want to see more?\" if they want to browse\n- Present results in the same order Zocdoc returns them, but label sponsored results so the user knows which are ads\n- Highlight badges like \"Highly Recommended\" or \"Patient Choice\" — these carry weight with users\n- If all results are far away (>10 miles), proactively suggest broadening the search or trying virtual visits\n- Always include the review count alongside the rating — \"4.9 with 200 reviews\" gives users more confidence than a score alone\n\nSee [references\u002Fapi-patterns.md](references\u002Fapi-patterns.md) for full Redux state structure and GraphQL API details.\n\n### 4. Drill Into a Provider (on request)\n\nWhen the user wants details on a specific doctor, navigate to their profile URL and extract:\n\n- **About**: bio, education, board certifications, languages, gender, NPI\n- **Insurance**: full list of accepted plans (click \"View All\" to expand)\n- **Availability grid**: shows dates with appointment count, navigable by week\n- **Reviews**: rating breakdown (overall, wait time, bedside manner), searchable\u002Ffilterable\n- **Areas of expertise**: conditions\u002Fprocedures they treat most\n\nSummarize relevant sections based on what the user cares about.\n\n**Agent tips:**\n- If the user asked about insurance, lead with the insurance section — confirm their plan is accepted before anything else\n- For reviews, mention the rating breakdown (wait time vs bedside manner) — not just the overall score\n- If the user is comparing two doctors, present a side-by-side comparison rather than sequential descriptions\n\n### 5. Check Specific Availability\n\n**Option A — GQL API** (best for bulk\u002Fextended availability): Call `POST https:\u002F\u002Fapi.zocdoc.com\u002Fdirectory\u002Fv3\u002Fgql` with the `providerLocationsAvailability` operation to get exact timeslots per date. See [references\u002Fapi-patterns.md](references\u002Fapi-patterns.md) for the full query and response structure. Get `searchRequestId` and `providerLocationIds` from the Redux state extracted in step 3.\n\n**Option B — DOM \u002F visual interaction**: On the provider profile page:\n- The availability grid shows dates with appointment counts\n- Click a date cell to see specific time slots\n- Use \"Show more availability\" buttons to navigate earlier\u002Flater dates\n- The visit reason dropdown affects which slots appear\n\nReport available dates\u002Ftimes clearly: \"Dr. X has 15 appointments available on Thu Feb 19, and 19 on Thu Feb 26.\"\n\n**Agent tips:**\n- When reporting availability, group by week and highlight the soonest opening: \"Next available: tomorrow at 9am. Also has 12 slots next week.\"\n- If the user said \"soon as possible,\" sort by earliest first availability, not by rating\n- If a doctor has no availability in the next 2 weeks, say so and offer to check the next provider on the list\n\n### 6. Guide to Booking\n\nWhen the user is ready to book:\n1. Provide the direct Zocdoc profile link\n2. Tell them to click the desired time slot and follow Zocdoc's booking flow\n3. Note: completing the booking requires a Zocdoc account (free signup)\n\n**Do not attempt to complete the booking flow** — it requires authentication and personal health information.\n\n**Agent tips:**\n- Provide the direct booking start URL with pre-filled insurance and visit reason when possible (see url-patterns.md Profile URL Query Parameters)\n- Remind the user: \"Zocdoc signup is free and takes about 1 minute\"\n- If the user compared multiple doctors, briefly restate why this one stood out: \"Dr. X had the highest rating and earliest availability\"\n\n## Filters\n\nApply these filters via the search page filter buttons:\n\n| Filter | Options |\n|--------|---------|\n| Time of day | Morning, Afternoon, Evening |\n| I'm flexible | Date flexibility |\n| Illness | Condition-based filtering |\n| Specialty | Refine specialty |\n| Distance | Radius from location |\n| In-person\u002Fvideo | Visit type |\n| More filters | Gender, language, sees children, etc. |\n\n## Data Integrity\n\n**Only report data you actually extracted from Zocdoc.** Never present a provider name, address, phone number, rating, review count, or availability that you did not read from Zocdoc's page, Redux state, or API response. If a field is not visible or not returned, omit it — do not guess or fill in from another source.\n\nIf you used a different source (e.g., a web search), you must explicitly tell the user: \"I couldn't load Zocdoc results, so these come from a general web search and may not reflect current Zocdoc availability or insurance acceptance.\"\n\n## Failure Protocol\n\n**If you cannot load Zocdoc search results — for any reason — tell the user immediately.** Do not silently switch to a web search or another data source.\n\nSpecifically:\n- If the page shows a CAPTCHA, access denied, or error page: tell the user what you see and ask them to try loading the page manually\n- If the page loads but results are empty or the Redux state returns no data: retry once after waiting for full page load, then report the failure\n- If you are blocked or rate-limited: tell the user and suggest they try the search directly at the URL you constructed\n\n**Never fabricate results to fill a gap.** An honest \"I couldn't load results\" is always better than plausible-looking data the user can't verify.\n\n## Common Mistakes\n\n- **Not bypassing the visit reason picker.** After navigating to a search URL, a \"What type of care are you looking for?\" modal often appears. You must click \"Skip to search results\" or results won't load and Redux state will be empty.\n- **Extracting Redux state too early.** `window.__REDUX_STATE__` may not be populated on initial page load. If the extraction returns `{error: 'no results'}`, wait for the page to fully render and retry.\n- **Not disclosing sponsored results.** Sponsored providers appear first and look like organic results. Always check the `isSponsored` field and tell the user which results are ads.\n- **Forgetting insurance.** Insurance is the #1 filter that determines which doctors appear. Always ask if not provided.\n- **Using specialty ID when condition is given.** If the user describes a condition (\"back pain\") rather than a specialty, use the homepage search autocomplete — Zocdoc maps conditions to the right specialties internally. Don't guess the specialty ID.\n- **Navigating too fast.** Rapid page transitions trigger bot detection. Wait for each page to fully render (2-3 seconds) before taking the next action.\n- **Using a fresh browser profile.** A browser with no cookies or history is more likely to be flagged. Always use the user's existing browser session.\n- **Silently falling back to web search.** If Zocdoc doesn't load, tell the user. Never quietly switch data sources and present the results as if they came from Zocdoc.\n\n## Handling Common Situations\n\n- **User doesn't know their insurance:** Search without insurance first, then say: \"I found X doctors near you. If you share your insurance, I can filter to in-network providers — this can significantly reduce your cost.\"\n- **No results for their search:** Try these in order: (1) remove the insurance filter, (2) expand to a nearby city or broader zip, (3) try a related specialty, (4) suggest virtual visits. Tell the user what you changed.\n- **User names a condition, not a specialty:** Do not guess a specialty ID. Navigate to zocdoc.com and use the search combobox autocomplete — Zocdoc maps conditions to the right provider types internally.\n- **User wants to compare two doctors:** Pull both profiles and present a side-by-side comparison: rating, review count, distance, next availability, insurance acceptance, and notable badges.\n- **User asks about a doctor not on Zocdoc:** Say \"I couldn't find Dr. X on Zocdoc. They may not be listed. Want me to search for similar providers in the same specialty and area?\"\n- **User wants \"the soonest available\":** Sort by `firstAvailability` from the GQL response or look at the availability grid dates, not by default ranking. Tell the user: \"The soonest available is Dr. X with an appointment today at 3pm.\"\n- **Too many results, user seems overwhelmed:** Narrow by asking one targeted question: \"Do you prefer someone closer to you, or with the highest rating?\" Then re-filter.\n- **User wants evening or weekend appointments:** Apply `after_5pm=true` or `day_filter=NextWeek` and note that weekend availability is limited for most specialties.\n\n## Example Conversations\n\n### Finding a specialist with insurance\n\n```\nUser: I need a dermatologist in Chicago that takes Aetna.\n\nAgent: Searching Zocdoc for dermatologists in Chicago accepting Aetna...\n\nHere are the top results:\n\n1. **Dr. Sarah Kim, MD** — ⭐ 4.96 (312 reviews) · Highly Recommended\n   📍 1.2 mi — 680 N Lake Shore Dr, Chicago, IL 60611\n   🗓 Next available: Tomorrow, Mar 4\n   🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Fsarah-kim-md-234567\n\n2. **Dr. James Chen, DO** — ⭐ 4.89 (187 reviews)\n   📍 2.4 mi — 1253 N Milwaukee Ave, Chicago, IL 60622\n   🗓 Next available: Thu, Mar 6\n   🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Fjames-chen-do-345678\n\n3. **Dr. Maria Lopez, MD** — ⭐ 4.85 (95 reviews) · Patient Choice\n   📍 3.1 mi — 150 E Huron St, Chicago, IL 60611\n   🗓 Next available: Mon, Mar 9\n   🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Fmaria-lopez-md-456789\n\n   ℹ️ Sponsored result\n\nDr. Kim has the highest rating and earliest availability. Want details on any of these, or should I check specific appointment times?\n\nUser: Tell me more about Dr. Kim. Does she have anything Thursday afternoon?\n\nAgent: Here's Dr. Kim's profile:\n\n**Dr. Sarah Kim, MD — Dermatologist**\n⭐ 4.96 overall · 4.98 bedside manner · 4.94 wait time (312 reviews)\n🎓 Northwestern Feinberg School of Medicine · Board Certified\n💼 Specializes in: acne, eczema, skin cancer screening, cosmetic dermatology\n✅ Accepts Aetna (confirmed)\n\n**Thursday Mar 6 availability:**\n- 1:00 PM, 1:30 PM, 2:15 PM, 3:00 PM, 3:45 PM\n\n5 afternoon slots available. Want to book one? I'll send you the direct link.\n\nUser: The 2:15 slot.\n\nAgent: Here's your booking link:\n\n🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Fsarah-kim-md-234567?insuranceCarrier=Aetna&insurancePlan=-1&reason_visit=75\n\nClick the 2:15 PM slot on Thursday Mar 6 and follow the booking flow. You'll need a Zocdoc account (free signup, takes about 1 minute). Dr. Kim was the top-rated dermatologist in your area with the earliest availability — great pick.\n```\n\n### Searching by condition (not specialty)\n\n```\nUser: My back has been killing me. Who should I see near 10001?\n\nAgent: Back pain could be treated by several specialties — let me search Zocdoc to find the right match.\n\nSearching zocdoc.com for \"back pain\" near 10001...\n\nZocdoc suggests these provider types for back pain:\n- **Orthopedic Surgeon** — for structural\u002Fjoint issues\n- **Pain Management Specialist** — for chronic pain treatment\n- **Physical Therapist** — for rehab and exercises\n- **Chiropractor** — for spinal alignment\n\nHere are the top-rated providers for back pain near 10001:\n\n1. **Dr. Robert Patel, MD** — Pain Management · ⭐ 4.91 (245 reviews) · Highly Recommended\n   📍 0.8 mi — 317 E 34th St, New York, NY 10016\n   🗓 Next available: Today, 4:30 PM\n   🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Frobert-patel-md-567890\n\n2. **Dr. Lisa Wong, MD** — Orthopedic Surgeon · ⭐ 4.87 (178 reviews)\n   📍 1.1 mi — 535 E 70th St, New York, NY 10021\n   🗓 Next available: Wed, Mar 5\n   🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Flisa-wong-md-678901\n\nDo you have insurance you'd like me to filter by? That will narrow results to in-network providers.\n```\n\n### Checking availability for a known doctor\n\n```\nUser: What appointments does Dr. Laurence Gordon have available next week?\n\nAgent: Looking up Dr. Laurence Gordon on Zocdoc...\n\n**Dr. Laurence Gordon, DO**\n📍 258 Broadway, New York, NY 10007\n\nNext week's availability:\n- **Mon Mar 9:** 9:00 AM, 10:30 AM, 2:00 PM (3 slots)\n- **Tue Mar 10:** 9:00 AM, 11:00 AM, 1:00 PM, 3:30 PM (4 slots)\n- **Wed Mar 11:** 10:00 AM, 2:30 PM (2 slots)\n- **Thu Mar 12:** No availability\n- **Fri Mar 13:** 9:00 AM, 11:30 AM, 4:00 PM (3 slots)\n\n12 total appointments next week. Tuesday has the most options. Want to book one?\n```\n\n## Quick Reference\n\n### URLs\n\n```\nSearch:    https:\u002F\u002Fwww.zocdoc.com\u002Fsearch?address={loc}&dr_specialty={id}&insurance_carrier={carrier}\nProfile:   https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002F{name-slug}-{id}\nGQL API:   POST https:\u002F\u002Fapi.zocdoc.com\u002Fdirectory\u002Fv3\u002Fgql\n```\n\n### Top Specialty IDs\n\n```\n153  Primary Care       98  Dentist         105  Dermatologist\n133  OB-GYN            319  Psychiatrist    113  Eye Doctor\n702  Urgent Care       141  Orthopedic      149  Pediatrician\n 47  Cardiologist        7  ENT             117  Gastroenterologist\n```\n\n### Key URL Params\n\n```\naddress          City, State or zip (URL-encoded)\ndr_specialty     Specialty ID\ninsurance_carrier  Carrier name\ninsurance_plan   Plan ID (-1 = any)\nday_filter       AnyDay | Today | Tomorrow | NextWeek\nvisitType        inPersonAndVirtualVisits | virtualVisits | inPersonVisits\nsort_type        Default | Distance\noffset           Page number (0-indexed)\n```\n\n### Redux Extraction\n\n```javascript\nwindow.__REDUX_STATE__?.searchResults?.search?.searchResponse?.providerLocations\n```\n\n### Data Flow\n\n```\nBuild search URL → Navigate → Bypass visit picker → Extract Redux state → Present results\n                                                   → Call GQL for availability → Report timeslots\n                                                   → Navigate to profile → Extract details\n```\n","# Zocdoc Doctor Finder\n\n## Overview\n\nFind in-network healthcare providers with real-time availability on Zocdoc.com using browser automation. Extract data from Zocdoc's Redux store and GraphQL API — no authentication required.\n\n## Browser Requirements\n\nThis skill requires the user's **real browser session** — not a headless browser, fresh profile, or isolated automation context. Use the browser the user already has open, with their existing cookies, history, and login state. A clean profile with no browsing history is more likely to trigger bot detection.\n\n**Pacing:** Wait for each page to fully load before taking the next action. Do not rapid-fire navigate between pages. A 2-3 second pause between actions mimics normal browsing and reduces bot detection risk.\n\n**Two interaction modes exist:**\n\n| Mode | Can run console JS? | How to extract data |\n|------|-------------------|-------------------|\n| **Programmatic** (Playwright, Puppeteer) | Yes | Redux state extraction (preferred) |\n| **Computer use** (screen-based agent) | No | Read data directly from the visible page |\n\nBoth modes follow the same workflow — the only difference is *how* you extract data at each step. Instructions for both are included below.\n\n## When to Use\n\n- User asks to find a doctor, dentist, or specialist\n- User mentions insurance and wants to know who's in-network\n- User wants to check appointment availability or book a visit\n- User wants to compare providers by rating, distance, or reviews\n- User asks about a specific provider on Zocdoc\n\n**When NOT to use:**\n- User wants to interact with Zocdoc's programmatic\u002Fpartner API\n- User needs providers outside the US (Zocdoc is US-only)\n- User wants to complete the booking transaction (requires auth + PHI)\n\n## Workflow\n\n### 1. Gather Requirements\n\nCollect from the user (ask only what's missing — infer from context when possible):\n\n- **What they need**: specialty, condition, or procedure (e.g., \"dermatologist\", \"back pain\", \"annual physical\")\n- **Location**: city\u002Fstate, zip code, or address\n- **Insurance** (optional but high-value): carrier + plan name\n- **Preferences** (optional): time of day, virtual vs in-person, language, gender, urgency (\"soon as possible\")\n\nIf the user is vague (\"I need a doctor\"), ask one focused question: \"What kind of doctor, and where are you located?\"\n\n**Agent tips:**\n- Always ask about insurance if not provided — it's the #1 factor that determines which doctors appear\n- If the user names a condition (\"my knee hurts\") rather than a specialty, do not guess the specialty — use the homepage search autocomplete in step 2\n- Infer location from prior conversation context before asking (e.g., user previously mentioned \"I live in Brooklyn\")\n- Don't ask for all fields upfront — specialty + location is enough to start; refine with filters after showing initial results\n\n### 2. Construct Search URL\n\nBuild a Zocdoc search URL. See [references\u002Furl-patterns.md](references\u002Furl-patterns.md) for full parameter documentation.\n\n**Quick reference — search URL structure:**\n\n```\nhttps:\u002F\u002Fwww.zocdoc.com\u002Fsearch?\n  address=\u003CCity,+State+or+Zip>\n  &dr_specialty=\u003Cspecialty_id>\n  &insurance_carrier=\u003Ccarrier_name>\n  &insurance_plan=\u003Cplan_id>\n  &day_filter=\u003CAnyDay|Today|Tomorrow|NextWeek>\n  &sort_type=Default\n  &visitType=\u003CinPersonAndVirtualVisits|virtualVisits|inPersonVisits>\n  &after_5pm=\u003Ctrue|false>\n  &before_10am=\u003Ctrue|false>\n  &gender=\u003C-1|1|2>\n  &language=\u003Clanguage_id|-1>\n  &offset=\u003Cpage_number>\n```\n\nCommon specialty IDs: Primary Care = `153`, Dentist = `98`, Dermatologist = `105`, OB-GYN = `133`, Psychiatrist = `319`, Eye Doctor = `113`, Urgent Care = `702`.\n\nFor a complete specialty list, see [references\u002Furl-patterns.md](references\u002Furl-patterns.md).\n\nIf the specialty ID is unknown, use the homepage search: navigate to `zocdoc.com`, type the specialty\u002Fcondition in the search combobox, and select from autocomplete suggestions.\n\n### 3. Navigate and Parse Results\n\n1. Open the search URL in the browser.\n2. If a **visit reason picker** appears (\"What type of care are you looking for?\"), click the \"Skip to search results\" button to bypass it.\n3. **Extract structured data from Redux** (preferred over DOM scraping). Run this in the browser console:\n\n```javascript\n(() => {\n  const sr = window.__REDUX_STATE__?.searchResults?.search?.searchResponse;\n  if (!sr) return JSON.stringify({error: 'no results'});\n  return JSON.stringify(sr.providerLocations.map(pl => ({\n    name: pl.provider.approvedFullName,\n    rating: pl.provider.averageRating,\n    reviewCount: pl.provider.reviewCount,\n    specialty: pl.provider.relevantSpecialty?.name,\n    profileUrl: 'https:\u002F\u002Fwww.zocdoc.com' + pl.provider.profileUrl,\n    address: [pl.location.address, pl.location.cityName, pl.location.stateName, pl.location.zip].filter(Boolean).join(', '),\n    distance: pl.location.distanceMiles,\n    isVirtual: pl.location.isVirtual,\n    isSponsored: !!pl.spoData?.adDecisionId,\n    badges: pl.provider.badges?.map(b => b.displayText) || []\n  })), null, 2);\n})()\n```\n\nThis returns clean JSON from the Redux store — much more reliable than parsing the DOM.\n\n4. **Computer-use alternative**: If you cannot run JavaScript (screen-based agent), read the search results directly from the visible page. Each result card shows:\n   - Provider name and credentials (header of each card)\n   - Star rating and review count (below the name)\n   - Address and distance (below rating)\n   - Badges like \"Highly Recommended\" (if present)\n   - Availability preview (date\u002Ftime slots on the right side of the card)\n   - \"Sponsored\" label (top-right corner, if applicable)\n\n   Read each card carefully and extract these fields from what is visible. **Do not infer or fabricate any field you cannot see on the page.**\n\n5. **Fallback**: If Redux state is unavailable and you are in programmatic mode, read search results from the DOM snapshot. Each article\u002Fresult card contains provider name, rating, reviews, address, badges, and availability grid.\n\n6. Present results to the user in a clean summary. Format each provider like:\n\n   ```\n   1. **Dr. Name, MD** — ⭐ 4.96 (312 reviews) · Highly Recommended\n      📍 1.2 mi — 680 N Lake Shore Dr, Chicago, IL 60611\n      🗓 Next available: Tomorrow, Mar 4\n      🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Fname-slug-123456\n\n      ℹ️ Sponsored result (if applicable)\n   ```\n\n   Include for each: name + credentials, rating + review count, address + distance, notable badges, next available date, direct profile link, and whether it's a sponsored result.\n\n**Agent tips:**\n- Show 3-5 top results initially — don't dump the full list of 20. Offer \"Want to see more?\" if they want to browse\n- Present results in the same order Zocdoc returns them, but label sponsored results so the user knows which are ads\n- Highlight badges like \"Highly Recommended\" or \"Patient Choice\" — these carry weight with users\n- If all results are far away (>10 miles), proactively suggest broadening the search or trying virtual visits\n- Always include the review count alongside the rating — \"4.9 with 200 reviews\" gives users more confidence than a score alone\n\nSee [references\u002Fapi-patterns.md](references\u002Fapi-patterns.md) for full Redux state structure and GraphQL API details.\n\n### 4. Drill Into a Provider (on request)\n\nWhen the user wants details on a specific doctor, navigate to their profile URL and extract:\n\n- **About**: bio, education, board certifications, languages, gender, NPI\n- **Insurance**: full list of accepted plans (click \"View All\" to expand)\n- **Availability grid**: shows dates with appointment count, navigable by week\n- **Reviews**: rating breakdown (overall, wait time, bedside manner), searchable\u002Ffilterable\n- **Areas of expertise**: conditions\u002Fprocedures they treat most\n\nSummarize relevant sections based on what the user cares about.\n\n**Agent tips:**\n- If the user asked about insurance, lead with the insurance section — confirm their plan is accepted before anything else\n- For reviews, mention the rating breakdown (wait time vs bedside manner) — not just the overall score\n- If the user is comparing two doctors, present a side-by-side comparison rather than sequential descriptions\n\n### 5. Check Specific Availability\n\n**Option A — GQL API** (best for bulk\u002Fextended availability): Call `POST https:\u002F\u002Fapi.zocdoc.com\u002Fdirectory\u002Fv3\u002Fgql` with the `providerLocationsAvailability` operation to get exact timeslots per date. See [references\u002Fapi-patterns.md](references\u002Fapi-patterns.md) for the full query and response structure. Get `searchRequestId` and `providerLocationIds` from the Redux state extracted in step 3.\n\n**Option B — DOM \u002F visual interaction**: On the provider profile page:\n- The availability grid shows dates with appointment counts\n- Click a date cell to see specific time slots\n- Use \"Show more availability\" buttons to navigate earlier\u002Flater dates\n- The visit reason dropdown affects which slots appear\n\nReport available dates\u002Ftimes clearly: \"Dr. X has 15 appointments available on Thu Feb 19, and 19 on Thu Feb 26.\"\n\n**Agent tips:**\n- When reporting availability, group by week and highlight the soonest opening: \"Next available: tomorrow at 9am. Also has 12 slots next week.\"\n- If the user said \"soon as possible,\" sort by earliest first availability, not by rating\n- If a doctor has no availability in the next 2 weeks, say so and offer to check the next provider on the list\n\n### 6. Guide to Booking\n\nWhen the user is ready to book:\n1. Provide the direct Zocdoc profile link\n2. Tell them to click the desired time slot and follow Zocdoc's booking flow\n3. Note: completing the booking requires a Zocdoc account (free signup)\n\n**Do not attempt to complete the booking flow** — it requires authentication and personal health information.\n\n**Agent tips:**\n- Provide the direct booking start URL with pre-filled insurance and visit reason when possible (see url-patterns.md Profile URL Query Parameters)\n- Remind the user: \"Zocdoc signup is free and takes about 1 minute\"\n- If the user compared multiple doctors, briefly restate why this one stood out: \"Dr. X had the highest rating and earliest availability\"\n\n## Filters\n\nApply these filters via the search page filter buttons:\n\n| Filter | Options |\n|--------|---------|\n| Time of day | Morning, Afternoon, Evening |\n| I'm flexible | Date flexibility |\n| Illness | Condition-based filtering |\n| Specialty | Refine specialty |\n| Distance | Radius from location |\n| In-person\u002Fvideo | Visit type |\n| More filters | Gender, language, sees children, etc. |\n\n## Data Integrity\n\n**Only report data you actually extracted from Zocdoc.** Never present a provider name, address, phone number, rating, review count, or availability that you did not read from Zocdoc's page, Redux state, or API response. If a field is not visible or not returned, omit it — do not guess or fill in from another source.\n\nIf you used a different source (e.g., a web search), you must explicitly tell the user: \"I couldn't load Zocdoc results, so these come from a general web search and may not reflect current Zocdoc availability or insurance acceptance.\"\n\n## Failure Protocol\n\n**If you cannot load Zocdoc search results — for any reason — tell the user immediately.** Do not silently switch to a web search or another data source.\n\nSpecifically:\n- If the page shows a CAPTCHA, access denied, or error page: tell the user what you see and ask them to try loading the page manually\n- If the page loads but results are empty or the Redux state returns no data: retry once after waiting for full page load, then report the failure\n- If you are blocked or rate-limited: tell the user and suggest they try the search directly at the URL you constructed\n\n**Never fabricate results to fill a gap.** An honest \"I couldn't load results\" is always better than plausible-looking data the user can't verify.\n\n## Common Mistakes\n\n- **Not bypassing the visit reason picker.** After navigating to a search URL, a \"What type of care are you looking for?\" modal often appears. You must click \"Skip to search results\" or results won't load and Redux state will be empty.\n- **Extracting Redux state too early.** `window.__REDUX_STATE__` may not be populated on initial page load. If the extraction returns `{error: 'no results'}`, wait for the page to fully render and retry.\n- **Not disclosing sponsored results.** Sponsored providers appear first and look like organic results. Always check the `isSponsored` field and tell the user which results are ads.\n- **Forgetting insurance.** Insurance is the #1 filter that determines which doctors appear. Always ask if not provided.\n- **Using specialty ID when condition is given.** If the user describes a condition (\"back pain\") rather than a specialty, use the homepage search autocomplete — Zocdoc maps conditions to the right specialties internally. Don't guess the specialty ID.\n- **Navigating too fast.** Rapid page transitions trigger bot detection. Wait for each page to fully render (2-3 seconds) before taking the next action.\n- **Using a fresh browser profile.** A browser with no cookies or history is more likely to be flagged. Always use the user's existing browser session.\n- **Silently falling back to web search.** If Zocdoc doesn't load, tell the user. Never quietly switch data sources and present the results as if they came from Zocdoc.\n\n## Handling Common Situations\n\n- **User doesn't know their insurance:** Search without insurance first, then say: \"I found X doctors near you. If you share your insurance, I can filter to in-network providers — this can significantly reduce your cost.\"\n- **No results for their search:** Try these in order: (1) remove the insurance filter, (2) expand to a nearby city or broader zip, (3) try a related specialty, (4) suggest virtual visits. Tell the user what you changed.\n- **User names a condition, not a specialty:** Do not guess a specialty ID. Navigate to zocdoc.com and use the search combobox autocomplete — Zocdoc maps conditions to the right provider types internally.\n- **User wants to compare two doctors:** Pull both profiles and present a side-by-side comparison: rating, review count, distance, next availability, insurance acceptance, and notable badges.\n- **User asks about a doctor not on Zocdoc:** Say \"I couldn't find Dr. X on Zocdoc. They may not be listed. Want me to search for similar providers in the same specialty and area?\"\n- **User wants \"the soonest available\":** Sort by `firstAvailability` from the GQL response or look at the availability grid dates, not by default ranking. Tell the user: \"The soonest available is Dr. X with an appointment today at 3pm.\"\n- **Too many results, user seems overwhelmed:** Narrow by asking one targeted question: \"Do you prefer someone closer to you, or with the highest rating?\" Then re-filter.\n- **User wants evening or weekend appointments:** Apply `after_5pm=true` or `day_filter=NextWeek` and note that weekend availability is limited for most specialties.\n\n## Example Conversations\n\n### Finding a specialist with insurance\n\n```\nUser: I need a dermatologist in Chicago that takes Aetna.\n\nAgent: Searching Zocdoc for dermatologists in Chicago accepting Aetna...\n\nHere are the top results:\n\n1. **Dr. Sarah Kim, MD** — ⭐ 4.96 (312 reviews) · Highly Recommended\n   📍 1.2 mi — 680 N Lake Shore Dr, Chicago, IL 60611\n   🗓 Next available: Tomorrow, Mar 4\n   🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Fsarah-kim-md-234567\n\n2. **Dr. James Chen, DO** — ⭐ 4.89 (187 reviews)\n   📍 2.4 mi — 1253 N Milwaukee Ave, Chicago, IL 60622\n   🗓 Next available: Thu, Mar 6\n   🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Fjames-chen-do-345678\n\n3. **Dr. Maria Lopez, MD** — ⭐ 4.85 (95 reviews) · Patient Choice\n   📍 3.1 mi — 150 E Huron St, Chicago, IL 60611\n   🗓 Next available: Mon, Mar 9\n   🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Fmaria-lopez-md-456789\n\n   ℹ️ Sponsored result\n\nDr. Kim has the highest rating and earliest availability. Want details on any of these, or should I check specific appointment times?\n\nUser: Tell me more about Dr. Kim. Does she have anything Thursday afternoon?\n\nAgent: Here's Dr. Kim's profile:\n\n**Dr. Sarah Kim, MD — Dermatologist**\n⭐ 4.96 overall · 4.98 bedside manner · 4.94 wait time (312 reviews)\n🎓 Northwestern Feinberg School of Medicine · Board Certified\n💼 Specializes in: acne, eczema, skin cancer screening, cosmetic dermatology\n✅ Accepts Aetna (confirmed)\n\n**Thursday Mar 6 availability:**\n- 1:00 PM, 1:30 PM, 2:15 PM, 3:00 PM, 3:45 PM\n\n5 afternoon slots available. Want to book one? I'll send you the direct link.\n\nUser: The 2:15 slot.\n\nAgent: Here's your booking link:\n\n🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Fsarah-kim-md-234567?insuranceCarrier=Aetna&insurancePlan=-1&reason_visit=75\n\nClick the 2:15 PM slot on Thursday Mar 6 and follow the booking flow. You'll need a Zocdoc account (free signup, takes about 1 minute). Dr. Kim was the top-rated dermatologist in your area with the earliest availability — great pick.\n```\n\n### Searching by condition (not specialty)\n\n```\nUser: My back has been killing me. Who should I see near 10001?\n\nAgent: Back pain could be treated by several specialties — let me search Zocdoc to find the right match.\n\nSearching zocdoc.com for \"back pain\" near 10001...\n\nZocdoc suggests these provider types for back pain:\n- **Orthopedic Surgeon** — for structural\u002Fjoint issues\n- **Pain Management Specialist** — for chronic pain treatment\n- **Physical Therapist** — for rehab and exercises\n- **Chiropractor** — for spinal alignment\n\nHere are the top-rated providers for back pain near 10001:\n\n1. **Dr. Robert Patel, MD** — Pain Management · ⭐ 4.91 (245 reviews) · Highly Recommended\n   📍 0.8 mi — 317 E 34th St, New York, NY 10016\n   🗓 Next available: Today, 4:30 PM\n   🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Frobert-patel-md-567890\n\n2. **Dr. Lisa Wong, MD** — Orthopedic Surgeon · ⭐ 4.87 (178 reviews)\n   📍 1.1 mi — 535 E 70th St, New York, NY 10021\n   🗓 Next available: Wed, Mar 5\n   🔗 https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002Flisa-wong-md-678901\n\nDo you have insurance you'd like me to filter by? That will narrow results to in-network providers.\n```\n\n### Checking availability for a known doctor\n\n```\nUser: What appointments does Dr. Laurence Gordon have available next week?\n\nAgent: Looking up Dr. Laurence Gordon on Zocdoc...\n\n**Dr. Laurence Gordon, DO**\n📍 258 Broadway, New York, NY 10007\n\nNext week's availability:\n- **Mon Mar 9:** 9:00 AM, 10:30 AM, 2:00 PM (3 slots)\n- **Tue Mar 10:** 9:00 AM, 11:00 AM, 1:00 PM, 3:30 PM (4 slots)\n- **Wed Mar 11:** 10:00 AM, 2:30 PM (2 slots)\n- **Thu Mar 12:** No availability\n- **Fri Mar 13:** 9:00 AM, 11:30 AM, 4:00 PM (3 slots)\n\n12 total appointments next week. Tuesday has the most options. Want to book one?\n```\n\n## Quick Reference\n\n### URLs\n\n```\nSearch:    https:\u002F\u002Fwww.zocdoc.com\u002Fsearch?address={loc}&dr_specialty={id}&insurance_carrier={carrier}\nProfile:   https:\u002F\u002Fwww.zocdoc.com\u002Fdoctor\u002F{name-slug}-{id}\nGQL API:   POST https:\u002F\u002Fapi.zocdoc.com\u002Fdirectory\u002Fv3\u002Fgql\n```\n\n### Top Specialty IDs\n\n```\n153  Primary Care       98  Dentist         105  Dermatologist\n133  OB-GYN            319  Psychiatrist    113  Eye Doctor\n702  Urgent Care       141  Orthopedic      149  Pediatrician\n 47  Cardiologist        7  ENT             117  Gastroenterologist\n```\n\n### Key URL Params\n\n```\naddress          City, State or zip (URL-encoded)\ndr_specialty     Specialty ID\ninsurance_carrier  Carrier name\ninsurance_plan   Plan ID (-1 = any)\nday_filter       AnyDay | Today | Tomorrow | NextWeek\nvisitType        inPersonAndVirtualVisits | virtualVisits | inPersonVisits\nsort_type        Default | Distance\noffset           Page number (0-indexed)\n```\n\n### Redux Extraction\n\n```javascript\nwindow.__REDUX_STATE__?.searchResults?.search?.searchResponse?.providerLocations\n```\n\n### Data Flow\n\n```\nBuild search URL → Navigate → Bypass visit picker → Extract Redux state → Present results\n                                                   → Call GQL for availability → Report timeslots\n                                                   → Navigate to profile → Extract details\n```\n",{"name":5,"description":7,"compatibility":44},"Requires browser access (e.g., computer use or browser automation tool)","main","b22eca2e974f918ce591c5b2bd829fb7510e0191","Skills\u002Fzocdoc-doctor-finder",18,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills","https:\u002F\u002Fgithub.com\u002FFDU-INS","Fudan University Department of Risk Management and Insurance","2026-07-12 12:54:34",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add FDU-INS\u002FInsurance-Skills --skill zocdoc-doctor-finder",{"tool":59,"command":60},"bunx","bunx skills add FDU-INS\u002FInsurance-Skills --skill zocdoc-doctor-finder",{"tool":62,"command":63},"pnpm","pnpm dlx skills add FDU-INS\u002FInsurance-Skills --skill zocdoc-doctor-finder","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fzocdoc-doctor-finder\u002FSKILL.md",true,[67,73],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fapi-patterns.md","REFERENCE","参考文档",6319,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fzocdoc-doctor-finder\u002Freferences\u002Fapi-patterns.md",{"path":74,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Furl-patterns.md",3885,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fzocdoc-doctor-finder\u002Freferences\u002Furl-patterns.md",[78,107,138,160,193,220],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":89,"publishedAt":39},"01M713QW6EGEG0YAD75440GSD0","로인장 (Roinjiang)","Activates when the user needs legal advice, contract review, insurance law consultation, startup legal support, or any legal\u002Fregulatory matter. She is a top-tier in-house lawyer with absolute loyalty to the CEO, specializing in insurance law, financial consumer protection, privacy, contracts, labor law, family law, civil and criminal matters.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002F로인장 (Roinjiang)\u002FSKILL.md",[84],{"categoryNo":85,"categoryName":86,"taxonomyType":87,"taxonomyTypeDesc":88},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[80,90,36,91,92,93,33,94,95,96,97,98,99,100,101,102,103,104,105,106],"insurance law","civil","contract","family","review","loyalty","with","top","contract review","ceo","support","advice","consultation","regulatory","privacy","protection","startup",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":118,"publishedAt":39},"01M713QKGV3FTX7EEYWKDM8ENZ","zenmux-context","Answers any question about ZenMux by reading the latest official documentation. Use this skill whenever the user asks about ZenMux product features, API usage, configuration, integration, pricing, models, providers, routing, fallback, streaming, multimodal, structured output, tool calling, reasoning, prompt caching, image generation, video generation, web search, long context, observability, logs, cost tracking, usage analytics, insurance, subscription, pay-as-you-go, invoices, best practices for tools like Claude Code, Cursor, Cline, CodeX, Gemini CLI, opencode, Cherry Studio, Obsidian, Sider, Open-WebUI, Dify, Neovate, GitHub Copilot, OpenClaw, CC-Switch, Immersive Translate, Studio Chat, architecture, benchmarks, FAQ, contact, privacy, terms of service, compliance, or any other ZenMux-related topic. Also trigger when the user writes in Chinese about ZenMux: 文档, 使用指南, 快速开始, API 参考, 最佳实践, 模型路由, 供应商路由, 订阅, 按量计费, 可观测性, 帮助, 常见问题, 接入指南, 配置. Trigger on phrases like \"how to use ZenMux\", \"ZenMux docs\", \"ZenMux API\", \"ZenMux integration\", \"ZenMux 怎么用\", \"ZenMux 接入\", \"ZenMux 配置\". Even if the user doesn't say \"ZenMux\" explicitly but asks about LLM API aggregation, model routing, provider fallback in a context where ZenMux is the project being worked on, this skill should activate.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fzenmux-context\u002FSKILL.md",[113],{"categoryNo":114,"categoryName":115,"taxonomyType":116,"taxonomyTypeDesc":117},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[119,120,121,122,36,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137],"context","zenmux context","Video","chinese","project","web search","translate","search","open","question","pay","image","you","activate","architecture","logs","streaming","cherry studio","how",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":39},"01M713QHWTBG634BCBV7NBJME1","workers-comp-guide","Guide workers compensation compliance and claims management.\nTRIGGERS - Use when user needs help with workers-comp-guide related tasks.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fworkers-comp-guide\u002FSKILL.md",[],[145,146,147,148,149,36,150,151,22,33,152,96,153,154,155,156,157,158,159],"workers","comp","workers comp","workers comp guide","guide","triggers","workers-comp","tasks","claims management","claims","compliance","help","compensation","management","user",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":175,"publishedAt":39},"01M713QF45VMV1685AFNF1GPMA","weekly-kpi-report","Generate McKinsey-style board presentation PPTs from weekly auto insurance data. Automatically calculates 16+ KPIs, creates executive-level slides with actionable insights, and supports week-over-week comparisons. Use when user uploads insurance cost data (Excel\u002FCSV) and requests board report, weekly presentation, executive briefing, or mentions keywords like 董事会汇报, 周报PPT, 经营分析演示, McKinsey-style reports.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fweekly-kpi-report\u002FSKILL.md",[166,169,172],{"categoryNo":167,"categoryName":168,"taxonomyType":116,"taxonomyTypeDesc":117},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":170,"categoryName":171,"taxonomyType":116,"taxonomyTypeDesc":117},"01JBSEEDCAT000000000000004","电子表格",{"categoryNo":173,"categoryName":174,"taxonomyType":87,"taxonomyTypeDesc":88},"01JBSEEDCAT000000000000034","行政与办公人员",[176,177,178,179,180,36,181,182,183,184,33,185,186,187,188,189,190,191,22,192],"weekly","weekly kpi report","kpi","report","xlsx","actionable","insights","briefing","auto","board report","reports","generate","演示","data","presentation","slides","uploads",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":202,"publishedAt":39},"01M713QA9WJDHMNVTTY1ENRKVB","wealth-advisory","Wealth management and financial planning for HNW and UHNW clients. Activate when the user\nmentions wealth management, financial planning, retirement, estate planning, tax planning,\nGRAT, IDGT, trust, asset allocation, withdrawal rate, Monte Carlo simulation, goals-based\ninvesting, tax-loss harvesting, Roth conversion, insurance, annuity, mortgage strategy,\nconcentrated stock, family office, direct indexing, 529 plan, charitable giving, donor-advised\nfund, private foundation, or asks about personal finance strategy, inheritance, long-term\nfinancial planning, or UHNW advisory.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fwealth-advisory\u002FSKILL.md",[199],{"categoryNo":200,"categoryName":201,"taxonomyType":87,"taxonomyTypeDesc":88},"01JBSEEDCAT000000000000040","财务",[203,204,36,205,206,33,132,207,208,209,210,211,212,213,214,215,216,217,218,219],"wealth advisory","advisory","stock","inheritance","conversion","indexing","plan","simulation","personal finance","rate","allocation","asset","direct","personal","investing","trust","planning",{"skillNo":221,"name":222,"nameZh":6,"description":223,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":224,"categories":225,"keywords":226,"publishedAt":39},"01M713Q86HM43G76S2H9A7JKCS","vn-payroll","Calculates Net Income, Personal Income Tax (PIT), and Social Insurance (BHXH) based on Vietnam's progressive tax brackets.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fvn-payroll\u002FSKILL.md",[],[227,228,229,230,231,232,36,233,216,234],"vn payroll","payroll","tax","progressive","income","social insurance","brackets","social"]