home / skills / openclaw / skills / yutori-web-research
This skill uses Yutori's research and browsing APIs to conduct web research, gather sources, and extract structured facts for user questions.
npx playbooks add skill openclaw/skills --skill yutori-web-researchReview the files below or copy the command above to add this skill to your agents.
---
name: yutori-web-research
description: Use Yutori’s Research API and Browsing API (cloud browser) to research topics, collect sources, and extract structured facts from the web. Use when the user asks to “research X”, “monitor/find papers”, or “navigate to a site and extract info” and you have access to YUTORI dev/prod endpoints via YUTORI_API_BASE and an API key in env (YUTORI_API_KEY or ~/.openclaw/openclaw.json env.YUTORI_API_KEY).
---
# yutori-web-research
Use Yutori’s cloud agents for two things:
1) **Research** (wide/deep web research + citations) via `POST /v1/research/tasks`
2) **Browsing** (web navigation agent on a cloud browser) via `POST /v1/browsing/tasks`
This skill is for **web tasks** where a dedicated web agent is helpful (papers, competitors, product info, extracting lists from a site), and where OpenClaw’s local `web_fetch` or `browser` tool is not ideal.
## Preconditions (auth + endpoint)
- Requires **YUTORI_API_KEY** (preferred: provided by OpenClaw Gateway env; fallback: `~/.openclaw/openclaw.json` at `env.YUTORI_API_KEY`).
- Endpoint defaults to **dev** unless overridden:
- Set `YUTORI_API_BASE=https://api.dev.yutori.com` (dev)
- or `YUTORI_API_BASE=https://api.yutori.com` (prod)
If requests return `403 Forbidden`, the key likely lacks access to the requested API product (Research/Browsing).
## Bundled runner scripts
This skill expects a small Node runner script to exist (or be bundled alongside this skill):
- `yutori-research.mjs` — create + poll a research task; prints **pretty text** output.
Recommended: bundle it under `scripts/yutori-research.mjs` in this skill folder.
## Workflow: Research a topic (brief + reading list)
When the user asks for research (example: “RL papers in the last month”):
1) Write a tight query prompt that requests:
- **1-page brief** (themes + trends)
- **curated reading list** (10–15 items, each with title, 1–2 sentence summary, why it matters, and link)
- Prefer primary sources (arXiv + publisher pages)
2) Run the research task using the runner script (example):
```bash
cd /Users/juanpin/.openclaw/workspace
node yutori-research.mjs "Research reinforcement learning papers from the last 30 days. Output (1) a concise 1-page brief of themes/trends and (2) a curated list of 12 papers with title, 2-sentence summary, why it matters, and a link. Prefer arXiv + conference links."
```
3) Return results to the user as **clean bullets** (not raw JSON), and include source URLs.
## Workflow: Browse a site and extract info (e.g., employees list)
Use the Browsing API when the user asks:
- “Navigate to <site> and list …”
- “Fill a form / click through pages / collect items”
Create a browsing task (example curl):
```bash
curl --request POST \
--url "$YUTORI_API_BASE/v1/browsing/tasks" \
--header "x-api-key: $YUTORI_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"task": "Give me a list of all employees (names and titles) of Yutori.",
"start_url": "https://yutori.com",
"max_steps": 60
}'
```
Poll until `succeeded`, then return a deduplicated list.
## Output style
- Prefer **pretty text** + bullets.
- Include the key source URLs.
- If the agent output contains HTML (e.g., `<pre>...</pre>`), strip it and return plain text.
## Troubleshooting
- `401 Missing API key header`: ensure you are sending the correct header. Yutori uses `x-api-key` for most APIs.
- `403 Forbidden`: key doesn’t have access to that product in that environment.
- Long-running tasks: share the `view_url` and optionally poll longer.
This skill uses Yutori’s Research and Browsing cloud agents to research topics, gather sources, and extract structured facts from the web. It’s designed for tasks like literature surveys, monitoring papers, competitor research, and navigating sites to collect lists or form-driven data. The skill expects a YUTORI_API_KEY and optional YUTORI_API_BASE to select dev or prod endpoints.
For broad research, it creates research tasks via POST /v1/research/tasks that instruct the cloud agent to produce a one‑page brief and a curated reading list with source URLs. For site navigation and targeted extraction, it creates browsing tasks via POST /v1/browsing/tasks so a cloud browser can click, paginate, and scrape structured items. The typical flow is: craft a tight query, submit a task, poll the task until succeeded, then return cleaned plain‑text bullets and deduplicated facts with source links.
What environment variables are required?
Set YUTORI_API_KEY for authentication. Optionally set YUTORI_API_BASE to switch between dev and prod endpoints (dev: https://api.dev.yutori.com, prod: https://api.yutori.com).
What do I do if I get 403 or 401 errors?
401 indicates a missing or incorrect API key header—ensure you send x-api-key. 403 means the key lacks access to the requested product or environment; verify your key permissions and the YUTORI_API_BASE value.