Professional research workflows
VibeOS grows research capability at the edges — skills, web backends, and MCP — without adding new core tools.
Quick start
# Readiness (env / MCP / skills — no LLM call)
vibeos research doctor
# Scaffold a workspace (no LLM call)
vibeos research run --topic "Compare Yandex Search vs Exa for RU news" --mode brief
# List / inspect
vibeos research list
vibeos research show <id>
Workspaces land in ~/.vibeos/research/<id>/ with prompt.md, sources.json,
and a README pointing at the matching skill.
Modes → skills
| Mode | Skill |
|---|---|
brief / deep | professional-research (+ source-critique for deep) |
academic | academic-literature |
compare | comparative-analysis |
quant | quantitative-analysis |
longform | longform-synthesis |
orchestrate | analysis-orchestration |
visual | visual-source-extract (images / scans / short video) |
corpus | research-local-corpus (llm-wiki / qmd / prior workspaces) |
Recommended stack
- Search —
web_search(Yandex for RU:web.search_backend: yandex). - Extract — Firecrawl / Tavily / Exa via
web_extract. - Apps — Notion / Linear MCP when the corpus lives there.
- Academic —
vibeos mcp install scholar-search(needsuv). - Deep synth (optional) —
vibeos mcp install perplexity.
Desktop routing
Before clicking around, load choose-interaction-surface — prefer browser for
web apps, computer_use for native GUIs, MCP for SaaS APIs, terminal for CLIs.
CAPTCHA / bot walls
Durable board (gather → critique → synthesize → human review):
vibeos kanban boards create my-research --template research --switch
On Cloudflare or CAPTCHA, load challenge-gate (human-first). Do not spam
browser clicks or invent page text. Operator guide:
CAPTCHA / ChallengeGate.
Workspaces include challenge.md; sources may set
access: blocked_by_challenge.
Research Pro preset
vibeos research preset research-pro # write recipe + checklist
vibeos research preset research-pro --apply # empty web.* from .env + missing browser.challenge.*
Desktop: Settings → Research Pro (same apply + env/MCP/skills + ChallengeGate readiness).
Optional RU public sources:
vibeos skills install official/research/ru-public-sources
Scheduled cited briefings: Research daily briefing.
Mixture-of-agents style critique (recipe only — no new tools):
vibeos research preset analysis-moa
Deliverable templates
Under skills/research/professional-research/templates/:
executive-brief.mdtechnical-due-diligence.mdmarket-scan.mdincident-timeline.md
Site map / crawl (Tavily MCP)
Built-in web_search does not expose Tavily map/crawl. For site inventories:
vibeos mcp install tavily # enables tavily_map, tavily_crawl, tavily_extract
Uses the same TAVILY_API_KEY. Leave tavily_search / tavily_research off unless
you opt in via vibeos mcp configure tavily.
Local corpus (no new memory provider)
vibeos research run --topic "Synthesize Q2 notes" --mode corpus
# or load skill research-local-corpus
vibeos skills install official/research/qmd # optional hybrid local search
Spreadsheets: Google Sheets via google-workspace MCP; local CSV/XLSX via
execute_code / quantitative-analysis — not a core Excel COM tool.
Offline eval (structural)
python3 skills/research/professional-research/scripts/eval_brief.py \
--brief brief.md --sources sources.json
CI covers research eval fixtures via tests/skills/test_research_eval_harness.py
(citations, confidence, no example.com fakes, URLs ⊆ sources, blocked-challenge acknowledgment).
Google apps: MCP vs skill vs computer_use
| Need | Prefer |
|---|---|
| Gmail + Drive + Calendar/Docs in one install | vibeos mcp install google-workspace |
| Gmail only (official remote, Developer Preview) | vibeos mcp install google-gmail |
| Drive only (official remote, Developer Preview) | vibeos mcp install google-drive |
Existing gws / skill OAuth token | bundled skill google-workspace |
| Pixel UI only (no API) | computer_use after choose-interaction-surface |
Never drive the Gmail/Drive web UI with computer_use when an MCP or the skill is available.
Computer use
vibeos computer-use install
vibeos computer-use doctor
vibeos tools # enable Computer Use toolset