CtrlK
BlogDocsLog inGet started
Tessl Logo

prediction-markets-dome

Prediction markets data - Polymarket, Kalshi markets, prices, positions, and trades

53

Quality

67%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/research-tools/capabilities/prediction-markets-dome/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

60%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a highly actionable API catalog — every endpoint has a ready curl example with documented parameters — with a clear setup sequence and error-recovery fallback. Its weaknesses are structural: the Capabilities list duplicates the usage sections verbatim, four endpoints have duplicate headings, and the entire endpoint reference is inlined in SKILL.md instead of being split into a reference file, inflating token cost on every load.

Suggestions

Move the per-endpoint parameter documentation into a references/endpoints.md file and keep only the capability list and one example call per category in SKILL.md, cutting context cost by ~80%.

Delete the 'Capabilities' bullet list or reduce it to platform names — it duplicates every Usage section description verbatim — and disambiguate the four duplicate headings (e.g., 'Kalshi Market Price' vs 'Polymarket Market Price by token').

Fix the broken example details: remove the stray 'List all endpoints' text inside the Discover More code block, align the Kalshi trades query key with the documented 'market_slug' parameter, and document the 'sport' path segment used in /matching-markets/sports/nba.

DimensionReasoningScore

Conciseness

The per-endpoint parameter lists are API-specific facts Claude cannot know, so they earn their place, but the 'Capabilities' section repeats all sixteen usage-section descriptions verbatim and four endpoint headings are duplicated ('Market Price', 'Markets', 'Trade History', 'Orderbook History' each appear twice), which is real padding that could be cut. It sits above anchor 2 (no generic-concept explanations, dense factual content) but below anchor 4 because of the wholesale duplication.

3 / 5

Actionability

Every endpoint provides a complete copy-paste curl command with auth headers plus typed parameters with defaults and limits, which is highly executable. Minor gaps remain: unsubstituted placeholders like '{"ticker":"{ticker}"}', the stray text after the JSON in the 'List all endpoints' command, the Kalshi trades example passing a 'market' key that does not match the documented 'market_slug' parameter, and '/matching-markets/sports/nba' hardcoding a 'sport' path segment that is never documented — keeping it below the fully copy-paste-ready anchor 5.

4 / 5

Workflow Clarity

Setup is a clear sequence with an explicit error-recovery branch ('If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login'), and each usage section is a single unambiguous call. It falls short of anchor 5 because there is no guidance on handling API errors, rate limits, or following pagination keys despite pagination being documented on several endpoints.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/ directories), and roughly 280 of the ~340 body lines are a full API endpoint reference inlined directly in SKILL.md — exactly the 'content that clearly belongs in separate files is inlined' failure of anchor 2. Section headers do exist, nudging above a monolithic wall of text, but with no reference files at all and no content split, it cannot reach anchor 3's 'references present but not clearly signaled'.

2 / 5

Total

13

/

20

Passed

Description

61%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description identifies a clear, distinctive niche (prediction market data on Polymarket and Kalshi) with good natural trigger terms, but it is a bare noun phrase: it names no actions and gives no 'when to use' guidance. Adding explicit verbs (e.g., 'Fetch market prices, orderbooks, positions, and trade history') and a 'Use when...' clause would lift both specificity and completeness.

Suggestions

Add an explicit trigger clause, e.g., 'Use when the user asks about prediction markets, betting odds, or mentions Polymarket or Kalshi.'

Replace the noun-only listing with concrete actions, e.g., 'Fetch market prices, orderbooks, candlesticks, positions, PnL, and trade history from Polymarket and Kalshi.'

Include a few natural synonyms such as 'betting odds' or 'forecast markets' to broaden trigger coverage.

DimensionReasoningScore

Specificity

The description lists several concrete data objects ("markets, prices, positions, and trades") tied to two named platforms, but contains no action verbs at all — it is a noun phrase rather than a list of concrete actions, sitting between the 'minimal actions' (2) and 'several specific actions' (4) anchors.

3 / 5

Completeness

The 'what' is clear (prediction market data across Polymarket and Kalshi), but there is no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines — it cannot reach 4 without an explicit 'when'.

3 / 5

Trigger Term Quality

"Polymarket", "Kalshi", "prediction markets", "prices", and "trades" are terms users would naturally say when needing this skill, but common synonyms like "betting odds" or "forecasting" are absent, matching 'good keyword coverage; a few natural terms missing' rather than comprehensive coverage.

4 / 5

Distinctiveness Conflict Risk

The platform names "Polymarket" and "Kalshi" pin a distinct niche with minimal conflict risk against unrelated skills, but generic terms like "prices" and "trades" leave minor overlap risk with general crypto/market-data skills, fitting 'mostly distinct; minor overlap risk' rather than the fully distinct anchor 5.

4 / 5

Total

14

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
gooseworks-ai/goose-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.