Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/null-shot/cloudflare-skills/browser-renderingnpx skills add null-shot/cloudflare-skills --skill browser-renderinggit clone --depth 1 https://github.com/null-shot/cloudflare-skillsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00059 | $0.03472 |
| Opus 5 | $0.00030 | $0.01736 |
| Sonnet 5 | $0.00012 | $0.00694 |
| Haiku 4.5 | $0.00006 | $0.00347 |
Grade A, and why
browser-rendering scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -X POST \ How it starts
The opening of the file, as written. The whole thing — 508 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Browser Rendering
Cloudflare Browser Rendering provides headless Chrome instances on the global edge network for web scraping, screenshots, PDF generation, and automated testing. Choose from REST API for simple tasks or Workers Bindings (Puppeteer, Playwright, Stagehand) for advanced automation.
Choosing an Integration Method
| Method | Use Case | Complexity |
|---|---|---|
| REST API | Simple screenshots, PDFs, markdown extraction, structured data | Low - just HTTP requests |
| Puppeteer | Industry-standard Chrome automation, porting existing scripts | Medium - familiar API |
| Playwright | Modern cross-browser automation, AI agent integration (MCP) | Medium - developer-friendly |
| Stagehand | AI-native automation with natural language selectors | Low - resilient to site changes |
REST API Method
For simple, stateless tasks like capturing screenshots or generating PDFs without writing complex scripts.
Setup
Create an API token with Browser Rendering - Edit permission in the Cloudflare dashboard.
Available Endpoints
| Endpoint | Purpose |
|---|---|
/content |
Fetch fully-rendered HTML |
/screenshot |
Capture page screenshot |
/pdf |
Generate PDF document |
/snapshot |
Take webpage snapshot |
/scrape |
Extract HTML elements |
/json |
Capture structured data using AI |
/links |
Retrieve all links from page |
/markdown |
Extract markdown content |
REST API Example
curl -X POST \
https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/screenshot \
-H "Authorization: Bearer {api_token}" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"fullPage": true,
"type": "png"
}' \
--output screenshot.png
Monitoring usage: Check the X-Browser-Ms-Used header in responses to see browser time consumed (in milliseconds).
Workers Bindings Method
For complex workflows, persistent sessions, and custom automation. Requires deploying a Cloudflare Worker.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 508 lines · 59 tokens per session scan A 5b778dbae3cc
browser-rendering is a skill published in the GitHub repository null-shot/cloudflare-skills (0 stars, last pushed 7mo ago), licensed Apache-2.0. It adds 59 tokens to every session and 3,472 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It comes from a forked repository.
Other skills, from other repositories
thumbnail-of-pptx
Capture a thumbnail image of a slide from a OneDrive/Office presentation link. Opens the PowerPoint web viewer in a headless browser and screenshots the slide canvas, producing a clean 16:9 image with no viewer chrome. Works even when the PPTX is not downloadable (e.g. personal OneDrive shares), since it screenshots…
openclaw-rpa
Record browser, Excel, Word & API actions once — replay without the LLM: faster, cheaper, no hallucinations. github.com/laziobird/openclaw-rpa . Supports computer-use automation: web clicks/fill/extract, local Excel (.xlsx via openpyxl), Word (.docx via python-docx), HTTP API calls (httpx GET/POST), and auto-login…
preview
Preview Markdown, LaTeX, PDF, or code artifacts in the browser or as PDF. Use when the user wants to review a written artifact, export a report, or view a rendered document.
single-page-pdf-export
Use when the user asks to export a local HTML file, web page, or invitation page to a single-page PDF, a no-pagination PDF, a long PDF with auto-calculated height, or a PDF without headers and footers. Trigger on phrases like 单页 PDF, 不分页, 自动计算长度, 长图 PDF, 去掉页眉页脚, export HTML to single-page PDF, or print page to one PDF…
file-download
Download files from websites, save PDFs, and read downloaded content. Trigger when the user asks to: download a file, save a PDF, export a document, fetch a file from a URL, grab a report, download and read a PDF, or save page content as a file.
url-to-pdf
URL to PDF and HTML to PDF. Convert any web page URL, or a raw HTML string, into a clean PDF file. Save an invoice or a receipt, archive an article, or print an HTML report to PDF. The page renders in a real hosted browser with JavaScript on, so the PDF matches the live page, and you set paper size, margins…