Smart Browser

Extract JavaScript-rendered web page agendas and session data to Markdown and JSON.

2|2|Updated Mar 1, 2026
One-click install
npx skills add https://github.com/pynbj1001/agent-workspace --skill smart-browser
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Smart Browser
Source: https://github.com/pynbj1001/agent-workspace/tree/main/skills/smart-browser
Command: npx skills add https://github.com/pynbj1001/agent-workspace --skill smart-browser

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires agent-browser, node.

What problem does it solve?

Extracts structured data from dynamic, JavaScript-rendered websites where traditional HTTP scraping fails, eliminating manual inspection and repetitive extraction tasks and enabling reliable capture of agendas and event schedules.

Core Features & Use Cases

  • Persistent sessions: Keep Chrome profiles and session state to handle authenticated pages and incremental crawling.
  • JS rendering & wait strategies: Wait for network idle, element presence, or custom JS conditions before extraction.
  • Structured extraction: Intelligent selector heuristics and in-page JS evaluation to extract title, time, speaker, location, track, and description.
  • Debugging & outputs: Save DOM snapshots for analysis, capture screenshots, and export results as Markdown and JSON for downstream use.
  • Use Cases: Scraping conference agendas (e.g., MWC), event schedules, and other client-side rendered listings that require stateful browsing.

Quick Start

Fetch the agenda at https://www.mwcbarcelona.com/agenda, wait for JavaScript to render, extract session items, and save the structured output as mwc-agenda.md.

Frequently Asked Questions about Smart Browser

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scrape JavaScript-rendered web pages when traditional HTTP requests fail?

To scrape JavaScript-rendered web pages, you need a persistent Chrome session that waits for network idle and DOM readiness before extraction. This approach snapshots the fully rendered DOM and executes in-page JavaScript to reliably capture dynamic content.

What is the best way to extract conference schedules and event agendas from dynamic sites?

The best way to extract conference agendas is using in-page JavaScript evaluation with intelligent selector heuristics to parse session titles, times, and speakers. This method handles client-side rendered event listings and exports structured Markdown and JSON.

Can I maintain authenticated Chrome profiles for incremental web scraping?

Yes, you can maintain authenticated Chrome profiles for incremental web scraping by using persistent browser sessions. Keeping the session state allows the browser to handle login requirements and incrementally crawl protected pages without re-authenticating.

Do I need Node.js and agent-browser to extract structured data from dynamic web pages?

Yes, you need Node.js and agent-browser to extract structured data from dynamic pages. These dependencies execute the in-page JavaScript required to parse rendered DOM elements and export the extracted session data.

How do I capture DOM snapshots and screenshots during web scraping?

You capture DOM snapshots and screenshots during web scraping by executing browser automation commands after JavaScript rendering completes. Saving these artifacts alongside Markdown and JSON exports provides debugging context for dynamic content extraction.

Why does my web scraper return empty content from client-side rendered event pages?

Your web scraper returns empty content because it executes before JavaScript rendering finishes. Implementing wait strategies for network idle or specific element presence ensures the DOM is fully populated before extraction begins.