ワンクリックで
kernel-typescript-sdk
Build browser automation scripts using the Kernel TypeScript SDK with Playwright, CDP, and remote browser management.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Build browser automation scripts using the Kernel TypeScript SDK with Playwright, CDP, and remote browser management.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Systematically debug a Kernel cloud browser session — VM issues, network errors, Chrome crashes, page-load failures, and live-view problems. Use when a browser session misbehaves (e.g. ERR_HTTP2_PROTOCOL_ERROR, "browser not responding", blank/error pages, captcha or "checking your browser" blocks, live view not loading) and you have the session ID. Drives the Kernel CLI to inspect session status, screenshots, page state, VM logs, and network connectivity.
Generate crisp, perfectly smooth MP4 videos from a web page or animated visualization by driving headless Chromium over the Chrome DevTools Protocol (CDP) with deterministic frame-stepping, then encoding with ffmpeg and (if remote) sharing via a cloudflared tunnel. Use when asked to make/generate a demo video, explainer clip, launch/marketing animation, social teaser, or any short rendered video from a web scene — especially animated stat/timeline/diagram visualizations — and when you need to iterate on it (tweak, re-render, compare). Solves the common "the recording has hitches / judder / dropped frames" problem.
Best practices for using browser-use's open-source browser-harness with Kernel cloud browsers over CDP. Use when driving a Kernel browser from browser-harness, extracting a CDP URL from `kernel browsers create`, or running multi-step or parallel harness sessions against Kernel.
Complete guide to Kernel CLI - cloud browser platform with automation, deployment, and management
Compare two Kernel profile archives to investigate behavioral differences. Use when an issue (e.g. login failure, captcha, broken automation, vendor mismatch) reproduces on one profile but not another, or when a "good" vs "bad" profile needs to be diffed. Takes two profile IDs/names plus an issue description, downloads both archives via the Kernel CLI, and surfaces differences in cookies, storage, preferences, extensions, and login state that could explain the issue.
Profile a website for bot detection vendors using stealth vs non-stealth Kernel browsers. Use when analyzing bot detection on a website, comparing stealth effectiveness, identifying anti-bot vendors and products, or detecting challenge types.
| name | kernel-typescript-sdk |
| description | Build browser automation scripts using the Kernel TypeScript SDK with Playwright, CDP, and remote browser management. |
| context | fork |
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 package