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.6k8 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

Let your AI agent get the sources behind logins and paywalls.

Get the whole plugin

Other skills on actionbook.