Agent skill
kernel
Remote browser automation using the Kernel CLI. Use when the agent needs to interact with cloud browsers for web automation, scraping, screenshots, or running browser-based tasks.
Install this agent skill to your Project
npx add-skill https://github.com/MichaelFisher1997/opencode-config/tree/main/skill/kernel
SKILL.md
Kernel CLI — Remote Browser Automation
Kernel provides cloud-hosted browsers for automation. Use kernel CLI commands to spin up browser sessions, take screenshots, click/type/scroll, run Playwright code, execute commands in the browser VM, and transfer files.
Use -o json on most commands for machine-readable output.
Browser Sessions
kernel browsers create # New session
kernel browsers create --stealth # Reduce automation fingerprints
kernel browsers create --headless # No GUI
kernel browsers create -o json # Returns { "id": "..." }
kernel browsers list # All active sessions
kernel browsers list -o json
kernel browsers get <session-id> # Session details
kernel browsers get <session-id> -o json
kernel browsers delete <session-id> # Cleanup when done
kernel browsers delete <session-id> -y # Skip confirmation
Always delete sessions when finished to avoid charges.
Screenshots
kernel browsers computer screenshot <session-id> --to ./screen.png
kernel browsers computer screenshot <session-id> --to ./crop.png --x 100 --y 100 --width 800 --height 600
Mouse Controls
kernel browsers computer click-mouse <session-id> --x 500 --y 300
kernel browsers computer click-mouse <session-id> --x 500 --y 300 --button right --num-clicks 2
kernel browsers computer move-mouse <session-id> --x 200 --y 400
kernel browsers computer scroll <session-id> --x 500 --y 500 --delta-y -300
kernel browsers computer drag-mouse <session-id> --point 100,100 --point 200,200 --point 300,100
Keyboard Controls
kernel browsers computer type <session-id> --text "Hello World"
kernel browsers computer type <session-id> --text "slow" --delay 100
kernel browsers computer press-key <session-id> --key Enter
kernel browsers computer press-key <session-id> --key a --hold-key Control # Ctrl+A
kernel browsers computer press-key <session-id> --key s --hold-key Control --hold-key Shift # Ctrl+Shift+S
Playwright Execution
Run Playwright/TypeScript code directly against the browser. Code has access to page, context, and browser. Use return to get a value back.
kernel browsers playwright execute <session-id> 'await page.goto("https://example.com"); return await page.title();'
kernel browsers playwright execute <session-id> --timeout 30 '
const el = await page.$("h1");
return await el?.textContent();
'
Process Control
Run shell commands inside the browser VM:
# Sync
kernel browsers process exec <session-id> -- curl -s https://api.example.com
kernel browsers process exec <session-id> --as-root -- apt-get install -y curl
kernel browsers process exec <session-id> --timeout 30 -o json -- python3 script.py
# Async
kernel browsers process spawn <session-id> -- node server.js
Filesystem
Transfer files to/from the browser VM:
kernel browsers fs read-file <session-id> --path /tmp/output.json -o ./local.json
kernel browsers fs write-file <session-id> --path /remote/file.txt --source ./local.txt
kernel browsers fs list-files <session-id> --path /tmp -o json
kernel browsers fs upload <session-id> --file ./local.txt:/remote.txt
kernel browsers fs upload <session-id> --dest-dir /app --paths ./a.txt ./b.txt
kernel browsers fs download-dir-zip <session-id> --path /app/output -o ./output.zip
Common Workflows
Take a Screenshot of a Page
sid=$(kernel browsers create -o json | jq -r '.id')
kernel browsers playwright execute "$sid" 'await page.goto("https://example.com"); return await page.title();'
kernel browsers computer screenshot "$sid" --to ./page.png
kernel browsers delete "$sid" -y
Extract Page Content
kernel browsers playwright execute <session-id> '
await page.goto("https://example.com");
return await page.textContent("body");
'
Fill and Submit a Form
kernel browsers computer click-mouse <session-id> --x 400 --y 250
kernel browsers computer type <session-id> --text "user@example.com"
kernel browsers computer press-key <session-id> --key Tab
kernel browsers computer type <session-id> --text "password123"
kernel browsers computer press-key <session-id> --key Enter
Run Commands in Browser VM
kernel browsers process exec <session-id> --as-root -- apt-get install -y curl jq
kernel browsers process exec <session-id> -- curl -s https://api.example.com/data | jq .
Keywords
kernel, browser, automation, playwright, screenshot, click, type, scroll, web scraping, remote browser
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
context7
Retrieve up-to-date documentation and code examples from Context7. Use when you need library/framework documentation or API examples.
github
GitHub workflow best practices using gh CLI and git. Use when working with GitHub repositories, pull requests, issues, or GitHub interactions.
frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.
convex
Umbrella skill for all Convex development patterns. Routes to specific skills like convex-functions, convex-realtime, convex-agents, etc.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
Didn't find tool you were looking for?