News Sentiment Scanner

v1.1.0

Scan news sources and RSS feeds for events that could move prediction market prices. Score headlines for market impact, flag urgent stories, and cross-refere...

0· 122· 2 versions· 1 current· 1 all-time· Updated 10h ago· MIT-0

Install

openclaw skills install news-sentiment-scanner

News Sentiment Scanner

Scan news and RSS feeds for market-moving events, score headline sentiment, and flag prediction market trading opportunities.

When to Use

Use this skill when the user asks about:

  • Breaking news that could affect prediction markets
  • Scanning news for trading opportunities
  • Sentiment analysis of current headlines
  • Market-moving events in sports, politics, or economics
  • News-driven trading signals
  • Whether any recent news affects open positions

RSS Feed Sources

Default feeds covering key prediction market verticals:

VerticalFeed URL
General Breakinghttps://feeds.apnews.com/rss/apf-topnews
World Newshttps://feeds.reuters.com/reuters/topNews
US Politicshttps://feeds.apnews.com/rss/apf-politics
Sportshttps://www.espn.com/espn/rss/news
Economicshttps://feeds.reuters.com/reuters/businessNews
Cryptohttps://cointelegraph.com/rss

The agent may add or substitute feeds based on context (e.g., if the user trades sports markets, prioritize ESPN).

Operations

1. Scan RSS Feeds for Headlines

Fetch the latest headlines from all configured feeds:

for FEED_URL in \
  "https://feeds.apnews.com/rss/apf-topnews" \
  "https://feeds.reuters.com/reuters/topNews" \
  "https://feeds.apnews.com/rss/apf-politics" \
  "https://www.espn.com/espn/rss/news" \
  "https://feeds.reuters.com/reuters/businessNews" \
  "https://cointelegraph.com/rss"; do
  curl -s "$FEED_URL" | python3 -c "
import sys, xml.etree.ElementTree as ET
from datetime import datetime, timezone
try:
    tree = ET.parse(sys.stdin)
    root = tree.getroot()
    source = root.find('.//channel/title')
    src = source.text if source is not None else 'Unknown'
    for item in root.findall('.//item')[:10]:
        title = item.find('title')
        link = item.find('link')
        pub = item.find('pubDate')
        t = title.text if title is not None else ''
        l = link.text if link is not None else ''
        p = pub.text if pub is not None else ''
        print(f'{src}|{t}|{l}|{p}')
except: pass
"
done

## About

Built by [AgentBets](https://agentbets.ai) — full tutorial at [agentbets.ai/guides/openclaw-news-sentiment-scanner-skill/](https://agentbets.ai/guides/openclaw-news-sentiment-scanner-skill/).

Part of the [OpenClaw Skills series](https://agentbets.ai/guides/#openclaw-skills) for the [Agent Betting Stack](https://agentbets.ai/guides/agent-betting-stack/).

Version tags

agentbetsvk972ntcn5ep58c4yn75fvkq3ks83kmdsbettingvk972ntcn5ep58c4yn75fvkq3ks83kmdslatestvk972ntcn5ep58c4yn75fvkq3ks83kmdsopenclawvk972ntcn5ep58c4yn75fvkq3ks83kmdsprediction-marketsvk972ntcn5ep58c4yn75fvkq3ks83kmdssports-bettingvk972ntcn5ep58c4yn75fvkq3ks83kmds

Runtime requirements

📰 Clawdis
Binscurl, jq, python3