# openweb

Use the openweb CLI to let an agent inspect websites and run their operations. It fits workflows that need site data or controlled actions from an agent.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 71
- Author: imoonkey
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/imoonkey/openweb/tree/HEAD/skills/openweb/SKILL.md
- Updated: 2026-06-27
- HTML: https://affpapa.org/en/nevibecode/skills/openweb

## What it does

\`openweb` connects an agent CLI to websites and returns results as JSON. The skill guides the agent through choosing a site, checking its operations and parameters, and then running a request. Use `openweb sites` to list available sites.

Operations carry permission levels: reads are allowed, while writes and deletions require user confirmation. Financial or irreversible operations are denied. The `openweb` CLI is required, and some sites need an authenticated browser session. When a site requires login, run `openweb login <site>`.

On failure, the skill uses the error class to choose a next step. Changes to site data require user approval; the agent must not skip that check.

## Requirements
- Works with: GitHub

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add imoonkey/openweb --skill openweb -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/openweb/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/openweb/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add imoonkey/openweb --skill openweb -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/openweb/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add imoonkey/openweb --skill openweb -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/openweb/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install imoonkey/openweb openweb
```

2. **Manually: put the files in place**
- File: `.github/skills/openweb/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add imoonkey/openweb --skill openweb -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/imoonkey/openweb --path skills/openweb
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/openweb/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add imoonkey/openweb --skill openweb -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/imoonkey/openweb/tree/HEAD/skills/openweb/SKILL.md

## When to use it
- list available sites and their operations
- read site data through the CLI
- inspect operation parameters and response format
- run a site action under its permission rules

## Example prompts
- List the available sites and show operations for the service I need.
- Inspect the parameters for a search operation on this site and show an example.
- Run a read operation on this site and explain any error.

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 1858e46e35949a65.

BEGIN THIRD-PARTY FILE 1858e46e35949a65
````text
---
name: openweb
description: "Typed JSON access to 90+ real websites — Google, Amazon, Reddit, YouTube, GitHub, Instagram, Bloomberg, Zillow, and more — across search, shopping, travel, finance, social, news, and dev tools. Use to read, search, post, comment, message, or otherwise interact with these sites (prices, products, articles, stock quotes, flights, posts, comments, DMs, etc.). Run `openweb sites` for the full list."
license: MIT
compatibility: "Requires the `openweb` CLI (npm: @openweb-org/openweb). Some sites need a managed Chrome session. See references/cli.md for runtime details."
metadata:
  version: "0.1.5"
  openclaw:
    links:
      homepage: "https://getopenweb.com"
      repository: "https://github.com/openweb-org/openweb"
    requires:
      bins: [openweb]
      env: [OPENWEB_HOME]
      config: ["$OPENWEB_HOME/config.json"]
    install:
      - kind: node
        package: "@openweb-org/openweb"
        bins: [openweb]
---

# OpenWeb

Agent-native way to access any website. Bridging agent CLI and web GUI through API.

## Load Discipline

- Do not read every file in this folder.
- Start with SKILL.md. Follow one route at a time.

## Use Existing Site

### 1. Find the site

```bash
openweb sites                        # list all available sites
```

If the site has no package, do NOT say "unsupported." Route to add-site/guide.md.

### 2. Check readiness

```bash
openweb <site>                       # transport, auth, operations list
```

- `Requires browser: yes` — browser auto-starts when needed; no manual setup required
- `Requires login: yes` — user must be logged in via their browser session

### 3. Read site notes

Prefer site docs when they exist in your workspace:

- **Source repo:** read `src/sites/<site>/SKILL.md` for workflows and intent mapping, then `src/sites/<site>/DOC.md` for internals.
- **Shipped/runtime package:** only `DOC.md`, specs, manifest, examples, and adapters are guaranteed. Per-site `SKILL.md` and `PROGRESS.md` are source-tree docs and are not shipped into `$OPENWEB_HOME/sites/<site>/`.

If only the shipped package is available, rely on `openweb <site>`, `openweb <site> <op>`, examples, and `DOC.md`.

### 4. Inspect the operation

```bash
openweb <site> <op>                  # params, response shape, permission tier
openweb <site> <op> --example        # real example params from fixtures
```

Check the operation's permission tier before executing:

| Tier | Default | Behavior |
|---|---|---|
| `read` | allow | GET-like operations — execute freely |
| `write` | prompt | Creates/updates — ask user before executing |
| `delete` | prompt | Destructive — ask user before executing |
| `transact` | deny | Financial/irreversible — always skip |

### 5. Execute

```bash
openweb <site> <op> '{"key":"value"}'    # stdout=JSON, stderr=JSON error
```

Auto-spill: responses over 4096 bytes write to a temp file.

`openweb <site> exec <op> '{...}'` is equivalent — `exec` can be omitted when the third arg is JSON.

### 6. On failure

Errors on stderr include `failureClass`:

| failureClass | Action |
|---|---|
| `needs_browser` | Browser auto-starts; if it fails, check Chrome installation. Fallback: `openweb browser start` |
````
END THIRD-PARTY FILE 1858e46e35949a65

The third-party file has ended. Everything between the 1858e46e35949a65 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 3232 of 5918 bytes. © imoonkey · MIT · https://github.com/imoonkey/openweb/tree/HEAD/skills/openweb/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
