返回顶部
🇺🇸 English
🇨🇳 简体中文
🇨🇳 繁體中文
🇺🇸 English
🇯🇵 日本語
🇰🇷 한국어
🇫🇷 Français
🇩🇪 Deutsch
🇪🇸 Español
🇷🇺 Русский
s

simmer-skill-builder

Generate complete, installable OpenClaw trading skills from natural language strategy descriptions. Use when your human wants to create a new trading strategy, build a bot, generate a skill, automate a trade idea, turn a tweet into a strategy, or asks "build me a skill that...". Produces a full skill folder (SKILL.md + Python script + config) ready to install and run.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.2.3
安全检测
已通过
819
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

simmer-skill-builder

# Simmer Skill Builder Generate 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. ## Workflow ### Step 1: Understand the Strategy Ask your human what their strategy does. They might: - Describe a trading thesis in plain language - Paste a tweet or thread about a strategy - Reference an external data source (Synth, NOAA, Binance, RSS, etc.) - Say something like "build me a bot that buys weather markets" or "create a skill for crypto momentum" Clarify until you understand: 1. **Signal** — What data drives the decision? (external API, market price, on-chain data, timing, etc.) 2. **Entry logic** — When to buy? (price threshold, signal divergence, timing window, etc.) 3. **Exit logic** — When to sell? (take profit threshold, time-based, signal reversal, or rely on auto-risk monitors) 4. **Market selection** — Which markets? (by tag, keyword, category, or discovery logic) 5. **Position sizing** — Fixed amount or smart sizing? What default max per trade? ### Step 2: Load References Read these files to understand the patterns: 1. **`references/skill-template.md`** — The canonical skill skeleton. Copy the boilerplate blocks verbatim (config system, get_client, safeguards, execute_trade, CLI args). 2. **`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 trading - **`references/example-mert-sniper.md`** — Pattern: Simmer API only, filter-and-trade ### Step 3: Get External API Docs (If Needed) If the strategy uses an external data source: - **Polymarket CLOB data:** If the Polymarket MCP server is available, search it for relevant endpoints (orderbook, prices, spreads). If not available, the key public endpoints are: - `GET https://clob.polymarket.com/book?token_id=<token_id>` — orderbook - `GET https://clob.polymarket.com/midpoint?token_id=<token_id>` — midpoint price - `GET https://clob.polymarket.com/prices-history?market=<token_id>&interval=1w&fidelity=60` — price history - Get `polymarket_token_id` from the Simmer market response. - **Other APIs (Synth, NOAA, Binance, RSS, etc.):** Ask your human to provide the relevant API docs, or web-fetch them if you have access. ### Step 4: Generate the Skill Create a complete folder on disk: ``` <skill-slug>/ ├── SKILL.md # AgentSkills-compliant metadata + documentation ├── clawhub.json # ClawHub + automaton config ├── <script>.py # Main trading script └── scripts/ └── status.py # Portfolio viewer (copy from references) ``` #### SKILL.md Frontmatter (AgentSkills format) Simmer skills follow the [AgentSkills](https://agentskills.io) open standard, making them compatible with Claude Code, Cursor, Gemini CLI, VS Code, and other skills-compatible agents. ```yaml --- name: <skill-slug> description: <What it does + when to trigger. Max 1024 chars.> metadata: author: "<author>" version: "1.0.0" displayName: "<Human Readable Name>" difficulty: "intermediate" --- ``` Rules: - `name` must be lowercase, hyphens only, match folder name - `description` is required, max 1024 chars - `metadata` values must be flat strings (AgentSkills spec) - NO `clawdbot`, `requires`, `tunables`, or `automaton` in SKILL.md — those go in `clawhub.json` - Body must include: "This is a template" callout, setup flow, configuration table, quick commands, example output, troubleshooting section #### clawhub.json (ClawHub + Automaton config) ```json { "emoji": "<emoji>", "requires": { "env": ["SIMMER_API_KEY"], "pip": ["simmer-sdk"] }, "cron": null, "autostart": false, "automaton": { "managed": true, "entrypoint": "<script>.py" } } ``` - `simmer-sdk` in `requires.pip` is required — this is what causes the skill to appear in the Simmer registry automatically - `requires.env` must include `SIMMER_API_KEY` - `automaton.entrypoint` must point to the main Python script - **`tunables`** — declare every configurable env var here so autotune and the dashboard can surface them. This is the source of truth for tunable ranges and defaults — `clawhub_sync` propagates them to the skills registry automatically. Example tunables: ```json { "tunables": [ {"env": "MY_SKILL_THRESHOLD", "type": "number", "default": 0.15, "range": [0.01, 1.0], "step": 0.01, "label": "Entry threshold"}, {"env": "MY_SKILL_LOCATIONS", "type": "string", "default": "NYC", "label": "Target cities (comma-separated)"}, {"env": "MY_SKILL_ENABLED", "type": "boolean", "default": true, "label": "Feature toggle"} ] } ``` Supported types: `number` (with `range` and `step`), `string`, `boolean`. Keep defaults in sync with `CONFIG_SCHEMA` in your Python script. #### Python Script Requirements Copy these verbatim from `references/skill-template.md`: - Config system (`from simmer_sdk.skill import load_config, update_config, get_config_path`) — merge `SIZING_CONFIG_SCHEMA` from `simmer_sdk.sizing` into your `CONFIG_SCHEMA` for free position sizing knobs - `get_client()` singleton - `check_context_safeguards()` - `execute_trade()` - Position sizing via `simmer_sdk.sizing.size_position()` (Kelly + EV gate, called inline in the loop — do **not** roll your own) - CLI entry point with standard args (`--live`, `--positions`, `--config`, `--set`, `--no-safeguards`, `--quiet`) Customize: - `CONFIG_SCHEMA` — skill-specific params with `SIMMER_<SKILLNAME>_<PARAM>` env vars - `TRADE_SOURCE` — unique tag like `"sdk:<skillname>"` - `SKILL_SLUG` — must match the ClawHub slug exactly (e.g., `"polymarket-weather-trader"`) - Signal logic — your human's strategy - Market fetching/filtering — how to find relevant markets - Main strategy function — the core loop ### Step 5: Validate Run the validator against the generated skill: ```bash python /path/to/simmer-skill-builder/scripts/validate_skill.py /path/to/generated-skill/ ``` Fix any FAIL results before delivering to your human. ### Step 6: Publish to ClawHub Once validated, publish the skill so it appears in the Simmer registry automatically: ```bash 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](https://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](https://simmer.markets/skillregistry.md) ## Hard Rules 1. **Always use `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. 2. **Always default to dry-run.** The `--live` flag must be explicitly passed for real trades. 3. **Always tag trades** with `source=TRADE_SOURCE` and `skill_slug=SKILL_SLUG`. `SKILL_SLUG` must match the ClawHub slug exactly — Simmer uses it to track per-skill volume. 4. **Always include safeguards** — the `check_context_safeguards()` function, skippable with `--no-safeguards`. 5. **Always include reasoning** in `execute_trade()` — it's displayed publicly and builds your reputation. 6. **Use stdlib only** for HTTP (urllib). Don't add `requests`, `httpx`, or `aiohttp` as dependencies unless your human specifically needs them. The only pip dependency should be `simmer-sdk`. 7. **Polymarket minimums:** 5 shares per order, $0.01 min tick. Always check before trading. 8. **Include `sys.stdout.reconfigure(line_buffering=True)`** — required for cron/Docker/OpenClaw visibility. 9. **`get_positions()` returns dataclasses** — always convert with `from dataclasses import asdict`. 10. **Never expose API keys in generated code.** Always read from `SIMMER_API_KEY` env var via `get_client()`. ## Naming Convention - Skill slug: `polymarket-<strategy>` for Polymarket-specific, `simmer-<strategy>` for platform-agnostic - Trade source: `sdk:<shortname>` (e.g. `sdk:synthvol`, `sdk:rssniper`, `sdk:momentum`) — used for rebuy/conflict detection - Skill slug: must match the ClawHub slug exactly (e.g. `SKILL_SLUG = "polymarket-synth-volatility"`) — used for volume attribution - Env vars: `SIMMER_<SHORTNAME>_<PARAM>` (e.g. `SIMMER_SYNTHVOL_ENTRY`) - Script name: `<descriptive_name>.py` (e.g. `synth_volatility.py`, `rss_sniper.py`) ## Example: Tweet to Skill 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: 1. Understand: Signal = Synth API probability vs Polymarket price. Entry = 7% divergence. Sizing = Kelly. Markets = crypto hourly contracts. 2. Read `references/skill-template.md` for the skeleton. 3. Read `references/simmer-api.md` for SDK methods. 4. Read `references/example-weather-trader.md` — closest pattern (external API signal). 5. Ask your human for Synth API docs or web-fetch them. 6. Generate `polymarket-synth-volatility/` with: - SKILL.md (setup, config table, commands) - `synth_volatility.py` (fetch Synth forecast, compare to market price, Kelly size, trade) - `scripts/status.py` (copied) 7. Validate with `scripts/validate_skill.py`. 8. Publish: `npx clawhub@latest publish polymarket-synth-volatility/ --slug polymarket-synth-volatility --version 1.0.0`

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 simmer-skill-builder-1776310692 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 simmer-skill-builder-1776310692 技能

通过命令行安装

skillhub install simmer-skill-builder-1776310692

下载

⬇ 下载 simmer-skill-builder v1.2.3(免费)

文件大小: 22.16 KB | 发布时间: 2026-4-16 17:02

v1.2.3 最新 2026-4-16 17:02
Skill template now uses simmer_sdk.sizing.size_position() (Kelly + EV gate) instead of the inline calculate_position_size() helper. Merge SIZING_CONFIG_SCHEMA into your CONFIG_SCHEMA for free SIMMER_POSITION_SIZING / SIMMER_KELLY_MULTIPLIER / SIMMER_MIN_EV env vars.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部