simmer-skill-builderGenerate complete, installable OpenClaw trading skills from natural language strategy descriptions. Use when your human wants to create a new trading strateg...
Install via ClawdBot CLI:
clawdbot install adlai88/simmer-skill-builderGenerate complete, runnable Simmer trading skills from a strategy description.
You are building an OpenClaw skill that trades prediction markets through the Simmer SDK. The skill you generate will be installed into your skill library and run by you ā it must be a complete, self-contained folder that works out of the box.
Ask your human what their strategy does. They might:
Clarify until you understand:
Read these files to understand the patterns:
references/skill-template.md ā The canonical skill skeleton. Copy the boilerplate blocks verbatim (config system, get_client, safeguards, execute_trade, CLI args).references/simmer-api.md ā Simmer SDK API surface. All available methods, field names, return types.If the Simmer MCP server is available (simmer://docs/skill-reference resource), prefer reading that for the most up-to-date API docs. Otherwise use references/simmer-api.md.
For real examples of working skills, read:
references/example-weather-trader.md ā Pattern: external API signal + Simmer SDK tradingreferences/example-mert-sniper.md ā Pattern: Simmer API only, filter-and-tradeIf the strategy uses an external data source:
GET https://clob.polymarket.com/book?token_id= ā orderbookGET https://clob.polymarket.com/midpoint?token_id= ā midpoint priceGET https://clob.polymarket.com/prices-history?market=&interval=1w&fidelity=60 ā price historypolymarket_token_id from the Simmer market response.Create a complete folder on disk:
<skill-slug>/
āāā SKILL.md # Metadata + documentation
āāā <script>.py # Main trading script
āāā scripts/
āāā status.py # Portfolio viewer (copy from references)
name, displayName, description, metadata (including automaton entrypoint), version: "1.0.0", published: truerequires.pip must include simmer-sdkrequires.env must include SIMMER_API_KEYCopy these verbatim from references/skill-template.md:
from simmer_sdk.skill import load_config, update_config, get_config_path)get_client() singletoncheck_context_safeguards()execute_trade()calculate_position_size()--live, --positions, --config, --set, --smart-sizing, --no-safeguards, --quiet)Customize:
CONFIG_SCHEMA ā skill-specific params with SIMMER__ env varsTRADE_SOURCE ā unique tag like "sdk:" SKILL_SLUG ā must match the ClawHub slug exactly (e.g., "polymarket-weather-trader")Run the validator against the generated skill:
python /path/to/simmer-skill-builder/scripts/validate_skill.py /path/to/generated-skill/
Fix any FAIL results before delivering to your human.
Once validated, publish the skill so it appears in the Simmer registry automatically:
npx clawhub@latest publish /path/to/generated-skill/ --slug <skill-slug> --version 1.0.0
After publishing, the Simmer sync job picks it up within 6 hours and lists it at simmer.markets/skills. No submission or approval needed ā publishing to ClawHub with simmer-sdk as a dependency is all it takes.
Tell your human:
ā Skill published to ClawHub. It will appear in the Simmer Skills Registry within 6 hours at simmer.markets/skills.
For full publishing details: simmer.markets/skillregistry.md
SimmerClient for trades. Never import py_clob_client, polymarket, or call the CLOB API directly for order placement. Simmer handles wallet signing, safety rails, and trade tracking.--live flag must be explicitly passed for real trades.source=TRADE_SOURCE and skill_slug=SKILL_SLUG. SKILL_SLUG must match the ClawHub slug exactly ā Simmer uses it to track per-skill volume.check_context_safeguards() function, skippable with --no-safeguards.execute_trade() ā it's displayed publicly and builds your reputation.requests, httpx, or aiohttp as dependencies unless your human specifically needs them. The only pip dependency should be simmer-sdk.sys.stdout.reconfigure(line_buffering=True) ā required for cron/Docker/OpenClaw visibility.get_positions() returns dataclasses ā always convert with from dataclasses import asdict.SIMMER_API_KEY env var via get_client().polymarket- for Polymarket-specific, simmer- for platform-agnosticsdk: (e.g. sdk:synthvol, sdk:rssniper, sdk:momentum) ā used for rebuy/conflict detectionSKILL_SLUG = "polymarket-synth-volatility") ā used for volume attributionSIMMER__ (e.g. SIMMER_SYNTHVOL_ENTRY).py (e.g. synth_volatility.py, rss_sniper.py)Your human pastes:
"Build a bot that uses Synth volatility forecasts to trade Polymarket crypto hourly contracts. Buy YES when Synth probability > market price by 7%+ and Kelly size based on edge."
You would:
references/skill-template.md for the skeleton.references/simmer-api.md for SDK methods.references/example-weather-trader.md ā closest pattern (external API signal).polymarket-synth-volatility/ with:synth_volatility.py (fetch Synth forecast, compare to market price, Kelly size, trade)scripts/status.py (copied)scripts/validate_skill.py.npx clawhub@latest publish polymarket-synth-volatility/ --slug polymarket-synth-volatility --version 1.0.0Generated Mar 1, 2026
A user describes a strategy to buy weather market contracts based on NOAA forecast data, such as purchasing 'Yes' shares if rainfall probability exceeds 70%. The skill builder generates a Python script that fetches NOAA data via API, filters relevant Simmer markets by tags like 'weather', and executes trades when thresholds are met, with configurable entry and exit logic.
A user pastes a tweet outlining a crypto momentum strategy, e.g., buying Polymarket tokens when Bitcoin price surges 5% in an hour. The skill builder creates a skill that integrates Binance API for price signals, discovers crypto-related markets on Simmer, and implements trade execution with smart position sizing based on market volatility.
A user wants a bot that monitors political prediction markets and buys contracts when polling data diverges from market prices. The skill builder generates code to fetch external polling APIs, compare data to Simmer market midpoints, and execute trades with safeguards to avoid overexposure, using the Simmer SDK for all market interactions.
A user describes a strategy to exploit price differences between Simmer and other prediction platforms for sports outcomes. The skill builder produces a skill that queries multiple APIs for odds, calculates arbitrage opportunities, and automatically places trades on Simmer with configurable profit thresholds and risk limits.
A user requests a skill that trades based on news headlines from an RSS feed, e.g., buying 'Yes' shares for markets related to breaking news events. The skill builder creates a script that parses RSS data, matches keywords to Simmer market tags, and executes trades with timing windows to capitalize on early information.
Offer a subscription service where users pay monthly to access the skill builder for generating custom trading bots. Revenue comes from tiered plans based on the number of skills created, API call volumes, and premium features like advanced backtesting or multi-exchange integration.
Publish user-generated skills to a public registry like ClawHub and take a commission on trading profits or a fee for skill downloads. This model incentivizes skill sharing and community growth, with revenue generated from transaction fees or premium skill listings.
Provide bespoke services to businesses or individual traders who need complex strategies built with the skill builder. Revenue is generated through project-based fees or hourly rates for designing, validating, and deploying tailored trading skills with ongoing support and optimization.
š¬ Integration Tip
Ensure the SIMMER_API_KEY environment variable is set and test the generated skill with the validator script before publishing to avoid runtime errors.
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Search and analyze your own session logs (older/parent conversations) using jq.
Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.
Ultimate AI agent memory system for Cursor, Claude, ChatGPT & Copilot. WAL protocol + vector search + git-notes + cloud backup. Never lose context again. Vibe-coding ready.
Headless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection