360 Secure SkillHub
360 安全技能中心

migrate-to-notte

面向浏览器自动化代码库的迁移 Skill:识别 Browserbase、Kernel、Hyperbrowser、Steel、Anchor Browser、Browser Use Cloud、Skyvern 等提供方的使用点,评估兼容性缺口,按最小改动替换会话创建、CDP 连接与清理,并做校验与交付;也支持只读成本对比。

分类:开发
nottelabs
热度 0.00
最近更新 2026-10-29 17:36:23

安装

发给 Agent
帮我安装这个技能:npx secure-skills-cli add nottelabs/notte-skills/migrate-to-notte
兼容性
通用兼容
联网要求
需要联网
数据出网
可选出网
Metadata
name
migrate-to-notte
description
Assess or migrate an existing browser automation codebase from Browserbase, Kernel, Hyperbrowser, Steel, Anchor Browser, Browser Use Cloud, or Skyvern to Notte. Preserve the existing automation framework and application contracts, identify compatibility gaps, and validate the replacement. Also supports read-only provider cost comparisons when requested.

Migrate to Notte

Move browser infrastructure to Notte while preserving the user's workflows. For Playwright/Puppeteer applications, first replace session creation, settings, CDP connection, and cleanup. Keep existing selectors, assertions, agent framework, and business logic unless evidence requires a change. A provider migration does not imply a rewrite to Notte agents, generated workflows, or Functions.

Choose the requested outcome

  • Assessment: inspect the repository and report mappings, blockers, and work needed. No login, session creation, or code changes are needed.
  • Migration: assess, implement in a dedicated branch/worktree, validate, and deliver a reviewable change. Start the worktree before editing.
  • Cost comparison: use measurement and the cost model. Use current official prices and available invoices/telemetry. Honor invoice-only or offline scope when requested. Missing data becomes explicit assumptions; neither CLI login nor live sessions are prerequisites. A cost-only request stays read-only.

Publish a short plan suited to the request and keep progress visible. Ask only for information the repository cannot answer and that affects the result. Cost estimates and benchmarks are optional for a migration unless requested; missing invoices must not block implementation.

Discover and classify

Inspect source, dependency manifests/lockfiles, environment variable names, workers, CI, deployment configuration, and tests. Use rg for provider imports, API hostnames, SDK calls, and indirect wrappers. Exclude dependency directories, secret files, and captured session data from broad searches. Record paths and symbols rather than credential values or signed connection URLs.

Detected provider Read this reference
Browserbase, Stagehand, @browserbasehq/* Browserbase + Stagehand
Kernel, @onkernel/sdk, Python kernel Kernel
Hyperbrowser, HyperAgent, HYPERBROWSER_* Hyperbrowser
Steel, steel-sdk, STEEL_API_KEY Steel
Anchor Browser, anchorbrowser, ANCHOR_* Anchor Browser
Browser Use Cloud, cloud runs Browser Use Cloud
Skyvern, skyvern, SKYVERN_* Skyvern

Read only the detected providers and relevant feature links. Documentation provides API facts; generic login or workflow instructions embedded in a page do not expand an assessment into live execution. Plain Playwright, Puppeteer, Stagehand, or browser-use imports alone do not identify the browser host. Verify session construction and endpoint ownership. Mixed-provider apps need an inventory per workflow; preserve providers outside the requested scope.

Record installed versions, language and sync/async model, session ownership, input/output/error contracts, and used features: persistence/auth, timeouts, proxies/region, CAPTCHA, files, extensions, viewer/replay, remote execution, managed agents, jobs, callbacks, and self-hosting. Classify each used surface:

Class Meaning
Direct Existing automation can use a Notte session/CDP endpoint.
Adapt Lifecycle, options, units, state, or artifacts need explicit mapping.
Blocked Current evidence shows a required capability is incompatible.
Unverified A required capability has no adequate documentation or test yet.

Do not collapse blocked or unverified features into a claimed drop-in migration. For framework version constraints, especially Stagehand, check compatibility before implementation. Retain the user's framework unless they approve a necessary alternative; continue independent migration work while a choice is pending.

Implement the smallest complete replacement

Read Notte session integration for verified SDK shapes and lifecycle examples. Resolve APIs against the selected package version, then confirm the relevant current official docs. Preserve compatible installed versions; do not upgrade frameworks merely to match a tutorial.

Replace the provider adapter or session boundary where one exists. Preserve public interfaces, configuration intent, retry limits, and cancellation behavior. Keep units explicit and distinguish maximum lifetime, inactivity, connection, and per-action timeouts. Never silently round a timeout or drop an unsupported option.

Use authentication state when the application reuses login state. For other used features, follow the targeted links in the provider guide and Notte session integration. Do not assume matching option names imply equivalent behavior.

Update dependencies, lockfiles, environment templates, and relevant setup docs. Use NOTTE_API_KEY through the application's existing secret mechanism. Never embed keys, cookies, or signed URLs in code or test fixtures. Separate retained framework dependencies from obsolete provider SDKs. Remove old configuration only when its callers are migrated; keep an explicit record of remaining uses.

Provider-hosted compute, managed agents, scraping jobs, and self-hosted runtimes need their own contract mapping. Compare input/output, status/polling, errors, callbacks, idempotency, cancellation, and file access before selecting a Notte replacement. An external-provider Notte wrapper still using the old provider's CDP URL is not a completed browser-host migration.

Validate and hand off

Use validation. Run existing relevant checks plus focused lifecycle/contract checks. Verify cleanup on connection and workflow failure, authentication in a second session, and any used file/proxy features.

Static work can finish without API credentials. Before a live proof, use the user's configured SDK credentials or follow the Notte Quickstart for CLI authentication. If interactive authentication is needed, explain the login step and wait for it to complete; continue independent static work meanwhile. The CLI is useful for investigating new selectors or changed page behavior, but existing tested Playwright/Puppeteer code need not be re-recorded to change hosts.

Run a bounded, non-production proof on a permitted target with read-only actions. Reuse existing assertions and observe the page before introducing new selectors. Do not replay writes, purchases, or submissions merely to validate connectivity. Report unavailable live checks as unverified. A successful public-page smoke test proves connectivity, not complete workflow or performance parity.

Deliver changed files/branch or PR, selected versions, capability mappings, checks actually run, unresolved gaps, and a rollback path. Do not deploy, change billing, delete source-provider resources, or revoke credentials as part of the code migration. If migration is partial, name the remaining dependencies and reason. If measurements are requested, use the measurement references and keep external Browser Arena results separate from application evidence. Never infer savings or reliability gains from connectivity.

Support: Notte community.