Turn a plain-language research intent into a self-updating literature workspace. Discover, rank, and maintain a living paper corpus for any AI research topic — driven by Codex, Claude Code, GitHub Copilot, Copilot CLI, or Microsoft scouting-style agents.
- Intent → contract. Refine natural language into
topic.json(include/exclude rules, taxonomy, queries). - Discover. Query OpenAlex + expand citation neighborhoods.
- Rank. Score candidates with an LLM against the topic contract.
- Curate. Approve into
data/papers.json; auto-generate notes + synthesis report. - Publish. Interactive HTML dashboard, research gap analysis, agent task manifests.
- Python 3.9+
- One of: Codex CLI (recommended, no key needed), or
OPENAI_API_KEY, or--offline - Optional:
git, a browser for the dashboard
git clone https://github.com/ginaecho/topic-scout.git
cd topic-scout
make init # interview → topic.json + role briefs + skills
make scout # OpenAlex + LLM ranking → data/candidates.json
make review # inspect the review queue
python3 scripts/accept_candidates.py openalex:W123 openalex:W456
make corpus # paper notes + reports/research_report.md
make opportunities # research gap analysis
make dashboard # topic-dashboard.htmlOpen topic-dashboard.html in a browser when done.
make init # Codex CLI, interactive
python3 scripts/init_topic.py --intent "your topic" --provider api # OpenAI API
python3 scripts/init_topic.py --offline # no LLM
python3 scripts/scout.py --accept-score 8.0 # auto-accept threshold
python3 scripts/scout.py --offline # OpenAlex only
QUERY="benchmark X" make scout # targeted supplemental query
make reset # wipe generated workspaceEvery agent runs the same command surface — pick your runtime:
| Agent | Kickoff |
|---|---|
| Claude Code | cd into the repo. Claude reads AGENTS.md automatically. Say: "Scout papers on ." |
| Codex CLI | codex in the repo root. Ask it to run make init then follow AGENTS.md. |
| GitHub Copilot (GHCP) | Open the repo, run make init, then python3 scripts/orchestrate.py emit --mode copilot. Copilot follows data/copilot_tasks.json. |
| Copilot CLI | gh copilot in the repo. After make init, emit --mode copilot-cli and execute tasks in order. |
| Microsoft scouting-style | Emit --mode microsoft-scouting; consume data/microsoft-scouting_tasks.json. |
| Claw / Swarm | Emit --mode claw or --mode swarm; coordinator dispatches roles under agents/. |
Full per-agent instructions: AGENTS.md. Active topic contract (generated by make init): TOPIC_AGENTS.md.
The scout is topic-scoped. To change topics:
make reset # clear the generated workspace
make init # define a new topic
make scout # discoverTo keep the corpus fresh on an existing topic, just re-run make scout — it deduplicates against data/papers.json and appends candidates.
| Artifact | Purpose |
|---|---|
topic.json |
Topic contract (source of truth) |
TOPIC_AGENTS.md |
Generated topic-specific agent brief |
agents/*.md |
Per-role briefs (coordinator, scout, reviewer, …) |
data/candidates.json |
Ranked review queue |
data/papers.json |
Accepted corpus + scout history |
reports/research_report.md |
Synthesis |
data/research_opportunities.json |
Evidence-backed gaps |
topic-dashboard.html |
Interactive dashboard |
data/{claw,swarm,copilot,copilot-cli,microsoft-scouting}_tasks.json |
Runtime manifests |
Example workspace: examples/ai-in-hiring-processes/.
make testMIT — see LICENSE.