Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
alsk1992 avatar

Feeds

  • 15 installs
  • 610 repo stars
  • Updated June 26, 2026
  • alsk1992/cloddsbot

Feeds is a Claude Code skill that provides real-time and historical market data from 8 prediction-market platforms with search, prices, orderbooks, and live subscriptions.

About

Feeds is a market-data skill that aggregates real-time and historical data from eight prediction-market platforms including Polymarket, Kalshi, Manifold, and Drift. A developer uses /feed commands or the createFeedManager TypeScript API to search markets, get prices and orderbooks, subscribe to live updates, fetch news, and run edge and Kelly analysis. Read-only access needs no credentials for several platforms.

  • Real-time and historical market data from 8 prediction-market platforms
  • Searches markets, gets prices and orderbooks, and subscribes to live price/trade updates
  • Adds news retrieval, edge analysis vs external models, and Kelly-fraction calculation

Feeds by the numbers

  • 15 all-time installs (skills.sh)
  • Ranked #745 of 1,106 Finance & Trading skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

feeds capabilities & compatibility

Read-only access needs no credentials for several platforms; API keys are optional for platforms that support trading.

Capabilities
market search · price feed · orderbook · realtime subscription · news retrieval · edge analysis
Use cases
data analysis · trading · web search
Pricing
Freemium
From the docs

What feeds says it does

Real-time and historical market data from Polymarket, Kalshi, Manifold, Metaculus, PredictIt, Drift, Betfair, and Smarkets.
SKILL.md
Subscribe to price updates
SKILL.md
npx skills add https://github.com/alsk1992/cloddsbot --skill feeds

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs15
repo stars610
Last updatedJune 26, 2026
Repositoryalsk1992/cloddsbot

What it does

Aggregate real-time and historical prices, orderbooks, and news from 8 prediction-market platforms into one interface.

Who is it for?

Aggregating and subscribing to market data across Polymarket, Kalshi, Manifold, and more.

Skip if: Trading execution (use the execution or drift skills) or non-prediction-market data.

When should I use this skill?

You want unified real-time prices, orderbooks, or news across prediction-market platforms.

What you get

A single interface to search, price, subscribe, and analyze markets across eight platforms.

By the numbers

  • 8 platforms: Polymarket, Kalshi, Manifold, Metaculus, PredictIt, Drift, Betfair, Smarkets
  • 5 platforms support trading, 3 read-only

Files

SKILL.mdMarkdownGitHub ↗

Market Feeds - Complete API Reference

Real-time and historical market data from Polymarket, Kalshi, Manifold, Metaculus, PredictIt, Drift, Betfair, and Smarkets.

Supported Platforms

PlatformFeed TypeTradingData
PolymarketWebSocket + RTDSYesPrices, orderbook, trades
KalshiWebSocketYesPrices, orderbook
BetfairWebSocketYesOdds, volume
SmarketsWebSocketYesOdds, volume
DriftRESTYesPrices, funding
ManifoldWebSocketRead-onlyPrices, comments
MetaculusRESTRead-onlyForecasts
PredictItRESTRead-onlyPrices

---

Chat Commands

Search Markets

/feed search "trump"                        # Search all platforms
/feed search "election" --platform poly     # Search specific platform
/feed search "fed rate" --limit 20          # Limit results

Get Prices

/feed price poly <market-id>                # Get current price
/feed price kalshi TRUMP-WIN                # Kalshi market
/feed prices "trump"                        # Prices for all matching markets

Orderbook

/feed orderbook poly <market-id>            # Get orderbook
/feed orderbook poly <market-id> --depth 10 # Limit depth

Subscribe (Real-time)

/feed subscribe poly <market-id>            # Subscribe to price updates
/feed unsubscribe poly <market-id>          # Unsubscribe
/feed subscriptions                         # List active subscriptions

News

/feed news "trump"                          # Get news for topic
/feed news <market-id>                      # News for specific market
/feed news --recent 10                      # Last 10 news items

Edge Analysis

/feed edge poly <market-id>                 # Analyze edge vs models
/feed kelly poly <market-id> --prob 0.55    # Calculate Kelly fraction

---

TypeScript API Reference

Create Feed Manager

import { createFeedManager } from 'clodds/feeds';

const feeds = createFeedManager({
  platforms: ['polymarket', 'kalshi', 'manifold', 'betfair'],

  // Enable real-time
  enableRealtime: true,

  // Platform credentials (optional for read-only)
  polymarket: { apiKey },
  kalshi: { apiKey },
  betfair: { appKey, sessionToken },
});

Search Markets

// Search across all platforms
const results = await feeds.searchMarkets('trump election', {
  platforms: ['polymarket', 'kalshi'],
  limit: 20,
  sortBy: 'volume',
});

for (const market of results) {
  console.log(`[${market.platform}] ${market.question}`);
  console.log(`  Price: ${market.price}`);
  console.log(`  Volume: $${market.volume.toLocaleString()}`);
}

Get Single Market

// Get specific market
const market = await feeds.getMarket('polymarket', 'market-123');

console.log(`Question: ${market.question}`);
console.log(`YES: ${market.yesPrice} / NO: ${market.noPrice}`);
console.log(`Volume: $${market.volume.toLocaleString()}`);
console.log(`End date: ${market.endDate}`);

Get Price

// Get current price
const price = await feeds.getPrice('polymarket', 'market-123');

console.log(`YES: ${price.yes}`);
console.log(`NO: ${price.no}`);
console.log(`Spread: ${price.spread}`);
console.log(`Updated: ${price.timestamp}`);

Get Orderbook

// Get orderbook
const orderbook = await feeds.getOrderbook('polymarket', 'market-123', {
  depth: 10,
});

console.log('Bids (YES):');
for (const bid of orderbook.bids) {
  console.log(`  ${bid.price}: $${bid.size}`);
}

console.log('Asks (YES):');
for (const ask of orderbook.asks) {
  console.log(`  ${ask.price}: $${ask.size}`);
}

Subscribe to Real-time Updates

// Subscribe to price updates
const subscription = await feeds.subscribePrice('polymarket', 'market-123');

subscription.on('price', (update) => {
  console.log(`Price update: YES=${update.yes}, NO=${update.no}`);
});

subscription.on('trade', (trade) => {
  console.log(`Trade: ${trade.side} ${trade.size} @ ${trade.price}`);
});

// Unsubscribe
await subscription.unsubscribe();

News

// Get recent news
const news = await feeds.getRecentNews('trump', { limit: 10 });

for (const article of news) {
  console.log(`[${article.source}] ${article.title}`);
  console.log(`  ${article.summary}`);
  console.log(`  ${article.url}`);
}

// Search news
const searchResults = await feeds.searchNews('federal reserve', {
  from: '2024-01-01',
  sources: ['reuters', 'bloomberg'],
});

Edge Analysis

// Analyze edge vs external models
const edge = await feeds.analyzeEdge('polymarket', 'market-123');

console.log(`Market price: ${edge.marketPrice}`);
console.log(`Model estimates:`);
for (const model of edge.models) {
  console.log(`  ${model.name}: ${model.estimate}`);
  console.log(`    Edge: ${model.edge > 0 ? '+' : ''}${model.edge.toFixed(1)}%`);
}
console.log(`Consensus edge: ${edge.consensusEdge.toFixed(1)}%`);

Kelly Criterion

// Calculate optimal position size
const kelly = await feeds.calculateKelly({
  platform: 'polymarket',
  marketId: 'market-123',
  estimatedProbability: 0.55,  // Your estimate
  bankroll: 10000,             // Your bankroll
  kellyFraction: 0.5,          // Half-Kelly for safety
});

console.log(`Market price: ${kelly.marketPrice}`);
console.log(`Your estimate: ${kelly.estimatedProb}`);
console.log(`Edge: ${kelly.edge.toFixed(1)}%`);
console.log(`Full Kelly: ${kelly.fullKelly.toFixed(1)}%`);
console.log(`Recommended size: $${kelly.recommendedSize}`);

---

Platform-Specific Features

Polymarket RTDS (Real-time Data Service)

// Connect to RTDS for ultra-low-latency updates
const rtds = await feeds.connectRTDS('polymarket');

rtds.on('tick', (tick) => {
  console.log(`${tick.market}: ${tick.price} (${tick.side})`);
});

rtds.subscribe(['market-123', 'market-456']);

Betfair Odds

// Get Betfair odds
const odds = await feeds.getBetfairOdds('event-123');

for (const runner of odds.runners) {
  console.log(`${runner.name}: ${runner.backOdds} / ${runner.layOdds}`);
}

Metaculus Forecasts

// Get Metaculus community forecast
const forecast = await feeds.getMetaculusForecast('question-123');

console.log(`Community median: ${forecast.median}`);
console.log(`25th percentile: ${forecast.q25}`);
console.log(`75th percentile: ${forecast.q75}`);
console.log(`Forecasters: ${forecast.forecasterCount}`);

---

Data Refresh Rates

PlatformRESTWebSocket
Polymarket5sReal-time
Kalshi10sReal-time
Betfair1sReal-time
Manifold30sReal-time
Metaculus60sN/A
PredictIt30sN/A

---

Best Practices

1. Use WebSocket for real-time trading decisions 2. Cache responses for non-time-sensitive queries 3. Respect rate limits - batch requests when possible 4. Subscribe selectively - only to markets you need 5. Handle reconnections - WebSocket connections can drop

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.