skills/sweetlink/SKILL.md
Use when the task needs a real authenticated browser tab via SweetLink for screenshots, smoke tests, or DevTools telemetry.
npx skillsauth add bjesuiter/skills sweetlinkInstall 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.
Connect your AI agent to a real browser tab. Like Playwright, but works in your current tab.
# 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 the SweetLink daemon (runs on https://localhost:4455)
sweetlink daemon start
# Check status
sweetlink daemon status
# Stop daemon
sweetlink daemon stop
# List active sessions
sweetlink session list
# Reconnect after hot reload
sweetlink session reconnect <session-id>
# 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
# Tail console logs (last 50 entries)
sweetlink devtools console --tail 50
# Tail network requests
sweetlink devtools network --tail 50
# Clear buffers
sweetlink devtools clear
# 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
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" "[email protected]"
# Example: Get page title
sweetlink browser title
sweetlink daemon start
sweetlink trust-ca # First time only
sweetlink browser open --profile default
# Agent uses these commands:
sweetlink dom query ".product-card" --property outerHTML
sweetlink screenshot --output products.png
sweetlink devtools console --tail 100
sweetlink session list
sweetlink session reconnect <session-id>
# Navigate to app
sweetlink browser open --profile default
# (manually navigate to http://localhost:3000)
# Check for console errors
sweetlink devtools console --tail 0
# Capture full page
sweetlink screenshot --full-page --output test.png
# Capture specific element
sweetlink dom query ".hero" --screenshot hero.png
sweetlink dom type "#name" "Test User"
sweetlink dom type "#email" "[email protected]"
sweetlink dom click "#submit"
sweetlink dom query "#success" --exists
GET /api/sweetlink/status — Check daemon health + TLS trustPOST /api/sweetlink/session — Create new sessionGET /api/sweetlink/sessions — List sessions| 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 |
# Check if port is in use
lsof -i :4455
# Kill existing process
sweetlink daemon stop
sweetlink daemon start
# Re-run trust
sweetlink trust-ca
# Open browser to accept
open https://localhost:4455
# List sessions
sweetlink session list
# Reconnect
sweetlink session reconnect <session-id>
testing
Use when the user mentions Clawpatch/clawpatch.ai, semantic feature review, repo-wide AI audit, persistent findings, or clawpatch init/map/review/report/fix/revalidate.
development
Use when the user asks for autoreview, Codex/Claude second-model review, or final review of dirty changes, a branch, commit, or PR before ship.
testing
Use when the user asks to cut, prepare, publish, tag, or verify a release, especially npm/package releases.
tools
Use when adding, writing, fixing, or exposing a script for the Tuna macOS launcher.