Market Trading Workflow

Other

Conservative venue-agnostic trading workflow for ClawHub: discover a market, validate the fixture, price the edge, and trade only when safe.

Install

openclaw skills install @natekohisbetterthanryan/market-trading-workflow

Market Trading Workflow

Overview

Use this skill as a reusable trading playbook for ClawHub-compatible agents and Skill Builder outputs. It now includes the World Cup research model as a bundled local script, so the skill contains both:

  • the research layer that estimates win / draw / loss probabilities
  • the execution layer that decides whether to trade or pass

It turns a market idea into a disciplined bet-or-pass decision:

  1. discover the current market at runtime
  2. resolve a fresh market id
  3. fetch market context
  4. compare fair value to market price
  5. trade only if the edge is strong and the mapping is trustworthy
  6. otherwise pass cleanly with a reason

The workflow is intentionally conservative. A stale market, wrong fixture, or unresolved context is more dangerous than missing a marginal edge.

How to use this skill

Start with the fixture, not the venue:

  • identify the teams or outcome being traded
  • discover the current market fresh
  • verify that the market question matches the intended event
  • price the market against your own fair value
  • only enter when the edge is strong enough to survive slippage and live-state changes

If anything looks stale, mismatched, or ambiguous, skip the trade and report the blocker.

When to use

Use this skill when you need to:

  • build a ClawHub trading skill from a plain-language strategy
  • keep trades conservative and explainable
  • scan markets at runtime instead of hardcoding IDs
  • decide whether to place a trade or return no bet
  • publish a skill that should pass moderation and scanner checks

Core principles

  1. Use SimmerClient for trades. Do not call Polymarket CLOB directly from the skill.

  2. Default to dry-run. Require --live for any real-money action.

  3. Tag every trade. Include source and skill_slug so P&L and rebuy protection work correctly.

  4. Read secrets from env. Never hardcode API keys or private credentials.

  5. Keep skill_slug aligned. The slug in clawhub.json, SKILL.md, and runtime tags should match.

  6. Pass on uncertain mappings. If the market lookup or fixture validation is fragile, do not force a bet.

Suggested operating sequence

Step 1: Discover

Find the active market using runtime search or tags.

Step 2: Validate

Check the market page, question text, and event identity.

Step 3: Price

Estimate fair probability and compare it to market price.

Step 4: Gate

Require:

  • trustworthy fixture mapping
  • meaningful edge
  • liquidity/slippage that still works
  • live state that does not contradict the thesis

Step 5: Act or pass

If all gates pass, trade. If any gate fails, return pass with a concrete reason.

Reporting template

Use this format when summarizing a decision:

  • Market: <question or id>
  • Fair: <fair probability>
  • Price: <market price>
  • Edge: <edge>
  • Confidence: <low/medium/high>
  • Decision: <trade or pass>
  • Reason: <exact blocker or thesis>

Common blockers

  • stale or wrong market ID
  • unresolved market context
  • unparseable market question
  • fixture mismatch
  • thin edge
  • fragile underdog setup
  • live state no longer supports the thesis

Publishing note

A ClawHub-ready skill folder should include:

  • SKILL.md
  • clawhub.json
  • a main Python script
  • DISCLAIMER.md

See references/publishing-flow.md for the repeatable login/logout/publish sequence, device-flow auth, and account-switching notes. See references/simmer-sdk-compat.md for the runtime-safe discovery and trade-call pattern that works across older and newer simmer-sdk installs.

Use the official ClawHub publish command from inside the folder:

npx clawhub@latest publish . --slug market-trading-workflow --version 1.0.1

If publishing is blocked by an account policy, switch to a qualifying account and repeat the device-login flow before retrying publish. If a device code expires, restart clawhub login --device --no-browser to get a fresh code.