Skip to content
Automation
Skill

/actionbook-scraper

Generate and verify web scraper scripts using Actionbook's verified selectors. Auto-validates generated scripts and fixes errors.

From plugin
actionbook
1.6k11 skills12 agents16 commands1 MCP
Install
$ npx -y skills add actionbook/actionbook --skill actionbook-scraper --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/actionbook-scraper

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generate and verify web scraper scripts using Actionbook's verified selectors. Auto-validates generated scripts and fixes errors.

SKILL.md

actionbook-scraper.SKILL.md
name: actionbook-scraper
description: Generate and verify web scraper scripts using Actionbook's verified selectors. Auto-validates generated scripts and fixes errors.

Actionbook Scraper Skill

⚠️ CRITICAL: Two-Part Verification

**Every generated script MUST pass BOTH checks:**

| Check | What to Verify | Failure Example | |-------|----------------|-----------------| | **Part 1: Script Runs** | No errors, no timeouts | `Selector not found` | | **Part 2: Data Correct** | Content matches expected | Extracted "Click to expand" instead of name |

┌─────────────────────────────────────────────────────┐
│   1. Generate Script                                │
│          ↓                                          │
│   2. Execute Script                                 │
│          ↓                                          │
│   3. Check Part 1: Script runs without errors?      │
│          ↓                                          │
│   4. Check Part 2: Data content is correct?         │
│      - Not empty                                    │
│      - Not placeholder text ("Loading...")          │
│      - Not UI text ("Click to expand")              │
│      - Fields mapped correctly                      │
│          ↓                                          │
│      ┌───┴───┐                                      │
│   BOTH Pass  Either Fails                           │
│      │           │                                  │
│      │           ↓                                  │
│      │       Is it Actionbook data issue?           │
│      │           │                                  │
│      │       ┌───┴───┐                              │
│      │      Yes      No                             │
│      │       │       │                              │
│      │       ↓       ↓                              │
│      │    Log to   Fix script                       │
│      │    .actionbook-issues.log                    │
│      │       │       │                              │
│      │       └───┬───┘                              │
│      │           ↓                                  │
│      │       Retry (max 3x)                         │
│      ↓                                              │
│   Output Script                                     │
└─────────────────────────────────────────────────────┘

Default Output Format

/actionbook-scraper:generate <url>

**DEFAULT = agent-browser script (bash commands)**

agent-browser open "https://example.com"
agent-browser scroll down 2000
agent-browser get text ".selector"
agent-browser close

With --standalone Flag

/actionbook-scraper:generate <url> --standalone

**Output = Playwright JavaScript code**

---

Verification Requirements

Two-Part Verification

Every generated script must pass BOTH checks:

| Check | What to Verify | Failure Action | |-------|---------------|----------------| | **1. Script Runs** | No errors, no timeouts | Fix syntax/selector errors | | **2. Data Correct** | Content matches expected fields | Fix extraction logic |

Part 1: Script Execution Check

  • No runtime errors
  • No timeout errors
  • Browser closes properly

Part 2: Data Content Check (CRITICAL)

**Verify extracted data matches the expected structure:**

Expected: Company name, description, website, year founded
Actual:   "Click to expand", "Loading...", empty strings

→ FAIL: Data content incorrect, need to fix extraction logic

**Data validation rules:**

| Rule | Example Failure | Fix | |------|-----------------|-----| | Fields not empty | `name: ""` | Check selector targets correct element | | No placeholder text | `name: "Loading..."` | Add wait for dynamic content | | No UI text | `name: "Click to expand"` | Extract after expanding, not button text | | Correct data type | `year: "View Details"` | Wrong selector, fix field mapping | | Reasonable count | Expected ~100, got 3 | Add scroll/pagination handling |

For agent-browser Scripts

1. **Execute the generated commands** 2. **Check script runs without errors** 3. **Check data content is correct:**

  • Fields match expected structure
  • Values are actual data, not UI text
  • Count is reasonable

4. **If failed:**

  • Analyze what's wrong (script error vs data error)
  • Fix selector, wait logic, or extraction
  • Re-execute

5. **If success:**

  • Output the verified script
  • Show data preview with field validation

For Playwright Scripts (--standalone)

1. **Write script to temp file** 2. **Run with `node script.js`** 3. **Check script runs without errors** 4. **Check output data is correct:**

  • JSON structure matches expected fields
  • Values contain actual data
  • Count matches expected range

5. **If failed:**

  • Analyze error type
  • Fix script
  • Re-run

6. **If success:**

  • Output the verified script

Architecture Overview

/generate <url>              → OUTPUT: agent-browser bash commands
/generate <url> --standalone → OUTPUT: Playwright .js file
┌─────────────────────────────────────────────────────────────┐
│                   /generate <url>                           │
│                                                             │
│   1. Search Actionbook → get selectors                      │
│   2. Generate OUTPUT:                                       │
│                                                             │
│      WITHOUT --standalone    │    WITH --standalone         │
│      ─────────────────────   │    ──────────────────        │
│      agent-browser commands  │    Playwright .js code       │
│                              │                              │
│      ```bash                 │    ```javascript             │
│      agent-browser open ...  │    const { chromium } = ...  │
│      agent-browser get ...   │    await page.goto(...)      │
│      agent-browser close     │    ```                       │
│      ```                     │
Read more
Ships withactionbook

Actionbook turns the websites you work in every day into something your AI agent can actually operate. Direct API requests when possible, UI automation when not, with login handled. Fast and resilient.

Get the whole plugin

Other skills on actionbook.