BrowserOS deep-research

Research a topic across multiple sources using parallel tabs, save raw content and findings to files, then produce an HTML report and PDF. Use when the user asks to research, investigate, or gather information on a topic.

install
source · Clone the upstream repo
git clone https://github.com/browseros-ai/BrowserOS
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/browseros-ai/BrowserOS "$T" && mkdir -p ~/.claude/skills && cp -r "$T/packages/browseros-agent/apps/server/src/skills/defaults/deep-research" ~/.claude/skills/browseros-ai-browseros-deep-research && rm -rf "$T"
manifest: packages/browseros-agent/apps/server/src/skills/defaults/deep-research/SKILL.md
source content

Deep Research

End-to-end research workflow that searches the web in parallel tabs, persists raw content and notes to disk as it goes (instead of holding everything in memory), synthesizes findings, and delivers a polished HTML report plus PDF.

When to Apply

Activate when the user asks to research a topic, compare information across sources, investigate something thoroughly, or compile findings from the web.

Workflow

Phase 1 — Clarify & Plan

  1. Clarify the research question. If the query is vague, ask the user for specifics: scope, depth, preferred sources, and where to save output (default:
    research-<topic-slug>/
    in your working directory).
  2. Plan search queries. Break the topic into 3–5 search angles. Example for "best standing desks":
    • best standing desks 2025 reviews
    • standing desk comparison reddit
    • ergonomic standing desk features
    • standing desk health benefits studies
  3. Create the output directory. Use
    evaluate_script
    to create the target folder structure:
    research-<topic-slug>/
    ├── sources/          ← raw page content per source
    ├── findings.md       ← running synthesis
    ├── report.html       ← final HTML report
    └── report.pdf        ← final PDF report
    

Phase 2 — Parallel Research & Persistence

For each search query, open a parallel research tab and persist results to disk immediately:

StepToolDetail
Open tab
new_hidden_page
Opens a background tab so research doesn't disrupt the user
Search
navigate_page
Navigate to
https://www.google.com/search?q=<encoded-query>
(or the user's preferred search engine)
Pick results
get_page_content
/
get_page_links
Read the search results page; identify the 2–3 most relevant links
Visit source
navigate_page
Navigate to each selected result
Extract content
get_page_content
Pull the full page text
Save raw content
evaluate_script
Write a markdown file to
sources/<n>-<slug>.md
containing the page title, source URL, extraction date, and full text. Always include the source URL so every fact is traceable.
Close tab
close_page
Free resources after extraction

Repeat across all search angles. Run multiple tabs concurrently where possible.

Source File Format (
sources/<n>-<slug>.md
)

# <Page Title>

- **URL:** <source-url>
- **Retrieved:** <date-time>

---

<extracted page content>

Phase 3 — Synthesize Findings

After all sources are saved:

  1. Read each source file and extract key facts, data points, expert opinions, and areas of agreement or disagreement.
  2. Write
    findings.md
    in the output directory using the format below. Every claim must reference the source file and URL it came from.
  3. Continuously append to
    findings.md
    as you process each source — do not hold all content in memory.

Findings File Format (
findings.md
)

# Research Findings: <Topic>

**Date:** <current date>
**Sources consulted:** <count>
**Output directory:** <path>

## Key Findings

1. **<Finding title>**
   <Detail with supporting evidence>
   _Source: [<source name>](<url>) — sources/<n>-<slug>.md_

2. **<Finding title>**
   ...

## Source Summary

| # | Source | URL | Key Insight | Credibility |
|---|--------|-----|-------------|-------------|
| 1 | <name> | <url> | <insight> | high / med / low |

## Agreements & Disagreements

- **Consensus:** ...
- **Conflicting views:** ...

## Conclusion

<Synthesis of findings with actionable recommendation>

Phase 4 — HTML Report

Generate a self-contained

report.html
in the output directory with the following requirements:

RequirementDetail
ThemeLight background (
#ffffff
), clean sans-serif typography, generous whitespace
SectionsTitle banner, executive summary, key findings (numbered cards), source table, conclusion
Source linksEvery finding must hyperlink to its original source URL. The source table must include clickable links.
Self-containedAll styles inline or in a
<style>
block — no external CSS or JS dependencies
ResponsiveReadable on both desktop and mobile viewports
Footer"Generated by BrowserOS Deep Research" with the current date

Use

evaluate_script
to write the HTML string to
report.html
in the output directory.

Phase 5 — Open, Export & Notify

StepToolDetail
Open report
new_page
Open
file://<path>/report.html
so the user sees the finished report
Export PDF
save_pdf
Save the currently open report page as
report.pdf
in the same output directory
Notify userTell the user research is complete and provide paths to both
report.html
and
report.pdf

Tool Reference

CategoryTools Used
Tab management
new_hidden_page
,
new_page
,
close_page
Navigation
navigate_page
Content extraction
get_page_content
,
get_page_links
File I/O & scripting
evaluate_script
Export
save_pdf

Tips

  • 4–6 sources is the sweet spot for balanced coverage. More isn't always better.
  • Prioritize recent sources — check publication dates and prefer current information.
  • Note disagreements between sources rather than hiding them; surface conflicting data.
  • Always record the source URL next to every fact so the report is fully traceable.
  • For product research, include pricing and availability.
  • For technical topics, prefer official documentation and peer-reviewed sources.
  • If a Google search returns unhelpful results, try alternative queries or go directly to known authoritative sites.