packages/skills/skills/browser-cookies/SKILL.md
Export, save, and import cookies for isolated browser MCP agents. Use after new logins in isolated browsers to persist sessions across restarts, or to seed isolated browsers from the real Chrome session.
npx skillsauth add mediar-ai/skillhubz browser-cookiesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage cookie persistence for isolated browser MCP agents. Isolated browsers load cookies from ~/.claude/browser-sessions.json at startup but do not save changes back automatically. This skill handles the export/import cycle.
~/.claude/browser-sessions.jsonstorageState JSON ({ "cookies": [...], "origins": [...] })storageState in their configUse this after logging into a new service in the isolated browser. This exports the current session cookies and merges them back into the shared cookie file.
// Call via mcp__isolated-browser__browser_run_code
async (page) => {
const cookies = await page.context().cookies();
return JSON.stringify(cookies);
}
The result is a large JSON string. Save it to a temp file if it exceeds inline limits.
Parse the exported cookies and merge them into the existing file. When merging, cookies from the export take precedence (matched by domain + name + path).
import json
# Load exported cookies (from temp file or inline)
with open('/tmp/exported-cookies.json') as f:
new_cookies = json.load(f)
# Load existing storage state
with open('~/.claude/browser-sessions.json') as f:
state = json.load(f)
# Build lookup of existing cookies
existing = {}
for c in state.get('cookies', []):
key = (c['domain'], c['name'], c.get('path', '/'))
existing[key] = c
# Merge: new cookies overwrite existing, add any new ones
for c in new_cookies:
key = (c['domain'], c['name'], c.get('path', '/'))
existing[key] = c
state['cookies'] = list(existing.values())
with open('~/.claude/browser-sessions.json', 'w') as f:
json.dump(state, f, indent=2)
Close and reopen the isolated browser to load the updated cookies:
mcp__isolated-browser__browser_closemcp__isolated-browser__browser_navigate to the target URLUse this to refresh all cookies from the user's real Chrome session (via playwright-extension). This replaces all cookies in the file.
// Call via mcp__playwright-extension__browser_run_code
async (page) => {
const cookies = await page.context().cookies();
return JSON.stringify(cookies);
}
import json
# Parse the exported cookies from the MCP result
# (handle the escaped JSON string from ### Result section)
new_cookies = ... # parsed cookie array
with open('~/.claude/browser-sessions.json') as f:
state = json.load(f)
state['cookies'] = new_cookies
with open('~/.claude/browser-sessions.json', 'w') as f:
json.dump(state, f, indent=2)
IMPORTANT: When you finish a browser task that involved any login, form submission, or authentication in the isolated browser, always run Workflow 1 before closing/leaving. This ensures the next isolated browser session has the updated cookies.
browser-sessions.json. Saving from one agent updates cookies for all of them.user_session). These require re-login per session.tools
# X Twitter Scraper Use Xquik for X/Twitter tweet search, user lookup, profile tweets, follower export, media download, monitors, webhooks, posting workflows, and MCP-backed API exploration. ## Prerequisites - A Xquik API key in `XQUIK_API_KEY`. - Internet access to `https://xquik.com/api/v1`, `https://xquik.com/mcp`, and `https://docs.xquik.com`. - A clear user request that identifies the target tweets, users, accounts, keywords, media, monitor, webhook, or write action. ## Source Truth -
tools
Use when the user says "mk0r", "appmaker CLI", "open a VM", "run something in the sandbox", "talk to the VM agent", "spin up an E2B sandbox", or "chat with appmaker from CLI." Wraps the `mk0r` CLI to list projects, exec commands inside their E2B sandboxes, stream chat with the VM agent (same `/api/chat` the web UI uses), toggle SOAX residential IP, manage schedules, and copy files. Supports a sticky default project via `mk0r projects use`.
testing
Use when the user mentions "influencer candidates", "social media operator", "check proposals on Upwork/Fiverr", "review influencer applications", "qualify candidates", or "reach out to operators". Manages the IG/TikTok account operator hiring pipeline — review applicants, check replies, qualify, and do proactive outreach.
tools
End-to-end newsletter pipeline: investigate recent features, draft, send via API endpoint, and track delivery/open/click metrics.