From machina-sports-sports-skills
Fetches sports news headlines and articles from RSS/Atom feeds and Google News. Searches by query, filters by date for recent updates on teams, players, transfers.
npx claudepluginhub joshuarweaver/cascade-data-analytics --plugin machina-sports-sports-skillsThis skill uses the workspace's default tool permissions.
Before writing queries, consult `references/api-reference.md` for command parameters and `references/rss-feeds.md` for curated feed URLs.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Dynamically discovers and combines enabled skills into cohesive, unexpected delightful experiences like interactive HTML or themed artifacts. Activates on 'surprise me', inspiration, or boredom cues.
Generates images from structured JSON prompts via Python script execution. Supports reference images and aspect ratios for characters, scenes, products, visuals.
Before writing queries, consult references/api-reference.md for command parameters and references/rss-feeds.md for curated feed URLs.
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")
CRITICAL: Before calling any news command, verify:
currentDate — never hardcoded.google_news=True is always paired with a query parameter.sort_by_date=True is set for any "recent" or "latest" query.Derive the current date from the system prompt's date (e.g., currentDate: 2026-02-16 means today is 2026-02-16).
after = today - 7 daysafter = today - 3 days| Command | Required | Optional | Description |
|---|---|---|---|
fetch_feed | url | Fetch an RSS/Atom feed by URL | |
fetch_items | google_news, query, url, limit, after, before, sort_by_date | Fetch news from Google News or an RSS feed |
fetch_items --google_news --query="<topic>" --limit=5 --sort_by_date=Truefetch_items --google_news --query="<topic>" --after=<7_days_ago> --sort_by_date=True --limit=10fetch_feed --url="<rss_url>".fetch_items --google_news --query="<sport> results" --after=<7_days_ago> --limit=5.Example 1: Transfer news search User says: "What's the latest Arsenal transfer news?" Actions:
after from currentDate: today minus 3 daysfetch_items(google_news=True, query="Arsenal transfer news", after=<derived_date>, sort_by_date=True, limit=10)
Result: Recent Arsenal transfer headlines with source, date, and linksExample 2: Curated RSS feed User says: "Show me BBC Sport football headlines" Actions:
fetch_feed(url="https://feeds.bbci.co.uk/sport/football/rss.xml")
Result: BBC Sport football feed title, last updated, and recent articlesExample 3: Date-filtered news User says: "Any Champions League news from this week?" Actions:
after from currentDate: today minus 7 daysfetch_items(google_news=True, query="Champions League", after=<derived_date>, sort_by_date=True, limit=10)
Result: Champions League articles from the last 7 days, sorted newest firstget_newsfetch_feed (for RSS) or fetch_items (for Google News search).search_newsfetch_items with google_news=True and a query parameter.get_headlinesfetch_items with google_news=True.If a command is not listed in the Commands table above, it does not exist.
Error: Google News returns empty results
Cause: query is missing or too narrow, or google_news=True is not set
Solution: Ensure google_news=True AND a query are both set. Try broader keywords (e.g., "Arsenal" instead of "Arsenal vs Chelsea goal")
Error: RSS feed returns an error
Cause: The feed URL may be temporarily down or the URL format has changed
Solution: Use Google News (fetch_items with google_news=True) as a fallback for the same topic
Error: Articles returned are old despite using "recent" query
Cause: sort_by_date=True is not set, or the after date filter is missing
Solution: Add sort_by_date=True and after=<today - 3 days> to ensure newest articles appear first