claude-review-loop
A Claude Code plugin that adds an automated code review loop to your workflow.
research-council is a Claude Code plugin, indexed on Flowy in the Research category.
> /plugin marketplace add hamelsmu/research-council> /plugin install research-council@research-council
A Claude Code plugin that orchestrates deep research across two coding agents — Claude Code and Codex CLI (OpenAI) — running in parallel with cross-pollination refinement and final synthesis.
Note: Gemini CLI was previously included as a third agent but was removed due to persistent flakiness — frequent quota errors, sandbox limitations requiring workarounds, and an internal retry loop that hangs indefinitely on rate limits. The two-agent setup (Claude + Codex) is more reliable and still produces high-quality cross-pollinated research.
Run the /research-council:deep-research slash command inside Claude Code:
/research-council:deep-research Next.js vs SvelteKit for production web apps in 2026: performance, DX, ecosystem maturity, and deployment options
In some setups, the unqualified alias /deep-research may also work. Prefer the namespaced form above for consistency.
Each agent uses the most powerful model from its provider with thinking/reasoning turned all the way up (see Models Used). A --test flag is available that swaps in small, cheap models for testing the pipeline.
The plugin runs a 3-phase pipeline:
The key step is cross-pollination. Different AI providers have different training data, search behaviors, and analytical tendencies. When Agent A reads Agent B's report it provides an opportunity to discover angles it missed, contradictions to resolve, and gaps neither agent independently covered. This produces research that's substantially deeper than any single agent could achieve alone, or than simply merging two independent reports.
flowchart TD
A["/research-council:deep-research <topic>"] --> B["Phase 1: Independent Research"]
subgraph Phase1["Phase 1 — Independent Research"]
direction LR
C1["Claude researches topic"]
C2["Codex researches topic"]
end
B --> C1 & C2
C1 --> R1["claude-report.md"]
C2 --> R2["codex-report.md"]
R1 & R2 --> D["Phase 2: Cross-Pollination"]
subgraph Phase2["Phase 2 — Cross-Pollination Refinement"]
direction LR
D1["Claude reads both, refines"]
D2["Codex reads both, refines"]
end
D --> D1 & D2
D1 --> E1["claude-refined.md"]
D2 --> E2["codex-refined.md"]
E1 & E2 --> F["Phase 3: Synthesis"]
subgraph Phase3["Phase 3 — Final Synthesis"]
F1["Claude synthesizes all refined reports"]
end
F --> F1
F1 --> G["final-report.md"]
You need both coding CLIs installed and authenticated:
# Should already be installed if you're reading this
claude --version
npm install -g @openai/codex
codex login
# macOS
brew install jq
# Linux
sudo apt install jq
claude plugin marketplace add hamelsmu/research-council
claude plugin install research-council@research-council
/plugin marketplace add hamelsmu/research-council
/plugin install research-council@research-council
claude plugin update research-council@research-council
git clone https://github.com/hamelsmu/research-council.git
# Then in Claude Code:
claude --plugin-dir /path/to/research-council
/research-council:deep-research What are the leading approaches to nuclear fusion energy and how close are they to commercialization?
/research-council:deep-research --test What is the history of the Panama Canal?
/research-council:cancel-research
While research is running, Claude's UI shows a spinner. Open another terminal to watch progress:
tail -f research/*/progress.log
Reports are saved to research/<id>/:
research/20260222-143000-a1b2c3/
├── progress.log # Live progress from all agents
├── claude-report.md # Phase 1: Claude's initial research
├── codex-report.md # Phase 1: Codex's initial research
├── claude-refined.md # Phase 2: Claude's cross-pollinated refinement
├── codex-refined.md # Phase 2: Codex's cross-pollinated refinement
└── final-report.md # Phase 3: Synthesized final report
| Agent | Model | Reasoning |
|---|---|---|
| Claude | claude-opus-4-6 | effort: max |
| Codex | gpt-5.3-codex | reasoning_effort: xhigh |
--test)| Agent | Model | Reasoning |
|---|---|---|
| Claude | claude-haiku-4-5-20251001 | effort: low |
| Codex | gpt-5.1-codex-mini | reasoning_effort: low |
Each agent iterates on its research using the best available mechanism for that CLI:
codex exec resume --last — since Codex lacks hooks, we wrap it in an external loop that checks for completion between iterationsEach agent signals completion by writing <!-- RESEARCH_COMPLETE --> at the end of its report.
Install the missing tools listed in the error. Both CLIs (claude, codex) plus jq must be available on PATH.
Run codex login to authenticate with your OpenAI account.
Check the agent stdout logs in research/<id>/:
claude-stdout.logcodex-stdout.logCommon causes: authentication failures, model not available on your subscription tier, network issues.
Individual agent failures are tolerated — the failed agent is skipped and the remaining agent continues. The final synthesis will note reduced coverage. Check the agent's stdout log for details.
Monitor research/<id>/progress.log. If an agent is stuck, you can cancel with /research-council:cancel-research and try again. The orchestrator has a 2-hour timeout as a safety net.
The plugin's Stop hook tracks which Claude Code session started the research. If the original session is still actively running phases (its lock is alive — PID exists and lock is less than 2 hours old), other sessions skip the hook silently. If the lock is stale or the original session is gone, a new session automatically adopts the orphaned research: it re-stamps the session ID in the state file and continues from whatever phase was in progress. State files older than 5 hours are automatically cleaned up regardless.
Run /research-council:cancel-research first, or check if a previous session is still running.
The plugin uses Claude Code's Stop hook for orchestration. When you run /research-council:deep-research, the command creates a state file and finishes. The Stop hook then takes over:
This design avoids the 10-minute Bash tool timeout limitation — the Stop hook has a 2-hour timeout, giving agents plenty of time for deep research.
MIT
A Claude Code plugin that adds an automated code review loop to your workflow.
research-council is a Claude Code plugin, indexed on Flowy in the Research category. Install it with the command on its page. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it