aceternity-ui
100+ animated React components (Aceternity UI) for Next.js with Tailwind. Use for hero sections, parallax, 3D effects, or…
Cloudflare Browser Rendering with Puppeteer/Playwright. Use for screenshots, PDFs, web scraping, or encountering rendering errors, timeout issues, memory exceeded.
Claude Code
$ npx -y skills add secondsky/claude-skills --skill cloudflare-browser-rendering --agent claude-code
Codex
$ npx skills add secondsky/claude-skills --skill cloudflare-browser-rendering -a codex -y
Cursor
$ npx skills add secondsky/claude-skills --skill cloudflare-browser-rendering -a cursor -y
Gemini CLI
$ npx skills add secondsky/claude-skills --skill cloudflare-browser-rendering -a gemini-cli -y
GitHub Copilot
$ npx skills add secondsky/claude-skills --skill cloudflare-browser-rendering -a github-copilot -y
OpenCode
$ npx skills add secondsky/claude-skills --skill cloudflare-browser-rendering -a opencode -y
Windsurf
$ npx skills add secondsky/claude-skills --skill cloudflare-browser-rendering -a windsurf -y
name: cloudflare-browser-rendering
description: "Cloudflare Browser Rendering with Puppeteer/Playwright. Use for screenshots, PDFs, web scraping, or encountering rendering errors, timeout issues, memory exceeded."
license: MIT
metadata:
version: "1.0.0"
last_verified: "2025-11-27"
puppeteer_version: "1.0.4"
playwright_version: "1.0.0"
workers_types_version: "4.20260408.0"
wrangler_version: "4.81.0"
production_tested: true
errors_prevented: 6
references_included: 6
keywords:
- browser rendering cloudflare
- "@cloudflare/puppeteer"
- "@cloudflare/playwright"
- puppeteer workers
- playwright workers
- screenshot cloudflare
- pdf generation workers
- web scraping cloudflare
- headless chrome workers
- browser automation
- puppeteer.launch
- playwright.chromium.launch
- browser binding
- session management
- puppeteer.sessions
- puppeteer.connect
- browser.close
- browser.disconnect
- XPath not supported
- browser timeout
- concurrency limit
- keep_alive
- page.screenshot
- page.pdf
- page.goto
- page.evaluate
- incognito context
- session reuse
- batch scraping
- crawling websitesProduction-ready knowledge domain for building browser automation workflows with Cloudflare Browser Rendering.
**Status**: Production Ready ✅ **Last Updated**: 2025-11-25 **Dependencies**: cloudflare-worker-base (for Worker setup) **Latest Versions**: @cloudflare/puppeteer@1.0.4, @cloudflare/playwright@1.0.0, wrangler@4.81.0, @cloudflare/workers-types@4.20260408.0
---
1. [Quick Start (5 minutes)](#quick-start-5-minutes) 2. [Browser Rendering Overview](#browser-rendering-overview) 3. [Puppeteer API Reference](#puppeteer-api-reference) 4. [Playwright API Reference](#playwright-api-reference) 5. [Session Management](#session-management) 6. [Common Patterns](#common-patterns) 7. [Pricing & Limits](#pricing--limits) 8. [Known Issues Prevention](#known-issues-prevention) 9. [Production Checklist](#production-checklist)
---
**wrangler.jsonc:**
{
"name": "browser-worker",
"main": "src/index.ts",
"compatibility_date": "2023-03-14",
"compatibility_flags": ["nodejs_compat"],
"browser": {
"binding": "MYBROWSER"
}
}**Why nodejs_compat?** Browser Rendering requires Node.js APIs and polyfills.
bun add @cloudflare/puppeteer
import puppeteer from "@cloudflare/puppeteer";
interface Env {
MYBROWSER: Fetcher;
}
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const { searchParams } = new URL(request.url);
const url = searchParams.get("url") || "https://example.com";
// Launch browser
const browser = await puppeteer.launch(env.MYBROWSER);
const page = await browser.newPage();
// Navigate and capture
await page.goto(url);
const screenshot = await page.screenshot();
// Clean up
await browser.close();
return new Response(screenshot, {
headers: { "content-type": "image/png" }
});
}
};bunx wrangler deploy
Test at: `https://your-worker.workers.dev/?url=https://example.com`
**CRITICAL:**
---
**Load immediately when user mentions**:
**Load proactively when**:
---
Cloudflare Browser Rendering provides headless Chromium browsers running on Cloudflare's global network. Use familiar tools like Puppeteer and Playwright to automate browser tasks:
| Method | Best For | Complexity | |--------|----------|-----------| | **Workers Bindings** | Complex automation, custom workflows, session management | Advanced | | **REST API** | Simple screenshot/PDF tasks | Simple |
**This skill covers Workers Bindings** (the advanced method with full Puppeteer/Playwright APIs).
| Feature | Puppeteer | Playwright | |---------|-----------|------------| | **API Familiarity** | Most popular | Growing adoption | | **Package** | `@cloudflare/puppeteer@1.0.4` | `@cloudflare/playwright@1.0.0` | | **Session Management** | ✅ Advanced APIs | ⚠️ Basic | | **Browser Support** | Chromium only | Chromium only (Firefox/Safari not yet supported) | | **Best For** | Screenshots, PDFs, scraping | Testing, frontend automation |
**Recommendation**: Use Puppeteer for most use cases. Playwright is ideal if you're already us
145 production-ready skills for Claude Code CLI 🔌 Platform / Harness Support These plugins ship as Claude Code marketplace plugins (.claude-plugin/ manifests) and Codex CLI plugins (.codex-plugin/ manifests).
100+ animated React components (Aceternity UI) for Next.js with Tailwind. Use for hero sections, parallax, 3D effects, or…
Secure API authentication with JWT, OAuth 2.0, API keys. Use for authentication systems, third-party integrations,…
Creates comprehensive API changelogs documenting breaking changes, deprecations, and migration strategies for API consumers. Use…
Verifies API contracts between services using consumer-driven contracts, schema validation, and tools like Pact. Use when testing…
Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use…
Implements standardized API error responses with proper status codes, logging, and user-friendly messages. Use when building…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.