[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-browserbase-cookie-sync":3,"mdc-860uci-key":31,"related-org-browserbase-cookie-sync":1246,"related-repo-browserbase-cookie-sync":1423},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"cookie-sync","sync Chrome cookies to a Browserbase context","Sync cookies from local Chrome to a Browserbase persistent context so the browse CLI can access authenticated sites. Use when the user wants to browse as themselves, sync cookies, or log into sites via Browserbase.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"browserbase","Browserbase","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fbrowserbase.png",[12,16,17],{"name":13,"slug":14,"type":15},"Auth","auth","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Browser Automation","browser-automation",3649,"https:\u002F\u002Fgithub.com\u002Fbrowserbase\u002Fskills","2026-04-06T18:06:23.3251","MIT",232,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"Browserbase's official collection of agent skills to access the web.","https:\u002F\u002Fgithub.com\u002Fbrowserbase\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fcookie-sync","---\nname: cookie-sync\ndescription: Sync cookies from local Chrome to a Browserbase persistent context so the browse CLI can access authenticated sites. Use when the user wants to browse as themselves, sync cookies, or log into sites via Browserbase.\ncompatibility: \"Requires Node.js 22+, a local Chromium-based browser (Chrome, Brave, Edge) with remote debugging enabled, and BROWSERBASE_API_KEY. Run `npm install` in the skill directory before first use.\"\nlicense: MIT\nallowed-tools: Bash\n---\n\n# Cookie Sync — Local Chrome → Browserbase Context\n\nExports cookies from your local Chrome and saves them into a Browserbase **persistent context**. After syncing, use the `browse` CLI to open authenticated sessions with that context.\n\nSupports **domain filtering** (only sync cookies you need) and **context reuse** (refresh cookies without creating a new context).\n\n## Prerequisites\n\n- Chrome (or Chromium, Brave, Edge) with remote debugging enabled\n- If your browser build exposes `chrome:\u002F\u002Fflags\u002F#allow-remote-debugging`, enable it and restart the browser\n- Otherwise, launch with `--remote-debugging-port=9222 --user-data-dir=\u002Ftmp\u002Fchrome-debug` and set `CDP_URL=ws:\u002F\u002F127.0.0.1:9222`\n- At least one tab open in Chrome\n- Node.js 22+\n- Environment variable: `BROWSERBASE_API_KEY`\n\n## Setup\n\nInstall dependencies before first use:\n\n```bash\ncd .claude\u002Fskills\u002Fcookie-sync && npm install\n```\n\n## Usage\n\n### Basic — sync all cookies\n\n```bash\nnode .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs\n```\n\nCreates a persistent context with all your Chrome cookies. Outputs a context ID.\n\n### Filter by domain — only sync specific sites\n\n```bash\nnode .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --domains google.com,github.com\n```\n\nMatches the domain and all subdomains (e.g. `google.com` matches `accounts.google.com`, `mail.google.com`, etc.)\n\n### Refresh cookies in an existing context\n\n```bash\nnode .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --context ctx_abc123\n```\n\nRe-injects fresh cookies into a previously created context. Use this when cookies have expired.\n\n### Verified browser mode\n\n```bash\nnode .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --verified\n```\n\nEnables Browserbase Identity with a Verified browser to improve access on protected sites. Recommended for sites like Google that fingerprint browsers.\n\n### Residential proxy with geolocation\n\n```bash\nnode .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --proxy \"San Francisco,CA,US\"\n```\n\nRoutes through a residential proxy in the specified location. Format: `\"City,ST,Country\"` (state is 2-letter code). Helps match your local IP's geolocation so auth cookies aren't rejected.\n\n### Combine flags\n\n```bash\nnode .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --domains github.com,google.com --verified --proxy \"San Francisco,CA,US\"\n```\n\n## Browsing Authenticated Sites\n\nAfter syncing, use the `browse` CLI with the context ID:\n\n```bash\nSESSION_JSON=\"$(browse cloud sessions create --context-id \u003Cctx-id> --persist --keep-alive)\"\nSESSION_ID=\"$(echo \"$SESSION_JSON\" | jq -r .id)\"\nCONNECT_URL=\"$(echo \"$SESSION_JSON\" | jq -r .connectUrl)\"\n\nbrowse open https:\u002F\u002Fmail.google.com --cdp \"$CONNECT_URL\"\n```\n\nThe `--persist` flag on `browse cloud sessions create` saves any new cookies or state changes back to the context when the cloud session is released, keeping the session fresh for next time.\n\n**Full workflow example:**\n\n```bash\n# Step 1: Sync cookies for Twitter\nnode .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --domains x.com,twitter.com\n# Output: Context ID: ctx_abc123\n\n# Step 2: Browse authenticated Twitter\nSESSION_JSON=\"$(browse cloud sessions create --context-id ctx_abc123 --persist --keep-alive)\"\nSESSION_ID=\"$(echo \"$SESSION_JSON\" | jq -r .id)\"\nCONNECT_URL=\"$(echo \"$SESSION_JSON\" | jq -r .connectUrl)\"\n\nbrowse open https:\u002F\u002Fx.com\u002Fmessages --cdp \"$CONNECT_URL\"\nbrowse snapshot\nbrowse screenshot\nbrowse stop\nbrowse cloud sessions update \"$SESSION_ID\" --status REQUEST_RELEASE\n```\n\n## Reusing Contexts for Scheduled Jobs\n\nContexts persist across sessions, making them ideal for scheduled\u002Frecurring tasks:\n\n1. **Once (laptop open):** Run cookie-sync → get a context ID\n2. **Scheduled jobs:** Create a Browserbase session with `browse cloud sessions create --context-id \u003Cctx-id> --persist --keep-alive`, then attach with `browse open \u003Curl> --cdp \u003CconnectUrl>` — no local Chrome needed\n3. **Re-sync as needed:** When cookies expire, run cookie-sync again with `--context \u003Cctx-id>` to refresh\n\n## Troubleshooting\n\n- **\"No DevToolsActivePort found\"** → Enable `chrome:\u002F\u002Fflags\u002F#allow-remote-debugging` if your browser build exposes it, or launch with `--remote-debugging-port=9222` and set `CDP_URL=ws:\u002F\u002F127.0.0.1:9222`\n- **\"No open page targets found\"** → Open at least one tab in Chrome\n- **\"WebSocket error\"** → Chrome may be hung; force quit and reopen it\n- **Cookies expired in context** → Re-run cookie-sync with `--context \u003Cid>` to refresh\n- **Auth rejected by site** → Try adding `--verified` and\u002For `--proxy` with a location near you\n",{"data":32,"body":35},{"name":4,"description":6,"compatibility":33,"license":23,"allowed-tools":34},"Requires Node.js 22+, a local Chromium-based browser (Chrome, Brave, Edge) with remote debugging enabled, and BROWSERBASE_API_KEY. Run `npm install` in the skill directory before first use.","Bash",{"type":36,"children":37},"root",[38,47,70,89,96,159,165,170,216,222,229,249,254,260,289,318,324,352,357,363,386,391,397,435,448,454,502,508,520,731,752,760,1070,1076,1081,1139,1145,1240],{"type":39,"tag":40,"props":41,"children":43},"element","h1",{"id":42},"cookie-sync-local-chrome-browserbase-context",[44],{"type":45,"value":46},"text","Cookie Sync — Local Chrome → Browserbase Context",{"type":39,"tag":48,"props":49,"children":50},"p",{},[51,53,59,61,68],{"type":45,"value":52},"Exports cookies from your local Chrome and saves them into a Browserbase ",{"type":39,"tag":54,"props":55,"children":56},"strong",{},[57],{"type":45,"value":58},"persistent context",{"type":45,"value":60},". After syncing, use the ",{"type":39,"tag":62,"props":63,"children":65},"code",{"className":64},[],[66],{"type":45,"value":67},"browse",{"type":45,"value":69}," CLI to open authenticated sessions with that context.",{"type":39,"tag":48,"props":71,"children":72},{},[73,75,80,82,87],{"type":45,"value":74},"Supports ",{"type":39,"tag":54,"props":76,"children":77},{},[78],{"type":45,"value":79},"domain filtering",{"type":45,"value":81}," (only sync cookies you need) and ",{"type":39,"tag":54,"props":83,"children":84},{},[85],{"type":45,"value":86},"context reuse",{"type":45,"value":88}," (refresh cookies without creating a new context).",{"type":39,"tag":90,"props":91,"children":93},"h2",{"id":92},"prerequisites",[94],{"type":45,"value":95},"Prerequisites",{"type":39,"tag":97,"props":98,"children":99},"ul",{},[100,106,119,138,143,148],{"type":39,"tag":101,"props":102,"children":103},"li",{},[104],{"type":45,"value":105},"Chrome (or Chromium, Brave, Edge) with remote debugging enabled",{"type":39,"tag":101,"props":107,"children":108},{},[109,111,117],{"type":45,"value":110},"If your browser build exposes ",{"type":39,"tag":62,"props":112,"children":114},{"className":113},[],[115],{"type":45,"value":116},"chrome:\u002F\u002Fflags\u002F#allow-remote-debugging",{"type":45,"value":118},", enable it and restart the browser",{"type":39,"tag":101,"props":120,"children":121},{},[122,124,130,132],{"type":45,"value":123},"Otherwise, launch with ",{"type":39,"tag":62,"props":125,"children":127},{"className":126},[],[128],{"type":45,"value":129},"--remote-debugging-port=9222 --user-data-dir=\u002Ftmp\u002Fchrome-debug",{"type":45,"value":131}," and set ",{"type":39,"tag":62,"props":133,"children":135},{"className":134},[],[136],{"type":45,"value":137},"CDP_URL=ws:\u002F\u002F127.0.0.1:9222",{"type":39,"tag":101,"props":139,"children":140},{},[141],{"type":45,"value":142},"At least one tab open in Chrome",{"type":39,"tag":101,"props":144,"children":145},{},[146],{"type":45,"value":147},"Node.js 22+",{"type":39,"tag":101,"props":149,"children":150},{},[151,153],{"type":45,"value":152},"Environment variable: ",{"type":39,"tag":62,"props":154,"children":156},{"className":155},[],[157],{"type":45,"value":158},"BROWSERBASE_API_KEY",{"type":39,"tag":90,"props":160,"children":162},{"id":161},"setup",[163],{"type":45,"value":164},"Setup",{"type":39,"tag":48,"props":166,"children":167},{},[168],{"type":45,"value":169},"Install dependencies before first use:",{"type":39,"tag":171,"props":172,"children":177},"pre",{"className":173,"code":174,"language":175,"meta":176,"style":176},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","cd .claude\u002Fskills\u002Fcookie-sync && npm install\n","bash","",[178],{"type":39,"tag":62,"props":179,"children":180},{"__ignoreMap":176},[181],{"type":39,"tag":182,"props":183,"children":186},"span",{"class":184,"line":185},"line",1,[187,193,199,205,211],{"type":39,"tag":182,"props":188,"children":190},{"style":189},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[191],{"type":45,"value":192},"cd",{"type":39,"tag":182,"props":194,"children":196},{"style":195},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[197],{"type":45,"value":198}," .claude\u002Fskills\u002Fcookie-sync",{"type":39,"tag":182,"props":200,"children":202},{"style":201},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[203],{"type":45,"value":204}," &&",{"type":39,"tag":182,"props":206,"children":208},{"style":207},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[209],{"type":45,"value":210}," npm",{"type":39,"tag":182,"props":212,"children":213},{"style":195},[214],{"type":45,"value":215}," install\n",{"type":39,"tag":90,"props":217,"children":219},{"id":218},"usage",[220],{"type":45,"value":221},"Usage",{"type":39,"tag":223,"props":224,"children":226},"h3",{"id":225},"basic-sync-all-cookies",[227],{"type":45,"value":228},"Basic — sync all cookies",{"type":39,"tag":171,"props":230,"children":232},{"className":173,"code":231,"language":175,"meta":176,"style":176},"node .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs\n",[233],{"type":39,"tag":62,"props":234,"children":235},{"__ignoreMap":176},[236],{"type":39,"tag":182,"props":237,"children":238},{"class":184,"line":185},[239,244],{"type":39,"tag":182,"props":240,"children":241},{"style":207},[242],{"type":45,"value":243},"node",{"type":39,"tag":182,"props":245,"children":246},{"style":195},[247],{"type":45,"value":248}," .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs\n",{"type":39,"tag":48,"props":250,"children":251},{},[252],{"type":45,"value":253},"Creates a persistent context with all your Chrome cookies. Outputs a context ID.",{"type":39,"tag":223,"props":255,"children":257},{"id":256},"filter-by-domain-only-sync-specific-sites",[258],{"type":45,"value":259},"Filter by domain — only sync specific sites",{"type":39,"tag":171,"props":261,"children":263},{"className":173,"code":262,"language":175,"meta":176,"style":176},"node .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --domains google.com,github.com\n",[264],{"type":39,"tag":62,"props":265,"children":266},{"__ignoreMap":176},[267],{"type":39,"tag":182,"props":268,"children":269},{"class":184,"line":185},[270,274,279,284],{"type":39,"tag":182,"props":271,"children":272},{"style":207},[273],{"type":45,"value":243},{"type":39,"tag":182,"props":275,"children":276},{"style":195},[277],{"type":45,"value":278}," .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs",{"type":39,"tag":182,"props":280,"children":281},{"style":195},[282],{"type":45,"value":283}," --domains",{"type":39,"tag":182,"props":285,"children":286},{"style":195},[287],{"type":45,"value":288}," google.com,github.com\n",{"type":39,"tag":48,"props":290,"children":291},{},[292,294,300,302,308,310,316],{"type":45,"value":293},"Matches the domain and all subdomains (e.g. ",{"type":39,"tag":62,"props":295,"children":297},{"className":296},[],[298],{"type":45,"value":299},"google.com",{"type":45,"value":301}," matches ",{"type":39,"tag":62,"props":303,"children":305},{"className":304},[],[306],{"type":45,"value":307},"accounts.google.com",{"type":45,"value":309},", ",{"type":39,"tag":62,"props":311,"children":313},{"className":312},[],[314],{"type":45,"value":315},"mail.google.com",{"type":45,"value":317},", etc.)",{"type":39,"tag":223,"props":319,"children":321},{"id":320},"refresh-cookies-in-an-existing-context",[322],{"type":45,"value":323},"Refresh cookies in an existing context",{"type":39,"tag":171,"props":325,"children":327},{"className":173,"code":326,"language":175,"meta":176,"style":176},"node .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --context ctx_abc123\n",[328],{"type":39,"tag":62,"props":329,"children":330},{"__ignoreMap":176},[331],{"type":39,"tag":182,"props":332,"children":333},{"class":184,"line":185},[334,338,342,347],{"type":39,"tag":182,"props":335,"children":336},{"style":207},[337],{"type":45,"value":243},{"type":39,"tag":182,"props":339,"children":340},{"style":195},[341],{"type":45,"value":278},{"type":39,"tag":182,"props":343,"children":344},{"style":195},[345],{"type":45,"value":346}," --context",{"type":39,"tag":182,"props":348,"children":349},{"style":195},[350],{"type":45,"value":351}," ctx_abc123\n",{"type":39,"tag":48,"props":353,"children":354},{},[355],{"type":45,"value":356},"Re-injects fresh cookies into a previously created context. Use this when cookies have expired.",{"type":39,"tag":223,"props":358,"children":360},{"id":359},"verified-browser-mode",[361],{"type":45,"value":362},"Verified browser mode",{"type":39,"tag":171,"props":364,"children":366},{"className":173,"code":365,"language":175,"meta":176,"style":176},"node .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --verified\n",[367],{"type":39,"tag":62,"props":368,"children":369},{"__ignoreMap":176},[370],{"type":39,"tag":182,"props":371,"children":372},{"class":184,"line":185},[373,377,381],{"type":39,"tag":182,"props":374,"children":375},{"style":207},[376],{"type":45,"value":243},{"type":39,"tag":182,"props":378,"children":379},{"style":195},[380],{"type":45,"value":278},{"type":39,"tag":182,"props":382,"children":383},{"style":195},[384],{"type":45,"value":385}," --verified\n",{"type":39,"tag":48,"props":387,"children":388},{},[389],{"type":45,"value":390},"Enables Browserbase Identity with a Verified browser to improve access on protected sites. Recommended for sites like Google that fingerprint browsers.",{"type":39,"tag":223,"props":392,"children":394},{"id":393},"residential-proxy-with-geolocation",[395],{"type":45,"value":396},"Residential proxy with geolocation",{"type":39,"tag":171,"props":398,"children":400},{"className":173,"code":399,"language":175,"meta":176,"style":176},"node .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --proxy \"San Francisco,CA,US\"\n",[401],{"type":39,"tag":62,"props":402,"children":403},{"__ignoreMap":176},[404],{"type":39,"tag":182,"props":405,"children":406},{"class":184,"line":185},[407,411,415,420,425,430],{"type":39,"tag":182,"props":408,"children":409},{"style":207},[410],{"type":45,"value":243},{"type":39,"tag":182,"props":412,"children":413},{"style":195},[414],{"type":45,"value":278},{"type":39,"tag":182,"props":416,"children":417},{"style":195},[418],{"type":45,"value":419}," --proxy",{"type":39,"tag":182,"props":421,"children":422},{"style":201},[423],{"type":45,"value":424}," \"",{"type":39,"tag":182,"props":426,"children":427},{"style":195},[428],{"type":45,"value":429},"San Francisco,CA,US",{"type":39,"tag":182,"props":431,"children":432},{"style":201},[433],{"type":45,"value":434},"\"\n",{"type":39,"tag":48,"props":436,"children":437},{},[438,440,446],{"type":45,"value":439},"Routes through a residential proxy in the specified location. Format: ",{"type":39,"tag":62,"props":441,"children":443},{"className":442},[],[444],{"type":45,"value":445},"\"City,ST,Country\"",{"type":45,"value":447}," (state is 2-letter code). Helps match your local IP's geolocation so auth cookies aren't rejected.",{"type":39,"tag":223,"props":449,"children":451},{"id":450},"combine-flags",[452],{"type":45,"value":453},"Combine flags",{"type":39,"tag":171,"props":455,"children":457},{"className":173,"code":456,"language":175,"meta":176,"style":176},"node .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --domains github.com,google.com --verified --proxy \"San Francisco,CA,US\"\n",[458],{"type":39,"tag":62,"props":459,"children":460},{"__ignoreMap":176},[461],{"type":39,"tag":182,"props":462,"children":463},{"class":184,"line":185},[464,468,472,476,481,486,490,494,498],{"type":39,"tag":182,"props":465,"children":466},{"style":207},[467],{"type":45,"value":243},{"type":39,"tag":182,"props":469,"children":470},{"style":195},[471],{"type":45,"value":278},{"type":39,"tag":182,"props":473,"children":474},{"style":195},[475],{"type":45,"value":283},{"type":39,"tag":182,"props":477,"children":478},{"style":195},[479],{"type":45,"value":480}," github.com,google.com",{"type":39,"tag":182,"props":482,"children":483},{"style":195},[484],{"type":45,"value":485}," --verified",{"type":39,"tag":182,"props":487,"children":488},{"style":195},[489],{"type":45,"value":419},{"type":39,"tag":182,"props":491,"children":492},{"style":201},[493],{"type":45,"value":424},{"type":39,"tag":182,"props":495,"children":496},{"style":195},[497],{"type":45,"value":429},{"type":39,"tag":182,"props":499,"children":500},{"style":201},[501],{"type":45,"value":434},{"type":39,"tag":90,"props":503,"children":505},{"id":504},"browsing-authenticated-sites",[506],{"type":45,"value":507},"Browsing Authenticated Sites",{"type":39,"tag":48,"props":509,"children":510},{},[511,513,518],{"type":45,"value":512},"After syncing, use the ",{"type":39,"tag":62,"props":514,"children":516},{"className":515},[],[517],{"type":45,"value":67},{"type":45,"value":519}," CLI with the context ID:",{"type":39,"tag":171,"props":521,"children":523},{"className":173,"code":522,"language":175,"meta":176,"style":176},"SESSION_JSON=\"$(browse cloud sessions create --context-id \u003Cctx-id> --persist --keep-alive)\"\nSESSION_ID=\"$(echo \"$SESSION_JSON\" | jq -r .id)\"\nCONNECT_URL=\"$(echo \"$SESSION_JSON\" | jq -r .connectUrl)\"\n\nbrowse open https:\u002F\u002Fmail.google.com --cdp \"$CONNECT_URL\"\n",[524],{"type":39,"tag":62,"props":525,"children":526},{"__ignoreMap":176},[527,580,635,685,695],{"type":39,"tag":182,"props":528,"children":529},{"class":184,"line":185},[530,536,541,546,550,555,560,565,570,575],{"type":39,"tag":182,"props":531,"children":533},{"style":532},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[534],{"type":45,"value":535},"SESSION_JSON",{"type":39,"tag":182,"props":537,"children":538},{"style":201},[539],{"type":45,"value":540},"=",{"type":39,"tag":182,"props":542,"children":543},{"style":201},[544],{"type":45,"value":545},"\"$(",{"type":39,"tag":182,"props":547,"children":548},{"style":207},[549],{"type":45,"value":67},{"type":39,"tag":182,"props":551,"children":552},{"style":195},[553],{"type":45,"value":554}," cloud sessions create --context-id ",{"type":39,"tag":182,"props":556,"children":557},{"style":201},[558],{"type":45,"value":559},"\u003C",{"type":39,"tag":182,"props":561,"children":562},{"style":195},[563],{"type":45,"value":564},"ctx-id",{"type":39,"tag":182,"props":566,"children":567},{"style":201},[568],{"type":45,"value":569},">",{"type":39,"tag":182,"props":571,"children":572},{"style":195},[573],{"type":45,"value":574}," --persist --keep-alive",{"type":39,"tag":182,"props":576,"children":577},{"style":201},[578],{"type":45,"value":579},")\"\n",{"type":39,"tag":182,"props":581,"children":583},{"class":184,"line":582},2,[584,589,593,597,602,606,611,616,621,626,631],{"type":39,"tag":182,"props":585,"children":586},{"style":532},[587],{"type":45,"value":588},"SESSION_ID",{"type":39,"tag":182,"props":590,"children":591},{"style":201},[592],{"type":45,"value":540},{"type":39,"tag":182,"props":594,"children":595},{"style":201},[596],{"type":45,"value":545},{"type":39,"tag":182,"props":598,"children":599},{"style":189},[600],{"type":45,"value":601},"echo",{"type":39,"tag":182,"props":603,"children":604},{"style":201},[605],{"type":45,"value":424},{"type":39,"tag":182,"props":607,"children":608},{"style":532},[609],{"type":45,"value":610},"$SESSION_JSON",{"type":39,"tag":182,"props":612,"children":613},{"style":201},[614],{"type":45,"value":615},"\"",{"type":39,"tag":182,"props":617,"children":618},{"style":201},[619],{"type":45,"value":620}," |",{"type":39,"tag":182,"props":622,"children":623},{"style":207},[624],{"type":45,"value":625}," jq",{"type":39,"tag":182,"props":627,"children":628},{"style":195},[629],{"type":45,"value":630}," -r .id",{"type":39,"tag":182,"props":632,"children":633},{"style":201},[634],{"type":45,"value":579},{"type":39,"tag":182,"props":636,"children":638},{"class":184,"line":637},3,[639,644,648,652,656,660,664,668,672,676,681],{"type":39,"tag":182,"props":640,"children":641},{"style":532},[642],{"type":45,"value":643},"CONNECT_URL",{"type":39,"tag":182,"props":645,"children":646},{"style":201},[647],{"type":45,"value":540},{"type":39,"tag":182,"props":649,"children":650},{"style":201},[651],{"type":45,"value":545},{"type":39,"tag":182,"props":653,"children":654},{"style":189},[655],{"type":45,"value":601},{"type":39,"tag":182,"props":657,"children":658},{"style":201},[659],{"type":45,"value":424},{"type":39,"tag":182,"props":661,"children":662},{"style":532},[663],{"type":45,"value":610},{"type":39,"tag":182,"props":665,"children":666},{"style":201},[667],{"type":45,"value":615},{"type":39,"tag":182,"props":669,"children":670},{"style":201},[671],{"type":45,"value":620},{"type":39,"tag":182,"props":673,"children":674},{"style":207},[675],{"type":45,"value":625},{"type":39,"tag":182,"props":677,"children":678},{"style":195},[679],{"type":45,"value":680}," -r .connectUrl",{"type":39,"tag":182,"props":682,"children":683},{"style":201},[684],{"type":45,"value":579},{"type":39,"tag":182,"props":686,"children":688},{"class":184,"line":687},4,[689],{"type":39,"tag":182,"props":690,"children":692},{"emptyLinePlaceholder":691},true,[693],{"type":45,"value":694},"\n",{"type":39,"tag":182,"props":696,"children":698},{"class":184,"line":697},5,[699,703,708,713,718,722,727],{"type":39,"tag":182,"props":700,"children":701},{"style":207},[702],{"type":45,"value":67},{"type":39,"tag":182,"props":704,"children":705},{"style":195},[706],{"type":45,"value":707}," open",{"type":39,"tag":182,"props":709,"children":710},{"style":195},[711],{"type":45,"value":712}," https:\u002F\u002Fmail.google.com",{"type":39,"tag":182,"props":714,"children":715},{"style":195},[716],{"type":45,"value":717}," --cdp",{"type":39,"tag":182,"props":719,"children":720},{"style":201},[721],{"type":45,"value":424},{"type":39,"tag":182,"props":723,"children":724},{"style":532},[725],{"type":45,"value":726},"$CONNECT_URL",{"type":39,"tag":182,"props":728,"children":729},{"style":201},[730],{"type":45,"value":434},{"type":39,"tag":48,"props":732,"children":733},{},[734,736,742,744,750],{"type":45,"value":735},"The ",{"type":39,"tag":62,"props":737,"children":739},{"className":738},[],[740],{"type":45,"value":741},"--persist",{"type":45,"value":743}," flag on ",{"type":39,"tag":62,"props":745,"children":747},{"className":746},[],[748],{"type":45,"value":749},"browse cloud sessions create",{"type":45,"value":751}," saves any new cookies or state changes back to the context when the cloud session is released, keeping the session fresh for next time.",{"type":39,"tag":48,"props":753,"children":754},{},[755],{"type":39,"tag":54,"props":756,"children":757},{},[758],{"type":45,"value":759},"Full workflow example:",{"type":39,"tag":171,"props":761,"children":763},{"className":173,"code":762,"language":175,"meta":176,"style":176},"# Step 1: Sync cookies for Twitter\nnode .claude\u002Fskills\u002Fcookie-sync\u002Fscripts\u002Fcookie-sync.mjs --domains x.com,twitter.com\n# Output: Context ID: ctx_abc123\n\n# Step 2: Browse authenticated Twitter\nSESSION_JSON=\"$(browse cloud sessions create --context-id ctx_abc123 --persist --keep-alive)\"\nSESSION_ID=\"$(echo \"$SESSION_JSON\" | jq -r .id)\"\nCONNECT_URL=\"$(echo \"$SESSION_JSON\" | jq -r .connectUrl)\"\n\nbrowse open https:\u002F\u002Fx.com\u002Fmessages --cdp \"$CONNECT_URL\"\nbrowse snapshot\nbrowse screenshot\nbrowse stop\nbrowse cloud sessions update \"$SESSION_ID\" --status REQUEST_RELEASE\n",[764],{"type":39,"tag":62,"props":765,"children":766},{"__ignoreMap":176},[767,776,796,804,811,819,848,896,944,952,985,998,1011,1024],{"type":39,"tag":182,"props":768,"children":769},{"class":184,"line":185},[770],{"type":39,"tag":182,"props":771,"children":773},{"style":772},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[774],{"type":45,"value":775},"# Step 1: Sync cookies for Twitter\n",{"type":39,"tag":182,"props":777,"children":778},{"class":184,"line":582},[779,783,787,791],{"type":39,"tag":182,"props":780,"children":781},{"style":207},[782],{"type":45,"value":243},{"type":39,"tag":182,"props":784,"children":785},{"style":195},[786],{"type":45,"value":278},{"type":39,"tag":182,"props":788,"children":789},{"style":195},[790],{"type":45,"value":283},{"type":39,"tag":182,"props":792,"children":793},{"style":195},[794],{"type":45,"value":795}," x.com,twitter.com\n",{"type":39,"tag":182,"props":797,"children":798},{"class":184,"line":637},[799],{"type":39,"tag":182,"props":800,"children":801},{"style":772},[802],{"type":45,"value":803},"# Output: Context ID: ctx_abc123\n",{"type":39,"tag":182,"props":805,"children":806},{"class":184,"line":687},[807],{"type":39,"tag":182,"props":808,"children":809},{"emptyLinePlaceholder":691},[810],{"type":45,"value":694},{"type":39,"tag":182,"props":812,"children":813},{"class":184,"line":697},[814],{"type":39,"tag":182,"props":815,"children":816},{"style":772},[817],{"type":45,"value":818},"# Step 2: Browse authenticated Twitter\n",{"type":39,"tag":182,"props":820,"children":822},{"class":184,"line":821},6,[823,827,831,835,839,844],{"type":39,"tag":182,"props":824,"children":825},{"style":532},[826],{"type":45,"value":535},{"type":39,"tag":182,"props":828,"children":829},{"style":201},[830],{"type":45,"value":540},{"type":39,"tag":182,"props":832,"children":833},{"style":201},[834],{"type":45,"value":545},{"type":39,"tag":182,"props":836,"children":837},{"style":207},[838],{"type":45,"value":67},{"type":39,"tag":182,"props":840,"children":841},{"style":195},[842],{"type":45,"value":843}," cloud sessions create --context-id ctx_abc123 --persist --keep-alive",{"type":39,"tag":182,"props":845,"children":846},{"style":201},[847],{"type":45,"value":579},{"type":39,"tag":182,"props":849,"children":851},{"class":184,"line":850},7,[852,856,860,864,868,872,876,880,884,888,892],{"type":39,"tag":182,"props":853,"children":854},{"style":532},[855],{"type":45,"value":588},{"type":39,"tag":182,"props":857,"children":858},{"style":201},[859],{"type":45,"value":540},{"type":39,"tag":182,"props":861,"children":862},{"style":201},[863],{"type":45,"value":545},{"type":39,"tag":182,"props":865,"children":866},{"style":189},[867],{"type":45,"value":601},{"type":39,"tag":182,"props":869,"children":870},{"style":201},[871],{"type":45,"value":424},{"type":39,"tag":182,"props":873,"children":874},{"style":532},[875],{"type":45,"value":610},{"type":39,"tag":182,"props":877,"children":878},{"style":201},[879],{"type":45,"value":615},{"type":39,"tag":182,"props":881,"children":882},{"style":201},[883],{"type":45,"value":620},{"type":39,"tag":182,"props":885,"children":886},{"style":207},[887],{"type":45,"value":625},{"type":39,"tag":182,"props":889,"children":890},{"style":195},[891],{"type":45,"value":630},{"type":39,"tag":182,"props":893,"children":894},{"style":201},[895],{"type":45,"value":579},{"type":39,"tag":182,"props":897,"children":899},{"class":184,"line":898},8,[900,904,908,912,916,920,924,928,932,936,940],{"type":39,"tag":182,"props":901,"children":902},{"style":532},[903],{"type":45,"value":643},{"type":39,"tag":182,"props":905,"children":906},{"style":201},[907],{"type":45,"value":540},{"type":39,"tag":182,"props":909,"children":910},{"style":201},[911],{"type":45,"value":545},{"type":39,"tag":182,"props":913,"children":914},{"style":189},[915],{"type":45,"value":601},{"type":39,"tag":182,"props":917,"children":918},{"style":201},[919],{"type":45,"value":424},{"type":39,"tag":182,"props":921,"children":922},{"style":532},[923],{"type":45,"value":610},{"type":39,"tag":182,"props":925,"children":926},{"style":201},[927],{"type":45,"value":615},{"type":39,"tag":182,"props":929,"children":930},{"style":201},[931],{"type":45,"value":620},{"type":39,"tag":182,"props":933,"children":934},{"style":207},[935],{"type":45,"value":625},{"type":39,"tag":182,"props":937,"children":938},{"style":195},[939],{"type":45,"value":680},{"type":39,"tag":182,"props":941,"children":942},{"style":201},[943],{"type":45,"value":579},{"type":39,"tag":182,"props":945,"children":947},{"class":184,"line":946},9,[948],{"type":39,"tag":182,"props":949,"children":950},{"emptyLinePlaceholder":691},[951],{"type":45,"value":694},{"type":39,"tag":182,"props":953,"children":955},{"class":184,"line":954},10,[956,960,964,969,973,977,981],{"type":39,"tag":182,"props":957,"children":958},{"style":207},[959],{"type":45,"value":67},{"type":39,"tag":182,"props":961,"children":962},{"style":195},[963],{"type":45,"value":707},{"type":39,"tag":182,"props":965,"children":966},{"style":195},[967],{"type":45,"value":968}," https:\u002F\u002Fx.com\u002Fmessages",{"type":39,"tag":182,"props":970,"children":971},{"style":195},[972],{"type":45,"value":717},{"type":39,"tag":182,"props":974,"children":975},{"style":201},[976],{"type":45,"value":424},{"type":39,"tag":182,"props":978,"children":979},{"style":532},[980],{"type":45,"value":726},{"type":39,"tag":182,"props":982,"children":983},{"style":201},[984],{"type":45,"value":434},{"type":39,"tag":182,"props":986,"children":988},{"class":184,"line":987},11,[989,993],{"type":39,"tag":182,"props":990,"children":991},{"style":207},[992],{"type":45,"value":67},{"type":39,"tag":182,"props":994,"children":995},{"style":195},[996],{"type":45,"value":997}," snapshot\n",{"type":39,"tag":182,"props":999,"children":1001},{"class":184,"line":1000},12,[1002,1006],{"type":39,"tag":182,"props":1003,"children":1004},{"style":207},[1005],{"type":45,"value":67},{"type":39,"tag":182,"props":1007,"children":1008},{"style":195},[1009],{"type":45,"value":1010}," screenshot\n",{"type":39,"tag":182,"props":1012,"children":1014},{"class":184,"line":1013},13,[1015,1019],{"type":39,"tag":182,"props":1016,"children":1017},{"style":207},[1018],{"type":45,"value":67},{"type":39,"tag":182,"props":1020,"children":1021},{"style":195},[1022],{"type":45,"value":1023}," stop\n",{"type":39,"tag":182,"props":1025,"children":1027},{"class":184,"line":1026},14,[1028,1032,1037,1042,1047,1051,1056,1060,1065],{"type":39,"tag":182,"props":1029,"children":1030},{"style":207},[1031],{"type":45,"value":67},{"type":39,"tag":182,"props":1033,"children":1034},{"style":195},[1035],{"type":45,"value":1036}," cloud",{"type":39,"tag":182,"props":1038,"children":1039},{"style":195},[1040],{"type":45,"value":1041}," sessions",{"type":39,"tag":182,"props":1043,"children":1044},{"style":195},[1045],{"type":45,"value":1046}," update",{"type":39,"tag":182,"props":1048,"children":1049},{"style":201},[1050],{"type":45,"value":424},{"type":39,"tag":182,"props":1052,"children":1053},{"style":532},[1054],{"type":45,"value":1055},"$SESSION_ID",{"type":39,"tag":182,"props":1057,"children":1058},{"style":201},[1059],{"type":45,"value":615},{"type":39,"tag":182,"props":1061,"children":1062},{"style":195},[1063],{"type":45,"value":1064}," --status",{"type":39,"tag":182,"props":1066,"children":1067},{"style":195},[1068],{"type":45,"value":1069}," REQUEST_RELEASE\n",{"type":39,"tag":90,"props":1071,"children":1073},{"id":1072},"reusing-contexts-for-scheduled-jobs",[1074],{"type":45,"value":1075},"Reusing Contexts for Scheduled Jobs",{"type":39,"tag":48,"props":1077,"children":1078},{},[1079],{"type":45,"value":1080},"Contexts persist across sessions, making them ideal for scheduled\u002Frecurring tasks:",{"type":39,"tag":1082,"props":1083,"children":1084},"ol",{},[1085,1095,1121],{"type":39,"tag":101,"props":1086,"children":1087},{},[1088,1093],{"type":39,"tag":54,"props":1089,"children":1090},{},[1091],{"type":45,"value":1092},"Once (laptop open):",{"type":45,"value":1094}," Run cookie-sync → get a context ID",{"type":39,"tag":101,"props":1096,"children":1097},{},[1098,1103,1105,1111,1113,1119],{"type":39,"tag":54,"props":1099,"children":1100},{},[1101],{"type":45,"value":1102},"Scheduled jobs:",{"type":45,"value":1104}," Create a Browserbase session with ",{"type":39,"tag":62,"props":1106,"children":1108},{"className":1107},[],[1109],{"type":45,"value":1110},"browse cloud sessions create --context-id \u003Cctx-id> --persist --keep-alive",{"type":45,"value":1112},", then attach with ",{"type":39,"tag":62,"props":1114,"children":1116},{"className":1115},[],[1117],{"type":45,"value":1118},"browse open \u003Curl> --cdp \u003CconnectUrl>",{"type":45,"value":1120}," — no local Chrome needed",{"type":39,"tag":101,"props":1122,"children":1123},{},[1124,1129,1131,1137],{"type":39,"tag":54,"props":1125,"children":1126},{},[1127],{"type":45,"value":1128},"Re-sync as needed:",{"type":45,"value":1130}," When cookies expire, run cookie-sync again with ",{"type":39,"tag":62,"props":1132,"children":1134},{"className":1133},[],[1135],{"type":45,"value":1136},"--context \u003Cctx-id>",{"type":45,"value":1138}," to refresh",{"type":39,"tag":90,"props":1140,"children":1142},{"id":1141},"troubleshooting",[1143],{"type":45,"value":1144},"Troubleshooting",{"type":39,"tag":97,"props":1146,"children":1147},{},[1148,1177,1187,1197,1214],{"type":39,"tag":101,"props":1149,"children":1150},{},[1151,1156,1158,1163,1165,1171,1172],{"type":39,"tag":54,"props":1152,"children":1153},{},[1154],{"type":45,"value":1155},"\"No DevToolsActivePort found\"",{"type":45,"value":1157}," → Enable ",{"type":39,"tag":62,"props":1159,"children":1161},{"className":1160},[],[1162],{"type":45,"value":116},{"type":45,"value":1164}," if your browser build exposes it, or launch with ",{"type":39,"tag":62,"props":1166,"children":1168},{"className":1167},[],[1169],{"type":45,"value":1170},"--remote-debugging-port=9222",{"type":45,"value":131},{"type":39,"tag":62,"props":1173,"children":1175},{"className":1174},[],[1176],{"type":45,"value":137},{"type":39,"tag":101,"props":1178,"children":1179},{},[1180,1185],{"type":39,"tag":54,"props":1181,"children":1182},{},[1183],{"type":45,"value":1184},"\"No open page targets found\"",{"type":45,"value":1186}," → Open at least one tab in Chrome",{"type":39,"tag":101,"props":1188,"children":1189},{},[1190,1195],{"type":39,"tag":54,"props":1191,"children":1192},{},[1193],{"type":45,"value":1194},"\"WebSocket error\"",{"type":45,"value":1196}," → Chrome may be hung; force quit and reopen it",{"type":39,"tag":101,"props":1198,"children":1199},{},[1200,1205,1207,1213],{"type":39,"tag":54,"props":1201,"children":1202},{},[1203],{"type":45,"value":1204},"Cookies expired in context",{"type":45,"value":1206}," → Re-run cookie-sync with ",{"type":39,"tag":62,"props":1208,"children":1210},{"className":1209},[],[1211],{"type":45,"value":1212},"--context \u003Cid>",{"type":45,"value":1138},{"type":39,"tag":101,"props":1215,"children":1216},{},[1217,1222,1224,1230,1232,1238],{"type":39,"tag":54,"props":1218,"children":1219},{},[1220],{"type":45,"value":1221},"Auth rejected by site",{"type":45,"value":1223}," → Try adding ",{"type":39,"tag":62,"props":1225,"children":1227},{"className":1226},[],[1228],{"type":45,"value":1229},"--verified",{"type":45,"value":1231}," and\u002For ",{"type":39,"tag":62,"props":1233,"children":1235},{"className":1234},[],[1236],{"type":45,"value":1237},"--proxy",{"type":45,"value":1239}," with a location near you",{"type":39,"tag":1241,"props":1242,"children":1243},"style",{},[1244],{"type":45,"value":1245},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1247,"total":1422},[1248,1261,1284,1297,1307,1325,1340,1358,1378,1392,1398,1411],{"slug":67,"name":67,"fn":1249,"description":1250,"org":1251,"tags":1252,"stars":1258,"repoUrl":1259,"updatedAt":1260},"run Browserbase browser automation","Use the browse CLI for Browserbase browser automation, Browserbase cloud APIs, Browserbase Functions, templates, web fetch\u002Fsearch, diagnostics, and Browse.sh skill discovery\u002Finstallation. Use when the user asks to navigate pages, inspect browser state, run local or remote browser sessions, manage Browserbase resources, call Browserbase Functions, browse or scaffold Browserbase templates, fetch or search web content, diagnose browse setup, find or install a skill for a website task, discover site-specific Browse.sh skills, or install\u002Frefresh this browse skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1253,1254,1255],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":1256,"slug":1257,"type":15},"CLI","cli",23676,"https:\u002F\u002Fgithub.com\u002Fbrowserbase\u002Fstagehand","2026-06-06T07:11:24.95733",{"slug":1262,"name":1262,"fn":1263,"description":1264,"org":1265,"tags":1266,"stars":20,"repoUrl":21,"updatedAt":1283},"agent-experience","audit developer experience with AI agents","Audit the developer experience of a product, SDK, docs site, or SKILL.md by dropping multiple Claude subagents at it with only a tiny task prompt and real tools (WebFetch, Bash, Write). Agents must discover the docs themselves, install deps, ask for credentials if needed, and attempt real execution. The skill captures each agent's trace — tool calls, retries, wall time, errors — and scores on Setup Friction, Speed, Efficiency, Error Recovery, and Doc Quality, then emits an HTML report with an A–F grade and concrete fixes. Use when the user asks to audit agent experience, test a skill, audit docs for agents, check if a SDK is agent-friendly, validate a SKILL.md, measure agent DX, or benchmark how painful onboarding is for an AI agent. Triggers: 'audit agent experience', 'test this skill', 'audit docs for agents', 'is my SDK agent-friendly', 'run a DX audit', 'agent experience test', 'test my docs', 'how do agents do with my product'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1267,1270,1273,1274,1277,1280],{"name":1268,"slug":1269,"type":15},"Agents","agents",{"name":1271,"slug":1272,"type":15},"Audit","audit",{"name":9,"slug":8,"type":15},{"name":1275,"slug":1276,"type":15},"Engineering","engineering",{"name":1278,"slug":1279,"type":15},"Multi-Agent","multi-agent",{"name":1281,"slug":1282,"type":15},"QA","qa","2026-05-29T06:58:56.259807",{"slug":1285,"name":1285,"fn":1286,"description":1287,"org":1288,"tags":1289,"stars":20,"repoUrl":21,"updatedAt":1296},"autobrowse","run self-improving browser automation","Self-improving browser automation via the auto-research loop. Iteratively runs a browsing task, reads the trace, and improves the navigation skill (strategy.md) until it reliably passes. Supports parallel runs across multiple tasks using sub-agents. Use when you want to build or improve browser automation skills for specific website tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1290,1291,1294,1295],{"name":1268,"slug":1269,"type":15},{"name":1292,"slug":1293,"type":15},"Automation","automation",{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},"2026-04-23T05:00:30.528336",{"slug":1298,"name":1298,"fn":1299,"description":1300,"org":1301,"tags":1302,"stars":20,"repoUrl":21,"updatedAt":1306},"browser","automate browser interactions via CLI","Automate web browser interactions using natural language via CLI commands. Use when the user asks to browse websites, navigate web pages, extract data from websites, take screenshots, fill forms, click buttons, or interact with web applications. Supports remote Browserbase sessions with Browserbase Identity, Verified browsers, automatic CAPTCHA solving, and residential proxies — ideal for protected websites and JavaScript-heavy pages.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1303,1304,1305],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":1256,"slug":1257,"type":15},"2026-04-06T18:06:22.005051",{"slug":1308,"name":1308,"fn":1309,"description":1310,"org":1311,"tags":1312,"stars":20,"repoUrl":21,"updatedAt":1324},"browser-to-api","generate OpenAPI specs from browser traffic","Turn a website's observable HTTP traffic into a best-effort OpenAPI 3.1 spec by analyzing a `browser-trace` capture. Use when the user wants to discover\u002Fextract API endpoints from a browser session, build an OpenAPI doc from network traffic, or document a third-party site's XHR\u002Ffetch surface for client integration.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1313,1316,1317,1318,1321],{"name":1314,"slug":1315,"type":15},"API Development","api-development",{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":1319,"slug":1320,"type":15},"HTTP","http",{"name":1322,"slug":1323,"type":15},"OpenAPI","openapi","2026-05-14T06:07:27.298495",{"slug":1326,"name":1326,"fn":1327,"description":1328,"org":1329,"tags":1330,"stars":20,"repoUrl":21,"updatedAt":1339},"browser-trace","capture and debug browser automation traces","Capture a full DevTools-protocol trace of any browser automation — CDP firehose, screenshots, and DOM dumps — then bisect the stream into per-page searchable buckets. Use when the user wants to debug a failed run, audit network\u002Fconsole\u002FDOM activity, attach a trace to an in-progress session, or feed structured per-page summaries back into an agent loop so its next iteration learns from the last one.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1331,1332,1333,1336],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":1334,"slug":1335,"type":15},"Debugging","debugging",{"name":1337,"slug":1338,"type":15},"Observability","observability","2026-04-28T05:41:33.024656",{"slug":1341,"name":1341,"fn":1342,"description":1343,"org":1344,"tags":1345,"stars":20,"repoUrl":21,"updatedAt":1357},"browser-use-to-stagehand","migrate browser-use scripts to Stagehand","Migrate browser-use (Python) browser-automation scripts to Stagehand v3 (TypeScript) on Browserbase. Use when the user wants to convert, port, rewrite, or migrate a browser-use Agent script to Stagehand, map browser-use features\u002FAPIs to Stagehand primitives (act\u002Fextract\u002Fobserve\u002Fagent), or move agentic browser automation onto Browserbase with more determinism. Triggers on \"browser-use\", \"browser_use\", or \"Agent(task=...)\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1346,1347,1348,1351,1354],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":1349,"slug":1350,"type":15},"Migration","migration",{"name":1352,"slug":1353,"type":15},"Python","python",{"name":1355,"slug":1356,"type":15},"TypeScript","typescript","2026-06-26T07:57:47.428249",{"slug":1359,"name":1359,"fn":1360,"description":1361,"org":1362,"tags":1363,"stars":20,"repoUrl":21,"updatedAt":1377},"company-research","conduct deep company and product research","Company discovery and deep research skill. Researches a company's product and ICP,\ndiscovers target companies to sell to using Browserbase Search API, deeply researches\neach using a Plan→Research→Synthesize pattern, and scores ICP fit — compiled into\na scored research report and CSV. Supports depth modes (quick\u002Fdeep\u002Fdeeper) for\nbalancing scale vs intelligence.\nUse when the user wants to: (1) find companies to sell to, (2) research potential\ncustomers, (3) discover companies matching an ICP, (4) build a target company list,\n(5) do market research on prospects. Triggers: \"find companies to sell to\",\n\"company research\", \"find prospects\", \"ICP research\", \"target companies\",\n\"who should we sell to\", \"market research\", \"lead research\", \"prospect list\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1364,1365,1368,1371,1374],{"name":9,"slug":8,"type":15},{"name":1366,"slug":1367,"type":15},"Competitive Intelligence","competitive-intelligence",{"name":1369,"slug":1370,"type":15},"Marketing","marketing",{"name":1372,"slug":1373,"type":15},"Research","research",{"name":1375,"slug":1376,"type":15},"Sales","sales","2026-04-27T05:34:56.172569",{"slug":1379,"name":1379,"fn":1380,"description":1381,"org":1382,"tags":1383,"stars":20,"repoUrl":21,"updatedAt":1391},"competitor-analysis","analyze competitors across features and pricing","Competitor research and intelligence skill. Takes a user's company (with optional\nseed competitor URLs), auto-discovers additional competitors via Browserbase Search API,\ndeeply researches each using a 4-lane pattern (marketing surface, external signal,\npublic benchmarks, strategic diff vs the user's company), and compiles the results\ninto an HTML report with four views: overview, per-competitor deep dive, side-by-side\nfeature\u002Fpricing matrix, and a chronological mentions feed (news, reviews,\nsocial, comparison pages, and public benchmarks).\nUse when the user wants to: (1) analyze competitors, (2) build a competitive matrix,\n(3) extract competitor pricing \u002F features, (4) find comparison pages and online\nmentions of competitors, (5) surface public benchmarks. Triggers: \"competitor analysis\",\n\"analyze competitors\", \"competitive intel\", \"competitor research\", \"competitor pricing\",\n\"feature comparison\", \"price comparison\", \"find comparisons\", \"who's comparing us\",\n\"competitor mentions\", \"competitor benchmarks\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1384,1385,1386,1387,1388],{"name":9,"slug":8,"type":15},{"name":1366,"slug":1367,"type":15},{"name":1369,"slug":1370,"type":15},{"name":1372,"slug":1373,"type":15},{"name":1389,"slug":1390,"type":15},"Strategy","strategy","2026-06-19T09:41:33.392499",{"slug":4,"name":4,"fn":5,"description":6,"org":1393,"tags":1394,"stars":20,"repoUrl":21,"updatedAt":22},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1395,1396,1397],{"name":13,"slug":14,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"slug":1399,"name":1399,"fn":1400,"description":1401,"org":1402,"tags":1403,"stars":20,"repoUrl":21,"updatedAt":1410},"event-prospecting","research event speakers for sales prospecting","Event prospecting skill. Takes a conference \u002F event speakers URL,\nextracts the people, filters their companies against the user's\nICP, then deep-researches only the speakers at ICP-fit companies.\nOutputs a person-first HTML report where each card answers \"why\nshould the AE talk to this person?\" with all public links and a\none-click DM opener.\nUse when the user wants to: (1) find leads at a specific\nconference, (2) prep for an event, (3) research event speakers,\n(4) build a target list from a sponsor\u002Fexhibitor page,\n(5) scrape conference speakers and rank by ICP fit.\nTriggers: \"find leads at {event}\", \"research speakers at\",\n\"prospect this conference\", \"stripe sessions leads\",\n\"ai engineer summit prospects\", \"event prospecting\",\n\"scrape conference speakers\", \"who should I meet at\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1404,1405,1408,1409],{"name":9,"slug":8,"type":15},{"name":1406,"slug":1407,"type":15},"Prospecting","prospecting",{"name":1372,"slug":1373,"type":15},{"name":1375,"slug":1376,"type":15},"2026-04-28T05:41:31.770467",{"slug":1412,"name":1412,"fn":1413,"description":1414,"org":1415,"tags":1416,"stars":20,"repoUrl":21,"updatedAt":1421},"fetch","fetch URLs without a browser session","Use this skill when the user wants to retrieve a URL without a full browser session: fetch HTML or JSON from static pages, inspect status codes or headers, follow redirects, or get page source for simple scraping. Prefer it over a browser when JavaScript rendering and page interaction are not needed. Supports proxies and redirect control.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1417,1418],{"name":1319,"slug":1320,"type":15},{"name":1419,"slug":1420,"type":15},"Web Scraping","web-scraping","2026-04-06T18:06:19.462477",17,{"items":1424,"total":1478},[1425,1434,1441,1447,1455,1462,1470],{"slug":1262,"name":1262,"fn":1263,"description":1264,"org":1426,"tags":1427,"stars":20,"repoUrl":21,"updatedAt":1283},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1428,1429,1430,1431,1432,1433],{"name":1268,"slug":1269,"type":15},{"name":1271,"slug":1272,"type":15},{"name":9,"slug":8,"type":15},{"name":1275,"slug":1276,"type":15},{"name":1278,"slug":1279,"type":15},{"name":1281,"slug":1282,"type":15},{"slug":1285,"name":1285,"fn":1286,"description":1287,"org":1435,"tags":1436,"stars":20,"repoUrl":21,"updatedAt":1296},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1437,1438,1439,1440],{"name":1268,"slug":1269,"type":15},{"name":1292,"slug":1293,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"slug":1298,"name":1298,"fn":1299,"description":1300,"org":1442,"tags":1443,"stars":20,"repoUrl":21,"updatedAt":1306},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1444,1445,1446],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":1256,"slug":1257,"type":15},{"slug":1308,"name":1308,"fn":1309,"description":1310,"org":1448,"tags":1449,"stars":20,"repoUrl":21,"updatedAt":1324},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1450,1451,1452,1453,1454],{"name":1314,"slug":1315,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":1319,"slug":1320,"type":15},{"name":1322,"slug":1323,"type":15},{"slug":1326,"name":1326,"fn":1327,"description":1328,"org":1456,"tags":1457,"stars":20,"repoUrl":21,"updatedAt":1339},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1458,1459,1460,1461],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":1334,"slug":1335,"type":15},{"name":1337,"slug":1338,"type":15},{"slug":1341,"name":1341,"fn":1342,"description":1343,"org":1463,"tags":1464,"stars":20,"repoUrl":21,"updatedAt":1357},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1465,1466,1467,1468,1469],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":1349,"slug":1350,"type":15},{"name":1352,"slug":1353,"type":15},{"name":1355,"slug":1356,"type":15},{"slug":1359,"name":1359,"fn":1360,"description":1361,"org":1471,"tags":1472,"stars":20,"repoUrl":21,"updatedAt":1377},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1473,1474,1475,1476,1477],{"name":9,"slug":8,"type":15},{"name":1366,"slug":1367,"type":15},{"name":1369,"slug":1370,"type":15},{"name":1372,"slug":1373,"type":15},{"name":1375,"slug":1376,"type":15},16]