Where it came from#
Earlier this week I needed deep research for an options analysis I was building with Claude Code. The workflow went like this: open four LLMs in Chrome tabs, run the same query in each, wait for the results, download the reports, import them into the project, then ask Claude Code to work with them.
It worked, but it was slow and manual, and the output wasn't in a shape Claude Code could pick up and use. Every time research had to feed a build task, I left the tool I was building in, switched between tabs, copied and pasted, then reformatted everything so the context was usable.
There was a second problem. Each model has blind spots, because each has its own training data, retrieval sources and framing. Ask Claude and Perplexity the same question and you'll get different sources, different emphasis and sometimes claims that contradict each other. With a single model you never see what it left out.
What I built#
Parallel Research is a Claude Code skill that runs Claude, OpenAI, Gemini and Perplexity on the same research topic at the same time and writes structured output straight into your project.
/research "How do blockchain gaming economies handle inflation?"
Each model's response lands as its own Markdown file in the same format: summary, key findings, sources, unique insights and limitations. An optional meta-analysis cross-references all four and scores each finding by how many models reached it independently.
Under the hood it's a Python asyncio orchestrator that calls all four APIs concurrently. If one provider fails or you don't have a key for it, the others still finish. The pipeline has three phases: parallel fetch, structured processing, then the optional cross-model synthesis.
What it changes#
The research ends up in the project I'm working in. You type /research, the output lands in .research/ and Claude Code can reference it in whatever you're writing next. Because every file is structured the same way, Claude Code treats it as project context and the research feeds straight into the next task, whether that's an options paper, a technical recommendation or a new build.
Running four models also shows where the answers agree. When three of four reach the same conclusion on their own, that's worth more confidence. When only one model surfaces a finding, it's worth checking before you rely on it. A single model gives you a confident answer with no sign of what it missed. That gap costs most in options analyses, technical spikes, competitive questions and policy docs, anywhere the research feeds a real decision.
How the output is structured#
.research/
├── raw/ # Raw API responses
├── structured/ # Processed output per model
│ ├── claude-topic.md
│ ├── openai-topic.md
│ ├── gemini-topic.md
│ └── perplexity-topic.md
├── meta-analysis.md # Cross-model synthesis
└── research.yaml # Manifest tracking status and timings
Every file uses the same template with YAML frontmatter. There are three depth settings: quick (one call per model, under a minute, a few cents), standard (a three-call refinement chain, under three minutes) and deep (native deep research where the provider supports it).
Where to find it#
The project is open source on GitHub: github.com/AdenCJM/parallel-research