Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Medical deep research agent with reasoning chain analysis
.claude/skills/brycewang-stanford-med-researcher-r1-guide/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -23% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -24% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -8% | 0% |
MedResearcher-R1 is a medical deep research agent that combines clinical reasoning chains with iterative literature search to answer complex medical questions. Unlike general research agents, it is specialized for medical evidence — understanding clinical trial designs, PICO frameworks, evidence hierarchies, and medical terminology. Uses reasoning chain analysis (R1) to decompose clinical questions and systematically gather evidence.
Clinical Question
↓
R1 Reasoning Chain (decompose into sub-questions)
↓
Medical Search Agent
├── PubMed (MeSH terms)
├── ClinicalTrials.gov
├── Cochrane Library
└── WHO ICTRP
↓
Evidence Extraction Agent
├── PICO extraction
├── Study design classification
├── Outcome extraction
└── Risk of bias assessment
↓
Synthesis Agent (evidence grading)
↓
Clinical Answer + Evidence Reportpythonfrom med_researcher_r1 import MedResearcherR1 researcher = MedResearcherR1( llm_provider="anthropic", search_backends=["pubmed", "clinical_trials", "cochrane"], ) # Complex clinical question result = researcher.research( question="In patients with treatment-resistant depression, " "how does psilocybin-assisted therapy compare to " "esketamine in terms of remission rates and " "long-term outcomes?", evidence_level="systematic", # systematic, rapid, scoping max_papers=50, ) print(result.summary) print(f"\nEvidence quality: {result.evidence_grade}") print(f"Papers analyzed: {len(result.papers)}")
python# Inspect the R1 reasoning chain for step in result.reasoning_chain: print(f"\nStep {step.number}: {step.type}") print(f" Question: {step.question}") print(f" Strategy: {step.search_strategy}") print(f" Findings: {step.key_finding}") print(f" Next: {step.next_action}") # Example chain: # Step 1: DECOMPOSE — Split into psilocybin efficacy, # esketamine efficacy, head-to-head comparisons # Step 2: SEARCH — PubMed: psilocybin depression RCT # Step 3: EXTRACT — 3 RCTs found, extract PICO + outcomes # Step 4: SEARCH — PubMed: esketamine depression outcomes # Step 5: SYNTHESIZE — Compare evidence, note no direct # head-to-head trials exist # Step 6: CONCLUDE — Indirect comparison with caveats
python# GRADE methodology for evidence quality for paper in result.papers[:5]: print(f"\n{paper.title} ({paper.year})") print(f" Design: {paper.study_design}") print(f" Sample: {paper.sample_size}") print(f" Grade: {paper.evidence_grade}") print(f" Risk of bias: {paper.risk_of_bias}") # Aggregate evidence print(f"\nOverall certainty: {result.certainty}") # HIGH / MODERATE / LOW / VERY LOW print(f"Recommendation: {result.recommendation}")
pythonresearcher = MedResearcherR1( search_config={ "pubmed": { "use_mesh": True, "date_range": "2019/01/01:2025/12/31", "article_types": [ "Randomized Controlled Trial", "Meta-Analysis", "Systematic Review", ], }, "clinical_trials": { "status": ["Completed", "Active, not recruiting"], "phase": ["Phase 3", "Phase 4"], }, }, reasoning_config={ "max_chain_length": 10, "reflection_enabled": True, "uncertainty_explicit": True, }, )
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 17,003 | 17,190 | +1% | 1 | 1 | 0% | 3,200 | 3,444 | +8% | 0 | 0 | — |
case-02 | fail→pass | 20,498 | 9,214 | -55% | 1 | 1 | 0% | 3,946 | 3,039 | -23% | 0 | 0 | — |
case-03 | fail→pass | 13,778 | 26,436 | +92% | 1 | 1 | 0% | 2,511 | 2,326 | -7% | 0 | 0 | — |
case-04 | fail→pass | 12,423 | 3,675 | -70% | 1 | 1 | 0% | 2,181 | 1,661 | -24% | 0 | 0 | — |
case-05 | fail→pass | 12,354 | 3,703 | -70% | 1 | 1 | 0% | 1,942 | 1,795 | -8% | 0 | 0 | — |
case-06 | pass→pass | 8,126 | 3,488 | -57% | 1 | 1 | 0% | 1,284 | 1,725 | +34% | 0 | 0 | — |
case-07 | fail→pass | 13,142 | 5,724 | -56% | 1 | 1 | 0% | 2,360 | 2,198 | -7% | 0 | 0 | — |
case-17 | pass→pass | 8,508 | 4,326 | -49% | 1 | 1 | 0% | 1,466 | 1,972 | +35% | 0 | 0 | — |
case-08 | pass→pass | 10,189 | 4,086 | -60% | 1 | 1 | 0% | 1,825 | 1,957 | +7% | 0 | 0 | — |
case-09 | fail→pass | 13,439 | 5,028 | -63% | 1 | 1 | 0% | 2,363 | 2,145 | -9% | 0 | 0 | — |
case-10 | pass→pass | 11,921 | 2,844 | -76% | 1 | 1 | 0% | 2,058 | 1,644 | -20% | 0 | 0 | — |
case-11 | fail→pass | 11,335 | 4,170 | -63% | 1 | 1 | 0% | 1,569 | 1,866 | +19% | 0 | 0 | — |
case-12 | pass→pass | 10,221 | 3,699 | -64% | 1 | 1 | 0% | 1,754 | 1,798 | +3% | 0 | 0 | — |
case-13 | fail→pass | 12,180 | 3,608 | -70% | 1 | 1 | 0% | 1,974 | 1,797 | -9% | 0 | 0 | — |
case-14 | pass→pass | 5,117 | 2,824 | -45% | 1 | 1 | 0% | 787 | 1,628 | +107% | 0 | 0 | — |
case-15 | pass→pass | 8,782 | 3,177 | -64% | 1 | 1 | 0% | 1,381 | 1,696 | +23% | 0 | 0 | — |
case-16 | pass→pass | 14,685 | 10,354 | -29% | 1 | 1 | 0% | 2,350 | 2,811 | +20% | 0 | 0 | — |
case-18 | fail→pass | 10,164 | 3,531 | -65% | 1 | 1 | 0% | 1,578 | 1,754 | +11% | 0 | 0 | — |
case-19 | pass→pass | 5,896 | 2,081 | -65% | 1 | 1 | 0% | 970 | 1,408 | +45% | 0 | 0 | — |
case-20 | pass→pass | 14,168 | 16,539 | +17% | 1 | 1 | 0% | 2,658 | 4,768 | +79% | 0 | 0 | — |
case-21 | pass→pass | 18,202 | 21,849 | +20% | 1 | 1 | 0% | 4,085 | 5,830 | +43% | 0 | 0 | — |
case-22 | pass→pass | 20,550 | 15,820 | -23% | 1 | 1 | 0% | 4,262 | 4,446 | +4% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +45 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.