active-research

actionbook/actionbook · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/actionbook/actionbook --skill active-research
0 commentsdiscussion
summary

Comprehensive research and analysis tool generating HTML reports with advanced browser automation.

  • Supports deep research across academic papers (arXiv, ar5iv), web pages, and general topics with intelligent source discovery and multi-angle search strategies
  • Advanced browser capabilities including SPA-aware navigation, network idle detection, stealth mode for protected sites, batch form operations, and image blocking for faster extraction
  • One-shot page fetching ( browser fetch ) for
skill.md

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

Capability Description
Page load wait wait-idle — monitors fetch/XHR until network settles
SPA content wait-fn — wait for JS conditions before extracting
Page understanding snapshot --filter interactive --max-tokens N — focused, budget-friendly
Popups blocking --auto-dismiss-dialogs — auto-handle alert/confirm/prompt
Load speed --block-images — skip images for faster text extraction
Page stability --no-animations — freeze CSS transitions
Error detection console --level error — check for page issues
Multi-step forms batch — execute multiple actions in one call
Element debugging info <selector> — inspect visibility, position, properties
Change tracking snapshot --diff — only see what changed
Anti-detection --stealth + fingerprint rotate for protected sites
Auth management storage set — inject JWT/tokens for gated content
One-shot fetch browser fetch <url> — navigate+wait+extract+close in one command
Static page speed --lite — HTTP-first, browser fallback only if needed
Anti-scrape URLs --rewrite-urls — x.com→xcancel.com, reddit→old.reddit
Wait tuning --wait-hint — domain-aware wait (fast/normal/slow/heavy)
Log correlation --session-tag — tag all operations for debugging

Usage

/active-research <topic>
/active-research <topic> --output ./reports/my-report.json

Or simply tell Claude: "Research XXX and generate a report"

Parameters

Parameter Required Default Description
topic Yes - The subject to research (any text)
--output No ./output/<topic-slug>.json Output path for JSON report

Topic Detection

Pattern Type Strategy
arxiv:XXXX.XXXXX Paper arXiv Advanced Search + ar5iv deep read
doi:10.XXX/... Paper Resolve DOI, then arXiv Advanced Search for related work
Academic keywords (paper, research, model, algorithm) Academic topic arXiv Advanced Search + Google for non-academic sources
URL Specific page Fetch and analyze the page
General text Topic research Google search + arXiv Advanced Search if relevant

Architecture

┌──────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────┐
│  Claude   │────▶│  Actionbook  │────▶│  Web Pages   │────▶│ Extract  │
│  Code     │     │   Browser    │     │  (multiple)  │     │ Content  │
└──────────┘     └──────────────┘     └──────────────┘     └─────┬────┘
      │           │ wait-idle    │     │ SPA / dynamic │           │
      │           │ batch ops    │     │ protected     │           │
      │           │ --stealth    │     │ mobile-only   │           │
      │           │ snapshot     │     └───────────────┘           │
      │           └──────────────┘                                 │
      │          ┌──────────────┐     ┌──────────────┐            │
      ├─────────▶│  Actionbook  │     │ arXiv Adv.   │            │
      │          │  search/get  │────▶│ Search Form  │───────────▶│
      │          │  (selectors) │     │ (40+ fields) │            │
      │          └──────────────┘     └──────────────┘            │
      │                                                            │
┌──────────┐     ┌──────────────┐     ┌──────────────┐            │
│  Open in │◀────│   json-ui    │◀────│  Write JSON  │◀───────────┘
│  Browser │     │   render     │     │  Report      │  Synthesize
└──────────┘     └──────────────┘     └──────────────┘

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 browser and actionbook search/actionbook get commands

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-idleactionbook browser text.

Browser Flags — Research Defaults

CRITICAL: Always use these flags when opening the browser for research.

# PREFERRED: One-shot fetch (I1) — handles open+wait+extract+close automatically
actionbook --block-images --rewrite-urls browser fetch "<url>" --format text --json

# For interactive multi-step workflows, use explicit open:
actionbook --block-images --auto-dismiss-dialogs --no-animations --rewrite-urls browser open "<url>"
Flag Why
--block-images Skip image downloads — 2-5x faster page load for text extraction
--auto-dismiss-dialogs Prevent alert/confirm/prompt from blocking automation
--no-animations Freeze CSS animations — stable snapshots, no timing issues
--rewrite-urls Rewrite x.com→xcancel.com, reddit→old.reddit to avoid anti-bot blocking
--wait-hint <hint> Domain-aware wait: instant, fast, normal, slow, heavy, or ms
--session-tag <tag> Tag all operations for log correlation and debugging
--lite (fetch only) Try HTTP first, skip browser for static pages (Wikipedia, docs, blogs)

For sites with anti-bot protection, add --stealth:

actionbook --block-images --auto-dismiss-dialogs --no-animations --stealth --rewrite-urls browser open "<url>"

Navigation Pattern — ALWAYS Follow

Option A: One-shot fetch (PREFERRED for read-only page extraction):

# Single command: navigate → wait (domain-aware) → extract → close
actionbook --block-images --rewrite-urls browser fetch "<url>" --format text --json
# For static pages (Wikipedia, docs, blogs), add --lite to skip browser entirely:
actionbook --rewrite-urls browser fetch "<url>" --format text --lite --json
# For accessibility tree:
actionbook --block-images --rewrite-urls browser fetch "<url>" --format snapshot --max-tokens 2000 --json

Option B: Interactive multi-step pattern (for forms, clicks, multi-page flows):

# Step 1: Navigate
actionbook browser open "<url>"          # or: goto, click a link

# Step 2: Wait for load (MANDATORY in v2)
actionbook browser wait-idle             # Wait for fetch/XHR to settle

# Step 3: Extract content
actionbook browser text [selector]       # Extract text
# OR
actionbook browser snapshot --filter interactive --max-tokens 500  # Understand page structure

Why wait-idle is critical:

  • SPAs (React, Vue, Next.js) load content via fetch/XHR after initial HTML
  • Without waiting, text returns empty or incomplete content
  • wait-idle monitors all pending network requests, waits until quiet for 500ms

For pages that load content dynamically after network settles:

actionbook browser wait-idle
actionbook browser wait-fn "document.querySelector('.results')"    # Wait for specific element
actionbook browser text ".results"

Complete Workflow

REMINDER: Every web access in this workflow MUST use actionbook browser commands. Using curl, wget, python requests, or any other HTTP tool is strictly forbidden. The bash tool should ONLY be used for actionbook CLI 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 Action Why
Step 2 (FIRST) Query Actionbook API Get verified selectors for arXiv, ar5iv, and other known sites BEFORE browsing.
Step 3 (SECOND) arXiv Advanced Search Use Actionbook selectors for multi-field, filtered academic search.
Step 4 (THIRD) Google / Bing search Supplement with blogs, news, code, discussions, non-academic sources.

Step 2: Query Actionbook API for Selectors (ALWAYS DO THIS FIRST)

BEFORE browsing any URL, query Actionbook's indexed selectors.

# Search for indexed actions by domain
actionbook search "<keywords>" -d "<domain>"

# Get detailed selectors for a specific page
actionbook get "<domain>:/<path>:<area>"

Pre-indexed sites useful for research:

Site area_id Key Selectors
arXiv Advanced Search arxiv.org:/search/advanced:default 40+ selectors: field select, term input, category checkboxes, date range filters
ar5iv paper ar5iv.labs.arxiv.org:/html/{paper_id}:default h1.ltx_title_document, div.ltx_authors, div.ltx_abstract, section.ltx_section
Google Scholar scholar.google.com:/:default #gs_hdr_tsi (search), #gs_hdr_tsb (submit)
arXiv homepage arxiv.org:/:default Global search across 2.4M+ articles

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):

# Simple keyword search
actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/?query=large+language+model+agent&searchtype=all"
actionbook browser wait-idle
actionbook browser text "#main-container"

# Advanced URL search with filters
# searchtype: all, title, author, abstract
# start: result offset (0, 50, 100, ...)
actionbook browser open "https://arxiv.org/search/?query=Rust+machine+learning&searchtype=all&start=0"
actionbook browser wait-idle
actionbook browser text "#main-container"

Search strategy: Start broad, then narrow:

  1. First search: broad terms (e.g., "Rust" "machine learning") — aim for 50+ results
  2. If too few results (< 10): broaden further, remove date/category filters
  3. If too many results (> 200): add more specific terms, use searchtype=title
  4. 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):

# Open arXiv with research flags
actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/advanced"
actionbook browser wait-idle

# Use batch for form — fewer round-trips, more reliable
cat <<'EOF' | actionbook browser batch --delay 150
{
  "actions": [
    {"kind": "click", "selector": "#terms-0-field"},
    {"kind": "click", "selector": "option[value='title']"},
    {"kind": "type", "selector": "#terms-0-term", "text": "large language model agent"},
    {"kind": "click", "selector": "#classification-computer_science"},
    {"kind": "click", "selector": "#date-filter_by-3"},
    {"kind": "type", "selector": "#date-from_date", "text": "2025-01-01"},
    {"kind": "type", "selector": "#date-to_date", "text": "2026-02-23"},
    {"kind": "click", "selector": "button:has-text('Search'):nth(2)"}
  ],
  "stopOnError": true
}
EOF
actionbook browser wait-idle
actionbook browser text "#main-container"

# If batch form submission fails (page shows form again instead of results):
# → Fall back to Option A URL-based search immediately
# → Do NOT retry the form — it wastes time

arXiv search capabilities (from indexed selectors — for Option B):

Capability Selector
Search field (Title/Author/Abstract) #terms-0-field select
Search term #terms-0-term input
Add boolean terms button "Add another term +"
Filter: Computer Science #classification-computer_science
Filter: Physics, Math, etc. #classification-physics, #classification-mathematics
Date: past 12 months #date-filter_by-1 radio
Date: specific year #date-filter_by-2 radio + #date-year
Date: custom range #date-filter_by-3 radio + #date-from_date / #date-to_date
Show abstracts #abstracts-0 radio

Step 4: Supplement with Google / Bing Search

# Search via Google (with wait-idle for SPA results)
actionbook browser open "https://www.google.com/search?q=<encoded_query>"
actionbook browser wait-idle
actionbook browser text "#search"

# Or search via Bing
actionbook browser open "https://www.bing.com/search?q=<encoded_query>"
actionbook browser wait-idle
actionbook browser text "#b_results"

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)

  1. NEVER manually construct URLs from search snippets. Many Google snippet URLs are truncated or reformatted. Instead:

    • U
how to use active-research

How to use active-research on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add active-research
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/actionbook/actionbook --skill active-research

The skills CLI fetches active-research from GitHub repository actionbook/actionbook and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/active-research

Reload or restart Cursor to activate active-research. Access the skill through slash commands (e.g., /active-research) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.567 reviews
  • Hassan Yang· Dec 20, 2024

    active-research is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Michael Zhang· Dec 20, 2024

    We added active-research from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Shikha Mishra· Dec 16, 2024

    active-research reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Yuki Verma· Dec 16, 2024

    active-research fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • James Ndlovu· Dec 12, 2024

    Useful defaults in active-research — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Zara Harris· Dec 8, 2024

    active-research reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Kaira Iyer· Dec 4, 2024

    Solid pick for teams standardizing on skills: active-research is focused, and the summary matches what you get after install.

  • Evelyn Yang· Nov 27, 2024

    I recommend active-research for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Hassan Kapoor· Nov 11, 2024

    active-research fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Tariq Kapoor· Nov 11, 2024

    Keeps context tight: active-research is the kind of skill you can hand to a new teammate without a long onboarding doc.

showing 1-10 of 67

1 / 7