Agent skill

calci-prediction-market

Context and working knowledge for Calci’s prediction-market domain, which is powered by Kalshi. Use this skill whenever the user asks about Calci prediction markets, Kalshi markets, tickers, order books, pricing, settlement, or the Kalshi API/WebSocket.

Stars 27
Forks 6

Install this agent skill to your Project

npx add-skill https://github.com/ratacat/claude-skills/tree/main/skills/kalshi-prediction-market

SKILL.md

Calci Prediction Market (Kalshi)

Calci’s prediction-market layer is built on Kalshi. This skill provides the domain model, trading mechanics, and API conventions you need to reason about Calci/Kalshi data and to explain it clearly to users.

Core Mental Model

  1. Binary event contracts

    • Every tradable contract is Yes/No on a real‑world outcome.
    • A winning side pays $1, losing side pays $0.
    • Prices between $0.01–$0.99 represent implied probability.
  2. Implied probability

    • If a Yes contract trades at $0.74, the market implies ~74% chance of Yes.
    • No price is complementary (roughly 1 − Yes, ignoring fees/spread).
  3. Fully collateralized

    • Users pay maximum loss up‑front. No margin/leverage.
    • You can never lose more than you spend on contracts.

Data Hierarchy (Kalshi → Calci)

Kalshi uses a strict hierarchy:

  • Series → template for recurring markets (shared rules/settlement).
  • Event → specific instance within a series (a real‑world occurrence).
  • Market → single binary contract within an event (one Yes/No outcome).

Calci mirrors these objects. When you see “market” in Calci UI, clarify whether it’s an event page (container) or a specific market outcome (binary leg).

Market Objects: What Fields Mean

When interpreting Calci/Kalshi market JSON:

  • ticker: unique identifier (string).
  • event_ticker / series_ticker: parent identifiers.
  • title / subtitle: human‑readable question and clarification.
  • yes_bid / yes_ask (cents) and _dollars: best prices to buy/sell Yes.
  • no_bid / no_ask: best prices to buy/sell No.
  • last_price: last traded Yes price.
  • volume / volume_24h / open_interest: activity and outstanding contracts.
  • open_time / close_time / expiration_time: lifecycle timestamps.
  • status: initialized, active/open, closed, settled.
  • result / settlement_value: set after resolution.

Trading Mechanics to Explain

  • Order book on both Yes and No sides.
  • Quick/market order crosses current spread for immediate fill.
  • Limit order rests at a chosen price; may add liquidity.
  • Closing a position = taking the opposite side later (sell Yes or buy No).
  • Mutually exclusive events contain multiple markets where at most one can settle Yes.

Fees on Kalshi are variable/quadratic, roughly a percent of potential profit; maker orders may be discounted.

Settlement & Resolution

  • Each series defines official settlement sources and rules.
  • Markets usually close before the strike/decision time, then settle after confirmation.
  • Some markets can resolve early if can_close_early is true.

When asked “how does this resolve?”, reference the series rules and settlement source, then restate in plain language.

API Conventions You Should Use

Public data (no auth needed):

  • GET /series
  • GET /events (events include their markets)
  • GET /markets
  • GET /market/{ticker}
  • GET /market/orderbook
  • GET /market/candlesticks
  • GET /market/trades
  • GET /exchange/status

Trading/account (auth required):

  • POST /orders, DELETE /orders/{id}, GET /orders/{id}
  • POST /order-groups and related order‑group endpoints
  • GET /portfolio/balance, GET /portfolio/positions, GET /portfolio/fills

Auth uses an API key id plus RSA signature headers:

  • KALSHI-ACCESS-KEY
  • KALSHI-ACCESS-TIMESTAMP
  • KALSHI-ACCESS-SIGNATURE

Real‑time updates arrive via WebSocket subscriptions to tickers.

How to Apply This Skill When Answering

  1. Map Calci terms → Kalshi terms if the user is vague.
  2. Always distinguish Series/Event/Market and restate which level you’re discussing.
  3. Convert price to probability explicitly when helpful.
  4. Explain both sides (Yes/No) and spreads when discussing pricing or order books.
  5. Cite rules + settlement source for resolution questions.
  6. Stay neutral: describe mechanics and risks; don’t give financial advice.

Examples

  • “This Calci market is a Kalshi market ticker. It’s a binary contract paying $1 if Yes. At $0.62, the market implies ~62% Yes probability.”
  • “The event is mutually exclusive, so each candidate outcome is a separate market. Exactly one can settle Yes.”
  • “To get real‑time prices, subscribe to the market tickers on the Kalshi WebSocket; Calci mirrors those updates.”

For more detail, see reference.md.

Expand your agent's capabilities with these related and highly-rated skills.

ratacat/claude-skills

brave-search

Use when user asks to search the web, look something up online, find current/recent/latest information, or needs cited answers. Triggers on "search", "look up", "find out about", "what is the current/latest", image searches, news lookups. NOT for searching code/files—only for web/internet searches.

27 6
Explore
ratacat/claude-skills

bug-reproduction-validator

Use this agent when you receive a bug report or issue description and need to verify whether the reported behavior is actually a bug. This agent will attempt to reproduce the issue systematically, validate the steps to reproduce, and confirm whether the behavior deviates from expected functionality. <example>\nContext: The user has reported a potential bug in the application.\nuser: "Users are reporting that the email processing fails when there are special characters in the subject line"\nassistant: "I'll use the bug-reproduction-validator agent to verify if this is an actual bug by attempting to reproduce it"\n<commentary>\nSince there's a bug report about email processing with special characters, use the bug-reproduction-validator agent to systematically reproduce and validate the issue.\n</commentary>\n</example>\n<example>\nContext: An issue has been raised about unexpected behavior.\nuser: "There's a report that the brief summary isn't including all emails from today"\nassistant: "Let me launch the b...

27 6
Explore
ratacat/claude-skills

agent-native-audit

Run comprehensive agent-native architecture review with scored principles

27 6
Explore
ratacat/claude-skills

brainstorming

This skill should be used before implementing features, building components, or making changes. It guides exploring user intent, approaches, and design decisions before planning. Triggers on "let's brainstorm", "help me think through", "what should we build", "explore approaches", ambiguous feature requests, or when the user's request has multiple valid interpretations that need clarification.

27 6
Explore
ratacat/claude-skills

performance-oracle

Use this agent when you need to analyze code for performance issues, optimize algorithms, identify bottlenecks, or ensure scalability. This includes reviewing database queries, memory usage, caching strategies, and overall system performance. The agent should be invoked after implementing features or when performance concerns arise.\n\n<example>\nContext: The user has just implemented a new feature that processes user data.\nuser: "I've implemented the user analytics feature. Can you check if it will scale?"\nassistant: "I'll use the performance-oracle agent to analyze the scalability and performance characteristics of your implementation."\n<commentary>\nSince the user is concerned about scalability, use the Task tool to launch the performance-oracle agent to analyze the code for performance issues.\n</commentary>\n</example>\n\n<example>\nContext: The user is experiencing slow API responses.\nuser: "The API endpoint for fetching reports is taking over 2 seconds to respond"\nassistant: "Let me invoke the...

27 6
Explore
ratacat/claude-skills

triage

Triage and categorize findings for the CLI todo system

27 6
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results