Use SweetLink to connect your AI agent to a real browser tab. Like Playwright, but works in your current tab. Enables authentication, screenshots, smoke tests, and DevTools telemetry without headless automation.
Install
npx skillscat add bjesuiter/skills/sweetlink Install via the SkillsCat registry.
We need to produce a 2-3 sentence plain-text summary, objective, factual, no marketing language, no superlatives, no calls to action, no bullet points, no markdown, no quotes. At most 60 words. Must be plain text, no formatting. Provide only the summary text. We need to explain: what this skill does, what problem it solves, when to use it. We can write something like: "The skill integrates an AI agent with a live browser tab via SweetLink, allowing the agent to interact with the current page, capture screenshots, and monitor network activity while preserving authentication.
SweetLink 🍭
Connect your AI agent to a real browser tab. Like Playwright, but works in your current tab.
Why SweetLink?
- Real browser — Automate your actual browser session (Chrome with DevTools)
- Auth preserved — Cookies/sessions from your profile carry over
- Loop closed — Agent can see what you see, interact with your tab
- Smoke tests — Verify web apps in real browser context
Install
# From source (requires pnpm)
cd ~/Develop/bjesuiter/sweetlink
pnpm install
pnpm build
# Or globally
pnpm add -g sweetlink
# Trust CA for TLS
sweetlink trust-caStart Daemon
# Start the SweetLink daemon (runs on https://localhost:4455)
sweetlink daemon start
# Check status
sweetlink daemon status
# Stop daemon
sweetlink daemon stopCore Commands
Session Management
# List active sessions
sweetlink session list
# Reconnect after hot reload
sweetlink session reconnect <session-id>Browser Control
# Open browser with DevTools (from main profile)
sweetlink browser open --profile default
# Open incognito profile
sweetlink browser open --profile incognito
# Get browser status
sweetlink browser statusConsole & Network
# Tail console logs (last 50 entries)
sweetlink devtools console --tail 50
# Tail network requests
sweetlink devtools network --tail 50
# Clear buffers
sweetlink devtools clearScreenshot & DOM
# Capture screenshot
sweetlink screenshot --output screenshot.png
# Get DOM snapshot
sweetlink dom snapshot --output dom.json
# Query element (CSS selector)
sweetlink dom query ".submit-button" --property textContentAutomation Prompts
Use with Codex, Claude, or Cursor once a session is live:
# Example: Check if element exists
sweetlink dom query "#login-form" --exists
# Example: Click button
sweetlink dom click ".submit-btn"
# Example: Type in input
sweetlink dom type "#email" "user@example.com"
# Example: Get page title
sweetlink browser titleWorkflow with AI Agents
1. Start SweetLink Daemon
sweetlink daemon start
sweetlink trust-ca # First time only2. Open Browser Tab
sweetlink browser open --profile default3. Navigate to target site
- Do this manually in the opened browser
- Authenticate if needed (cookies persist)
4. Agent can now automate
# Agent uses these commands:
sweetlink dom query ".product-card" --property outerHTML
sweetlink screenshot --output products.png
sweetlink devtools console --tail 1005. Reattach sessions
sweetlink session list
sweetlink session reconnect <session-id>Example Use Cases
Smoke Test Web App
# Navigate to app
sweetlink browser open --profile default
# (manually navigate to http://localhost:3000)
# Check for console errors
sweetlink devtools console --tail 0Screenshot Testing
# Capture full page
sweetlink screenshot --full-page --output test.png
# Capture specific element
sweetlink dom query ".hero" --screenshot hero.pngForm Automation
sweetlink dom type "#name" "Test User"
sweetlink dom type "#email" "test@example.com"
sweetlink dom click "#submit"
sweetlink dom query "#success" --existsAPI Reference
Daemon API (internal)
GET /api/sweetlink/status— Check daemon health + TLS trustPOST /api/sweetlink/session— Create new sessionGET /api/sweetlink/sessions— List sessions
CLI Commands
| Command | Description |
|---|---|
sweetlink daemon start|stop|status |
Manage daemon |
sweetlink browser open|close |
Control browser |
sweetlink session list|reconnect |
Manage sessions |
sweetlink devtools console|network |
DevTools access |
sweetlink dom query|click|type|screenshot |
DOM operations |
sweetlink screenshot |
Capture screenshots |
Troubleshooting
Daemon won't start
# Check if port is in use
lsof -i :4455
# Kill existing process
sweetlink daemon stop
sweetlink daemon startTLS certificate not trusted
# Re-run trust
sweetlink trust-ca
# Open browser to accept
open https://localhost:4455Session disconnected
# List sessions
sweetlink session list
# Reconnect
sweetlink session reconnect <session-id>Related Skills
- oracle — Prompt bundler for multi-model runs (pairs well with SweetLink)
- browser — Clawdbot's built-in browser control
Notes
- SweetLink uses real Chrome/Chromium with DevTools Protocol
- Cookies/auth persist from your browser profile
- Works on macOS with Chrome or Chromium-based browsers
- TLS certificate required for daemon communication