Sports Science Daily

v1.0.0

Automated sports science intelligence engine — fetches 55+ sources (PubMed, expert blogs, wearable tech), filters noise, translates to Chinese, and syncs to...

0· 276· 1 versions· 0 current· 0 all-time· Updated 24m ago· MIT-0

Install

openclaw skills install sport-science-review

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

  1. Fetches peer-reviewed papers from 23 PubMed journals (BJSM, Sports Medicine, JSCR, MSSE, etc.)
  2. Crawls RSS feeds from 14 expert blogs/podcasts (Huberman, Attia, Nuckols, Dr. Mike, NSCA, etc.)
  3. Monitors 18 industry sources (The Quantified Scientist, DC Rainmaker, Oura, Garmin, ScienceDaily, ACSM, etc.)
  4. Filters noise using a 4-layer keyword system (positive/research/strong/negative keywords + trusted source whitelist)
  5. Translates all content to Chinese (or any target language) via Google Translate API
  6. Sorts each section by date (newest first)
  7. Deduplicates against local history to prevent repeat content
  8. Syncs the final report as a Feishu Cloud Document with notification card, and optionally to Notion

Prerequisites

  • Python 3.8+ with feedparser and requests installed (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

  1. Navigate to the project directory: Ensure you are in the sports-science-daily project root.

  2. Run the update:

    python3 main.py --days 2
    
  3. Available options:

    FlagDefaultDescription
    --days N7Lookback period in days
    --no-historyoffForce re-fetch all items (ignore dedup)
    --no-bloggersoffSkip blogger feeds, only industry + PubMed
    --lang LANGzh-CNOutput language (en, es, ja, etc.)
  4. 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
  5. "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 sync

Security & Privacy

  • External APIs: PubMed (eutils.ncbi.nlm.nih.gov), Google Translate, Feishu OpenAPI, Notion API, various RSS feeds
  • Local files: Reads/writes processed_history.json and .md reports
  • No PII exposure: Only fetches public research data and news feeds

Version tags

latestvk970357wvbjh5bb3cssq3ragnd829x5wsport health sports researchvk970357wvbjh5bb3cssq3ragnd829x5w