Agent skill

Scraper Builder

by jwynia in jwynia/agent-skills

Guide AI agents to generate complete PageObject pattern web scraper projects using Playwright and TypeScript with Docker deployment.

MITAuto-check passedData & Analytics

Install Scraper Builder

skills CLI
$ npx skills add jwynia/agent-skills --skill scraper-builder -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jwynia/agent-skills scraper-builder --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/tech/development/tooling/scraper-builder .claude/skills/scraper-builder && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
scraper-builder
GitHub stars
165
Token cost
~4k tokens
SKILL.md length
1,366 words
Files
24 (incl. scripts, references, assets)
Skills in repo
113
Repo updated
First seen
Licence
MIT

At a glance

Guide AI agents to generate complete PageObject pattern web scraper projects using Playwright and TypeScript with Docker deployment.

  • Works in 11 steps: PageObject Encapsulation → Selector Resilience → Composition Over Inheritance → …
  • Tasks that involve Web scraping
  • SKILL.md covers When to Use This Skill, Core Principles, Generation Modes and Quick Reference, plus 4 more sections
  • Calls deno and npx

What it does

Scraper Builder is an agent skill from jwynia/agent-skills. Guide AI agents to generate complete PageObject pattern web scraper projects using Playwright and TypeScript with Docker deployment. Supports agent-browser site analysis for automated selector discovery. Keywords: scraper, playwright, pageobject, web scraping, docker, typescript, data extraction, automation.

Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 28 other files, including scripts, reference files and assets (for example `assets/configs/docker-compose.yml.md`, `assets/configs/dockerfile.md` and `assets/configs/package.json.md`). Compatibility notes: Requires Deno for generator scripts. Generated projects use Node.js with Playwright.

It sits in Data & Analytics, covering Web scraping, Browser automation and Containers. It works with Docker, Playwright and TypeScript. The licence is MIT.

When your agent uses it

  • Tasks that involve Web scraping
  • Tasks that involve Browser automation
  • Tasks that involve Containers

Example prompts

  • “/scraper-builder”

Requirements

  • Node.js
  • Docker
  • Compatibility (from SKILL.md): Requires Deno for generator scripts. Generated projects use Node.js with Playwright.

Workflow steps

11 steps, taken from the step headings in SKILL.md.

  1. PageObject Encapsulation
  2. Selector Resilience
  3. Composition Over Inheritance
  4. Typed Data Extraction
  5. Docker-First Deployment
  6. Gather Requirements
  7. Analyze the Site
  8. Design the Page Object Map
  9. Present the Plan
  10. Generate Code
  11. Deliver

What it can do on your machine

Read from SKILL.md and the folder at commit e02ec7e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • deno
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires Deno for generator scripts. Generated projects use Node.js with Playwright.

    From compatibility in the SKILL.md frontmatter.

Context cost

Scraper Builder loads about 4k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 81 tokens; SKILL.md has 1,366 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~81
When it runs · the whole SKILL.md, loaded when a task matches
~4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~12k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from jwynia/agent-skills at commit e02ec7e, republished under its MIT licence (© jwynia). 1,366 words, ~4,032 tokens.

Download SKILL.mdSave it as .claude/skills/scraper-builder/SKILL.md (or your agent's skills folder). This skill also uses 23 other files; get the full folder from GitHub.
name
scraper-builder
description
Guide AI agents to generate complete PageObject pattern web scraper projects using Playwright and TypeScript with Docker deployment. Supports agent-browser site analysis for automated selector discovery. Keywords: scraper, playwright, pageobject, web scraping, docker, typescript, data extraction, automation.
compatibility
Requires Deno for generator scripts. Generated projects use Node.js with Playwright.
license
MIT
metadata.author
agent-skills
metadata.version
1.0
metadata.domain
development
metadata.type
generator
metadata.mode
generative

Scraper Builder

Generate complete, runnable web scraper projects using the PageObject pattern with Playwright and TypeScript. This skill produces site-specific scrapers with typed data extraction, Docker deployment, and optional agent-browser integration for automated site analysis.

When to Use This Skill

Use this skill when:

  • Building a site-specific web scraper for data extraction
  • Generating PageObject classes for a target website
  • Scaffolding a complete scraper project with Docker support
  • Using agent-browser to analyze a site and auto-generate selectors
  • Creating reusable scraping components (pagination, data tables)

Do NOT use this skill when:

  • Building API clients (use HTTP client libraries directly)
  • Writing QA/E2E test suites (use Playwright test runner with test-focused patterns)
  • Mass crawling or spidering entire domains (use Crawlee or Scrapy)
  • Scraping sites that require authentication bypass or CAPTCHA solving

Core Principles

1. PageObject Encapsulation

Each page on the target site maps to one PageObject class. Locators are defined in the constructor, and scraping logic lives in methods. Page objects never contain assertions or business logic — they extract and return data.

2. Selector Resilience

Prefer selectors in this order: data-testid > id > semantic HTML (role, aria-label) > structured CSS classes > text content. Avoid positional selectors (nth-child) and layout-dependent paths. See references/playwright-selectors.md for the full hierarchy.

3. Composition Over Inheritance

Reusable UI patterns (pagination, data tables, search bars) are modeled as component classes that page objects compose via properties. Only BasePage uses inheritance — everything else composes.

4. Typed Data Extraction

All scraped data flows through Zod schemas for validation. This catches selector drift (when a site changes its markup) at extraction time rather than downstream. See assets/templates/data-schema.ts.md.

5. Docker-First Deployment

Generated projects include a Dockerfile using Microsoft's official Playwright images and a docker-compose.yml with volume mounts for output data and debug screenshots. This ensures consistent browser environments across machines.

Generation Modes

Mode 1: Agent-Browser Analysis

Use agent-browser to navigate the target site, capture accessibility tree snapshots, and automatically discover selectors. This is the preferred mode when the agent has access to the agent-browser CLI.

Prerequisites: If agent-browser is not already installed, add it as a skill first:

bash
npx skills add vercel-labs/agent-browser

Workflow:

bash
# 1. Open the target page
agent-browser open https://example.com/products

# 2. Capture interactive snapshot with element references
agent-browser snapshot -i --json > snapshot.json

# 3. Capture scoped sections for focused analysis
agent-browser snapshot -i --json -s "main" > main-content.json
agent-browser snapshot -i --json -s "nav" > navigation.json

# 4. Test dynamic behavior (pagination, load-more)
agent-browser click @e3
agent-browser wait --load networkidle
agent-browser snapshot -i --json > after-click.json

# 5. Close when done
agent-browser close

What the agent does with snapshots:

  1. Parse element references (@e1, @e2, etc.) and their roles
  2. Group elements by semantic purpose (navigation, data display, forms, actions)
  3. Map data elements to fields (title, price, image, etc.)
  4. Generate PageObject classes with discovered selectors
  5. Identify pagination and dynamic loading patterns

See references/agent-browser-workflow.md for the complete workflow reference.

Mode 2: Manual Description

The user describes the target site's page structure and the agent maps it to page objects. The agent asks structured questions:

  1. What pages to scrape? — List of URLs or page types
  2. What data to extract? — Field names and expected types per page
  3. How is data paginated? — Numbered pages, load-more, infinite scroll, or single page
  4. What selectors are known? — Any CSS selectors, data-testid values, or XPath the user already knows

The agent then:

  • Matches the description to a site archetype from data/site-archetypes.json
  • Proposes a page object map with class names and responsibilities
  • Generates code after the user confirms the plan
Mode 3: Full Project Scaffold

Generate a complete runnable project in one operation using the scaffolder script:

bash
deno run --allow-read --allow-write scripts/scaffold-scraper-project.ts \
  --name "my-scraper" \
  --url "https://example.com" \
  --pages "ProductListing,ProductDetail" \
  --fields "title,price,image_url,description"

This produces a project with all source files, configuration, Docker setup, and an entry point ready to run. See the Scripts Reference section for full options.

Quick Reference

CategoryApproachDetails
FrameworkPlaywrightplaywright package, not @playwright/test
LanguageTypeScriptStrict mode, ES2022 target
PatternPageObjectOne class per page, compose components
SelectorsResilientdata-testid > id > role > CSS class > text
Wait strategyAuto-waitPlaywright built-in, plus networkidle for navigation
ValidationZodSchema per page object's output type
OutputJSON + CSVConfigurable via storage utility
DockerOfficial imagemcr.microsoft.com/playwright:v1.48.0-jammy
RetryExponential backoff3 attempts default, configurable
ScreenshotsOn errorSaved to screenshots/ for debugging

Generation Process

Follow this sequence when generating a scraper:

Step 1: Gather Requirements

Ask the user for:

  • Target site URL(s)
  • Data fields to extract
  • Number of pages/items expected
  • Output format preference (JSON, CSV, both)
  • Whether Docker deployment is needed
Step 2: Analyze the Site

Use Mode 1 (agent-browser) or Mode 2 (manual description) to understand:

  • Page structure and navigation flow
  • Data element locations and selector strategies
  • Pagination or infinite scroll patterns
  • Dynamic content loading behavior
Step 3: Design the Page Object Map

Create a plan listing:

  • Each PageObject class and its URL pattern
  • Component classes needed (Pagination, DataTable, etc.)
  • Data schema fields and types per page
  • The scraper's navigation flow between pages
Step 4: Present the Plan

Show the user the page object map before generating code. Include class names, field names, and the execution flow. Wait for confirmation.

Step 5: Generate Code

Use the templates in assets/templates/ as the foundation:

  • base-page.ts.md — BasePage abstract class
  • page-object.ts.md — Site-specific page object
  • component.ts.md — Reusable components
  • scraper-runner.ts.md — Orchestrator
  • data-schema.ts.md — Zod validation schemas
Step 6: Deliver

Provide the complete project with:

  • All source files
  • Configuration files from assets/configs/
  • A README explaining how to run it
  • Docker setup (unless explicitly excluded)
Show full SKILL.md (545 more words)Show less

Code Patterns

BasePage

Abstract class providing navigate(), waitForPageLoad(), screenshot(), and getText() helpers. All page objects extend this.

typescript
export abstract class BasePage {
  constructor(protected readonly page: Page) {}
  async navigate(url: string): Promise<void> { /* ... */ }
  async screenshot(name: string): Promise<void> { /* ... */ }
}

See: assets/templates/base-page.ts.md

PageObject

Site-specific class with locators as readonly properties, scrape methods returning typed data, and navigation methods for multi-page flows.

typescript
export class ProductListingPage extends BasePage {
  readonly productCards: Locator;
  readonly nextButton: Locator;
  async scrapeProducts(): Promise<Product[]> { /* ... */ }
  async goToNextPage(): Promise<boolean> { /* ... */ }
}

See: assets/templates/page-object.ts.md

Component

Reusable UI pattern (Pagination, DataTable) that receives a parent locator scope and provides extraction methods.

typescript
export class Pagination {
  constructor(private page: Page, private scope: Locator) {}
  async hasNextPage(): Promise<boolean> { /* ... */ }
  async goToNext(): Promise<void> { /* ... */ }
}

See: assets/templates/component.ts.md

ScraperRunner

Orchestrator that launches the browser, creates page objects, iterates through pages, collects data, validates with schemas, and writes output.

typescript
export class SiteScraper {
  async run(): Promise<void> {
    const browser = await chromium.launch();
    const page = await browser.newPage();
    // navigate, scrape, validate, write
  }
}

See: assets/templates/scraper-runner.ts.md

DataSchema

Zod schemas that validate scraped records, catching selector drift and malformed data at extraction time.

typescript
export const ProductSchema = z.object({
  title: z.string().min(1),
  price: z.number().positive(),
});

See: assets/templates/data-schema.ts.md

Anti-Patterns

Anti-PatternProblemSolution
Monolith ScraperAll scraping logic in one fileSplit into PageObject classes per page
Sleep WaiterUsing setTimeout/fixed delaysUse Playwright auto-wait and networkidle
Unvalidated PipelineNo schema validation on outputAdd Zod schemas for every data type
Selector LotteryFragile positional selectorsUse resilient selector hierarchy
Silent FailureSwallowing errors without loggingLog failures and save debug screenshots
Unthrottled CrawlerNo delay between requestsAdd configurable request delays
Hardcoded ConfigURLs and selectors in codeUse environment variables and config files
No Retry LogicSingle attempt per requestImplement exponential backoff

See references/anti-patterns.md for the extended catalog with examples and fixes.

Scripts Reference

scaffold-scraper-project.ts

Generate a complete scraper project:

bash
deno run --allow-read --allow-write scripts/scaffold-scraper-project.ts [options]

Options:
  --name <name>       Project name (required)
  --path <path>       Target directory (default: ./)
  --url <url>         Target site base URL
  --pages <pages>     Comma-separated page names (e.g., ProductListing,ProductDetail)
  --fields <fields>   Comma-separated data fields (e.g., title,price,rating)
  --no-docker         Skip Docker setup
  --no-validation     Skip Zod validation setup
  --json              Output as JSON
  -h, --help          Show help

Examples:
  # Scaffold a product scraper
  deno run --allow-read --allow-write scripts/scaffold-scraper-project.ts \
    --name "shop-scraper" --url "https://shop.example.com" \
    --pages "ProductListing,ProductDetail" --fields "title,price,image_url"

  # Minimal scraper without Docker
  deno run --allow-read --allow-write scripts/scaffold-scraper-project.ts \
    --name "blog-scraper" --no-docker
generate-page-object.ts

Generate a single PageObject class for an existing project:

bash
deno run --allow-read --allow-write scripts/generate-page-object.ts [options]

Options:
  --name <name>           Class name (required)
  --url <url>             Page URL (for documentation comment)
  --fields <fields>       Comma-separated data fields
  --selectors <json>      JSON map of field to selector
  --with-pagination       Include pagination methods
  --output <path>         Output file path (default: stdout)
  --json                  Output as JSON
  -h, --help              Show help

Examples:
  # Generate a page object with known selectors
  deno run --allow-read --allow-write scripts/generate-page-object.ts \
    --name "ProductListing" --url "https://shop.example.com/products" \
    --fields "title,price,rating" \
    --selectors '{"title":".product-title","price":".product-price","rating":".star-rating"}' \
    --with-pagination --output src/pages/ProductListingPage.ts

  # Quick generation to stdout
  deno run --allow-read scripts/generate-page-object.ts \
    --name "SearchResults" --fields "title,url,snippet"

Templates & References

Templates (assets/templates/)
TemplatePurpose
base-page.ts.mdAbstract BasePage with navigation, screenshots, text helpers
page-object.ts.mdSite-specific page object with locators and scrape methods
component.ts.mdReusable components: Pagination, DataTable
scraper-runner.ts.mdOrchestrator: browser launch, iteration, collection, output
data-schema.ts.mdZod schemas for scraped data validation
Configs (assets/configs/)
ConfigPurpose
dockerfile.mdMulti-stage Dockerfile using official Playwright image
docker-compose.yml.mdService with data/screenshots volume mounts
tsconfig.json.mdStrict TypeScript with ES2022 target
package.json.mdplaywright, zod, tsx dependencies
playwright.config.ts.mdScraper-focused Playwright configuration
References (references/)
ReferencePurpose
pageobject-pattern.mdPageObject pattern adapted for scraping
playwright-selectors.mdSelector strategies and resilience hierarchy
docker-setup.mdDocker configuration and deployment
agent-browser-workflow.mdAgent-browser analysis workflow
anti-patterns.mdExtended anti-pattern catalog
Examples (assets/examples/)
ExamplePurpose
ecommerce-scraper.mdComplete multi-page product scraper walkthrough
multi-page-pagination.mdPagination handling strategies
Data Files (data/)
FilePurpose
selector-patterns.jsonCommon selectors organized by UI element type
site-archetypes.jsonWebsite structure archetypes with typical pages and fields

Example Interaction

User: "I need a scraper for an online bookstore. I want to get book titles, authors, prices, and ratings from the catalog pages."

Agent workflow:

  1. Checks site-archetypes.json — matches ecommerce archetype
  2. Proposes page object map:
    • BookListingPage — catalog with pagination
    • BookDetailPage — individual book page (if detail scraping needed)
    • Pagination component — shared pagination handler
  3. Presents the plan with field mapping:
    • title → [itemprop="name"] or .book-title
    • author → [itemprop="author"] or .book-author
    • price → [itemprop="price"] or .price
    • rating → .star-rating or [data-rating]
  4. After confirmation, generates using the scaffold script or manual code generation
  5. Delivers project with Docker setup and Zod schemas for Book type

Integration

This skill connects to:

  • typescript-best-practices — TypeScript coding patterns used in generated code
  • devcontainer — Development container setup for the generated project
  • agent-browser — Site analysis and selector discovery (external tool)

What You Do NOT Do

This skill does NOT:

  • Bypass authentication or login walls
  • Solve CAPTCHAs or bot detection
  • Generate JavaScript-only output (always TypeScript)
  • Produce crawlers that spider entire domains
  • Create scrapers that violate robots.txt
  • Handle rate-limited APIs (use HTTP clients for API work)
  • Generate test suites (use Playwright test patterns for QA)

© jwynia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 23 other files (scripts, references, assets) in skills/tech/development/tooling/scraper-builder of jwynia/agent-skills.

  • SKILL.md
  • assets/configs/docker-compose.yml.md
  • assets/configs/dockerfile.md
  • assets/configs/package.json.md
  • assets/configs/playwright.config.ts.md
  • assets/configs/tsconfig.json.md
  • assets/examples/ecommerce-scraper.md
  • assets/examples/multi-page-pagination.md
  • assets/templates/base-page.ts.md
  • assets/templates/component.ts.md
  • assets/templates/data-schema.ts.md
  • assets/templates/page-object.ts.md
  • assets/templates/scraper-runner.ts.md
  • data/selector-patterns.json
  • data/site-archetypes.json
  • references
  • … and 8 more

Open the folder on GitHubat commit e02ec7e

Compare with similar skills

Scraper Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Scraper Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scraper Builder this skilljwynia/agent-skills165—~4kAutomated safety check: PassMIT
Project Releaseswimmwatch/cloakbrowser-mcp161—~1.9kAutomated safety check: PassMIT
Project Docs Maintainerswimmwatch/cloakbrowser-mcp161—~569Automated safety check: PassMIT
Apify Actor Developmentapify/agent-skills2.4k—~2.9kAutomated safety check: PassNone
Project Pull Requestswimmwatch/cloakbrowser-mcp161—~1kAutomated safety check: PassMIT
Camofox Browserredf0x1/camofox-browser410—~4.6kAutomated safety check: PassMIT

Similar skills

  • Project Release

    swimmwatch/cloakbrowser-mcp

    Prepare, publish, verify, or recover a cloakbrowser-mcp release only when the user explicitly requests release work.

    161 GitHub stars~1.9k tokensUpdated 5 days ago
    Agent WorkflowsAuto-check passed
  • Project Docs Maintainer

    swimmwatch/cloakbrowser-mcp

    Maintain, organize, consolidate, or audit the cloakbrowser-mcp documentation set only when the user explicitly requests project documentation maintenance or an authorized public change requires it.

    161 GitHub stars~569 tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Apify Actor Development

    apify/agent-skills

    Official

    Creates, changes, debugs and deploys Apify Actors, including their input and output schemas, using the Apify CLI.

    2.4k GitHub stars~2.9k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Project Pull Request

    swimmwatch/cloakbrowser-mcp

    Create, update, prepare, or review a cloakbrowser-mcp GitHub Pull Request only when the user explicitly requests PR work.

    161 GitHub stars~1k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Camofox Browser

    redf0x1/camofox-browser

    Anti-detection browser automation for AI agents. An agent skill from redf0x1/camofox-browser.

    410 GitHub stars~4.6k tokensUpdated 15 days ago
    Productivity & AutomationAuto-check passed
  • Web Crawler

    byungjunjang/web-crawler

    URL과 수집 항목을 받아 사이트를 정찰하고 데이터를 수집하여 엑셀로 출력하는 범용 웹 크롤링 에이전트. An agent skill from byungjunjang/web-crawler.

    162 GitHub stars~7.2k tokensUpdated yesterday
    Data & AnalyticsAuto-check passed

More from jwynia/agent-skills

All 113 skills in this repo
  • Devcontainer

    jwynia/agent-skills

    Diagnose devcontainer configuration problems and guide development environment setup.

    165 GitHub stars~1.2k tokensUpdated 7 mo ago
    Auto-check: notes
  • Frontend Design

    jwynia/agent-skills

    Create distinctive, production-grade frontend interfaces with high design quality.

    165 GitHub stars~3.2k tokensUpdated 7 mo ago
    Auto-check passed
  • Gitea Workflow

    jwynia/agent-skills

    Orchestrate agile development workflows for Gitea repositories using the tea CLI.

    165 GitHub stars~3.8k tokensUpdated 7 mo ago
    Auto-check passed
  • Godot Asset Generator

    jwynia/agent-skills

    Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot.

    165 GitHub stars~3.8k tokensUpdated 7 mo ago
    Auto-check passed
  • Mastra Hono

    jwynia/agent-skills

    Develop AI agents, tools, and workflows with Mastra v1 Beta and Hono servers.

    165 GitHub stars~2.9k tokensUpdated 7 mo ago
    Auto-check passed
  • PPTX Generator

    jwynia/agent-skills

    Create and manipulate PowerPoint PPTX files programmatically.

    165 GitHub stars~3.1k tokensUpdated 7 mo ago
    Auto-check passed

Questions about Scraper Builder

What does Scraper Builder do?

Guide AI agents to generate complete PageObject pattern web scraper projects using Playwright and TypeScript with Docker deployment. Scraper Builder is an agent skill from jwynia/agent-skills. Guide AI agents to generate complete PageObject pattern web scraper projects using Playwright and TypeScript with Docker deployment.

When should I use Scraper Builder?

Scraper Builder fits situations like: tasks that involve Web scraping; tasks that involve Browser automation; tasks that involve Containers.

How do I install Scraper Builder in Claude Code?

Run `npx skills add jwynia/agent-skills --skill scraper-builder -a claude-code`. Or copy the skill folder (skills/tech/development/tooling/scraper-builder in jwynia/agent-skills) into .claude/skills/scraper-builder in your project. Claude Code loads it when a task matches its description.

How do I install Scraper Builder in Codex?

Run `npx skills add jwynia/agent-skills --skill scraper-builder -a codex`. Or copy the skill folder (skills/tech/development/tooling/scraper-builder in jwynia/agent-skills) into .agents/skills/scraper-builder in your project. Codex loads it when a task matches its description.

Can I use Scraper Builder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jwynia/agent-skills --skill scraper-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scraper-builder, .gemini/skills/scraper-builder, .github/skills/scraper-builder and .opencode/skills/scraper-builder in your project.

What does Scraper Builder need to run?

Going by SKILL.md and its folder, Scraper Builder needs the command-line tools its instructions call (deno and npx). Our summary lists: Node.js; Docker. Compatibility (from SKILL.md): Requires Deno for generator scripts. Generated projects use Node.js with Playwright..

Does Scraper Builder access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Scraper Builder safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Scraper Builder use?

Scraper Builder is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scraper Builder use?

About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 8.4k tokens, read only when the agent opens those files.

What are the alternatives to Scraper Builder?

Skills that share tags, products or a category with Scraper Builder: Project Release (swimmwatch/cloakbrowser-mcp, 161 stars), Project Docs Maintainer (swimmwatch/cloakbrowser-mcp, 161 stars), Apify Actor Development (apify/agent-skills, 2.4k stars) and Project Pull Request (swimmwatch/cloakbrowser-mcp, 161 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scraper Builder?

jwynia (a GitHub user) maintains it in jwynia/agent-skills, which has 165 GitHub stars. The repository holds 113 skills in this directory. The repository was last updated on February 24, 2026.

Source: jwynia/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.