Medsci-skills ma-scout
Meta-analysis topic discovery and feasibility assessment. Professor-first (profile → gap) or Topic-first (question → gap → co-author). Pre-protocol phase from idea to ranked topic list.
git clone https://github.com/Aperivue/medsci-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/Aperivue/medsci-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ma-scout" ~/.claude/skills/aperivue-medsci-skills-ma-scout && rm -rf "$T"
skills/ma-scout/SKILL.mdMA Scout Skill
You are helping a medical researcher discover meta-analysis topics. Two modes are available depending on the starting point.
This skill handles the pre-protocol phase — from idea to ranked topic list. For actual MA execution (PROSPERO, screening, analysis), hand off to
/meta-analysis.
Mode Selection
Determine the mode from user input:
| Signal | Mode |
|---|---|
| Professor name or profile URL provided | A: Professor-first |
| Clinical question, keyword, trend, or "find me a topic" | B: Topic-first |
| Both supplied (e.g., "this topic with this professor") | A (topic as filter) |
If ambiguous, ask the user whether to search by professor (supervisor-first) or by topic (question-first).
Communication Rules
- Communicate with the user in their preferred language (typically Korean).
- Research questions, PICO/PIRD, and README content in English.
- Medical terminology always in English.
Inputs
Mode A: Professor-first
- Professor name (native-language + English)
- Profile URL (ScholarWorks, SKKU Faculty, Google Scholar, ORCID)
- PubMed author link (preferably with cauthor_id for disambiguation)
- Known specialty (e.g., "thoracic imaging", "abdominal imaging")
- Affiliation history (e.g., "Hospital A → Hospital B → retired")
- Minimum required: name + at least one profile URL or PubMed link
Mode B: Topic-first
- Clinical question or keyword (e.g., "AI for lung-nodule malignancy prediction", "dual-energy CT body composition")
- Radiology subspecialty scope (e.g., thoracic, abdominal, neuro)
- MA type preference (DTA, prognostic, intervention — optional)
- Desired role: solo first author / co-first / supervisor-matched
- Minimum required: clinical question or keyword
Workflow
Mode A (Professor-first): Phase 0 → 1 → 2 → 3 → 4 → 5 Mode B (Topic-first): T-Phase 0 → T-1 → T-2 → T-3 → T-4 → T-5 Phase 2 (MA Gap Analysis) and Phase 4 (README template) are shared between both modes.
═══════════════════════════════════════════
MODE A: PROFESSOR-FIRST WORKFLOW
═══════════════════════════════════════════
Phase 0: Disambiguation & Context Confirmation
Goal: Resolve author identity before any search, and confirm user's relationship context.
CRITICAL — Do this BEFORE any PubMed search:
-
Resolve full English name first:
- If cauthor_id is provided → fetch that specific PMID page to get full name + affiliation
- NEVER start with initials-only search (e.g., "Ha HK") — common Korean initials cause massive contamination
- First search must be
(e.g.,"[Full Name]"[Author]
)"Ha Hyun Kwon"[Author]
-
Confirm affiliation chain with user:
- Ask the user whether
matches the professor's history, and request the user's relationship to the professor so topic proposals can be tuned accordingly.{detected affiliation} - This prevents wrong-institution assumptions
- Skip only if user already provided explicit affiliation history
- Ask the user whether
-
Profile URL fallback chain (Scopus requires auth, so plan alternatives):
- 1st: PubMed full name search (always works)
- 2nd: Google Scholar profile (WebSearch
)"[Full Name]" radiology scholar - 3rd: ResearchGate profile (WebSearch
)"[Full Name]" researchgate radiology - 4th: ScholarWorks / SKKU / university faculty page (if URL provided)
- Last: Scopus/ScienceDirect (often fails due to auth — do NOT rely on it)
Phase 1: Profile Exploration (E-utilities API)
Goal: Identify the professor's 5-6 distinct research pillars using PubMed E-utilities API.
CRITICAL — Use E-utilities API, NOT WebFetch for PubMed:
- Scripts:
+~/.claude/skills/search-lit/references/pubmed_eutils.shparse_pubmed.py - Rate limit: 350ms between calls (100ms with NCBI_API_KEY)
- These are faster, more reliable, and return structured data (JSON/XML)
Step 1 — Total publication count + PMID list:
bash ~/.claude/skills/search-lit/references/pubmed_eutils.sh search \ '"[Full Name]"[Author]' 200 \ | python3 ~/.claude/skills/search-lit/references/parse_pubmed.py esearch
Step 2 — Fetch metadata for MeSH-based clustering (parallel):
# Get PMIDs from Step 1, then fetch summaries bash ~/.claude/skills/search-lit/references/pubmed_eutils.sh fetch_json \ "PMID1,PMID2,..." \ | python3 ~/.claude/skills/search-lit/references/parse_pubmed.py esummary
Step 3 — Topic-specific counts (launch 4-5 searches in parallel via Bash):
# Run these in parallel Bash calls bash ~/.claude/skills/search-lit/references/pubmed_eutils.sh search \ '"[Full Name]"[Author] AND "keyword1"' 5 bash ~/.claude/skills/search-lit/references/pubmed_eutils.sh search \ '"[Full Name]"[Author] AND "keyword2"' 5 # ... repeat for each suspected pillar keyword
Step 4 — MeSH term extraction for automatic pillar clustering:
# Fetch full XML for top-cited papers to extract MeSH headings bash ~/.claude/skills/search-lit/references/pubmed_eutils.sh fetch \ "PMID1,PMID2,...,PMID20" \ | python3 -c " import sys, xml.etree.ElementTree as ET from collections import Counter root = ET.fromstring(sys.stdin.read()) mesh_counts = Counter() for article in root.findall('.//PubmedArticle'): for mh in article.findall('.//MeshHeading/DescriptorName'): mesh_counts[mh.text] += 1 for term, count in mesh_counts.most_common(30): print(f'{count:3d} {term}') "
→ Top MeSH terms reveal natural research pillars (e.g., "Colonography, Computed Tomographic" = CTC pillar).
Step 5 — Google Scholar profile (parallel with PubMed calls):
- WebSearch:
for h-index, citation data"[Full Name]" radiology scholar google
Output: Pillar Summary Table
| Pillar | 영역 | 대표 키워드 | MeSH terms | 추정 논문 수 |
|---|---|---|---|---|
| 1 | ... | ... | ... | ~N+ |
Phase 2: MA Gap Analysis (Multi-Source)
Goal: For each pillar, determine if a viable MA topic exists using PubMed + Consensus + Scholar Gateway + bioRxiv.
For each pillar (run in parallel using meta-analyst agents):
2a. PubMed E-utilities — Existing MAs + Primary studies
# Existing MAs (structured count) bash ~/.claude/skills/search-lit/references/pubmed_eutils.sh search \ '[pillar keywords] AND ("meta-analysis"[pt] OR "systematic review"[pt])' 50 # Primary studies with extractable outcomes bash ~/.claude/skills/search-lit/references/pubmed_eutils.sh search \ '[pillar keywords] AND ("sensitivity" OR "specificity" OR "accuracy" OR "prognosis" OR "outcome")' 50
2b. Consensus MCP — Semantic MA gap detection
Use
mcp__claude_ai_Consensus__search to find existing SRs/MAs that PubMed keyword search might miss:
query: "systematic review OR meta-analysis [pillar topic] [imaging modality]"
Consensus returns citation-ranked results — check if any highly-cited MA already covers the proposed scope. Limit: max 3 Consensus calls per Phase 2 batch (rate limit).
2c. Scholar Gateway — Semantic similarity search
Use
mcp__claude_ai_Scholar_Gateway__semanticSearch for:
- Finding MAs with different terminology (e.g., "pooled analysis" instead of "meta-analysis")
- Detecting scope-overlapping MAs that use different keywords
- Identifying methodological review papers that partially cover the topic
2d. bioRxiv/medRxiv — In-press competition detection
Use
mcp__claude_ai_bioRxiv__search_preprints to catch:
- MAs posted as preprints but not yet indexed in PubMed
- Ongoing SR/MA protocols shared as preprints
- Very recent primary studies that could change feasibility
query: "[pillar keywords] meta-analysis OR systematic review" server: "medrxiv" (for clinical topics)
2e. Assessment matrix
| Factor | Criteria |
|---|---|
| MA gap | 0 existing = best, 1-3 = check scope overlap, >5 = saturated |
| Primary k | ≥8 for DTA, ≥6 for prognostic (minimum), ≥15 ideal |
| Recency | Last MA >5 years old = update opportunity |
| Competition | Check 2024-2026 for very recent MAs that block entry |
2f. PROSPERO competition check (MANDATORY)
- Search PROSPERO via WebSearch:
site:crd.york.ac.uk/prospero [topic keywords] - Also try WebFetch:
https://www.crd.york.ac.uk/prospero/#searchadvanced - Look for registered-but-unpublished protocols that could block entry
- If PROSPERO match found → flag as 🚫 competition risk in ranking
2g. Realistic k estimation
- Raw PubMed hit count is NOT the real k — most studies lack 2x2 data or HR
- Apply conservative discount: k_realistic ≈ raw_count × 0.15–0.30 for DTA topics
- Flag if k_realistic < 8 (DTA) or < 6 (prognostic) as ⚠️ feasibility risk
- Report both raw and realistic estimates, e.g.,
estimated k: ~130 (raw) → ~20–40 (extractable DTA data)
2h. Niche subtopic discovery (if pillar appears saturated)
- AI/radiomics angle on a classical topic
- Specific modality comparison (e.g., CEUS vs MRI)
- Treatment response (vs diagnosis which is often saturated)
- Specific subpopulation or disease subtype
- Use Consensus to check if the niche angle has already been covered
Phase 3: Topic Ranking
Goal: Rank all viable topics by composite score.
Score each candidate on 5 criteria (★1-5):
| Criteria | Weight | Description |
|---|---|---|
| Professor fit | Highest | Core area of the professor's career, publication count, distinctive contribution |
| MA gap | High | No prior MA > ≥5 yr since last MA > recent MA exists |
| Feasibility (k) | High | Number of includable studies and extractability of 2×2 or HR data |
| Clinical impact | Medium | Whether the topic directly informs clinical decision-making |
| Execution ease | Medium | Completable from literature alone; difficulty of managing heterogeneity |
Output: Ranked Topic Table
| Rank | Topic | Professor's Pillar | Prior MA | Estimated k (raw→realistic) | PROSPERO competition | Verdict |
|---|---|---|---|---|---|---|
| 1 | ... | ... | 0 | ~98 → 15–30 | None | ✅ Best fit |
Phase 4: Folder & README Scaffolding
Goal: Create project folders and README for each viable topic.
-
Folder location:
{working_dir}/ma-scout/{initials}_{professor_name}/ -
Naming convention:
(within professor folder){NN}_{topic_slug}/- Professor folder:
(e.g.,{initials}_{name}
,KDK_Kim
)LKS_Lee - NN: sequential number within professor (01, 02, ...)
- topic_slug: English, underscore-separated
- Check existing folders with
before creatingls
- Professor folder:
-
README.md template (PROSPERO-ready): Load the bilingual template block from
and copy it into${CLAUDE_SKILL_DIR}/references/project_readme_template.md
. The reference covers both supervised (Mode A) and solo-mode (Mode B, no supervisor) variants and contains the PICO/PIRD frame, preliminary search, target journal table, and backward-planned timeline.{topic_folder}/README.md
Phase 5: Output Summary
Goal: Persist findings for the user.
- Save the ranked topic table and README files to the working directory.
- Summarize: total topics scanned, viable topics found, recommended next steps.
- Suggest the user save results to their project management system (e.g.,
)./manage-project
Niche Topic Discovery Heuristics
When all major pillars are saturated (>5 prior MAs), try these angles:
- "First MA" rule: Professor's most unique/niche subtopic where MA = 0
- AI/radiomics overlay: Classical imaging topic + AI approach = new MA angle
- Treatment response: Diagnosis MAs saturated → treatment monitoring MA often open
- Modality comparison: Head-to-head (e.g., CEUS vs MRI) often underserved
- Guideline gap: Professor authored guidelines → MA supporting/updating those guidelines
- Geographic/population niche: Regional population-specific MA (e.g., parasitic diseases, TB)
- Temporal update: Last MA >5 years old + significant new primary studies since
Quality Gates
Before finalizing a topic as viable:
- Author identity confirmed — full name resolved via E-utilities efetch, no initials-only contamination
- Affiliation confirmed with user (or from reliable source)
- Confirmed MA = 0 or last MA >5 years (via PubMed E-utilities, not assumption)
- Cross-validated via Consensus/Scholar Gateway — no hidden MAs with different terminology
- bioRxiv/medRxiv checked — no preprint MA in progress
- Confirmed k_realistic ≥ 8 (DTA) or ≥ 6 (prognostic) after discount
- PROSPERO searched — no registered competing protocol found
- No 2024-2026 competing MA in press (check PubMed + preprints)
- Professor's publication record demonstrates clear authority in this area
- Research question is specific enough for PROSPERO registration
- README contains: complete PICO/PIRD, PubMed search strategy, Embase draft, target journal with IF, timeline
Handoff
After MA Scout completes:
- To
: When a topic is approved and ready for PROSPERO protocol (README has PICO + search strategy ready)/meta-analysis - To
: When project folder needs full scaffoldingmanage-project - To
: When deeper preliminary search is needed before committingsearch-lit - To
: When feasibility requires power/sample-size calculation for the estimated k/analyze-stats
Parallel Execution Strategy
For efficiency, launch multiple agents and API calls in parallel:
Phase 0 (Identity):
- E-utilities esearch:
→ total count + PMIDs (FIRST)"[Full Name]"[Author] - E-utilities efetch: top 20 PMIDs → MeSH terms → automatic pillar clustering
Phase 1 (Profile — all parallel): 3. Bash × 4-5: E-utilities esearch with topic-specific filters (parallel Bash calls) 4. WebSearch: Google Scholar profile 5. WebFetch: any provided profile URLs (skip Scopus)
Phase 2 (MA Gap — multi-source parallel): 6. Up to 4 meta-analyst agents in parallel, each covering 1-2 pillars 7. Each agent runs ALL of:
- E-utilities esearch: existing MA count + primary study count
- Consensus MCP: semantic MA search (max 3 calls total across all agents)
- Scholar Gateway: scope-overlap check
- bioRxiv/medRxiv: preprint MA detection
- PROSPERO: competition check (WebSearch)
- Each agent reports: raw k, realistic k (15-30% discount), all sources checked
Phase 3 (Ranking): Sequential, uses Phase 2 outputs.
Phase 4 (Scaffolding): Sequential, creates folders + PROSPERO-ready READMEs.
Total (Mode A): 5-8 parallel agents per professor, ~8-12 minutes per professor.
Mode B Parallel Strategy
T-Phase 0: Sequential (user interaction for scope clarification).
T-Phase 1 (Landscape — all angles in parallel):
- Per angle: Bash (PubMed MA count) + Bash (primary k) + Consensus + bioRxiv + PROSPERO
- 3-5 angles × 5 sources = 15-25 parallel calls
T-Phase 2 (Deep-dive): Same as Mode A Phase 2, only for viable angles (typically 1-2).
T-Phase 4 (Co-author — if needed): 3. Bash: PubMed author frequency search 4. WebSearch: Google Scholar profiles for top candidates
Total (Mode B): ~5-8 minutes per topic scan (faster than Mode A — no profile exploration).
Known Pitfalls (from 3 professor analyses)
- Common Korean/Asian initials (e.g., "Lee KS", "Kim DK") return 300+ papers with massive contamination. Always use full name first.
- Scopus/ScienceDirect → 403 or redirect to login. Never rely on Scopus as primary data source.
- Raw PubMed counts overestimate by 3-7x. ~130 hits often means 20-40 with extractable DTA data.
- Professor may have moved institutions. Don't assume affiliation without verification.
- Consensus rate limit: Max 3 batch calls. If rate-limited, wait 30s and retry once.
- E-utilities rate limit: 350ms between calls (100ms with NCBI_API_KEY). Scripts handle this automatically.
- bioRxiv MCP: Use
for clinical topics,server: "medrxiv"
for preclinical.server: "biorxiv"
═══════════════════════════════════════════
MODE B: TOPIC-FIRST WORKFLOW
═══════════════════════════════════════════
T-Phase 0: Topic Clarification & Scope
Goal: Refine the user's clinical question into a searchable, PROSPERO-registrable scope.
-
Parse the input — extract:
- Disease/condition (e.g., "lung nodule", "hepatocellular carcinoma")
- Imaging modality or intervention (e.g., "dual-energy CT", "AI CAD")
- Outcome type: DTA (Se/Sp), prognostic (HR/OR), intervention (RR/MD), dosimetry
- Population specifics (e.g., "screening setting", "cirrhotic patients")
-
Expand to neighboring angles — propose 3-5 variations:
user input: "AI for lung nodule malignancy prediction" → variant 1: AI vs radiologist for lung nodule malignancy prediction (DTA) → variant 2: Radiomics for lung nodule malignancy (DTA) → variant 3: Deep learning for incidental pulmonary nodule management (prognostic) → variant 4: AI-assisted Lung-RADS upgrade accuracy (DTA) → variant 5: Low-dose CT AI for lung cancer screening (DTA) -
User selects 1-3 angles to investigate further.
T-Phase 1: Landscape Scan (Multi-Source)
Goal: For each selected angle, rapidly assess the MA landscape.
Run all angles in parallel. For each angle:
1a. PubMed — Existing MA count
bash ~/.claude/skills/search-lit/references/pubmed_eutils.sh search \ '[topic keywords] AND ("meta-analysis"[pt] OR "systematic review"[pt])' 50
1b. PubMed — Primary study pool
bash ~/.claude/skills/search-lit/references/pubmed_eutils.sh search \ '[topic keywords] AND ("sensitivity" OR "specificity" OR "hazard" OR "outcome")' 100
1c. Consensus MCP — Semantic MA discovery
query: "systematic review [topic] [modality]"
Check for MAs using different terminology.
1d. bioRxiv/medRxiv — Preprint competition
query: "[topic] meta-analysis" server: "medrxiv"
1e. PROSPERO — Registered protocols
WebSearch:
site:crd.york.ac.uk/prospero [topic keywords]
Output: Landscape Summary Table
| 변형 | 기존 MA | Primary k (raw) | k (realistic) | PROSPERO | Preprint MA | 판정 |
|---|---|---|---|---|---|---|
| 1 | 3편 | 120 | 18-36 | 1건 | 0 | ⚠️ 경쟁 |
| 2 | 0편 | 85 | 13-25 | 0 | 0 | ✅ 최적 |
T-Phase 2: Feasibility Deep-Dive
Goal: For viable angles (MA ≤ 2, no PROSPERO conflict), run full gap analysis.
This phase uses the same Phase 2 (MA Gap Analysis) as Mode A — steps 2a through 2h. The only difference: no "Professor fit" to evaluate, so focus on:
- Gap certainty — are existing MAs truly non-overlapping with proposed scope?
- k quality — are primary studies heterogeneous enough to warrant MA, or too uniform?
- User's domain fit — does this align with user's radiology AI / imaging expertise?
T-Phase 3: Topic Ranking (Topic-first weights)
Goal: Rank viable topics with weights adjusted for topic-first approach.
| Criteria | Weight | Description |
|---|---|---|
| MA gap | 최고 | 기존 MA 없음 > update 기회 > 포화 |
| Feasibility (k) | 최고 | k_realistic ≥ 8 (DTA) or ≥ 6 (prognostic) |
| User domain fit | 높음 | 사용자의 전문 분야와 맞는가 |
| Clinical impact | 중간 | 가이드라인 변경 가능성, 임상 의사결정 직결 |
| Co-author availability | 중간 | 해당 분야 전문가 접근 가능성 (기존 관계 or 접근 용이) |
| Execution ease | 중간 | 단독 진행 가능 vs 전문가 해석 필수 |
Output: Ranked Topic Table
| 순위 | 주제 | 기존 MA | 추정 k | PROSPERO | Co-author 필요 | 종합 |
|---|---|---|---|---|---|---|
| 1 | ... | 0편 | 25 | 없음 | 선택적 | ✅ 최적 |
T-Phase 4: Co-Author Matching (Optional)
Goal: If the user wants a senior co-author, find candidates.
Strategy 1 — Existing network (memory-based):
- Check memory files for professors with overlapping expertise
- Cross-reference existing professor folders in the working directory
- Best match = professor whose pillar naturally covers this topic
Strategy 2 — PubMed reverse search:
# Find prolific authors in this specific topic bash ~/.claude/skills/search-lit/references/pubmed_eutils.sh search \ '[topic keywords] AND ("{user_country}"[Affiliation])' 100
Then:
- E-utilities efetch → extract author frequency from results
- Top 5 most-published authors in this niche = potential co-authors
- Cross-check Google Scholar for h-index and recent activity
Strategy 3 — Self-led (no senior co-author):
- Viable when: user has 2+ published MAs, topic is methodologically straightforward
- Still need 2nd reviewer (junior colleague or peer) — flag this in README
- Corresponding author = user
Output: Co-author recommendation table or a "solo-viable" judgment.
T-Phase 5: Folder & README Scaffolding (Topic-first)
Goal: Create project folder and PROSPERO-ready README.
-
Folder location:
{working_dir}/ma-scout/TOPIC/- Topic-first projects use
prefix (not professor initials)TOPIC/ - Naming:
(e.g.,{NN}_{Topic_Abbreviation}/
)01_AI_Lung_Nodule_DTA/ - If co-author matched later, can be moved under professor folder
- Topic-first projects use
-
README.md template: Same PROSPERO-ready template as Mode A Phase 4 (see
), with these changes:references/project_readme_template.md
→Supervisor:
orLead: {user_name}Lead: {user_name} + {co-author}- Drop the supervisor-area row; use
instead.Domain: {subspecialty} - Rename
→Professor's Authority
(user's credentials + co-author if any)Team Expertise - Timeline: drop the supervisor-proposal step → start directly at PROSPERO registration.
Timeline template (self-led):
Step Expected timing Precondition PROSPERO registration {YYYY-MM} topic confirmed Search complete +1 week PROSPERO registration Screening complete +2 weeks 2nd reviewer secured Data extraction +3 weeks screening consensus Analysis + draft +5 weeks data lock Co-author review +7 weeks draft complete Submission +8 weeks final approval -
Summary: Same as Mode A Phase 5 — save ranked results and recommend next steps.
Topic Discovery Heuristics (Mode B specific)
When the user asks for topic suggestions without a specific idea:
-
Trend scan — Search recent high-IF radiology journals for "gap in the literature" + "meta-analysis needed":
bash ~/.claude/skills/search-lit/references/pubmed_eutils.sh search \ '"no meta-analysis" AND "radiology"[Journal] AND 2024:2026[dp]' 30 -
Guideline update gaps — New guidelines (ACR, ESR, RSNA) often cite lack of MA evidence:
- Consensus search:
"practice guideline" AND "insufficient evidence" AND [radiology subspecialty]
- Consensus search:
-
AI + classical imaging — Overlay AI/DL/radiomics on well-studied classical topics:
- Many classical DTA topics have 10+ MAs, but AI angle has 0-1
-
Korean/Asian population — Population-specific MA for diseases with geographic variation:
- TB, NTM, parasitic diseases, gastric cancer, liver fluke, HBV-related HCC
-
Technology adoption — New modalities with growing evidence but no synthesis:
- Photon-counting CT, abbreviated MRI, contrast-enhanced mammography, AI CAD
-
Cross-subspecialty — Topics spanning two subspecialties often fall through MA cracks:
- Cardiac + thoracic (coronary CT + lung screening), neuro + MSK (spine imaging)
Quality Gates (Mode B specific)
Before finalizing a topic-first MA as viable:
- Clinical question refined to PICO/PIRD (not just a keyword)
- MA gap confirmed via PubMed + Consensus + Scholar Gateway + bioRxiv (all 4 sources)
- k_realistic ≥ 8 (DTA) or ≥ 6 (prognostic) after 15-30% discount
- PROSPERO searched — no competing registered protocol
- No 2024-2026 competing MA in press or preprint
- User's domain expertise sufficient for clinical interpretation (or co-author identified)
- 2nd reviewer identified or plan to recruit
- README contains: complete PICO/PIRD, PubMed + Embase search strategy, target journal with IF, timeline
- If self-led: user has ≥ 2 published MAs (otherwise, recommend co-author)
Phase 6: Pre-Proposal Pipeline (Post-Scout)
After MA Scout identifies viable topics, run the pre-proposal pipeline to prepare a "ready-to-propose" package before contacting the professor.
Pipeline Steps
-
Search Execution — E-utilities with broadened synonyms (retmax=200)
- Primary search:
[topic] AND [outcome keywords] - Existing MA search:
[topic] AND ("meta-analysis"[pt] OR "systematic review"[pt])
- Primary search:
-
Metadata Collection —
→fetch_json
(batch 40-50 PMIDs)esummary -
Title-Based Triage — Classify as INCLUDE / MAYBE / EXCLUDE
- CRITICAL: Check for existing MAs within results (initial scout may miss them)
- Separate bronchoscopic vs percutaneous (30% contamination in CBCT topics)
- Flag professor's own papers (authority evidence)
- Flag retracted papers
-
PRISMA Flow Draft — Identification → Screening → Eligibility → Included (estimated)
-
Gap Re-assessment — Update MA count, re-position if needed:
- MA=0 → "first MA" | MA=1 (>5yr) → "update MA" | MA≥3 (recent) → skip/niche
-
Output Files:
— full triage table + PRISMA flow + gap findingcandidates.md
— updated Preliminary Search section with actual numbersREADME.md
Parallel Execution
- Launch up to 4 agents per wave (each topic independent)
- Each agent: search → fetch → triage → write files → ~5-10 min
- 21 topics completed in ~1 hour with 16 parallel agents
Professor Contact Package
The pre-proposal gives the professor:
- Candidate count + gap evidence (e.g., "MA = 0, 35 studies to include")
- Clear role description (e.g., "independent screening review + discussion only")
- Urgency of PROSPERO pre-registration to secure the topic
Anti-Hallucination
- Never fabricate publication counts, h-index, or pillar classifications. All numbers must come from PubMed E-utilities API output.
- Never fabricate existing MA counts. Always verify via PubMed search + PROSPERO check before claiming "MA = 0".
- Never invent professor expertise or affiliation. Confirm with user before proceeding.
- k_realistic must use the 15-30% discount. Raw PubMed counts overestimate by 3-7x. Always report both raw and realistic estimates.
- If PubMed returns 0 or Consensus/Scholar Gateway is unavailable, state the limitation rather than guessing.