/actionbook-scraper
Generate and verify web scraper scripts using Actionbook's verified selectors. Auto-validates generated scripts and fixes errors.
$ npx -y skills add actionbook/actionbook --skill actionbook-scraper --agent claude-codeHow 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.mdname: 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
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 │ ``` │
│ ``` │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.
Other skills on actionbook.
- /actionbook
Activate when the user needs to interact with any website — browser automation, web scraping, screenshots, form filling, UI testing, monitoring, or building AI agents. Provides pre-verified page actions with step-by-step instructions and tested selectors.
Open skill - /agent-browser
Automates browser interactions for form filling and web page interaction. Used by the request-website command to submit website indexing requests.
Open skill - /arxiv-viewer
View, search, and download academic papers from arXiv. Supports API queries, web scraping via Actionbook, and HTML paper reading via ar5iv. Use when user asks about arxiv papers, academic papers, research papers, paper summaries, latest papers, or wants to search/download/read
Open skill - /deep-research
Deep research and analysis tool. Generates comprehensive HTML reports on any topic, domain, paper, or technology. Use when user asks to research, analyze, investigate, deep-dive, or generate a report on any subject. Supports academic papers (arXiv), technologies, trends,
Open skill - /actionbook
Access pre-computed website action manuals containing page descriptions, functionality, DOM structure, and element selectors for browser automation. Use when you need CSS/XPath selectors for UI elements, building browser-based AI agents, or looking up how to interact with a
Open skill - /agent-browser
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
Open skill

