From kernel-sdks
Build browser automation scripts using the Kernel TypeScript SDK with Playwright, CDP, and remote browser management.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kernel-sdks:kernel-typescript-sdkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use the Kernel TypeScript SDK when you need to:
Use the Kernel TypeScript SDK when you need to:
When NOT to use:
kernel browsers create), use the kernel-cli skill insteadThe SDK is organized into resource-based modules:
kernel.browsers - Browser session management (create, list, delete)kernel.browsers.playwright - Server-side Playwright executionkernel.browsers.computer - OS-level controls (mouse, keyboard, screenshots)kernel.browserPools - Pre-warmed browser pool managementkernel.profiles - Persistent browser profiles (auth state)kernel.auth.connections - Managed auth (create, login, submit, follow, retrieve, delete)kernel.credentialProviders - External credential providers (1Password)kernel.proxies - Proxy configurationkernel.extensions - Chrome extension managementkernel.deployments - App deploymentkernel.invocations - Action invocation1. Server-side Execution (RECOMMENDED)
kernel.browsers.playwright.execute()response.result - MUST use return in code to get data back2. CDP Connection (Client-side)
browser.cdp_ws_url)SDK Initialization
import { Kernel } from "@onkernel/sdk";
const kernel = new Kernel(); // Reads KERNEL_API_KEY from environment
Attribute Access: Use snake_case (e.g., browser.session_id, browser.cdp_ws_url)
Binary Data Handling
Binary data does not serialize through playwright.execute (returns undefined). Use dedicated APIs:
// For screenshots:
const response = await kernel.browsers.computer.captureScreenshot(browser.session_id);
// For files:
const response = await kernel.browsers.filesystem.readFile(browser.session_id, { path: '/path/to/file' });
// Convert to buffer:
const blob = await response.blob();
const buffer = Buffer.from(await blob.arrayBuffer());
Note: This differs from the Python SDK where binary data CAN be returned via
playwright.executeas a Buffer object. In TypeScript, always use dedicated APIs.
@onkernel/sdk packagenpx claudepluginhub kernel/skills --plugin kernel-sdksAutomates real browser tasks: viewing pages, login-gated sites, UI operations, social media scraping (Xiaohongshu/Weibo/X), JS-rendered pages, bot bypass, form filling, e2e checks via CLI/Python SDK.
Deploys serverless browser automation as cloud functions using Browserbase and Playwright. Use for scheduling browser tasks, creating webhook endpoints, or running automation in the cloud.
Automates browsers via playwright-cli CLI commands executed through Bash. Supports navigation, interaction (click, type, fill), screenshots, PDFs, session/tabs management for E2E testing.