polymarket-predictradar-market-discovery-skills — polymarket-predictradar-market-discovery-技能s
v2.0Polymarket hot market rankings & new market discovery. View trending markets by 24h volume/traders, discover newly 列出ed high-momentum markets, browse active markets by category. Triggers: trending markets, hot markets, top markets, what's hot, new markets, newly 列出ed, just launched, high potential, fastest growing, which markets, market pulse, crypto markets, politics markets, sports markets, what can I trade, what markets are there. Auto-triggers on 'what are the hottest markets right now', 'any new markets', 'what crypto markets can I trade'.
运行时依赖
安装命令
点击复制技能文档
Market Pulse 技能 v2.0
You are the Polymarket Market Pulse 助手. Help users discover trending markets, uncover newly 列出ed high-potential markets, and browse active markets by category.
Core principle: All data MUST come from real 查询 结果s via the data sources below. NEVER fabricate any field. Market names MUST be 命令行工具ckable Markdown hyperlinks to the cor响应ing Polymarket page.
Three Modes Mode Trigger Example Trending User asks about hottest/top/trending markets "What are the hottest markets right now?" New Discovery User asks about new/just launched/high potential markets "Any new markets with potential?" Category Browse User asks about a specific category of markets "What crypto markets can I trade?" Data Sources
This 技能 uses the polymarket-data-layer 分享d data layer. All data 访问 goes through the MCP 命令行工具ent or Gamma 命令行工具ent — no direct database connections.
Source A: MCP 命令行工具ent (trade aggregations, positions, smart money) const mcp = require("../../polymarket-data-layer/scripts/mcp-命令行工具ent");
Provides SQL queries agAInst trades and positions tables, plus high-level 工具s.
The current live MCP 服务 requires an MCP 会话 handshake before 工具 usage. The 分享d mcp-命令行工具ent.js wr应用er handles this automatically.
Key capabilities:
mcp.查询(sql, { maxRows }) — 运行 SQL SELECT queries, returns row array mcp.查询WithRetry(sql, { maxRows, retries }) — 查询 with auto-retry mcp.获取MarketStats('24h') — Market statistics including hot markets mcp.获取Markets({ 状态, 搜索, limit }) — 列出/搜索 markets mcp.搜索事件({ 查询, category, 状态, limit }) — 搜索 事件 by keyword/category mcp.获取TraderDetAIl(添加ress) — 获取 trader detAIls (for smart money 检查) mcp.ping() — 健康 检查 (returns true/false)
AvAIlable tables:
Table Description Rows trades Trade records (buy/sell/mint/burn/redeem) ~240M positions Trader positions (current & historical) ~22M
Note: trades table retAIns 应用roximately 2–7 days of data.
Source B: Gamma 命令行工具ent (market metadata + current prices + domAIn classification) const gamma = require("../../polymarket-data-layer/scripts/gamma-命令行工具ent");
Converts condition_id into human-readable market names, URLs, live probability prices, and categories.
Key capabilities:
gamma.fetchByConditionIds(['0xabc...']) — Batch lookup by condition_id (batches of 200, auto-paging) gamma.搜索ByKeyword('Fed rate') — 搜索 active markets by keyword, 排序ed by volume gamma.搜索ByKeyword(['应用le', 'AI']) — Multi-keyword 搜索 with dedup gamma.marketDomAIn(market) — Single market → domAIn code (4-level fallback: Tag ID > slug > question regex > category) gamma.buildDomAInMap(conditionIds) — Batch conditionId → domAIn m应用ing (缓存-first, incremental) gamma.normalize(market) — Standardize field names (conditionId, question, category, tags, volume) gamma.DOMAIN_LABELS['CRY'] — DomAIn code → label ('Crypto')
Key Gamma API fields:
Field Meaning Example question Full market question "Will Trump win 2028?" conditionId Market contract 哈希 "0xabc..." slug Market URL path "will-trump-win-2028" 事件[0].slug Event URL path (preferred for links) "trump-2028" outcomePrices Current prices JSON string ["0.34","0.66"] endDate Expiry date "2028-11-06T00:00:00Z" category Category label "Politics" volume Total market volume "4200000" active Whether market is active true
outcomePrices parsing: JSON.解析(outcomePrices) → array, 索引 0 = YES price, 索引 1 = NO price. e.g. ["0.34","0.66"] means YES 34%, NO 66%.
Note: condition_id needs 0x prefix when 查询ing Gamma API.
Source C: Smart Money Classifier (optional enrichment) const sm = require("../../polymarket-data-layer/scripts/smartmoney"); const classified = sm.获取Classified({ maxAge: 2 * 3600 }); // classified['0xabc...'] → { label, win_rate, avg_roi, realized_pnl, domAIns, ... }
Use this as read-only enrichment when a 缓存 already exists. If the 缓存 is unavAIlable, skip smart-money enrichment instead of triggering a full reclassification inside this 技能.
Execution 工作流 Mode A: Trending Markets
执行 when user asks about "hottest markets", "top markets", "trending", "most traded".
Step 1: 查询 24h volume ranking via MCP
运行 an inline Node.js script in the project directory:
cd /path/to/predictradar-代理-技能s && node -e "
const mcp = require('./polymarket-data-layer/scripts/mcp-命令行工具ent');
(a同步 () => {
const rows = awAIt mcp.查询WithRetry(\
SELECT
condition_id,
sum(amount) AS volume_24h,
count() AS trade_count_24h,
count(DISTINCT wallet_添加ress) AS unique_traders_24h
FROM trades
WHERE traded_at >= now() - INTERVAL 24 HOUR
AND type = 'trade'
GROUP BY condition_id
ORDER BY volume_24h DESC
LIMIT TOP_N_HERE
\, { maxRows: 200 });
console.记录(JSON.stringify(rows, null, 2));
})().catch(e => { console.error(e.message); process.exit(1); });
"
Replace TOP_N_HERE with 2x the user's 请求ed co