Research Pipeline Crew
PR ReadyThree-agent crew that researches a topic, analyzes findings, and writes a report.
5 nodes · 5 edgespr ready
crewaimulti-agentresearchllm
Visual
Provide Research Topichuman
User supplies a topic and desired depth (overview / deep-dive).
↓sequential→ Researcher Agent
Researcher Agentagent
Searches the web, reads papers, and collects raw source material.
↓sequential→ Analyst Agent
Analyst Agentagent
Synthesizes raw sources into structured insights and key findings.
↓sequential→ Writer Agent
Writer Agentagent
Produces a polished markdown report with citations.
↓sequential→ Review Report
Review Reporthuman
User reviews the final report and requests revisions if needed.
↓conditional→ Writer Agent
ex-crewai-research-pipeline.osop.yaml
# CrewAI Research Pipeline — OSOP Portable Workflow
#
# A three-agent research crew: Researcher gathers sources, Analyst extracts
# insights, Writer produces a polished report. Demonstrates how CrewAI crews
# map 1:1 to OSOP nodes, making the workflow portable across any runtime.
#
# Run with CrewAI: crewai run research_crew.py
# Validate with OSOP: osop validate crewai-research-pipeline.osop.yaml
osop_version: "1.0"
id: "crewai-research-pipeline"
name: "Research Pipeline Crew"
description: "Three-agent crew that researches a topic, analyzes findings, and writes a report."
version: "1.0.0"
tags: [crewai, multi-agent, research, llm]
nodes:
- id: "user_topic"
type: "human"
name: "Provide Research Topic"
description: "User supplies a topic and desired depth (overview / deep-dive)."
- id: "researcher"
type: "agent"
subtype: "llm"
name: "Researcher Agent"
description: "Searches the web, reads papers, and collects raw source material."
config:
role: "Senior Research Analyst"
tools: [web_search, arxiv_search, url_reader]
max_iterations: 5
- id: "analyst"
type: "agent"
subtype: "llm"
name: "Analyst Agent"
description: "Synthesizes raw sources into structured insights and key findings."
config:
role: "Data Analyst"
tools: [text_summarizer]
max_iterations: 3
- id: "writer"
type: "agent"
subtype: "llm"
name: "Writer Agent"
description: "Produces a polished markdown report with citations."
config:
role: "Technical Writer"
tools: [markdown_formatter]
max_iterations: 3
- id: "human_review"
type: "human"
subtype: "review"
name: "Review Report"
description: "User reviews the final report and requests revisions if needed."
edges:
- from: "user_topic"
to: "researcher"
mode: "sequential"
- from: "researcher"
to: "analyst"
mode: "sequential"
- from: "analyst"
to: "writer"
mode: "sequential"
- from: "writer"
to: "human_review"
mode: "sequential"
- from: "human_review"
to: "writer"
mode: "conditional"
when: "revision_requested"
label: "Revisions needed"