Polymarket Tennis
livetennisapi/livetennisapi-mcp
Build observe-only Polymarket and Kalshi tennis market tooling on the polymarket-tennis Python package (MIT) plus the Live Tennis API free tier.
Trade prediction markets (Polymarket, Kalshi, Opinion, Limitless, Predict.fun) using a unified CCXT-style API.
$ npx skills add guzus/dr-manhattan --skill dr-manhattan -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install guzus/dr-manhattan dr-manhattan --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "dr-manhattan" agent skill from https://github.com/guzus/dr-manhattan/tree/main into .claude/skills/dr-manhattan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dr-manhattan", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add guzus/dr-manhattan --skill dr-manhattan -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install guzus/dr-manhattan dr-manhattan --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dr-manhattan" agent skill from https://github.com/guzus/dr-manhattan/tree/main into .agents/skills/dr-manhattan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dr-manhattan", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add guzus/dr-manhattan --skill dr-manhattan -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install guzus/dr-manhattan dr-manhattan --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dr-manhattan" agent skill from https://github.com/guzus/dr-manhattan/tree/main into .cursor/skills/dr-manhattan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dr-manhattan", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add guzus/dr-manhattan --skill dr-manhattan -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install guzus/dr-manhattan dr-manhattan --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dr-manhattan" agent skill from https://github.com/guzus/dr-manhattan/tree/main into .gemini/skills/dr-manhattan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dr-manhattan", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install guzus/dr-manhattan dr-manhattanInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add guzus/dr-manhattan --skill dr-manhattan -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dr-manhattan" agent skill from https://github.com/guzus/dr-manhattan/tree/main into .github/skills/dr-manhattan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dr-manhattan", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add guzus/dr-manhattan --skill dr-manhattan -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install guzus/dr-manhattan dr-manhattan --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dr-manhattan" agent skill from https://github.com/guzus/dr-manhattan/tree/main into .opencode/skills/dr-manhattan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dr-manhattan", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dr-manhattanTrade prediction markets (Polymarket, Kalshi, Opinion, Limitless, Predict.fun) using a unified CCXT-style API.
Dr Manhattan is an agent skill from guzus/dr-manhattan. Trade prediction markets (Polymarket, Kalshi, Opinion, Limitless, Predict.fun) using a unified CCXT-style API. Use when the user wants to browse, search, or trade prediction markets, check balances and positions, manage orders, run market-making strategies, or compare prices across exchanges.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 238 other files, including scripts and assets (for example `.claude/settings.local.json`, `.github/workflows/ci.yml` and `.github/workflows/claude-code-review.yml`). Compatibility notes: Requires Python = 3.11 and uv. Requires network access for exchange APIs. Optionally requires exchange credentials (private keys, API keys) for trading.
It sits in Business, Finance & HR, covering Trading and backtesting. It works with Polymarket, Kalshi and Model Context Protocol. The repository describes itself as: CCXT for prediction markets · 1 Open Source for Market-making, Trading, Data Analysis on Polymarket & Kalshi & Limitless & Opinion & Predictfun & etc. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7c15fad. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
uvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Python >= 3.11 and uv. Requires network access for exchange APIs. Optionally requires exchange credentials (private keys, API keys) for trading.
From compatibility in the SKILL.md frontmatter.
Dr Manhattan loads about 2k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 668 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from guzus/dr-manhattan at commit 7c15fad, republished under its Apache-2.0 licence (© guzus). 668 words, ~2,014 tokens.
.claude/skills/dr-manhattan/SKILL.md (or your agent's skills folder). This skill also uses 234 other files; get the full folder from GitHub.Dr. Manhattan is a unified API for prediction markets, similar to how CCXT works for cryptocurrency exchanges. It supports Polymarket, Kalshi, Opinion, Limitless, and Predict.fun through a single interface.
Install dependencies with uv:
uv venv && uv pip install -e .For MCP server (Claude integration):
uv sync --extra mcp| Exchange | Chain/Type | Auth |
|---|---|---|
| Polymarket | Polygon | Private key + funder address |
| Kalshi | Regulated CEX | API key + RSA private key |
| Opinion | BNB Chain | API key + private key + multi-sig address |
| Limitless | Base | Private key |
| Predict.fun | BNB Chain | API key + private key (EOA or smart wallet) |
import dr_manhattan
polymarket = dr_manhattan.Polymarket({'timeout': 30})
markets = polymarket.fetch_markets()
for market in markets:
print(f"{market.question}: {market.prices}")import dr_manhattan
polymarket = dr_manhattan.Polymarket({
'private_key': '0x...',
'funder': '0x...',
})
order = polymarket.create_order(
market_id="market_123",
outcome="Yes",
side=dr_manhattan.OrderSide.BUY,
price=0.65,
size=100,
params={'token_id': 'token_id'}
)from dr_manhattan import create_exchange, list_exchanges
print(list_exchanges()) # ['polymarket', 'opinion', 'limitless', 'predictfun', 'kalshi']
exchange = create_exchange('polymarket', {'timeout': 30})Dr. Manhattan exposes all trading capabilities as MCP tools. Configure in Claude Code (~/.claude/settings.json or .mcp.json):
{
"mcpServers": {
"dr-manhattan": {
"command": "/path/to/dr-manhattan/.venv/bin/python",
"args": ["-m", "dr_manhattan.mcp.server"],
"cwd": "/path/to/dr-manhattan"
}
}
}Exchange Tools:
list_exchanges - List all available prediction market exchanges.get_exchange_info(exchange) - Get metadata and capabilities for an exchange.validate_credentials(exchange) - Check if credentials are valid without trading.Market Discovery:
search_markets(exchange, query) - Search markets by keyword. This is the fastest way to find markets about a topic.fetch_markets(exchange, limit?, offset?) - Fetch all markets with pagination.fetch_market(exchange, market_id) - Fetch a specific market by ID.fetch_markets_by_slug(exchange, slug) - Fetch markets by slug or URL (Polymarket, Limitless).find_tradeable_market(exchange, binary?, limit?, min_liquidity?) - Find a suitable market for trading.find_crypto_hourly_market(exchange, token_symbol?) - Find crypto hourly price markets (Polymarket).fetch_token_ids(exchange, market_id) - Get token IDs for a market.parse_market_identifier(identifier) - Extract slug from a Polymarket URL.get_tag_by_slug(slug) - Get Polymarket tag information.Orderbook:
get_orderbook(exchange, token_id) - Get full orderbook (bids and asks).get_best_bid_ask(exchange, token_id) - Get best bid and ask prices.Trading:
create_order(exchange, market_id, outcome, side, price, size) - Place a buy or sell order. Price is 0-1 (probability). Side is "buy" or "sell".cancel_order(exchange, order_id, market_id?) - Cancel a specific order.cancel_all_orders(exchange, market_id?) - Cancel all open orders.fetch_order(exchange, order_id, market_id?) - Get order details and fill status.fetch_open_orders(exchange, market_id?) - List all open orders.Account:
fetch_balance(exchange) - Get account balance (USDC).fetch_positions(exchange, market_id?) - Get current positions with PnL.fetch_positions_for_market(exchange, market_id) - Get positions for a specific market.calculate_nav(exchange, market_id?) - Calculate net asset value (cash + positions).Strategy Management:
create_strategy_session(strategy_type, exchange, market_id, ...) - Start a market-making strategy in the background.get_strategy_status(session_id) - Get real-time strategy status (NAV, positions, delta).get_strategy_metrics(session_id) - Get performance metrics (uptime, fills).pause_strategy(session_id) - Pause a running strategy.resume_strategy(session_id) - Resume a paused strategy.stop_strategy(session_id, cleanup?) - Stop a strategy and optionally cancel orders.list_strategy_sessions - List all active strategy sessions.search_markets with a keyword to find relevant markets.id and metadata.clobTokenIds.get_orderbook with a token ID to see current bids and asks.get_best_bid_ask for a quick spread check.search_markets or fetch_markets_by_slug.fetch_balance to confirm available funds.get_orderbook to see current prices.create_order with the market ID, outcome ("Yes" or "No"), side ("buy" or "sell"), price (0-1), and size.fetch_order or fetch_open_orders.search_markets or find_tradeable_market.create_strategy_session(strategy_type="market_making", exchange, market_id).get_strategy_status and get_strategy_metrics.pause_strategy, resume_strategy, or stop_strategy.fetch_balance to see cash.fetch_positions to see all open positions with unrealized PnL.calculate_nav for total portfolio value (cash + positions).uv run python examples/list_all_markets.py polymarket
uv run python examples/spread_strategy.py --exchange polymarket --slug fed-decision
uv run python examples/spike_strategy.py -e opinion -m 813 --spike-threshold 0.02Market fields: id, question, outcomes, prices, volume, liquidity, close_time, tick_size, description, metadata (contains slug, clobTokenIds).
Order fields: id, market_id, outcome, side (BUY/SELL), price, size, filled, status (PENDING/OPEN/FILLED/CANCELLED), time_in_force.
Position fields: market_id, outcome, size, average_price, current_price. Properties: cost_basis, current_value, unrealized_pnl.
Orderbook fields: bids (price, size descending), asks (price, size ascending). Properties: best_bid, best_ask, mid_price, spread.
© guzus, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 234 other files (scripts, assets) in the repository root of guzus/dr-manhattan.
Open the folder on GitHubat commit 7c15fad
Dr Manhattan next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dr Manhattan this skillguzus/dr-manhattan | 204 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Polymarket Tennislivetennisapi/livetennisapi-mcp | 152 | — | ~3k | Automated safety check: Pass | MIT | |
| Digital Oraclekomako-workshop/digital-oracle | 878 | — | ~5.9k | Automated safety check: Pass | MIT | |
| Polymarket Paper Traderagent-next/polymarket-paper-trader | 484 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Prediction Market Strategyagiprolabs/claude-trading-skills | 410 | — | ~3.4k | Automated safety check: Pass | MIT | |
| Shipp Sports Datamoonpay/skills | 113 | — | ~1.4k | Automated safety check: Pass | MIT |
livetennisapi/livetennisapi-mcp
Build observe-only Polymarket and Kalshi tennis market tooling on the polymarket-tennis Python package (MIT) plus the Live Tennis API free tier.
komako-workshop/digital-oracle
Answer prediction questions using market trading data, not opinions.
agent-next/polymarket-paper-trader
Everyone's trading Polymarket with AI agents. An agent skill from agent-next/polymarket-paper-trader.
agiprolabs/claude-trading-skills
Venue- and market-type-agnostic strategy, sizing, and backtesting layer for binary prediction markets (Kalshi, Polymarket, ForecastEx).
moonpay/skills
Real-time sports & events data for AI agents via Shipp. An agent skill from moonpay/skills.
alpacahq/alpaca-skills
Preview, submit, inspect, and manage Alpaca paper-trading orders using the Alpaca Trading API MCP Server.
Works with
Categories
Trade prediction markets (Polymarket, Kalshi, Opinion, Limitless, Predict.fun) using a unified CCXT-style API. Dr Manhattan is an agent skill from guzus/dr-manhattan.fun) using a unified CCXT-style API.
Dr Manhattan fits situations like: the user wants to browse; trade prediction markets; check balances and positions; run market-making strategies.
Run `npx skills add guzus/dr-manhattan --skill dr-manhattan -a claude-code`. Or copy the skill folder (the guzus/dr-manhattan repository) into .claude/skills/dr-manhattan in your project. Claude Code loads it when a task matches its description.
Run `npx skills add guzus/dr-manhattan --skill dr-manhattan -a codex`. Or copy the skill folder (the guzus/dr-manhattan repository) into .agents/skills/dr-manhattan in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add guzus/dr-manhattan --skill dr-manhattan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dr-manhattan, .gemini/skills/dr-manhattan, .github/skills/dr-manhattan and .opencode/skills/dr-manhattan in your project.
Going by SKILL.md and its folder, Dr Manhattan needs the command-line tools its instructions call (uv). Our summary lists: Python 3. Compatibility (from SKILL.md): Requires Python >= 3.11 and uv. Requires network access for exchange APIs. Optionally requires exchange credentials (private keys, API keys) for trading..
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Dr Manhattan is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dr Manhattan: Polymarket Tennis (livetennisapi/livetennisapi-mcp, 152 stars), Digital Oracle (komako-workshop/digital-oracle, 878 stars), Polymarket Paper Trader (agent-next/polymarket-paper-trader, 484 stars) and Prediction Market Strategy (agiprolabs/claude-trading-skills, 410 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
guzus (a GitHub user) maintains it in guzus/dr-manhattan, which has 204 GitHub stars. The repository was last updated on July 18, 2026.
Source: guzus/dr-manhattan on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.