- name
- generate-daily-sports-update
- description
- Automated sports science intelligence engine — fetches 55+ sources (PubMed, expert blogs, wearable tech), filters noise, translates to Chinese, and syncs to Feishu/Notion.
- metadata
- user-invocable
- true
Sports Science Daily — AI Agent Skill
An automated intelligence engine that aggregates 55+ global sports science sources into a single daily report, with smart filtering, auto-translation, and multi-platform sync.
What It Does
- Fetches peer-reviewed papers from 23 PubMed journals (BJSM, Sports Medicine, JSCR, MSSE, etc.)
- Crawls RSS feeds from 14 expert blogs/podcasts (Huberman, Attia, Nuckols, Dr. Mike, NSCA, etc.)
- Monitors 18 industry sources (The Quantified Scientist, DC Rainmaker, Oura, Garmin, ScienceDaily, ACSM, etc.)
- Filters noise using a 4-layer keyword system (positive/research/strong/negative keywords + trusted source whitelist)
- Translates all content to Chinese (or any target language) via Google Translate API
- Sorts each section by date (newest first)
- Deduplicates against local history to prevent repeat content
- Syncs the final report as a Feishu Cloud Document with notification card, and optionally to Notion
Prerequisites
- Python 3.8+ with
feedparserandrequestsinstalled (pip3 install -r requirements.txt) - Feishu App Credentials (for cloud document sync):
- FEISHU_APP_ID: Feishu app ID - FEISHU_APP_SECRET: Feishu app secret - FEISHU_RECEIVE_ID: Target user/chat ID for message card
- (Optional) Notion Integration for Notion page sync:
- NOTION_TOKEN and NOTION_PAGE_ID
Instructions
- Navigate to the project directory:
Ensure you are in the sports-science-daily project root.
- Run the update:
python3 main.py --days 2- Available options:
| Flag | Default | Description |
|---|---|---|
--days N | 7 | Lookback period in days |
--no-history | off | Force re-fetch all items (ignore dedup) |
--no-bloggers | off | Skip blogger feeds, only industry + PubMed |
--lang LANG | zh-CN | Output language (en, es, ja, etc.) |
- Output:
- Local Markdown file: YYYY-MM-DD_运动科学日报.md - Feishu Cloud Document (auto-created with shareable link) - Feishu message card sent to configured recipient - Updated processed_history.json for deduplication
- "No New Content" scenario:
If output shows "🎉 没有发现新内容", increase --days or use --no-history.
Project Architecture
main.py # CLI entry point
src/
├── config.py # All sources, journals, blocklists
├── crawler.py # RSS + PubMed API fetching
├── formatter.py # Markdown generation + keyword filtering
├── translator.py # Google Translate API
├── history.py # Deduplication management
└── exporters/
├── feishu.py # Feishu cloud doc sync + message card
└── notion.py # Notion page syncSecurity & Privacy
- External APIs: PubMed (eutils.ncbi.nlm.nih.gov), Google Translate, Feishu OpenAPI, Notion API, various RSS feeds
- Local files: Reads/writes
processed_history.jsonand.mdreports - No PII exposure: Only fetches public research data and news feeds