Sports News
Quick Start
Prefer the CLI — it avoids Python import path issues:
sports-skills news fetch_items --google_news --query="Arsenal transfer" --limit=5
sports-skills news fetch_feed --url="https://feeds.bbci.co.uk/sport/football/rss.xml"
Python SDK (alternative):
from sports_skills import news
articles = news.fetch_items(google_news=True, query="Arsenal transfer news", limit=10)
feed = news.fetch_feed(url="https://feeds.bbci.co.uk/sport/football/rss.xml")
Important Notes
google_news=True requires a query. Without a query, Google News has nothing to search.
url and google_news are mutually exclusive. Use one or the other, not both.
- Always use
sort_by_date=True for recency queries to show newest articles first.
- Before complex fetches, run the parameter validator:
bash scripts/validate_params.sh [args]
For detailed reference data, see the files in the references/ directory.
Choosing Dates
Derive the current date from the system prompt's date (e.g., currentDate: 2026-02-16 means today is 2026-02-16).
- If the user specifies a date range, use it as-is.
- If the user says "recent", "latest", "this week", or doesn't specify a timeframe: Derive
after from the system date. For "this week", use after = today - 7 days. For "recent" or "latest", use after = today - 3 days.
- Never hardcode dates in commands. Always derive them from the system date.
- Always use
sort_by_date=True for recency queries to show newest articles first.
Workflows
Workflow: Breaking News Check
fetch_items --google_news --query="<topic>" --limit=5 --sort_by_date=True
- Present headlines with source and date.
Workflow: Topic Deep-Dive
fetch_items --google_news --query="<topic>" --after=<7_days_ago> --sort_by_date=True --limit=10
- For curated sources, also try
fetch_feed --url="<rss_url>".
- Cross-reference both for comprehensive coverage.
Workflow: Weekly Sports Roundup
- For each sport of interest,
fetch_items --google_news --query="<sport> results" --after=<7_days_ago> --limit=5.
- Aggregate and present by sport.
Examples
User: "What's the latest Arsenal transfer news?"
- Call
fetch_items(google_news=True, query="Arsenal transfer news", limit=10)
- Present headlines with source, date, and links
User: "Show me BBC Sport football headlines"
- Call
fetch_feed(url="https://feeds.bbci.co.uk/sport/football/rss.xml")
- Present feed title, last updated, and recent entries
User: "Any Champions League news from this week?"
- Derive
after from system date: today minus 7 days
- Call
fetch_items(google_news=True, query="Champions League", after=<derived_date>, sort_by_date=True, limit=10)
- Present articles filtered to the last 7 days, sorted newest first
Error Handling & Fallbacks
- If Google News returns empty, ensure
google_news=True AND query are both set. Try broader keywords.
- If RSS feed returns error, feed may be down. Use Google News as fallback.
- If articles are old, use
after parameter with date and sort_by_date=True.
- Never fabricate news headlines or article content. If no results, state so.
1---2name: sports-news-23description: Sports news via RSS/Atom feeds and Google News. Fetch headlines, search by query, filter by date. Covers football news, transfer rumors, match reports, and any sport via Google News. Use when: user asks for recent news, headlines, transfer rumors, or articles about any sport. Good for "what's the latest on [team/player]" questions. Supports any Google News query and curated RSS feeds (BBC Sport, ESPN, The Athletic, Sky Sports). Don't use when: user asks for structured data like standings, scores, statistics, or xG — use the sport-specific skill instead: football-data (soccer), nfl-data (NFL), nba-data (NBA), wnba-data (WNBA), nhl-data (NHL), mlb-data (MLB), tennis-data (tennis), golf-data (golf), cfb-data (college football), cbb-data (college basketball), or fastf1 (F1). Don't use for prediction market odds — use polymarket or kalshi. News results are text articles, not structured data.4license: MIT5---67# Sports News89## Quick Start1011Prefer the CLI — it avoids Python import path issues:12```bash13sports-skills news fetch_items --google_news --query="Arsenal transfer" --limit=514sports-skills news fetch_feed --url="https://feeds.bbci.co.uk/sport/football/rss.xml"15```1617Python SDK (alternative):18```python19from sports_skills import news2021articles = news.fetch_items(google_news=True, query="Arsenal transfer news", limit=10)22feed = news.fetch_feed(url="https://feeds.bbci.co.uk/sport/football/rss.xml")23```2425## Important Notes2627- **`google_news=True` requires a `query`.** Without a query, Google News has nothing to search.28- **`url` and `google_news` are mutually exclusive.** Use one or the other, not both.29- **Always use `sort_by_date=True`** for recency queries to show newest articles first.30- Before complex fetches, run the parameter validator: `bash scripts/validate_params.sh [args]`3132*For detailed reference data, see the files in the `references/` directory.*3334## Choosing Dates3536Derive the current date from the system prompt's date (e.g., `currentDate: 2026-02-16` means today is 2026-02-16).3738- **If the user specifies a date range**, use it as-is.39- **If the user says "recent", "latest", "this week", or doesn't specify a timeframe**: Derive `after` from the system date. For "this week", use `after = today - 7 days`. For "recent" or "latest", use `after = today - 3 days`.40- **Never hardcode dates in commands.** Always derive them from the system date.41- **Always use `sort_by_date=True`** for recency queries to show newest articles first.4243## Workflows4445### Workflow: Breaking News Check461. `fetch_items --google_news --query="<topic>" --limit=5 --sort_by_date=True`472. Present headlines with source and date.4849### Workflow: Topic Deep-Dive501. `fetch_items --google_news --query="<topic>" --after=<7_days_ago> --sort_by_date=True --limit=10`512. For curated sources, also try `fetch_feed --url="<rss_url>"`.523. Cross-reference both for comprehensive coverage.5354### Workflow: Weekly Sports Roundup551. For each sport of interest, `fetch_items --google_news --query="<sport> results" --after=<7_days_ago> --limit=5`.562. Aggregate and present by sport.5758## Examples5960User: "What's the latest Arsenal transfer news?"611. Call `fetch_items(google_news=True, query="Arsenal transfer news", limit=10)`622. Present headlines with source, date, and links6364User: "Show me BBC Sport football headlines"651. Call `fetch_feed(url="https://feeds.bbci.co.uk/sport/football/rss.xml")`662. Present feed title, last updated, and recent entries6768User: "Any Champions League news from this week?"691. Derive `after` from system date: today minus 7 days702. Call `fetch_items(google_news=True, query="Champions League", after=<derived_date>, sort_by_date=True, limit=10)`713. Present articles filtered to the last 7 days, sorted newest first7273## Error Handling & Fallbacks7475- If Google News returns empty, ensure `google_news=True` AND `query` are both set. Try broader keywords.76- If RSS feed returns error, feed may be down. Use Google News as fallback.77- If articles are old, use `after` parameter with date and `sort_by_date=True`.78- **Never fabricate news headlines or article content.** If no results, state so.