* refactor(skills): shipped-set slim — 15 skills to optional, github six-way merge, pdf absorbs OCR+nano-pdf, channel-gated teams pipeline
Maintainer-directed shipped-skills curation (skills index 1,900 -> ~1,400
tok/call on desktop; every session pays the index, so this is a per-call
diet on all installs):
- optional-skills moves (installable via skills hub, history preserved):
creative comfyui/ascii-art/excalidraw/pretext/sketch/touchdesigner-mcp;
ALL of mlops (huggingface-hub, llama-cpp, serving-llms-vllm,
weights-and-biases, evaluating-llms-harness — subcategory structure
kept); research-paper-writing (55 supporting files, 17.3K-tok load);
openhue; blogwatcher (first taught the cronjob monitor-field watch
pattern + web_extract instead of pre-cron manual workflows)
- DELETED session-librarian (Aug-12 'inspired by Perplexity Computer'
port, never maintainer-intended; session_search covers discovery)
- github: six skills (auth, issues, pr-workflow, issue-to-pr,
code-review, repo-management) merged into ONE software-development/
github skill — routing body + complete per-workflow references;
benbarclay authorship credited; codebase-inspection rides along;
discipline pins from test_github_issue_to_pr_skill.py preserved
against the reference body in the new test_github_skill.py
- pdf absorbs ocr-and-documents + nano-pdf as references/ + scripts
(extract_pymupdf, extract_marker converted to the argparse house
standard its contract test enforces)
- NEW session_platforms frontmatter gate (metadata.hermes): hides a
skill from the index on gateway channels it is not for; fail-open on
unknown platform; teams-meeting-pipeline gated to [teams, cron]
- blocked-page-recovery: research -> new web category; trigger-first
description ('Use when a fetch fails: 403/429, paywall, WAF, bot
wall.') so the model actually reaches for it on blocked fetches
- docs regenerated via generate-skill-docs.py (195 pages); related_skills
swept repo-wide; tests: 1672 passed (2 openclaw failures pre-existing
on clean main, Windows-local)
* chore: ignore .skills_prompt_snapshot.json (local index cache, accidentally committed)
3.6 KiB
title, sidebar_label, description
| title | sidebar_label | description |
|---|---|---|
| Polymarket — Query Polymarket: markets, prices, orderbooks, history | Polymarket | Query Polymarket: markets, prices, orderbooks, history |
{/* This page is auto-generated from the skill's SKILL.md by website/scripts/generate-skill-docs.py. Edit the source SKILL.md, not this page. */}
Polymarket
Query Polymarket: markets, prices, orderbooks, history.
Skill metadata
| Source | Optional — install with hermes skills install official/finance/polymarket |
| Path | optional-skills/finance\polymarket |
| Version | 1.0.0 |
| Author | Hermes Agent + Teknium |
| License | MIT |
| Platforms | linux, macos, windows |
Reference: full SKILL.md
:::info The following is the complete skill definition that Hermes loads when this skill is triggered. This is what the agent sees as instructions when the skill is active. :::
Polymarket — Prediction Market Data
Query prediction market data from Polymarket using their public REST APIs. All endpoints are read-only and require zero authentication.
See references/api-endpoints.md for the full endpoint reference with curl examples.
When to Use
- User asks about prediction markets, betting odds, or event probabilities
- User wants to know "what are the odds of X happening?"
- User asks about Polymarket specifically
- User wants market prices, orderbook data, or price history
- User asks to monitor or track prediction market movements
Key Concepts
- Events contain one or more Markets (1:many relationship)
- Markets are binary outcomes with Yes/No prices between 0.00 and 1.00
- Prices ARE probabilities: price 0.65 means the market thinks 65% likely
outcomePricesfield: JSON-encoded array like["0.80", "0.20"]clobTokenIdsfield: JSON-encoded array of two token IDs [Yes, No] for price/book queriesconditionIdfield: hex string used for price history queries- Volume is in USDC (US dollars)
Three Public APIs
- Gamma API at
gamma-api.polymarket.com— Discovery, search, browsing - CLOB API at
clob.polymarket.com— Real-time prices, orderbooks, history - Data API at
data-api.polymarket.com— Trades, open interest
Typical Workflow
When a user asks about prediction market odds:
- Search using the Gamma API public-search endpoint with their query
- Parse the response — extract events and their nested markets
- Present market question, current prices as percentages, and volume
- Deep dive if asked — use clobTokenIds for orderbook, conditionId for history
Presenting Results
Format prices as percentages for readability:
- outcomePrices
["0.652", "0.348"]becomes "Yes: 65.2%, No: 34.8%" - Always show the market question and probability
- Include volume when available
Example: "Will X happen?" — 65.2% Yes ($1.2M volume)
Parsing Double-Encoded Fields
The Gamma API returns outcomePrices, outcomes, and clobTokenIds as JSON strings
inside JSON responses (double-encoded). When processing with Python, parse them with
json.loads(market['outcomePrices']) to get the actual array.
Rate Limits
Generous — unlikely to hit for normal usage:
- Gamma: 4,000 requests per 10 seconds (general)
- CLOB: 9,000 requests per 10 seconds (general)
- Data: 1,000 requests per 10 seconds (general)
Limitations
- This skill is read-only — it does not support placing trades
- Trading requires wallet-based crypto authentication (EIP-712 signatures)
- Some new markets may have empty price history
- Geographic restrictions apply to trading but read-only data is globally accessible