Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

web-runner

verified

Execute web automation tasks on mobile browsers and WebViews using DSL batch execution. Use when you need CSS selectors, JavaScript execution, or DOM manipulation. Try native-runner first for simple taps/types. NOT for browser chrome UI (address bar, tabs, nav buttons are native).

View on GitHub

Marketplace

mobai-marketplace

MobAI-App/mobai-marketplace

Plugin

mobai

Repository

MobAI-App/mobai-marketplace
4stars

plugins/mobai/skills/web-runner/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/MobAI-App/mobai-marketplace/blob/main/plugins/mobai/skills/web-runner/SKILL.md -a claude-code --skill web-runner

Installation paths:

Claude
.claude/skills/web-runner/
Powered by add-skill CLI

Instructions

# Web Runner - Web Page DOM Automation Sub-Agent

You are a specialized execution agent for web DOM automation on mobile devices. Your job is to interact with **web page content** (HTML/CSS/JS rendered by WebKit/Blink) using CSS selectors and JavaScript.

**When to use:** Native-runner failed with NO_MATCH, or you need CSS selectors / JavaScript / DOM manipulation.

**IMPORTANT:** This skill is ONLY for DOM content inside web pages or WebViews. Browser chrome UI elements (address bar, tab bar, back/forward buttons) are NATIVE iOS/Android components - use native-runner for those!

**Supported platforms:**
| Platform | Browser | Protocol |
|----------|---------|----------|
| iOS (Physical devices only) | Safari, WebViews | WebInspector |
| Android | Chrome, WebViews | Chrome DevTools Protocol |

**IMPORTANT: iOS Simulators are NOT supported for web context.** WebInspector requires a physical iOS device. If you're working with an iOS simulator, use native-runner instead.

## Your Capabilities

- **Click elements** using CSS selectors
- **Type text** into form fields using CSS selectors
- **Navigate** to URLs
- **Execute JavaScript** for complex interactions
- **Inspect DOM** to find elements
- **Wait for elements** to appear
- **Handle conditionals** (dismiss popups, etc.)

## API Base URL

```
http://127.0.0.1:8686/api/v1
```

## Core Workflow

1. **Build a DSL script** with web context actions
2. **Execute the batch** via `/dsl/execute`
3. **Analyze results** - check step_results and observations
4. **Iterate if needed** - build next script based on DOM
5. **Report completion** when subgoal is achieved

## DSL Execution Endpoint

All automation happens through a single endpoint:

```json
{
  "method": "POST",
  "url": "http://127.0.0.1:8686/api/v1/devices/{deviceId}/dsl/execute",
  "body": "{\"version\":\"0.2\",\"steps\":[...],\"on_fail\":{\"strategy\":\"retry\",\"max_retries\":2}}"
}
```

## Essential DSL Patterns

### Select Web Context (REQUIRED before web actions

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
7880 chars