sweetlink

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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "sweetlink" with this command: npx skills add bjesuiter/skills/bjesuiter-skills-sweetlink

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-ca

Start Daemon

# Start the SweetLink daemon (runs on https://localhost:4455)
sweetlink daemon start

# Check status
sweetlink daemon status

# Stop daemon
sweetlink daemon stop

Core 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 status

Console & Network

# Tail console logs (last 50 entries)
sweetlink devtools console --tail 50

# Tail network requests
sweetlink devtools network --tail 50

# Clear buffers
sweetlink devtools clear

Screenshot & 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 textContent

Automation 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 title

Workflow with AI Agents

1. Start SweetLink Daemon

sweetlink daemon start
sweetlink trust-ca  # First time only

2. Open Browser Tab

sweetlink browser open --profile default

3. 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 100

5. 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 0

Screenshot Testing

# Capture full page
sweetlink screenshot --full-page --output test.png

# Capture specific element
sweetlink dom query ".hero" --screenshot hero.png

Form Automation

sweetlink dom type "#name" "Test User"
sweetlink dom type "#email" "test@example.com"
sweetlink dom click "#submit"
sweetlink dom query "#success" --exists

API Reference

Daemon API (internal)

  • GET /api/sweetlink/status — Check daemon health + TLS trust
  • POST /api/sweetlink/session — Create new session
  • GET /api/sweetlink/sessions — List sessions

CLI Commands

CommandDescription
sweetlink daemon start|stop|statusManage daemon
sweetlink browser open|closeControl browser
sweetlink session list|reconnectManage sessions
sweetlink devtools console|networkDevTools access
sweetlink dom query|click|type|screenshotDOM operations
sweetlink screenshotCapture screenshots

Troubleshooting

Daemon won't start

# Check if port is in use
lsof -i :4455

# Kill existing process
sweetlink daemon stop
sweetlink daemon start

TLS certificate not trusted

# Re-run trust
sweetlink trust-ca

# Open browser to accept
open https://localhost:4455

Session 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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

xcode

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

jb-refine-code

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

github-pr

No summary provided by upstream source.

Repository SourceNeeds Review
General

summarize

No summary provided by upstream source.

Repository SourceNeeds Review