npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

quotient-forecasting

v0.8.27

Published

The forecasting intelligence platform for agentic traders.

Readme

Quotient CLI

The forecasting intelligence platform for agentic traders.

Bring Quotient intelligence into your terminal or AI agent.

Query covered assets and their linked prediction markets, calibrated forecasts, published Quotient signals, differences between Q and market prices, and the underlying research behind each forecast.

Install

npm install --global quotient-forecasting
quotient setup

Setup asks three questions: how you want to connect, whether to open your browser, and whether to take the quick start. Choosing "Create a free API key" opens your browser, signs you in, and returns the key straight to the terminal — it is never displayed or pasted by hand. Quick start then installs the Quotient skill for the agent clients you already have.

Choose "Customize" instead to pick specific clients, save an X profile and public portfolio wallets, and opt into native MCP tools.

What you can do

| | Command | |---|---| | List covered Asset metadata without forecast data ($0.005) | quotient assets list | | Search an Asset by name/ticker and summarize linked-market coverage ($0.01) | quotient assets search "Apple" | | Resolve up to 50 platform IDs or market keys in one batch | quotient assets search --reference xyz:GOLD --reference polymarket:gold-2400 | | Search current or historical markets with a timestamped Q/venue pair | quotient markets search "oil" [--as-of 2026-08-11] | | Get Q's forecast for a market | quotient forecast <market> | | Resolve a Kalshi or Polymarket event URL into its exact binary contracts (free) | quotient forecast resolve <url-or-ticker> | | Generate a new forecast for one exact Kalshi or Polymarket market ($1.00) | quotient forecast request <url-or-ref> --market 516729 --yes | | Read or resume a submitted forecast job (free) | quotient forecast status <job-id> [--wait] | | See published Quotient signals | quotient signals --today | | Find where Q differs most from market prices | quotient markets mispriced --today | | Read the research behind a forecast | quotient sources <market> | | See recent forecast and research updates | quotient updates --hours 3 | | Read calibrated price outlooks | quotient outlooks [--asset wti] [--anchor weekly] [--asset-class commodity] | | Read a source-aware asset stance | quotient stance --asset wti | | Review a Polymarket wallet through Q | quotient portfolio report --wallet 0x... | | Generate a daily summary with Assets carrying Q or venue-price data | quotient digest daily | | Scope a daily summary to one Asset's exact linked markets | quotient digest daily AAPL | | Profile one explicitly named X account | quotient profile x <handle> |

Add --json to any data command for structured output. Wherever a response includes a selected Q forecast probability, its nullable thesis identifies the reasoning for that same forecast version. Add --full to print available theses in human-readable search, Asset, signal, spread, forecast, lookup, and portfolio output.

Kalshi event pages can contain many binary strike contracts, and Polymarket event pages can contain many binary markets. Use forecast resolve to see the exact children and current YES bid/ask — it accepts kalshi.com and polymarket.com browser URLs (bare non-URL tickers are treated as Kalshi). forecast request never guesses: pass an exact child, or select one from a parent event with --market (a Kalshi ticker, or a Polymarket market id or slug) or --strike (Kalshi ladders only). Submission returns a background job and waits by polling; the forecast itself can take several minutes without holding the admission request open. The CLI writes the job ID and progress to stderr, including with --json. Resume an interrupted wait with quotient forecast status <job-id> --wait; status polling is lightweight and fetches the full result only after success. User requests have no resolution lead-time, volume, liquidity, or activity floor: a supported contract remains eligible while it is live.

Name/ticker Asset search returns a coverage summary. An exact --reference lookup returns every active market directly connected by HAS_MARKET, including markets where Q agrees with the venue or no Q forecast exists. A linked row pairs latest_q_probability with its nullable thesis, forecast_at, and market_odds_at_forecast. Asset search excludes causal AFFECTS-only rows and never combines question-specific probabilities into an Asset-level probability or trade direction. market_odds is the venue-neutral current YES probability for Polymarket International, Polymarket US, Kalshi, or Limitless.

Nested relationships is a flat, non-recursive navigation envelope of exact HAS_MARKET, ON_MARKET, ON_FORECAST, and HAS_SIGNAL edges. Refs preserve direction and via, carry no probabilities, and exclude AFFECTS. via: direct is one hop; via: market or via: asset is exactly one explicit two-hop path, with direction relative to that intermediate node. Each assets/markets/signals category is capped at 50; inspect its truncated flag. Asset search's linked_markets remains complete even when relationship refs are truncated.

Portfolio report reads a Polymarket wallet only. To enrich Hyperliquid or other external holdings, deduplicate their stable ticker/platform IDs and pass them in one Asset search with repeated --reference flags. A daily digest makes three serial calls—Asset search, signals, and mispriced markets. A target such as AAPL, oil, or gold scopes the latter two sections to exact linked marketKey values; it does not fan out into per-market reads.

quotient outlooks returns the calibrated p10/p25/median_price (p50)/p75/p90 price outlook per Asset and horizon. quotient perps remains a deprecated alias. The default view leads with Q's published directional label and then names p25 as the bear case, median_price as the base case, and p75 as the bull case. --full adds p10/p90 tails and range coverage. is_primary_horizon marks the nearest still-open horizon without skipping neutral. Preserve every horizon and state disagreement across horizons. For bullish/bearish comparisons, match horizons and settlement bases and rank by directional_take.score_sigma, not p50 or p75 alone. Its label and strength describe score magnitude, not calibrated confidence. A directional take carries is_price_signal: false; price_signals is empty or contains one current call with is_price_signal: true on its exact Hyperliquid group.

--asset-class commodity returns every covered commodity series in one call. quotient signals and quotient markets mispriced narrow to one taxonomy value with --tag or --category (e.g. --category commodities). Use Asset search for an underlying's linked prediction-market intelligence.

A signal is active or retired (with a reason); --status filters on exactly those two values. Each covered market also carries a forecast_status — its read against Q: warning (moved ≥25% against Q's side, measured from the worse of the signal entry and the latest forecast), caution (≥15%), converged (reached Q's price), or converging/sideways/diverging. Flagged rows stay in the feed; the CLI prints the status beside each signal and relays it verbatim.

Price outlooks and asset stances group results by settlement basis. Prediction-market YES prices, settlement references, and execution quotes remain separate. Cross-source gaps are basis observations, not arbitrage claims or conversion rates.

Release CI checks the overlapping API/CLI skill policy and verifies that every metered agent operation has a reviewed keyless price matching canonical OpenAPI (or an explicit deny reason):

npm run artifacts:check -- --openapi /path/to/openapi.json --api-skill /path/to/public/skill/skill.md

The API-served skill and compact CLI-installed skill use different packaging and release versions. agent-artifacts.json pins both versions plus their shared commands and source-aware interpretation rules, so the check catches semantic drift without requiring byte-identical bundles.

Use it with an agent

After setup, ask your agent naturally. Good first questions:

  • "What data does Quotient have available?"
  • "How do I schedule daily buys for Quotient signals?"
  • "Give me a digest of what's going on with my portfolio."

And once you know your way around:

  • "What does Q forecast for this market?"
  • "What prediction markets are linked to Apple?"
  • "Gold is in my Hyperliquid portfolio—show the Asset intelligence around it."
  • "Show today's commodity mispricing."
  • "What research supports this forecast?"

The Quotient skill routes the request to the right CLI command. Restart any agent session that was already open before setup ran.

Managing your install

quotient login                    # browser sign-in only, leaves skills and context alone
quotient sync                     # pull settings you saved in the Quotient console
quotient skill update auto        # refresh the skill after upgrading the CLI
quotient skill uninstall auto     # remove the skill; access and MCP entries are kept
quotient status                   # check access and remaining credits

Ordinary commands perform a one-second, once-daily best-effort update check. New CLI or skill releases are announced on stderr, so human output and --json stdout stay stable. Set QUOTIENT_DISABLE_UPDATE_CHECK=1 to disable it.

MCP is optional

MCP exposes the same Quotient data as native agent tools. It can add latency because the agent loads more tools and context. Use it only when you want native tool discovery.

quotient mcp install auto

Documentation: https://thesis.quotient.social/connect