classify and score polymarket markets or events for watchlist triage, segmentation, and opportunity filtering. use when the user wants to categorize markets by structure, horizon, resolution risk, liquidity, catalyst profile, modelability, or tradability; rank which bets deserve deeper research; build rules for allowed or blocked bet types; or produce a normalized object for downstream skills and automations.
derived judgments: clarity, ambiguity, modelability, tradability, catalyst quality, priority, and next action
Do not leak subjective judgments into canonical fields.
5. Classify the structural shape
Determine at minimum:
structuralType
mutualExclusivity
exhaustiveWithinGroup
settlementTimingClass
horizonDays
horizonBucket
catalyst profile
resolution-risk profile
Bias toward conservative structure labels when uncertain. If a market could be either clean or messy, classify it as the messier form until the rules clearly support the cleaner one.
6. Score it using the rubric
Use references/scoring-rubric.md and keep exact numerics ahead of buckets.
At minimum, assess:
resolutionClarityScore
resolutionAmbiguityScore
modelabilityScore
tradabilityScore
catalystScore
attentionGapScore
crossMarketConsistencyScore
Then produce exactly one of:
researchPriorityScore when no fair-value model exists
tradeOpportunityScore when a fair-value model already exists and is credible
If fair value is missing, keep:
pricingStatus = unmodeled
fairProb = null
fairValueLow = null
fairValueHigh = null
no underpriced / overpriced language
7. Make the decision
Assign:
interestTier
reasonCodes
disqualifiers
nextHandoffSkill
The decision should answer:
should this be ignored, watched, researched, or advanced?
what is the single best next step?
what is the main reason not to do more work?
8. Persist when useful
When state tools are available, call record_classification with:
normalized scores
final decision payload
the reasoning fields that are worth reusing later
Persist only when the classification is stable enough to be useful downstream.
hard rules
Keep canonical metadata separate from derived judgments.
Treat resolution risk as first-class. Always read the resolution text and end date before assigning a high tier.
Do not use isUnderPriced or isOverPriced unless a real fair probability exists.
Prefer exact numerics like horizonDays, spreadCents, slippageAt50Usd, and realizedVol7d; derive buckets second.
Do not promote a market above tier B when resolution ambiguity is high or tradability is poor.
Do not place, preview, submit, or cancel orders in this skill.
Do not confuse novelty with opportunity. Weird markets often deserve avoid.
Do not reward thin illiquidity on its own. attentionGap is neglected-but-usable, not dead-and-untradeable.
Do not let one weak related-market inconsistency dominate an otherwise low-quality market.
escalation and handoff rules
Tier A or B, but no fair value yet -> deep-market-research
Tier A or B with a credible thesis but no execution framing -> strategy-draft
User only wants a compact single-name summary -> market-memo
User explicitly wants to trade now -> order-ticket
If the user explicitly asks for probability modeling or fair pricing before triage is complete:
classify first only if the main blocker is "is this even worth modeling?"