ClawKit Logo
ClawKitReliability Toolkit

Use Case: Research Agent

web browsing ยท data extraction ยท competitive analysis ยท report synthesis

What you'll build

An agent that browses multiple web sources on command, extracts the relevant data, and produces a structured report โ€” saved to a file, posted to Telegram, or both. No Playwright code required.

Skills you need

Research tasks rely on browser control and search. The browser-control skill is the most important โ€” it lets the agent navigate pages, click elements, and extract content without you writing any automation code.

SkillWhat it unlocksRequired?
browser-controlNavigate URLs, click, scroll, extract page content โ€” the core research toolCore
web-searchGoogle/Bing search queries without opening a browser โ€” faster for simple lookupsCore
summarizerCondense long articles or pages into key pointsRecommended
file-writerSave reports as Markdown or JSON files to your local workspaceRecommended
structured-extractorPull tables, prices, or data fields from pages into structured JSONOptional
notion-writerPush research summaries directly to a Notion databaseOptional

SOUL.md template

SOUL.md โ€” research agent
# Research Agent

You are a research assistant. Given a topic or question, you browse the web,
extract relevant information, and produce a clear, structured report.

## Identity
- Name: ResearchBot
- Role: Autonomous research and competitive analysis

## Research process
1. Clarify the scope if the request is ambiguous โ€” ask one question, not five
2. Use web-search for an initial landscape view
3. Open the 3โ€“5 most relevant sources with browser-control
4. Extract the specific data points requested
5. Synthesise into a structured report: Executive Summary โ†’ Key Findings โ†’ Sources

## Report format
- Start with a one-paragraph Executive Summary
- Use bullet points for findings, not walls of text
- Always include source URLs
- Note the date research was conducted

## Behaviour
- Prefer primary sources (official sites, original research) over aggregators
- Flag when a source is paywalled or requires login
- Do not fabricate data โ€” if you can't find something, say so
- Save reports to ~/research/ unless told otherwise

Config setup

Browser control requires Chrome or Chromium to be installed. The skill handles launching and closing the browser automatically.

openclaw.json โ€” research agent config
{
  "skills": [
    "official-browser-control",
    "official-web-search",
    "official-summarizer",
    "official-file-writer"
  ],
  "model": "claude-sonnet-4-5",
  "soulPath": "./SOUL.md",
  "channel": {
    "type": "telegram",
    "token": "YOUR_BOT_TOKEN",
    "chatId": "YOUR_CHAT_ID"
  },
  "browser": {
    "headless": true
  }
}

Headless mode: Set headless: false during development so you can watch the browser navigate. Switch to true in production to run without a display. On a headless server, you'll need xvfb or use the Docker image which includes it.

Example tasks

Competitive analysis

"Research the top 5 competitors of Notion โ€” pricing, main features, recent product updates. Save as competitors.md"

Market overview

"What are the most-discussed AI agent frameworks in the last 30 days? Check GitHub trending, Hacker News, and Reddit"

Price monitoring

"Check the current pricing page for Linear, Jira, and Asana โ€” extract plan names, prices, and seat limits into a comparison table"

Person research

"Find public information about OpenClaw founder Peter Steinberger โ€” LinkedIn, blog, recent interviews. Summarise in 3 paragraphs"

News briefing

"Find the top 5 AI agent news stories from the last 48 hours. Include source links and one-sentence summaries"

Scheduled research (daily briefings)

Use OpenClaw's built-in cron to run research on a schedule. This is useful for daily competitor monitoring or news briefings delivered to Telegram every morning.

Add to openclaw.json โ€” daily briefing at 8am
{
  "crons": [
    {
      "name": "Morning briefing",
      "schedule": "0 8 * * *",
      "task": "Find the top 5 AI agent news stories from the last 24 hours. Post a summary with source links to Telegram."
    }
  ]
}

Common issues

โš  Browser control fails to launch

Chrome/Chromium must be installed. Run: npx puppeteer browsers install chrome. On Linux, also install: apt-get install -y libgbm-dev libnss3.

โš  Agent gets blocked by Cloudflare or bot detection

Set headless: false to use a real browser profile, or add a short delay between page loads in your SOUL.md. Some sites require authentication โ€” note this in the task.

โš  Research results are shallow or miss key sources

Be more specific in your prompt about which sources to check. List 3โ€“5 URLs if you have them, or specify "check at least 5 sources including official documentation".

โš  Reports are too long

Add a word limit to your SOUL.md: "Reports should be under 500 words unless explicitly asked for detail". Or ask for a "3-bullet summary" instead of a full report.

Did this guide solve your problem?

Need Help?

Try our automated tools to solve common issues instantly.