steel-dev/skills

steel-developer

Use this skill when the user wants reusable code, scripts, examples, or docs that build on Steel cloud browsers with SDKs, REST APIs, Playwright, Puppeteer, Stagehand, Browser Use, credentials, profiles, files, extensions, embeds, proxies, or CAPTCHA APIs.

First seen Jun 4, 2026

Installation

$ npx skills add steel-dev/skills --skill steel-developer

Summary

  • Use this skill when the user wants reusable code, scripts, examples, or docs that build on Steel cloud browsers with SDKs, REST APIs, Playwright, Puppeteer, Stagehand, Browser Use, credentials, profiles, files, extensions, embeds, proxies, or CAPTCHA APIs.
  • Do not use for live web browsing performed by the agent; use steel-browser.
  • Route failed-session diagnosis to steel-session-debugging and reliability mitigation to steel-reliability.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from steel-dev/skills.

npx skills add steel-dev/skills

Browse all from steel-dev/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Declared
Codex Declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Declared

Repository health

Stars 3
License MIT
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

LicenseMIT
Compatibilityclaude-code,codex,cursor,opencode,pi
Declared agents claude-code cursor codex opencode
More metadata
owner
steel
category
build
stage
ga

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,389 B
  • docs README.md 1,922 B
  • docs SUMMARY.md 459 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 319 installs

SKILL.md

Steel Developer

Skill Boundary

  • Use this skill when the user wants code or implementation guidance they will run later.
  • Do not use this skill when the user wants the agent to browse, extract, screenshot, create a PDF, or fill a form now; use steel-browser.
  • Use steel-session-debugging when the main task is diagnosing a failed session.
  • Use steel-reliability when the main task is bot detection, proxy, CAPTCHA, identity, pacing, or login reliability mitigation.

Route By Need

Load the relevant reference before writing code:

  • CLI setup and local verification: references/cli-setup.md
  • TypeScript, JavaScript, Node.js, Playwright, Puppeteer, Stagehand: references/typescript.md
  • Python, Playwright Python, Browser Use: references/python.md
  • First-party APIs, exact docs/API/SDK lookup, browser tools, files, extensions, auth context, embeds, traces, mobile mode, multi-region: references/apis.md
  • Framework choice, Stagehand, Browser Use, typed agent frameworks, coding-agent integrations: references/ecosystem.md
  • Stale SDK/API patterns to avoid: references/anti-patterns.md
  • Computer-use loops: references/computer-use.md
  • Live and past session embeds: references/live-embed.md
  • Reliability boundary and handoff: references/reliability-handoff.md

Non-Negotiables

  • Auth env var is STEELAPIKEY.
  • Node examples import Steel from steel-sdk; SDK source is steel-dev/steel-node.
  • Node SDK constructor uses steelAPIKey.
  • Python SDK constructor uses steelapikey.
  • Always release sessions in cleanup.
  • Construct the CDP URL explicitly as wss://connect.steel.dev?apiKey=...&sessionId=....
  • Reuse the default browser context after connecting; do not create a new context unless the user explicitly needs isolation.
  • Keep target-site credentials out of prompts, code comments, page scripts, and logs.
  • For exact API fields or SDK method signatures, inspect the API reference, SDK docs, local installed types, or Steel docs via curl -sSfL.
  • Never use stale patterns listed in references/anti-patterns.md.

Minimal Session Shape

TypeScript:

const steelAPIKey = process.env.STEEL_API_KEY;
if (!steelAPIKey) throw new Error("STEEL_API_KEY is required");

const client = new Steel({ steelAPIKey });
const session = await client.sessions.create();
const cdpUrl = `wss://connect.steel.dev?apiKey=${steelAPIKey}&sessionId=${session.id}`;
const browser = await chromium.connectOverCDP(cdpUrl);
const context = browser.contexts()[0];
const page = context.pages()[0] ?? (await context.newPage());

try {
  await page.goto("https://example.com");
} finally {
  await browser.close();
  await client.sessions.release(session.id);
}

Python:

steel_api_key = os.environ["STEEL_API_KEY"]
client = Steel(steel_api_key=steel_api_key)
session = client.sessions.create()
cdp_url = f"wss://connect.steel.dev?apiKey={steel_api_key}&sessionId={session.id}"
browser = await playwright.chromium.connect_over_cdp(cdp_url)
context = browser.contexts[0]
page = context.pages[0] if context.pages else await context.new_page()
try:
    await page.goto("https://example.com")
finally:
    await browser.close()
    await playwright.stop()
    client.sessions.release(session.id)

Setup Verification

steel --version
steel login
steel doctor --preflight
steel skills doctor

Source-Of-Truth Links