Skip to content
Back to skills

forecast-consensus-comparison

ASecurity

Compare public event forecasts across Crawlora Polymarket, Kalshi, and Metaculus tools. Use for a matched-question consensus brief or dated forecast divergence analysis with resolution rules, outcome labels, scales, timestamps, liquidity, and method differences preserved.

  • 0 votes
  • 0 copies
  • 0 views
  • Added October 12, 2026
ai-agentsapi

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 12, 2026

npx -y skills add Crawlora-org/crawlora-skills --skill forecast-consensus-comparison --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of forecast-consensus-comparison?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for forecast-consensus-comparison
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/crawlora-org-forecast-consensus-comparison/badge)](https://www.skillsdirectory.com/skills/crawlora-org-forecast-consensus-comparison)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: forecast-consensus-comparison
description: Compare public event forecasts across Crawlora Polymarket, Kalshi, and Metaculus tools. Use for a matched-question consensus brief or dated forecast divergence analysis with resolution rules, outcome labels, scales, timestamps, liquidity, and method differences preserved.
---

# Forecast consensus comparison

## Access and scope

Set `CRAWLORA_API_KEY` to your Crawlora key. Prefer the listed Crawlora MCP tools
when connected; otherwise use the bundled `scripts/crawlora.sh`, which sends
`x-api-key` to `https://api.crawlora.net/api/v1`. Read
[reference/endpoints.md](reference/endpoints.md) for exact methods and parameters.
Check application `code` as well as HTTP status; payloads are inside `data`.
Stop on authentication errors, back off on `429`, and retry a transient upstream
failure once. Bound calls/pages by the requested scope and credit budget. Retain
source IDs, URLs, source dates, and observation/crawl times separately.

Compare source-attributed forecasts for the same precisely defined question.
Establish event, outcome, jurisdiction, time horizon, cutoff, and desired sources.
Keep a match rubric before interpreting a gap between prices or community forecasts.

## Verify the proposition before comparing numbers

- Discover candidates through each source's search/list routes, then fetch event,
  market, or question detail. Compare exact wording, thresholds, geography, time
  zone/deadline, resolution source/rules, settlement status, and conditional scope.
  Similar titles are leads; markets using different conditions remain separate.
- Preserve Polymarket event slugs, market IDs, and outcome token IDs separately.
  Use the token belonging to the matched outcome, not an event/condition ID in a
  token route. Kalshi market tickers differ from event and series tickers; history
  parameters must follow that source's metadata, not a synthesized name.
- For Metaculus inspect question metadata/type, option labels/history, scaling,
  and resolution information when available before interpreting aggregates.
  Multiple-choice option arrays require label/index alignment. Numeric/date
  question centers and the first array component are not automatically a binary
  probability; if a necessary scale is missing, keep that source uncomparable.
- Retain each source's observation time and forecast aggregation method/count.
  `recency_weighted`, `unweighted`, and `single_aggregation` describe different
  summaries. Forecast centers/bounds are not sportsbook prices or universally
  interpretable confidence intervals.

```sh
scripts/crawlora.sh /polymarket/search q="interest rates" status=open limit=5
scripts/crawlora.sh /kalshi/markets status=open limit=5
scripts/crawlora.sh /metaculus/questions limit=5
# Resolve matched market/question IDs and actual outcome labels before detail.
```

## Report comparable snapshots and history

Record whether a market value is last trade, outcome quote, bid, ask, or midpoint,
plus spread/liquidity when provided. Verify price scale from the returned fields;
do not universally divide by 100, treat a stale last trade as an executable price,
or call a market quote a calibrated probability. Normalize only genuinely
matching binary outcomes to a declared common scale.

Show numerical divergence in percentage points only when outcome, scale, timing,
and rules match. Keep uncomparable rows and the failed match condition visible.
Do not average sources into a universal consensus or label a gap an arbitrage
opportunity without accounting for rule, liquidity, fee, and execution differences.
Public forecast questions can have participation/selection bias distinct from markets.

History requests are bounded/capped and use different source timestamps and
sampling intervals. Align actual returned times rather than filling missing data
with zero or claiming a price response proves a news event caused the movement.
Return a proposition-match table, dated source snapshots/history, selected
method/price basis, divergence calculations, and uncertainty. No trading, account,
wallet, order, or automated monitoring actions are part of a comparison request.

Files in this skill

  • SKILL.md4.1 KB
  • reference/endpoints.md7.8 KB
  • scripts/crawlora.sh3.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.