Webskillet
Reference

CLI reference

Command reference for the Webskillet CLI.

Run Webskillet tasks from your terminal. The CLI ships with the webskillet npm package.

# Run without installing
npx webskillet <command>

# Or install globally
npm install -g webskillet

Authentication

The CLI authenticates with your Webskillet account in one of two ways:

  • Browser loginwebskillet auth login opens your browser and stores credentials in ~/.webskillet/credentials.json
  • API key — set the WEBSKILLET_API_KEY environment variable, or enter a key manually during auth login

When WEBSKILLET_API_KEY is set, it takes precedence over stored credentials.

auth login

webskillet auth login

Prompts you to authenticate with your browser (recommended) or by entering an API key. Grab a key from the sidebar in the Webskillet app.

auth logout

webskillet auth logout

Clears stored credentials. If WEBSKILLET_API_KEY is still set, you remain authenticated through it until you unset it.

run

webskillet run <task> [options]

Starts a run and waits for the result, polling until the run is completed or canceled.

OptionDescription
--start-url <url>URL the agent should start from; omit to let it decide
--parameters <json-or-file>Structured inputs as a JSON string or a path to a JSON file
--output-schema <json-or-file>JSON Schema (draft 2020-12) for the result shape, as a JSON string or file path
--skillet-id <id>Reuse a saved skillet's code and knowledge instead of starting fresh
--model <model>Agent model: gpt-5.6-luna (default), haiku, sonnet, or opus
--wait [duration]Stop waiting after a duration (for example 30s, 10m, 2h); waits indefinitely by default
--json [filename]Output as JSON; pass a filename to write the result to a file
webskillet run "Extract the title, points, and URL for the top stories" \
  --start-url https://news.ycombinator.com \
  --skillet-id hacker-news-top-stories \
  --output-schema ./schema.json \
  --wait 10m

If the run fails or the --wait deadline passes before it finishes, the CLI exits with a nonzero status. On timeout it prints the run ID so you can check back later with result.

start

webskillet start <task> [options]

Starts a run and returns immediately with the run ID — the fire-and-forget version of run. Accepts the same options as run except --wait.

webskillet start "Extract the title" --start-url https://example.com
Run started

Run ID: ru_7Km2pQr9Vx4Nz8Lc1Hd6B
Status: pending

Run 'webskillet result ru_7Km2pQr9Vx4Nz8Lc1Hd6B' to check status.

result

webskillet result <run-id>

Gets a run's status and result.

OptionDescription
--json [filename]Output as JSON; pass a filename to write the result to a file

list

webskillet list [options]

Lists recent runs, newest first.

OptionDescription
-l, --limit <number>Maximum number of runs to return (default 20)
-o, --offset <number>Number of runs to skip (default 0)
--json [filename]Output as JSON

JSON output

Every command accepts --json for machine-readable output. Pass it alone to print JSON to stdout, or with a filename to write to a file:

webskillet result ru_7Km2pQr9Vx4Nz8Lc1Hd6B --json
webskillet result ru_7Km2pQr9Vx4Nz8Lc1Hd6B --json result.json

The JSON shapes match the HTTP API responses.

Exit codes

CodeMeaning
0Command succeeded
1Command failed, the run failed, or run timed out before a terminal status

Configuration

VariablePurpose
WEBSKILLET_API_KEYAPI key; takes precedence over stored credentials
WEBSKILLET_API_BASE_URLAPI origin override
WEBSKILLET_SETTINGS_PATHCredentials directory override (default ~/.webskillet)

On this page