Emerging Topic Scout
by @aipoch-ai
Monitor bioRxiv/medRxiv preprints and academic discussions to identify emerging research hotspots before they appear in mainstream journals
clawhub install emerging-topic-scoutπ About This Skill
name: emerging-topic-scout description: Monitor bioRxiv/medRxiv preprints and academic discussions to identify emerging research hotspots before they appear in mainstream journals version: 1.0.0 category: Research tags: [] author: AIPOCH license: MIT status: Draft risk_level: High skill_type: Hybrid (Tool/Script + Network/API) owner: AIPOCH reviewer: '' last_updated: '2026-02-06'
Emerging Topic Scout
A real-time monitoring system for identifying "incubation period" research hotspots in biological and medical sciences before they are defined by mainstream journals.
Overview
This skill continuously monitors:
It uses trend analysis algorithms to detect sudden spikes in topic frequency, cross-platform mentions, and emerging keyword clusters.
β οΈ Network Access Notice
bioRxiv and medRxiv are currently protected by Cloudflare JavaScript Challenge, which prevents programmatic RSS access. As a workaround, this skill now supports arXiv q-bio (Quantitative Biology) as an alternative data source.
Recommended usage:
# Use arXiv for reliable data fetching
python scripts/main.py --sources arxiv --days 30bioRxiv/medRxiv may return 0 results due to Cloudflare protection
python scripts/main.py --sources biorxiv medrxiv --days 30 # May not work
Installation
cd /Users/z04030865/.openclaw/workspace/skills/emerging-topic-scout
pip install -r scripts/requirements.txt
Usage
Basic Scan (Recommended: Use arXiv)
python scripts/main.py --sources arxiv --days 7 --output json
Legacy bioRxiv/medRxiv (May not work due to Cloudflare)
python scripts/main.py --sources biorxiv medrxiv --days 7 --output json
Advanced Configuration (arXiv Recommended)
python scripts/main.py \
--sources arxiv \
--keywords "CRISPR,gene editing,machine learning" \
--days 14 \
--min-score 0.7 \
--output markdown \
--notify
Legacy Configuration (bioRxiv/medRxiv - May not work)
python scripts/main.py \
--sources biorxiv medrxiv \
--keywords "CRISPR,gene editing,long COVID" \
--days 14 \
--min-score 0.7 \
--output markdown \
--notify
Note: bioRxiv/medRxiv may return 0 results due to Cloudflare protection
Parameters
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| --sources | list | arxiv | Data sources to monitor (arxiv recommended due to Cloudflare issues with biorxiv/medrxiv) |
| --keywords | string | (auto-detect) | Comma-separated keywords to track |
| --days | int | 7 | Lookback period in days |
| --min-score | float | 0.6 | Minimum trending score (0-1) |
| --max-topics | int | 20 | Maximum topics to return |
| --output | string | markdown | Output format: json, markdown, csv |
| --notify | flag | false | Send notification for high-priority topics |
| --config | path | config.yaml | Path to configuration file |
Output Format
JSON Output
json
{
"scan_date": "2026-02-06T05:57:00Z",
"sources": ["biorxiv", "medrxiv"],
"hot_topics": [
{
"topic": "gene editing therapy",
"keywords": ["CRISPR", "base editing", "prime editing"],
"trending_score": 0.89,
"velocity": "rapid",
"preprint_count": 34,
"cross_platform_mentions": 127,
"related_papers": [
{
"title": "New CRISPR variant shows promise",
"authors": ["Smith J.", "Lee K."],
"doi": "10.1101/2026.01.15.xxxxx",
"source": "biorxiv",
"published": "2026-01-15",
"abstract_summary": "..."
}
],
"emerging_since": "2026-01-20"
}
],
"summary": {
"total_papers_analyzed": 1247,
"new_topics_detected": 8,
"high_priority_alerts": 2
}
}
Markdown Output
markdown
Emerging Topics Report - 2026-02-06
π₯ High Priority Topics
1. Gene Editing Therapy (Score: 0.89)
#### Key Papers 1. "New CRISPR variant shows promise" - Smith J. et al. - DOI: 10.1101/2026.01.15.xxxxx - Source: bioRxiv
Configuration File
Create config.yaml for persistent settings:
yaml
sources:
arxiv:
enabled: true
rss_url: "https://export.arxiv.org/rss/q-bio"
description: "arXiv Quantitative Biology - Recommended (no Cloudflare)"
biorxiv:
enabled: false # Disabled due to Cloudflare protection
rss_url: "https://www.biorxiv.org/rss/recent.rss"
api_endpoint: "https://api.biorxiv.org/details/"
note: "Currently blocked by Cloudflare JavaScript Challenge"
medrxiv:
enabled: false # Disabled due to Cloudflare protection
rss_url: "https://www.medrxiv.org/rss/recent.rss"
api_endpoint: "https://api.medrxiv.org/details/"
note: "Currently blocked by Cloudflare JavaScript Challenge"trending: min_papers_threshold: 5 velocity_window_days: 3 novelty_weight: 0.4 momentum_weight: 0.6
keywords: auto_detect: true custom_trackers: - "artificial intelligence" - "machine learning" - "single cell" - "spatial transcriptomics"
output: default_format: markdown save_history: true history_path: "./data/history.json"
notifications: enabled: false high_score_threshold: 0.8
Trending Score Algorithm
The trending score (0-1) is calculated using:
Score = (Novelty Γ 0.4) + (Momentum Γ 0.4) + (CrossRef Γ 0.2)Where:
API Endpoints
bioRxiv API
Base: https://api.biorxiv.org/
Details: /details/[server]/[DOI]/[format]
Publication: /pub/[DOI]/[format] medRxiv API
Same structure as bioRxiv Data Storage
Historical data is stored in data/history.json for:
Trend comparison
Velocity calculation
Duplicate detection Examples
Example 1: Quick Daily Scan (arXiv - Recommended)
bash
python scripts/main.py --sources arxiv --days 1 --output markdown
Example 2: Daily Scan with bioRxiv (May not work)
bash
python scripts/main.py --sources biorxiv --days 1 --output markdown
Note: May return 0 results due to Cloudflare protection
Example 2: Weekly Deep Analysis
python scripts/main.py \
--days 7 \
--min-score 0.7 \
--max-topics 50 \
--output json \
> weekly_report.json
Example 3: Track Specific Research Area
python scripts/main.py \
--keywords "Alzheimer,neurodegeneration,amyloid" \
--days 30 \
--min-score 0.5
Known Issues
bioRxiv/medRxiv Cloudflare Protection
Status: β Blocked Issue: bioRxiv and medRxiv RSS feeds are protected by Cloudflare JavaScript Challenge, which prevents programmatic access. The site returns an HTML page requiring JavaScript execution and cookie validation.Attempted Solutions: 1. β Added browser User-Agent headers β Failed (Cloudflare detects bot) 2. β Added complete browser headers (Accept, Accept-Language, etc.) β Failed 3. β Browser automation (Selenium/Playwright) β Not implemented (complex, heavy dependency)
Workaround: β Use arXiv instead
Usage:
# Recommended: Use arXiv
python scripts/main.py --sources arxiv --days 30Not working: bioRxiv/medRxiv
python scripts/main.py --sources biorxiv medrxiv --days 30 # Returns 0 papers
Troubleshooting
Rate Limiting
If you encounter rate limits, increase the--delay parameter (default: 1s between requests).Missing Papers (0 results from bioRxiv/medRxiv)
This is expected due to Cloudflare protection. Use--sources arxiv instead.RSS Feed Access Denied
Some institutional firewalls may block preprint servers. Ensure you can access:https://export.arxiv.org/rss/q-bio (should work)https://www.biorxiv.org/rss/recent.rss (Cloudflare blocked)Low Trending Scores
For niche topics, lower--min-score threshold or increase --days for more data.References
See references/README.md for:
License
MIT License - Part of OpenClaw Skills Collection
Risk Assessment
| Risk Indicator | Assessment | Level | |----------------|------------|-------| | Code Execution | Python scripts with tools | High | | Network Access | External API calls | High | | File System Access | Read/write data | Medium | | Instruction Tampering | Standard prompt guidelines | Low | | Data Exposure | Data handled securely | Medium |
Security Checklist
Prerequisites
# Python dependencies
pip install -r requirements.txt
Evaluation Criteria
Success Metrics
Test Cases
1. Basic Functionality: Standard input β Expected output 2. Edge Case: Invalid input β Graceful error handling 3. Performance: Large dataset β Acceptable processing timeLifecycle Status
π‘ Examples
Example 1: Quick Daily Scan (arXiv - Recommended)
python scripts/main.py --sources arxiv --days 1 --output markdown
Example 2: Daily Scan with bioRxiv (May not work)
python scripts/main.py --sources biorxiv --days 1 --output markdown
Note: May return 0 results due to Cloudflare protection
Example 2: Weekly Deep Analysis
bash
python scripts/main.py \
--days 7 \
--min-score 0.7 \
--max-topics 50 \
--output json \
> weekly_report.json
Example 3: Track Specific Research Area
bash
python scripts/main.py \
--keywords "Alzheimer,neurodegeneration,amyloid" \
--days 30 \
--min-score 0.5
```βοΈ Configuration
# Python dependencies
pip install -r requirements.txt
π Tips & Best Practices
Rate Limiting
If you encounter rate limits, increase the--delay parameter (default: 1s between requests).Missing Papers (0 results from bioRxiv/medRxiv)
This is expected due to Cloudflare protection. Use--sources arxiv instead.RSS Feed Access Denied
Some institutional firewalls may block preprint servers. Ensure you can access:https://export.arxiv.org/rss/q-bio (should work)https://www.biorxiv.org/rss/recent.rss (Cloudflare blocked)Low Trending Scores
For niche topics, lower--min-score threshold or increase --days for more data.