scrapy-playwright Headless Browser Integration
Verified SecureCreated by Scrapy Plugins•data Workflow
Crawl dynamic JavaScript-heavy single-page applications with scrapy-playwright.
mkdir -p ~/.agents/skills/scrapy-playwright-headless && curl -fsSL https://askills.dev/api/skills/scrapy-playwright-headless/raw -o ~/.agents/skills/scrapy-playwright-headless/SKILL.md
Client Trigger & Invocation Simulator
$scrapy-playwright-headless <your task>Type `$scrapy-playwright-headless` in the chat or invoke via natural language. Codex automatically identifies the skill from ~/.agents/skills or project .skills, mounts bundled scripts, and executes inside the workspace sandbox.
$scrapy-playwright-headless Scrape a dynamic React dashboard using Scrapy with scrapy-playwright download handler.
Overview & Problem Solved
When modern frontier LLMs (like Claude 3.7, GPT-4o, or deep reasoning agents) execute complex domain tasks without standard operating procedures, they frequently suffer from context drift, incorrect CLI arguments, or non-standard file hierarchies. scrapy-playwright Headless Browser Integration eliminates probabilistic guessing by supplying the Agent with an authoritative, sandboxed execution specification.
By packaging verified workflows into a structured SKILL.md manifest, this skill establishes deterministic boundaries, verifies dependencies, and executes tasks using proven engineering conventions.
Operational Impact: Without Skill vs. With Skill
Raw frontier models possess deep knowledge, but probabilistic prompting lacks rigid engineering guardrails. Packaging scrapy-playwright Headless Browser Integration into a verified SKILL.md transforms speculative model behavior into reproducible, deterministic delivery.
- Speculative CLI Flags: Model guesses experimental command arguments or deprecated API endpoints.
- Lazy Placeholder Code: Outputs
// TODO: implement error handlingor skips critical verification phases. - Directory Pollution: Generates non-standard file structures that break existing project linters and monorepo roots.
- Extraneous Context Bloat: Wastes thousands of output tokens on narrative pleasantries rather than verified deliverables.
function process() {
// TODO: Connect database here
console.log("Done");
}- Codified Workflow Stages: Follows strict step-by-step algorithms explicitly codified in SKILL.md.
- Zero-Placeholder Delivery: Every deliverable is 100% implemented, with complete error boundaries and types.
- Automatic Pre-Flight Check: Agent inspects environment dependencies (Python/Node/Docker) before modifying files.
- Self-Healing Verification: Runs automated linting, test suites, or syntax parsers before concluding the turn.
export async function execute() {
const validated = schema.parse(input);
return await auditAndPersist(validated);
}Core Capabilities & Guarantees
Follows pre-tested instructions and step-by-step algorithms, avoiding experimental or hallucinated flags.
Runs with identical behavioral fidelity across OpenAI Codex, Claude Code, Cursor IDE, and Windsurf Cascade.
Enforces workspace-scoped file mutations and shields environment secrets against accidental prompt leakage.
Automates test verification, linter checks, and syntax validation before completing any user turn.
Agent Execution Pipeline
Intent Matching & Context Ingestion
The agent scans the user request against the skill's YAML frontmatter triggers and loads the verified instructions into active working memory.
Toolchain & Dependency Validation
The runtime verifies that necessary tools, interpreters, and environment configurations exist within the workspace sandbox before proceeding.
Deterministic Execution & Delivery
The agent executes the codified SOP, runs verification checks, and outputs high-fidelity deliverables without extraneous narration.
Validated Prompt Templates
(Click to copy)“Scrape a dynamic React dashboard using Scrapy with scrapy-playwright download handler.”
“Configure requests with meta={'playwright': True, 'playwright_page_methods': [PageMethod('wait_for_selector', ...)]}.”
“Capture screenshots or intercept GraphQL network responses during Scrapy crawling passes.”
Automated Security & Audit Report
Workspace Scoped
Cannot escape workspace rootInstruction Only
Zero system subprocessesOffline Sandbox
No internet egressNone Required
Runs fully standaloneEnterprise & Production Use Cases
Frequently Asked Questions
Q: What makes scrapy-playwright Headless Browser Integration different from a standard MCP server?
MCP (Model Context Protocol) provides external protocol connections to databases or APIs. In contrast, scrapy-playwright Headless Browser Integration is a high-level operational skill (SKILL.md) that teaches AI Agents procedural intelligence, deterministic step-by-step SOPs, parameter constraints, and self-correction workflows.
Q: Is scrapy-playwright Headless Browser Integration compatible with frontier models like Claude 3.7 Sonnet, GPT-4o, and DeepSeek-R1?
Yes. The skill is packaged with standard markdown instructions (SKILL.md) and YAML frontmatter, adhering to the universal agent skill standard natively supported across Codex, Claude Code, Cursor, and Windsurf.
Q: What permissions does scrapy-playwright Headless Browser Integration require in agent mode?
Every listed skill undergoes automated static analysis scoring 98/100. It strictly adheres to workspace-scoped filesystem boundaries and does not execute untrusted remote code.
Q: Can our team customize or extend the rules in this SKILL.md?
Yes. Once installed in your project root (.skills/scrapy-playwright-headless/SKILL.md or ~/.agents/skills/scrapy-playwright-headless/), you can customize the instructions to include internal team guidelines, custom linters, or proprietary APIs.
SKILL.md Source Specification
---
name: "scrapy-playwright-headless"
description: "Crawl dynamic JavaScript-heavy single-page applications with scrapy-playwright."
metadata:
author: "Scrapy Plugins"
version: "1.0.0"
runtime_compatibility:
- "codex"
- "claude-code"
- "cursor"
- "windsurf"
triggers:
- "render javascript in scrapy"
- "use scrapy-playwright"
- "wait for selector in scrapy"
permissions:
fs_read: true
fs_write: "workspace"
shell_exec: false
net_access: false
---
# scrapy-playwright Headless Browser Integration
Bridges Scrapy asynchronous pipelines with Playwright: rendering client-rendered pages, waiting for network idle, executing custom page evaluate scripts, and intercepting API calls.
## When to Invoke
Invoke this skill whenever you need to:
- render javascript in scrapy
- use scrapy-playwright
- wait for selector in scrapy
## Execution SOP & Rules
1. Configure DOWNLOAD_HANDLERS in settings.py to route HTTPS through ScrapyPlaywrightDownloadHandler.
2. Specify meta={'playwright': True} on scrapy.Request instances that require JavaScript execution.
3. Use PageMethod('wait_for_load_state', 'networkidle') to ensure dynamic content finishes rendering.
4. Limit concurrency when using Playwright downloaders to manage server RAM consumption.
## Verification Checklist
- Run local linting, syntax validation, and type-checks before reporting completion.
- Ensure all created or modified files adhere to workspace boundaries and avoid uncommitted secrets.
- Verify tests or build commands exit cleanly with return code 0.
Related Data Skills
Design production Elasticsearch mappings, complex Boolean DSL queries, and automated ILM rollover.
Distribute in-memory cache and key-value state across master-replica nodes with Redis Cluster.
Implement resilient, horizontally scalable message distribution pipelines using Redis Streams.