{"id":"8fe060e0-2ecd-4bcd-9717-31b598ca2900","shortId":"uq5Xnm","kind":"skill","title":"setup-browser-cookies","tagline":"Import cookies from your real Chromium browser into the headless browse session.\nOpens an interactive picker UI where you select which cookie domains to import.\nUse before QA testing authenticated pages. Use when asked to \"import cookies\",\n\"login to the site\", or \"authenticate th","description":"## Preamble\n\n```bash\neval \"$(~/.vibestack/bin/vibe-slug 2>/dev/null)\" 2>/dev/null || SLUG=\"unknown\"\n_LEARN_FILE=\"${VIBESTACK_HOME:-$HOME/.vibestack}/projects/${SLUG:-unknown}/learnings.jsonl\"\nif [ -f \"$_LEARN_FILE\" ]; then\n  _LEARN_COUNT=$(wc -l < \"$_LEARN_FILE\" 2>/dev/null | tr -d ' ')\n  echo \"LEARNINGS: $_LEARN_COUNT entries loaded\"\n  if [ \"$_LEARN_COUNT\" -gt 5 ] 2>/dev/null; then\n    ~/.vibestack/bin/vibe-learnings-search --limit 5 2>/dev/null || true\n  fi\nelse\n  echo \"LEARNINGS: none yet\"\nfi\n```\n\n# Setup Browser Cookies\n\nImport logged-in sessions from your real Chromium browser into the headless browse session.\n\n## CDP mode check\n\nFirst, check if browse is already connected to the user's real browser:\n```bash\n$B status 2>/dev/null | grep -q \"Mode: cdp\" && echo \"CDP_MODE=true\" || echo \"CDP_MODE=false\"\n```\nIf `CDP_MODE=true`: tell the user \"Not needed — you're connected to your real browser via CDP. Your cookies and sessions are already available.\" and stop. No cookie import needed.\n\n## How it works\n\n1. Find the browse binary\n2. Run `cookie-import-browser` to detect installed browsers and open the picker UI\n3. User selects which cookie domains to import in their browser\n4. Cookies are decrypted and loaded into the Playwright session\n\n## Steps\n\n### 1. Find the browse binary\n\n```bash\n_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)\nB=\"\"\n[ -n \"$_ROOT\" ] && [ -x \"$_ROOT/.claude/skills/vibestack/browse/dist/browse\" ] && B=\"$_ROOT/.claude/skills/vibestack/browse/dist/browse\"\n[ -z \"$B\" ] && B=\"$HOME/.claude/skills/vibestack/browse/dist/browse\"\nif [ -x \"$B\" ]; then echo \"READY: $B\"; else echo \"NEEDS_SETUP\"; fi\n```\n\nIf `NEEDS_SETUP`, stop and tell the user:\n\"The browse daemon is required for this skill but is not installed. **vibestack does not bundle the browse daemon** — it's a separate dependency. See [`docs/external-tools.md`](../../docs/external-tools.md#browse-daemon) for current options.\"\n\n### 2. Open the cookie picker\n\n```bash\n$B cookie-import-browser\n```\n\nThis auto-detects installed Chromium browsers and opens\nan interactive picker UI in your default browser where you can:\n- Switch between installed browsers\n- Search domains\n- Click \"+\" to import a domain's cookies\n- Click trash to remove imported cookies\n\nTell the user: **\"Cookie picker opened — select the domains you want to import in your browser, then tell me when you're done.\"**\n\n### 3. Direct import (alternative)\n\nIf the user specifies a domain directly (e.g., `/setup-browser-cookies github.com`), skip the UI:\n\n```bash\n$B cookie-import-browser comet --domain github.com\n```\n\nReplace `comet` with the appropriate browser if specified.\n\n### 4. Verify\n\nAfter the user confirms they're done:\n\n```bash\n$B cookies\n```\n\nShow the user a summary of imported cookies (domain counts).\n\n## Notes\n\n- On macOS, the first import per browser may trigger a Keychain dialog — click \"Allow\" / \"Always Allow\"\n- On Linux, `v11` cookies may require `secret-tool`/libsecret access; `v10` cookies use Chromium's standard fallback key\n- Cookie picker is served on the same port as the browse server (no extra process)\n- Only domain names and cookie counts are shown in the UI — no cookie values are exposed\n- The browse session persists cookies between commands, so imported cookies work immediately","tags":["setup","browser","cookies","vibestack","timurgaleev","agent-skills","ai-agents","claude-code","cursor-ide","developer-tools","kiro","mcp"],"capabilities":["skill","source-timurgaleev","skill-setup-browser-cookies","topic-agent-skills","topic-ai-agents","topic-claude-code","topic-cursor-ide","topic-developer-tools","topic-kiro","topic-mcp","topic-prompt-engineering","topic-slash-commands"],"categories":["vibestack"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/timurgaleev/vibestack/setup-browser-cookies","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add timurgaleev/vibestack","source_repo":"https://github.com/timurgaleev/vibestack","install_from":"skills.sh"}},"qualityScore":"0.457","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 15 github stars · SKILL.md body (3,279 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:06:23.754Z","embedding":null,"createdAt":"2026-05-18T19:06:23.754Z","updatedAt":"2026-05-18T19:06:23.754Z","lastSeenAt":"2026-05-18T19:06:23.754Z","tsv":"'/../docs/external-tools.md':310 '/.vibestack/bin/vibe-learnings-search':97 '/.vibestack/bin/vibe-slug':52 '/dev/null':54,56,80,95,101,148,252 '/learnings.jsonl':67 '/libsecret':472 '/projects':64 '/setup-browser-cookies':402 '1':195,237 '2':53,55,79,94,100,147,200,251,317 '3':215,390 '4':226,424 '5':93,99 'access':473 'allow':460,462 'alreadi':136,184 'altern':393 'alway':461 'appropri':420 'ask':38 'authent':34,47 'auto':330 'auto-detect':329 'avail':185 'b':145,253,258,261,262,266,270,323,408,434 'bash':50,144,242,322,407,433 'binari':199,241 'brows':15,126,134,198,240,285,301,312,492,514 'browse-daemon':311 'browser':3,11,111,122,143,176,205,209,225,327,334,344,351,382,412,421,453 'bundl':299 'cdp':128,152,154,158,162,178 'check':130,132 'chromium':10,121,333,477 'click':354,361,459 'comet':413,417 'command':519 'confirm':429 'connect':137,172 'cooki':4,6,26,41,112,180,189,203,219,227,320,325,360,366,370,410,435,443,466,475,482,501,509,517,522 'cookie-import-brows':202,324,409 'count':74,86,91,445,502 'current':315 'd':82 'daemon':286,302,313 'decrypt':229 'default':343 'depend':307 'detect':207,331 'dialog':458 'direct':391,400 'docs/external-tools.md':309 'domain':27,220,353,358,375,399,414,444,498 'done':389,432 'e.g':401 'echo':83,105,153,157,268,272 'els':104,271 'entri':87 'eval':51 'expos':512 'extra':495 'f':69 'fallback':480 'fals':160 'fi':103,109,275 'file':60,71,78 'find':196,238 'first':131,450 'git':244 'github.com':403,415 'grep':149 'gt':92 'headless':14,125 'home':62 'home/.claude/skills/vibestack/browse/dist/browse':263 'home/.vibestack':63 'immedi':524 'import':5,29,40,113,190,204,222,326,356,365,379,392,411,442,451,521 'instal':208,295,332,350 'interact':19,338 'key':481 'keychain':457 'l':76 'learn':59,70,73,77,84,85,90,106 'limit':98 'linux':464 'load':88,231 'log':115 'logged-in':114 'login':42 'maco':448 'may':454,467 'mode':129,151,155,159,163 'n':254 'name':499 'need':169,191,273,277 'none':107 'note':446 'open':17,211,318,336,372 'option':316 'page':35 'pars':247 'per':452 'persist':516 'picker':20,213,321,339,371,483 'playwright':234 'port':489 'preambl':49 'process':496 'q':150 'qa':32 're':171,388,431 'readi':269 'real':9,120,142,175 'remov':364 'replac':416 'requir':288,468 'rev':246 'rev-pars':245 'root':243,255 'root/.claude/skills/vibestack/browse/dist/browse':257,259 'run':201 'search':352 'secret':470 'secret-tool':469 'see':308 'select':24,217,373 'separ':306 'serv':485 'server':493 'session':16,117,127,182,235,515 'setup':2,110,274,278 'setup-browser-cooki':1 'show':249,436 'show-toplevel':248 'shown':504 'site':45 'skill':291 'skill-setup-browser-cookies' 'skip':404 'slug':57,65 'source-timurgaleev' 'specifi':397,423 'standard':479 'status':146 'step':236 'stop':187,279 'summari':440 'switch':348 'tell':165,281,367,384 'test':33 'th':48 'tool':471 'topic-agent-skills' 'topic-ai-agents' 'topic-claude-code' 'topic-cursor-ide' 'topic-developer-tools' 'topic-kiro' 'topic-mcp' 'topic-prompt-engineering' 'topic-slash-commands' 'toplevel':250 'tr':81 'trash':362 'trigger':455 'true':102,156,164 'ui':21,214,340,406,507 'unknown':58,66 'use':30,36,476 'user':140,167,216,283,369,396,428,438 'v10':474 'v11':465 'valu':510 'verifi':425 'via':177 'vibestack':61,296 'want':377 'wc':75 'work':194,523 'x':256,265 'yet':108 'z':260","prices":[{"id":"59da3beb-a31d-4275-8c15-be42ed686d1d","listingId":"8fe060e0-2ecd-4bcd-9717-31b598ca2900","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"timurgaleev","category":"vibestack","install_from":"skills.sh"},"createdAt":"2026-05-18T19:06:23.754Z"}],"sources":[{"listingId":"8fe060e0-2ecd-4bcd-9717-31b598ca2900","source":"github","sourceId":"timurgaleev/vibestack/setup-browser-cookies","sourceUrl":"https://github.com/timurgaleev/vibestack/tree/main/skills/setup-browser-cookies","isPrimary":false,"firstSeenAt":"2026-05-18T19:06:23.754Z","lastSeenAt":"2026-05-18T19:06:23.754Z"}],"details":{"listingId":"8fe060e0-2ecd-4bcd-9717-31b598ca2900","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"timurgaleev","slug":"setup-browser-cookies","github":{"repo":"timurgaleev/vibestack","stars":15,"topics":["agent-skills","ai-agents","claude-code","cursor-ide","developer-tools","kiro","mcp","prompt-engineering","slash-commands"],"license":"mit","html_url":"https://github.com/timurgaleev/vibestack","pushed_at":"2026-05-18T18:19:05Z","description":"vibestack is a portable skill pack for AI coding agents. Slash commands like /office-hours, /ship, /investigate, /tdd, /review install once and work across every agent that supports the Agent Skills open standard — Claude Code, Cursor, Kiro, and a growing list of others. ","skill_md_sha":"fd9674fa723c3276335845b42b77483856e042a7","skill_md_path":"skills/setup-browser-cookies/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/timurgaleev/vibestack/tree/main/skills/setup-browser-cookies"},"layout":"multi","source":"github","category":"vibestack","frontmatter":{"name":"setup-browser-cookies","description":"Import cookies from your real Chromium browser into the headless browse session.\nOpens an interactive picker UI where you select which cookie domains to import.\nUse before QA testing authenticated pages. Use when asked to \"import cookies\",\n\"login to the site\", or \"authenticate the browser\"."},"skills_sh_url":"https://skills.sh/timurgaleev/vibestack/setup-browser-cookies"},"updatedAt":"2026-05-18T19:06:23.754Z"}}