技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
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.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
A real-time monitoring system for identifying "incubation period" research hotspots in biological and medical sciences before they are defined by mainstream journals.
scripts/main.py plus 1 additional script(s).references/ for task-specific guidance.Python: 3.10+. Repository baseline for current packaged skills.dataclasses: unspecified. Declared in requirements.txt.feedparser: unspecified. Declared in requirements.txt.requests: unspecified. Declared in requirements.txt.textblob: unspecified. Declared in requirements.txt.requests: >=2.28.0. Declared in scripts/requirements.txt.feedparser: >=6.0.10. Declared in scripts/requirements.txt.pandas: >=1.5.0. Declared in scripts/requirements.txt.scikit-learn: >=1.1.0. Declared in scripts/requirements.txt.numpy: >=1.23.0. Declared in scripts/requirements.txt.textblob: >=0.17.1. Declared in scripts/requirements.txt.pyyaml: >=6.0. Declared in scripts/requirements.txt.See ## Usage above for related details.
cd "20260318/scientific-skills/Evidence Insight/emerging-topic-scout"
python -m py_compile scripts/main.py
python scripts/main.py --help
Example run plan:
CONFIG block or documented parameters if the script uses fixed settings.python scripts/main.py with the validated inputs.See ## Workflow above for related details.
scripts/main.py with additional helper scripts under scripts/.references/ contains supporting rules, prompts, or checklists.Use this command to verify that the packaged script entry point can be parsed before deeper execution.
python -m py_compile scripts/main.py
Use these concrete commands for validation. They are intentionally self-contained and avoid placeholder paths.
python -m py_compile scripts/main.py
python scripts/smoke_test.py
The primary script depends on optional external packages such as textblob and live-source access. Audit validation therefore uses scripts/smoke_test.py as the deterministic fallback command for structural verification in constrained environments.
This skill continuously monitors:
It uses trend analysis algorithms to detect sudden spikes in topic frequency, cross-platform mentions, and emerging keyword clusters.
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 30
# bioRxiv/medRxiv may return 0 results due to Cloudflare protection
python scripts/main.py --sources biorxiv medrxiv --days 30 # May not work
cd /Users/z04030865/.openclaw/workspace/skills/emerging-topic-scout
pip install -r scripts/requirements.txt
python scripts/main.py --sources arxiv --days 7 --output json
python scripts/main.py --sources biorxiv medrxiv --days 7 --output json
python scripts/main.py \
--sources arxiv \
--keywords "CRISPR,gene editing,machine learning" \
--days 14 \
--min-score 0.7 \
--output markdown \
--notify
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
}
}
# Emerging Topics Report - 2026-02-06
## 🔥 High Priority Topics
### 1. Gene Editing Therapy (Score: 0.89)
- **Keywords**: CRISPR, base editing, prime editing
- **Growth Rate**: Rapid (+145% vs last week)
- **Preprints**: 34 papers
- **Cross-platform mentions**: 127
#### Key Papers
1. "New CRISPR variant shows promise" - Smith J. et al.
- DOI: 10.1101/2026.01.15.xxxxx
- Source: bioRxiv
Create config.yaml for persistent settings:
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
The trending score (0-1) is calculated using:
Score = (Novelty × 0.4) + (Momentum × 0.4) + (CrossRef × 0.2)
Where:
- Novelty: Inverse frequency of topic in historical data
- Momentum: Rate of increase in mentions over velocity window
- CrossRef: Mentions across multiple platforms
https://api.biorxiv.org//details/[server]/[DOI]/[format]/pub/[DOI]/[format]Historical data is stored in data/history.json for:
python scripts/main.py --sources arxiv --days 1 --output markdown
python scripts/main.py --sources biorxiv --days 1 --output markdown
# Note: May return 0 results due to Cloudflare protection
### Example 2: Weekly Deep Analysis
```text
python scripts/main.py \
--days 7 \
--min-score 0.7 \
--max-topics 50 \
--output json \
> weekly_report.json
python scripts/main.py \
--keywords "Alzheimer,neurodegeneration,amyloid" \
--days 30 \
--min-score 0.5
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:
Workaround: ✅ Use arXiv instead
Usage:
# Recommended: Use arXiv
python scripts/main.py --sources arxiv --days 30
# Not working: bioRxiv/medRxiv
python scripts/main.py --sources biorxiv medrxiv --days 30 # Returns 0 papers
See references/README.md for:
MIT License - Part of OpenClaw Skills Collection
Every final response should make these items explicit when they are relevant:
scripts/main.py fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.This skill accepts requests that match the documented purpose of emerging-topic-scout and include enough context to complete the workflow safely.
Do not continue the workflow when the request is out of scope, missing a critical input, or would require unsupported assumptions. Instead respond:
emerging-topic-scoutonly handles its documented workflow. Please provide the missing required inputs or switch to a more suitable skill.
Use the following fixed structure for non-trivial requests:
If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.