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.
Answer prediction questions using market trading data, not opinions.
$ npx skills add komako-workshop/digital-oracle --skill digital-oracle -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install komako-workshop/digital-oracle digital-oracle --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 "digital-oracle" agent skill from https://github.com/komako-workshop/digital-oracle/tree/main into .claude/skills/digital-oracle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "digital-oracle", 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 komako-workshop/digital-oracle --skill digital-oracle -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install komako-workshop/digital-oracle digital-oracle --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "digital-oracle" agent skill from https://github.com/komako-workshop/digital-oracle/tree/main into .agents/skills/digital-oracle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "digital-oracle", 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 komako-workshop/digital-oracle --skill digital-oracle -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install komako-workshop/digital-oracle digital-oracle --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 "digital-oracle" agent skill from https://github.com/komako-workshop/digital-oracle/tree/main into .cursor/skills/digital-oracle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "digital-oracle", 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 komako-workshop/digital-oracle --skill digital-oracle -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install komako-workshop/digital-oracle digital-oracle --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 "digital-oracle" agent skill from https://github.com/komako-workshop/digital-oracle/tree/main into .gemini/skills/digital-oracle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "digital-oracle", 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 komako-workshop/digital-oracle digital-oracleInstalls 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 komako-workshop/digital-oracle --skill digital-oracle -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 "digital-oracle" agent skill from https://github.com/komako-workshop/digital-oracle/tree/main into .github/skills/digital-oracle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "digital-oracle", 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 komako-workshop/digital-oracle --skill digital-oracle -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install komako-workshop/digital-oracle digital-oracle --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 "digital-oracle" agent skill from https://github.com/komako-workshop/digital-oracle/tree/main into .opencode/skills/digital-oracle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "digital-oracle", 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.
digital-oracleAnswer prediction questions using market trading data, not opinions.
Digital Oracle is an agent skill from komako-workshop/digital-oracle. Answer prediction questions using market trading data, not opinions. Use when the user asks probability questions about geopolitics, economics, markets, industries, or any topic where real money is being traded on the outcome. Examples: 'What's the probability of WW3?', 'Will there be a recession?', 'Is AI in a bubble?', 'When will the Russia-Ukraine war end?', 'Is it a good time to buy gold?', 'Will SPY drop 5% this month?', 'Is NVDA options premium overpriced?'. The skill reads prices from prediction markets…
Its SKILL.md is about 5.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 81 other files, including scripts and reference files (for example `ITERATION_PLAN.md`, `README.en.md` and `README.md`).
It sits in Business, Finance & HR, covering Trading and backtesting and Stock and market analysis. It works with Kalshi and Polymarket. The repository describes itself as: AI agent skill that answers macro questions — housing, gold, BTC, geopolitics — with probability estimates mined from 13 financial data sources (Polymarket, Kalshi, CFTC, SEC &…. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a63e4c1. 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/ (Python, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
uvpipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
kalshi.comFrom 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.
Digital Oracle loads about 5.9k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 174 tokens; SKILL.md has 2,175 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 komako-workshop/digital-oracle at commit a63e4c1, republished under its MIT licence (© komako-workshop). 2,175 words, ~5,866 tokens.
.claude/skills/digital-oracle/SKILL.md (or your agent's skills folder). This skill also uses 79 other files; get the full folder from GitHub.Markets are efficient. Price contains all public information. Reading price = reading market consensus.
Answer questions using only market trading data — no news, opinions, or statistical reports as causal evidence. If something is true, some market has already priced it in.
Five iron rules:
Decompose the user's question into:
Based on question type, select from the signal menu below. Don't use just one category — cover at least 3.
KXFED series: FOMC rate-decision contracts. (Use this for the rate path — CMEFedWatchProvider is currently 403-blocked by CME's bot protection from every host tested.)Mainland listings are quoted in CNY on exchanges no US venue prices, so the usual Polymarket/Kalshi/CFTC layer has nothing to say about them. Route these to Eastmoney.
get_quote: Live quote for a 6-digit code → last, change %, turnover rate, PE(TTM), PB, market cap. Pass the bare code (600519, 000977) — to_secid resolves the exchange.get_fund_flow: The signal with actual skin in the game. Daily net inflow split by order size — extra-large / large (together = 主力, institutional) vs medium / small (retail). Institutions buying while retail sells is a different tape than the reverse, and price alone cannot show it.list_sector_fund_flow: Industry or concept boards ranked by institutional net inflow → which sector money is rotating into. Answers "which sector is seeing inflows" directly.get_history: OHLCV with forward adjustment (adjust="forward") → realized volatility, trend, volume confirmation.600519.SS / 000977.SZ suffixes — useful as a cross-check, and the only way to put an A-share on the same axis as a US comparable.Two cautions. Eastmoney publishes fund flow after the close, so intraday questions get yesterday's tape. And no prediction market prices Chinese single names — if the user wants a probability, it has to be reasoned from positioning and volatility, not looked up.
Available trading symbols directory: See references/symbols.md Provider API reference: See references/providers.md
Before fetching data, evaluate each candidate signal from Step 2 against three criteria:
Only keep signals that pass all three checks. This reduces noise, saves fetch time, and produces cleaner analysis.
Use digital-oracle's Python providers to fetch structured data, calling all sources in parallel with gather() (including web search):
from digital_oracle import (
PolymarketProvider, PolymarketEventQuery,
KalshiProvider, KalshiMarketQuery,
YahooPriceProvider, PriceHistoryQuery, # requires uv pip install yfinance
DeribitProvider, DeribitFuturesCurveQuery,
USTreasuryProvider, YieldCurveQuery,
WebSearchProvider,
CftcCotProvider, CftcCotQuery,
CoinGeckoProvider, CoinGeckoPriceQuery,
EdgarProvider, EdgarInsiderQuery,
BisProvider, BisRateQuery,
WorldBankProvider, WorldBankQuery,
YFinanceProvider, OptionsChainQuery, # requires uv pip install yfinance
FearGreedProvider,
EastmoneyProvider, EastmoneyQuoteQuery, EastmoneyKlineQuery,
EastmoneyFundFlowQuery, EastmoneySectorFlowQuery,
gather,
)
pm = PolymarketProvider()
kalshi = KalshiProvider()
yahoo = YahooPriceProvider() # requires uv pip install yfinance
deribit = DeribitProvider()
treasury = USTreasuryProvider()
web = WebSearchProvider()
cftc = CftcCotProvider()
coingecko = CoinGeckoProvider()
edgar = EdgarProvider() # set EDGAR_USER_EMAIL to identify yourself to SEC; a contact is required or it 403s
bis = BisProvider()
wb = WorldBankProvider()
yf = YFinanceProvider() # requires uv pip install yfinance
fear_greed = FearGreedProvider()
eastmoney = EastmoneyProvider() # China A-share: quotes, OHLCV, fund flow, sector rotation
result = gather({
"pm_events": lambda: pm.list_events(PolymarketEventQuery(slug_contains="...", limit=10)),
"yield_curve": lambda: treasury.latest_yield_curve(),
"gold": lambda: yahoo.get_history(PriceHistoryQuery(symbol="GC=F", limit=30)),
# Institutional positioning
"gold_cot": lambda: cftc.list_reports(CftcCotQuery(commodity_name="GOLD", limit=4)),
# Crypto market sentiment
"crypto": lambda: coingecko.get_prices(CoinGeckoPriceQuery(coin_ids=("bitcoin", "ethereum"))),
# Insider trades
"insider": lambda: edgar.get_insider_transactions(EdgarInsiderQuery(ticker="AAPL", limit=10)),
# Central bank policy rates
"rates": lambda: bis.get_policy_rates(BisRateQuery(countries=("US", "CN"), start_year=2023)),
# GDP data
"gdp": lambda: wb.get_indicator(WorldBankQuery(indicator="NY.GDP.MKTP.CD", countries=("US", "CN"))),
# BTC futures term structure (risk appetite proxy)
"btc_futures": lambda: deribit.get_futures_term_structure(DeribitFuturesCurveQuery(currency="BTC")),
# Kalshi event markets (use event_ticker or series_ticker, not keyword search)
"kalshi_fed": lambda: kalshi.list_markets(KalshiMarketQuery(series_ticker="KXFED", limit=10)),
# Options chain (with Greeks)
"spy_options": lambda: yf.get_chain(OptionsChainQuery(ticker="SPY", expiration="2026-04-17")),
# CNN Fear & Greed (composite of 7 price signals)
"fear_greed": lambda: fear_greed.get_index(),
# China A-share: institutional vs retail flow, and which sector money rotated into
"cn_stock": lambda: eastmoney.get_quote(EastmoneyQuoteQuery(symbol="002156")),
"cn_flow": lambda: eastmoney.get_fund_flow(EastmoneyFundFlowQuery(symbol="002156", limit=10)),
"cn_sectors": lambda: eastmoney.list_sector_fund_flow(EastmoneySectorFlowQuery(limit=15)),
# Web search runs in parallel with structured providers
"vix": lambda: web.search("VIX index current level"),
"hy_spread": lambda: web.search("US high yield bond spread OAS"),
})
# Partial failures don't affect other results
curve = result.get("yield_curve")
vix_info = result.get_or("vix", None) # WebSearchResult — use .text() to render
# Options data usage
chain = result.get_or("spy_options", None)
if chain:
print(f"ATM IV: {chain.atm_iv:.1%}, Implied move: {chain.implied_move():.1%}")
print(f"Put/Call OI ratio: {chain.put_call_oi_ratio:.2f}")
print(f"Max pain: {chain.max_pain()}")All 14 Providers:
| Provider | Data Type | Purpose | Dependency |
|---|---|---|---|
| PolymarketProvider | Prediction market contracts | Event probability pricing | stdlib |
| KalshiProvider | Binary contracts | US regulated event contracts | stdlib |
| YahooPriceProvider | Price history | Stocks/ETFs/FX/Commodities | yfinance |
| DeribitProvider | Crypto derivatives | Futures term structure, options IV | stdlib |
| USTreasuryProvider | Treasury yields | Yield curves, inflation expectations | stdlib |
| WebSearchProvider | Web search | VIX/MOVE/CDS/BDI supplementary data | stdlib |
| CftcCotProvider | Futures positioning | Institutional direction (smart money) | stdlib |
| CoinGeckoProvider | Crypto spot | BTC/ETH price, market cap, dominance | stdlib |
| EdgarProvider | SEC filings | Insider trades Form 4, filing search | stdlib |
| BisProvider | Central bank data | Policy rates, credit-to-GDP gap | stdlib |
| WorldBankProvider | Development indicators | GDP, population, trade, macro data | stdlib |
| YFinanceProvider | US options chains | IV, Greeks, put/call ratio, max pain | yfinance |
| FearGreedProvider | Market sentiment | CNN 7-signal composite → 0-100 score | stdlib |
| EastmoneyProvider | China A-share | Quotes, OHLCV, order-size fund flow, sector rotation | stdlib |
| CMEFedWatchProvider | Rate probabilities | Currently 403-blocked by CME — use Kalshi KXFED | stdlib |
13 out of 15 providers have zero external dependencies and zero API keys. YahooPriceProvider and YFinanceProvider require
pip install yfinance.
WebSearchProvider usage:
web.search("query") → returns WebSearchResult (search summary) — render with .text()web.fetch_page("url") → returns WebPageContent (page body extraction)Data not available via structured providers — use web search instead: VIX, MOVE, CDS spreads, TTF natural gas, BDI freight rates, war risk premiums, high-yield OAS — these need to be fetched from financial web pages. They are still trading data and comply with the methodology.
This is the key to report quality. Don't just summarize data — derive judgment from data.
Four analysis dimensions:
Signal interpretation: What is each data point saying? Derive meaning from price. Not "gold up 3%" but "the market is pricing in tail risk." e.g., Copper/Gold ratio declining → industrial demand weaker than safe-haven demand → risk-off.
Cross-validation: Which signals point in the same direction (resonance)? Which signals disagree (divergence)? Divergence itself is a high-value signal. e.g., gold says "disaster" but equities say "fine" → two markets pricing different time windows.
Time alignment: Group signals by their pricing horizon. Don't mix signals from different time windows in the same vote.
Weight judgment: Not all signals are equally reliable. Signals backed by real money > surveys. Liquid markets > illiquid markets. Direct pricing > indirect proxies. e.g., Polymarket high-liquidity contract > CDS quotes (slow updates, low liquidity).
Core principle: Don't vote by majority. When signals diverge:
Must follow this structure. You can adjust the number of layers and wording, but the four main sections (data summary, analysis, probability estimates, conclusion) cannot be omitted or merged into prose paragraphs:
# [Question Title]: Multi-Signal Synthesis
## Data Summary
### Layer 1: [Most direct signal source]
| Signal | Data | What it's saying |
|--------|------|-----------------|
(table, one signal per row, third column is reasoning from price to meaning)
### Layer 2: [Secondary signal source]
(same format)
### Layer N: ...
(as needed, typically 3-5 layers)
## Analysis
### Resonance signals
(which signals point in the same direction, and what judgment they form)
### Key divergences
(A says X, B says Y → explain why + who is more credible)
### Time stratification
(what do short-term / medium-term / long-term signals each point to)
## Probability Estimates
| Scenario | Probability | Basis |
|----------|-------------|-------|
### Most likely path: [one-sentence summary]
**Core logic chain:** (2-3 paragraphs, reasoning from data to conclusion)
## Conclusion
> [One-sentence summary, preferably including a specific probability estimate]
### Sub-conclusions
| Dimension | Judgment | Confidence |
|-----------|----------|------------|
| Short-term (6-12mo) | ... | High/Medium/Low |
| Medium-term (1-3yr) | ... | High/Medium/Low |
| Long-term (3-5yr) | ... | High/Medium/Low |
| Systemic risk | ... | High/Medium/Low |
(adjust dimensions to match the question — e.g., replace "systemic risk" with whatever dimension is most relevant)
### Risk factors
- **Upside risk:** what scenario would make things better than expected
- **Downside risk:** what scenario would make things worse than expected
### Signals to monitor
| Signal | Current value | Threshold | Meaning |
|--------|--------------|-----------|---------|
| ... | ... | if crosses X | then Y |
(3-5 concrete signals with specific trigger levels and what they would imply)
---
*Data sources: [list all structured and web data sources]*
*Fetched at: [date]*slug_contains search is fuzzy — filter results by title keywords after fetching=F suffix (e.g. GC=F, CL=F, HG=F), forex uses =X suffix (e.g. EURUSD=X), US stocks/ETFs use plain tickers (e.g. SPY, LMT)yfinance — install with uv pip install --target .deps yfinanceRHM.DE for Rheinmetall, BA.L for BAE Systems)EdgarProvider(user_email="you@example.com") — SEC requires email in User-Agent, otherwise 403. First call parses ticker→CIK mapping, slightly slowNoneuv pip install yfinance (auto-installs pandas). After-hours IV may be inaccurate (bid/ask = 0) — use during market hoursget_chain() auto-computes Black-Scholes Greeks (pure stdlib math.erf, no scipy needed)series_ticker or event_ticker to filter markets. Find tickers by browsing kalshi.com or listing markets without filters first. Common series: KXFED (Fed rates), KXINX (S&P 500 range), KXGDP (GDP)get_futures_term_structure(), not get_futures_curve(). Option chain method is get_option_chain()KXFED for the rate pathEDGAR_USER_EMAIL to identify yourself properly under SEC's fair-access policyget_credit_to_gdp() returns the gap (deviation from long-run trend, e.g. US ≈ -12pp), not the raw credit-to-GDP ratio (≈ 140%). Pass series=CREDIT_GAP_SERIES["ratio"] if you want the level instead. A double-digit positive gap is the classic credit-bubble warningto_secid() resolves the exchange (6xxxxx/5xxxxx/9xxxxx → Shanghai, everything else → Shenzhen). Fund flow amounts are CNY and publish after the close. main_net = extra_large_net + large_net, i.e. institutional; medium/small are retailget_history sources from Tencent first and only falls back to Eastmoney, since Eastmoney's history host is the one it throttles hardest — that means turnover_cny is None on bars that came from Tencent, but the OHLCV is completeUSD instead of $ to avoid markdown renderers interpreting $...$ as LaTeX© komako-workshop, MIT. 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 79 other files (scripts, references) in the repository root of komako-workshop/digital-oracle.
Open the folder on GitHubat commit a63e4c1
Digital Oracle 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 |
|---|---|---|---|---|---|---|
| Digital Oracle this skillkomako-workshop/digital-oracle | 875 | — | ~5.9k | Automated safety check: Pass | MIT | |
| Polymarket Tennislivetennisapi/livetennisapi-mcp | 152 | — | ~3k | Automated safety check: Pass | MIT | |
| Dr Manhattanguzus/dr-manhattan | 204 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Catalyst ConfirmationSuperior-Trade/superior-skills | 214 | — | ~667 | Automated safety check: Pass | MIT | |
| Feedsalsk1992/CloddsBot | 2.9k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Marketsalsk1992/CloddsBot | 2.9k | — | ~286 | 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.
guzus/dr-manhattan
Trade prediction markets (Polymarket, Kalshi, Opinion, Limitless, Predict.fun) using a unified CCXT-style API.
Superior-Trade/superior-skills
A skill your agent uses when a Polymarket prediction-market thesis rests on an external event — CPI, Fed, elections, court rulings, ETF decisions — and needs market confirmation before committing.
alsk1992/CloddsBot
Real-time market data feeds from 8 prediction market platforms
alsk1992/CloddsBot
Search and view prediction market data from Polymarket, Kalshi, Manifold, and Metaculus
alsk1992/CloddsBot
Execute trades on Polymarket using pyclobclient - full API access for market data, orders, positions
Works with
Categories
Answer prediction questions using market trading data, not opinions. Digital Oracle is an agent skill from komako-workshop/digital-oracle. Answer prediction questions using market trading data, not opinions.
Digital Oracle fits situations like: the user asks probability questions about geopolitics; any topic where real money is being traded on the outcome.
Run `npx skills add komako-workshop/digital-oracle --skill digital-oracle -a claude-code`. Or copy the skill folder (the komako-workshop/digital-oracle repository) into .claude/skills/digital-oracle in your project. Claude Code loads it when a task matches its description.
Run `npx skills add komako-workshop/digital-oracle --skill digital-oracle -a codex`. Or copy the skill folder (the komako-workshop/digital-oracle repository) into .agents/skills/digital-oracle 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 komako-workshop/digital-oracle --skill digital-oracle -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/digital-oracle, .gemini/skills/digital-oracle, .github/skills/digital-oracle and .opencode/skills/digital-oracle in your project.
Going by SKILL.md and its folder, Digital Oracle needs Python for the scripts in its folder and the command-line tools its instructions call (uv and pip). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: kalshi.com. 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.
Digital Oracle is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.9k tokens (SKILL.md is roughly 23k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Digital Oracle: Polymarket Tennis (livetennisapi/livetennisapi-mcp, 152 stars), Dr Manhattan (guzus/dr-manhattan, 204 stars), Catalyst Confirmation (Superior-Trade/superior-skills, 214 stars) and Feeds (alsk1992/CloddsBot, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
komako-workshop (a GitHub user) maintains it in komako-workshop/digital-oracle, which has 875 GitHub stars. The repository was last updated on July 26, 2026.
Source: komako-workshop/digital-oracle on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.