Active Research
Analyze any topic, domain, or paper and generate a beautiful HTML report using Actionbook Browser — featuring SPA-aware navigation, network idle detection, batch operations, and intelligent page analysis.
Enhanced Browser Capabilities
Usage
Or simply tell Claude: "Research XXX and generate a report"
Parameters
Topic Detection
Architecture
MUST USE Actionbook CLI
Always use actionbook browser commands for web browsing. NEVER use any other method to access the web:
- NEVER use
curl,wget,httpie, or any HTTP CLI tool via bash - NEVER use
python -c "import requests"or any scripting-language HTTP library via bash - NEVER use WebFetch or WebSearch tools
- ONLY use
actionbook browserandactionbook search/actionbook getcommands
If you need web content, the PREFERRED path is: actionbook browser fetch <url> --format text --json (one-shot).
For interactive multi-step workflows, use: actionbook browser open <url> → actionbook browser wait-idle → actionbook browser text.
Browser Flags — Research Defaults
CRITICAL: Always use these flags when opening the browser for research.
For sites with anti-bot protection, add --stealth:
Navigation Pattern — ALWAYS Follow
Option A: One-shot fetch (PREFERRED for read-only page extraction):
Option B: Interactive multi-step pattern (for forms, clicks, multi-page flows):
Why wait-idle is critical:
- SPAs (React, Vue, Next.js) load content via fetch/XHR after initial HTML
- Without waiting,
textreturns empty or incomplete content wait-idlemonitors all pending network requests, waits until quiet for 500ms
For pages that load content dynamically after network settles:
Complete Workflow
REMINDER: Every web access in this workflow MUST use
actionbook browsercommands. Usingcurl,wget,python requests, or any other HTTP tool is strictly forbidden. The bash tool should ONLY be used foractionbookCLI commands and local file operations (json-ui render,open).
Step 1: Plan Search Strategy
Based on the topic, generate 5-8 search queries from different angles:
- Core definition / overview
- Latest developments / news
- Technical details / implementation
- Comparisons / alternatives
- Expert opinions / analysis
- Use cases / applications
Search order — ALWAYS query Actionbook API first, then search:
Step 2: Query Actionbook API for Selectors (ALWAYS DO THIS FIRST)
BEFORE browsing any URL, query Actionbook's indexed selectors.
Pre-indexed sites useful for research:
For any URL you plan to visit, run actionbook search "<keywords>" -d "<domain>" to check if it's indexed.
Step 3: arXiv Search (URL-First, Form as Backup)
LESSON LEARNED: arXiv form submission via browser automation is unreliable. Use URL-based search as the PRIMARY method.
Option A: URL-based search (PRIMARY — most reliable):
Search strategy: Start broad, then narrow:
- First search: broad terms (e.g.,
"Rust" "machine learning") — aim for 50+ results - If too few results (< 10): broaden further, remove date/category filters
- If too many results (> 200): add more specific terms, use
searchtype=title - Try 2-3 different query angles (e.g., framework names, use cases, benchmarks)
Option B: Form interaction via batch (BACKUP — use if URL search is insufficient):
arXiv search capabilities (from indexed selectors — for Option B):
Step 4: Supplement with Google / Bing Search
Parse search results to extract URLs. For each discovered URL, query Actionbook API to check if indexed.
CRITICAL: URL Handling Rules (Learned from Production Use)
-
NEVER manually construct URLs from search snippets. Many Google snippet URLs are truncated or reformatted. Instead:
- Use
actionbook browser snapshot --filter interactiveto find actual link elements - Click the link directly:
actionbook browser click "a[href*='domain.com']" - Or extract href from snapshot refs
- Use
-
Expect 20-30% of URLs to be dead. In practice, ~5 out of 20 URLs return 404. Handle this:
-
Salvage info from Google snippets. If a URL is dead but the Google snippet had useful info:
- The snippet text you already extracted IS valid data
- Use it in the report with a note that the source is no longer available
- Search for the same content on alternative sites (archive.org, cached versions)
-
Use 4+ diverse search queries. Don't rely on one search angle:
- Query 1: Core topic overview (e.g., "Rust AI ecosystem 2026")
- Query 2: Specific frameworks/tools (e.g., "Candle vs Burn Rust ML framework")
- Query 3: Use cases/benchmarks (e.g., "Rust LLM inference performance benchmark")
- Query 4: Recent news/developments (e.g., "Rust machine learning latest 2026")
- Query 5: Community/ecosystem (e.g., "Rust AI agent framework comparison")
Step 5: Deep Read Sources
PREFERRED: Use browser fetch for one-shot page extraction (handles wait + extract + cleanup):
For interactive workflows (forms, clicks), fall back to multi-step:
If page content seems incomplete, debug:
For arXiv papers, try sources in this order:
For protected sites (Cloudflare, bot detection) — use interactive mode with stealth:
For mobile-only content:
For Google Scholar (indexed by Actionbook):
For unindexed sites, use snapshot to discover structure:
Step 6: Synthesize Findings
Organize collected information into a coherent report:
- Overview / Executive Summary
- Key Findings
- Detailed Analysis
- Supporting Data / Evidence
- Implications / Significance
- Sources
Step 7: Generate json-ui JSON Report
Write a JSON file following the @actionbookdev/json-ui schema. Use the Write tool.
Output path: ./output/<topic-slug>.json (or user-specified --output path)
Step 8: Render HTML
CRITICAL: You MUST try ALL fallback methods before giving up. Do NOT stop at the first failure.
IMPORTANT: Always use ABSOLUTE paths for JSON_FILE and HTML_FILE.
Try each method one by one until one succeeds:
NEVER give up silently. If all methods fail, tell the user:
- The JSON report is saved at
<path> - To enable HTML rendering, run:
cd <actionbook-repo>/packages/json-ui && npm link
Step 9: Open in Browser
Step 10: Close Browser
Always close the browser when done:
Error Recovery Patterns
Intelligent error recovery using advanced browser capabilities:
Pattern: Page Load Failure
Pattern: Selector Not Found
Pattern: Anti-Bot Detection
Pattern: SPA Content Not Loading
Full Error Handling Reference
IMPORTANT: Always run actionbook browser close before finishing, even on errors.
Feature Usage Checklist
Before finalizing research, verify you used these capabilities:
Common mistakes to avoid:
- Using manual
open → wait-idle → text → closewhenbrowser fetchdoes it in one command - Not using
--litefor static pages (Wikipedia, docs, blogs) — wastes 5-10s on browser startup - Not using
--rewrite-urls— x.com and reddit.com have aggressive anti-bot that blocks scraping - Forgetting
wait-idleafter navigation in interactive mode (content appears empty) - Not using
batchfor form interactions (slow, unreliable) - Retrying a dead URL instead of skipping it
- Constructing URLs manually from search snippets instead of clicking links
- Using only one search query angle (always use 4+ diverse queries)
- Not checking for 404 pages before extracting content
json-ui Report Template
IMPORTANT: Always include BrandHeader and BrandFooter.
Paper Report Template (for arXiv papers)
When analyzing academic papers, use a richer template with:
PaperHeader(title, arxivId, date, categories)AuthorList(authors with affiliations)Abstract(with keyword highlights)ContributionList(key contributions)MethodOverview(step-by-step method)ResultsTable(experimental results)Formula(key equations, LaTeX)Figure(paper figures from ar5iv)
Available json-ui Components
json-ui Known Pitfalls
Text Fields
All text fields should use plain English strings.
Note: MetricsGrid props value and suffix, and Table row cell values must always be plain strings.
Academic Paper Support
arXiv Papers
ar5iv.org HTML (preferred for reading, but often incomplete for papers < 3 months old):
Recommended approach: Use wait-idle + wait-fn to verify ar5iv content loaded:
Recommended Source Priority
Other Academic Sources
- Google Scholar (
scholar.google.com) — Actionbook indexed - Semantic Scholar (
semanticscholar.org) - Papers With Code (
paperswithcode.com) - Conference proceedings sites
Quality Guidelines
- Breadth: Research from at least 3-5 diverse sources
- Depth: Read full articles, not just snippets
- Accuracy: Cross-reference facts across sources
- Structure: Use appropriate json-ui components for each content type
- Attribution: Always include source links in the report
- Freshness: Prefer recent sources when relevance is equal

