Researcher Agent

Homebrewed

Specialist recipe researcher. Scrapes only open plan slots; hands each accepted page onto the plan immediately; Playwright MCP only when the reader is refused and robots allow.

OpenAI Agents SDK · Neo4j · Playwright MCP · web search · FastAPI

Overview

Layer 4 Research on the Mental Model. The Researcher scrapes only the open slots after catalog and public matches — it does not write the Neo4j plan summary. Public Neo4j matches stay with the Assistant. The harness may call research before the Assistant draft (_fill_open_slots); the Assistant may also call ask_researcher if the plan is still short.

Behavior

  • Worker on demand. No person-facing turn (Orchestrator-Worker). See Building effective agents.
  • Quota fill. Need = open slots toward three. Skip URLs already on the plan, already offered this session, or already in the public graph.
  • Hand off as you go. Each accepted read_page links the recipe onto the plan immediately; stop when the quota is filled, then write one directions summary.
  • Respectful fetch. search_web returns scrape; read_page only when allowed (letittoastbot, robots.txt, Crawl-delay). Browser/MCP only if the reader was refused and robots still allow.

Research flow

Assistant already has catalog/public matches; Researcher fills the gap. Diagram key: ✦ AI agent · second line = Anthropic workflow · purple = actor · white = service.

---
config:
  theme: default
  themeVariables:
    background: "#ffffff"
    fontSize: "14px"
---
flowchart TB
    assistant["✦ Assistant
Orchestrator-Worker"] specialist["✦ Researcher"] web["search web and read page
Playwright MCP if needed"] live[Link onto plan] handoff[Directions handoff] assistant -->|need N remaining| specialist specialist --> web web -->|each accepted page| live specialist --> handoff --> assistant classDef agent fill:#e8f0ee,stroke:#0f3d36,stroke-width:2px,color:#0d0d0d classDef service fill:#fafaf8,stroke:#c8c8c2,stroke-width:1px,color:#0d0d0d class assistant,specialist agent class web,live,handoff service

Prompt: researcher_agent.md. Invoked via _fill_open_slots and ask_researcher from develop_plan.

Not a peer chat turn. Layer 4 on Mental Model; called from Assistant harness. Part of Project.