{"id":"3b483163-c728-4deb-aa98-0a800a4e6555","entityType":"agent","slug":"clawhub-simmer-polymarket-elon-tweets","name":"polymarket-elon-tweets","canonicalUrl":"https://www.xpersona.co/agent/clawhub-simmer-polymarket-elon-tweets","canonicalPath":"/agent/clawhub-simmer-polymarket-elon-tweets","generatedAt":"2026-10-10T00:19:09.917Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:20:08.934Z","emptyReason":null},"description":"Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.8K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17eez0vajry6hjb97y9mbtv2s85wekv:polymarket-elon-tweets","sourceUrl":"https://clawhub.ai/simmer/polymarket-elon-tweets","homepage":"https://clawhub.ai/simmer/skills/polymarket-elon-tweets","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/simmer/polymarket-elon-tweets","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/simmer/skills/polymarket-elon-tweets","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":69,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"polymarket-elon-tweets technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:20:08.934Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:20:08.934Z","emptyReason":null},"stars":null,"forks":null,"downloads":2823,"packageName":null,"latestVersion":"1.3.6","tractionLabel":"2.8K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:20:08.903Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T11:20:08.934Z","lastCrawledAt":"2026-10-09T11:20:08.903Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T11:20:08.903Z","lastVerifiedAt":null,"highlights":[{"version":"1.3.6","createdAt":"2026-09-06T01:12:21.532Z","changelog":"polymarket-elon-tweets v1.3.6 - Updated version metadata and documentation to 1.3.6. - Removed the obsolete skill-card.md file. - Minor documentation and metadata updates; no user-facing strategy or logic changes.","fileCount":9,"zipByteSize":23244},{"version":"1.3.5","createdAt":"2026-05-24T03:02:33.641Z","changelog":"SIM-2374: align tunable env-var names between clawhub.json and CONFIG_SCHEMA","fileCount":9,"zipByteSize":23049},{"version":"1.3.3","createdAt":"2026-05-19T05:38:14.092Z","changelog":"Version 1.3.3 - Updated version metadata to 1.3.3 in skill manifest. - No user-facing functional changes in code or documentation.","fileCount":6,"zipByteSize":18987},{"version":"1.3.2","createdAt":"2026-04-24T10:06:43.467Z","changelog":"polymarket-elon-tweets v1.3.2 - Version bump to 1.3.2 in skill metadata. - Documentation and SKILL.md updated to reflect new version. - No strategy or functional code changes.","fileCount":6,"zipByteSize":18966},{"version":"1.3.1","createdAt":"2026-04-23T05:56:34.598Z","changelog":"V2 migration (2026-04-28): updated troubleshooting copy to point users at the Wrap USDC.e → pUSD flow at simmer.markets/dashboard + docs.simmer.markets/v2-migration. Also refines clawhub.json envVars schema (WALLET_PRIVATE_KEY now correctly optional for managed-wallet users).","fileCount":6,"zipByteSize":18550},{"version":"1.2.2","createdAt":"2026-04-22T09:15:20.944Z","changelog":"Schema fix: primaryEnv + envVars with required:false for optional credentials. Clears OpenClaw 'disproportionate requirements' verdict.","fileCount":6,"zipByteSize":18500},{"version":"1.2.1","createdAt":"2026-04-22T08:18:57.032Z","changelog":"Declare WALLET_PRIVATE_KEY in requires.env for OpenClaw moderation alignment.","fileCount":6,"zipByteSize":18351},{"version":"1.1.4","createdAt":"2026-04-03T02:47:04.576Z","changelog":"Add auto_redeem() call at start of each cycle for external wallet support","fileCount":6,"zipByteSize":18338}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17eez0vajry6hjb97y9mbtv2s85wekv:polymarket-elon-tweets","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17eez0vajry6hjb97y9mbtv2s85wekv:polymarket-elon-tweets` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/simmer/polymarket-elon-tweets before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-elon-tweets/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-elon-tweets/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-elon-tweets/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-elon-tweets/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-elon-tweets/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-elon-tweets/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T00:19:09.913Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-elon-tweets/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-elon-tweets/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-elon-tweets/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-simmer-polymarket-elon-tweets/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:20:08.934Z","emptyReason":null},"readme":"Skill: polymarket-elon-tweets\n\nOwner: simmer\n\nSummary: Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.\n\nTags: latest:1.3.6\n\nVersion history:\n\nv1.3.6 | 2026-09-06T01:12:21.532Z | auto\n\npolymarket-elon-tweets v1.3.6\n\n- Updated version metadata and documentation to 1.3.6.\n- Removed the obsolete skill-card.md file.\n- Minor documentation and metadata updates; no user-facing strategy or logic changes.\n\nv1.3.5 | 2026-05-24T03:02:33.641Z | user\n\nSIM-2374: align tunable env-var names between clawhub.json and CONFIG_SCHEMA\n\nv1.3.3 | 2026-05-19T05:38:14.092Z | auto\n\nVersion 1.3.3\n\n- Updated version metadata to 1.3.3 in skill manifest.\n- No user-facing functional changes in code or documentation.\n\nv1.3.2 | 2026-04-24T10:06:43.467Z | auto\n\npolymarket-elon-tweets v1.3.2\n\n- Version bump to 1.3.2 in skill metadata.\n- Documentation and SKILL.md updated to reflect new version.\n- No strategy or functional code changes.\n\nv1.3.1 | 2026-04-23T05:56:34.598Z | user\n\nV2 migration (2026-04-28): updated troubleshooting copy to point users at the Wrap USDC.e → pUSD flow at simmer.markets/dashboard + docs.simmer.markets/v2-migration. Also refines clawhub.json envVars schema (WALLET_PRIVATE_KEY now correctly optional for managed-wallet users).\n\nv1.2.2 | 2026-04-22T09:15:20.944Z | user\n\nSchema fix: primaryEnv + envVars with required:false for optional credentials. Clears OpenClaw 'disproportionate requirements' verdict.\n\nv1.2.1 | 2026-04-22T08:18:57.032Z | user\n\nDeclare WALLET_PRIVATE_KEY in requires.env for OpenClaw moderation alignment.\n\nv1.1.4 | 2026-04-03T02:47:04.576Z | user\n\nAdd auto_redeem() call at start of each cycle for external wallet support\n\nv1.1.3 | 2026-03-29T07:04:00.228Z | auto\n\nVersion 1.2.0 (2024-06):\n\n- Added order type configuration (GTC or FAK) to skill settings and documentation.\n- Updated configuration table and documentation for new order type setting.\n- Bumped skill version for new functionality.\n\nv1.1.2 | 2026-03-17T09:41:01.087Z | auto\n\n**polymarket-elon-tweets v1.1.2**\n\n- Internal updates in `elon_tweets.py` (details not provided in input)\n- No user-facing changes documented\n- SKILL.md unchanged; core functionality and usage remain as before\n\nv1.1.1 | 2026-03-16T11:32:03.508Z | auto\n\n## Polymarket Elon Tweet Trader v1.1.1 Changelog\n\n- Minor update to elon_tweets.py (code change not detailed in input).\n- No changes to documentation or user-facing config/commands.\n- All usage, commands, and configuration remain as in v1.1.0.\n\nv1.1.0 | 2026-03-05T15:16:36.832Z | user\n\nFix market discovery: search query now finds all tweet count buckets including high-probability ones\n\nv1.0.11 | 2026-03-03T02:53:03.527Z | user\n\nAgentSkills format — moved platform config to clawhub.json for cross-agent compatibility\n\nv1.0.10 | 2026-02-27T10:05:13.236Z | auto\n\n- Added \"difficulty: advanced\" to the skill metadata for clearer user guidance.\n- No changes to logic, features, or configuration—documentation only.\n\nv1.0.9 | 2026-02-27T06:03:42.102Z | auto\n\nVersion 1.0.9\n\n- No file changes detected in this release.\n- No updates or modifications applied to the skill contents.\n\nv1.0.8 | 2026-02-27T05:54:37.772Z | auto\n\nNo functional or documentation changes in this version.\n\n- No file changes detected between previous and current versions.\n- Skill behavior, features, and documentation remain unchanged.\n\nv1.0.7 | 2026-02-27T05:52:03.348Z | auto\n\nVersion 1.0.7\n\n- Maintenance release; no user-facing changes noted in documentation.\n- Likely includes internal code updates or minor adjustments in elon_tweets.py.\n\nv1.0.6 | 2026-02-27T03:55:24.299Z | user\n\nAdd is_live_now field to Market dataclass; forward-compatible filter to skip not-yet-open markets\n\nv1.0.5 | 2026-02-24T13:04:10.101Z | auto\n\n- Added Automaton manifest entry in SKILL.md for managed execution with elon_tweets.py as entrypoint.\n- No changes to functionality or options for end users.\n\nv1.0.4 | 2026-02-17T15:05:04.820Z | auto\n\n- Lowered default slippage max threshold (`slippage_max_pct`) from 25% to 5% in config.\n- Updated env/config key priority: now `config.json` takes precedence over environment variables.\n- Made wallet private key optional (no longer required in skill metadata).\n- Bumped version to 1.0.4.\n\nv1.0.3 | 2026-02-17T07:52:56.785Z | auto\n\n- Documentation updated in SKILL.md; no code or functional changes.\n- Version remains 1.0.2 in metadata; only documentation content modified.\n\nv1.0.2 | 2026-02-17T07:13:20.445Z | auto\n\n- Bumped version to 1.0.2.\n- No functional or documentation changes; updated metadata version field only.\n\nv1.0.1 | 2026-02-17T06:29:57.682Z | auto\n\nVersion 1.0.1\n\n- Added WALLET_PRIVATE_KEY as a required environment variable for live trading.\n- Declared simmer-sdk as a required Python dependency in metadata.\n- Updated setup instructions to prompt user for their wallet private key for order signing.\n- Clarified that WALLET_PRIVATE_KEY is needed for client-side signing (no manual signing required).\n- Incremented skill version to 1.0.1.\n\nv1.0.0 | 2026-02-17T04:44:34.191Z | auto\n\nPolymarket Elon Tweet Trader v1.0.0 — Initial Release\n\n- Launches automated trading for Polymarket \"Elon Musk # tweets\" markets using real-time XTracker data.\n- Implements cluster strategy: buys center and adjacent tweet-count buckets when combined cost < $1 for edge.\n- Includes configurables for position sizing, entry/exit prices, bucket spread, and risk controls.\n- Provides CLI commands to check stats, manage positions, execute trades, and update config.\n- Automatic import of new Polymarket tweet markets when needed.\n- All trades tagged and tracked separately for easy monitoring and P&L.\n- Built-in safeguards: market health checks, slippage limits, flip-flop protection, and extreme price avoidance.\n\nArchive index:\n\nArchive v1.3.6: 9 files, 23244 bytes\n\nFiles: clawhub.json (1955b), config.json (239b), DISCLAIMER.md (1925b), elon_tweets.py (42045b), scripts/status.py (5443b), skill-card.md (2588b), SKILL.md (9265b), tests/test_slippage_bps.py (3094b), _meta.json (141b)\n\nFile v1.3.6:SKILL.md\n\n---\nname: polymarket-elon-tweets\ndescription: 'Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.3.6\"\n  displayName: Polymarket Elon Tweet Trader\n  difficulty: advanced\n  attribution: Strategy inspired by @noovd\n---\n# Polymarket Elon Tweet Trader\n\nTrade \"Elon Musk # tweets\" markets on Polymarket using XTracker post count data.\n\n> 🚨 **Framework, not a production trading system.** Read [DISCLAIMER.md](./DISCLAIMER.md) before connecting to a wallet with real funds.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade Elon Musk tweet count markets automatically\n- Set up @noovd-style bucket trading\n- Check XTracker pace and stats for current tweet events\n- Monitor and exit existing tweet market positions\n- Configure bucket spread or entry thresholds\n\n## How the Strategy Works\n\nPolymarket runs weekly \"How many tweets will Elon post?\" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:\n\n1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total\n2. **Find center bucket** — The bucket containing XTracker's projected pace\n3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)\n4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)\n5. **One bucket pays $1** — When the event resolves, one of your buckets pays $1, covering costs\n\n## Setup Flow\n\nWhen user asks to install or configure this skill:\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Ask for Simmer API key**\n   - They can get it from simmer.markets/dashboard → SDK tab\n   - Store in environment as `SIMMER_API_KEY`\n\n3. **Ask for wallet private key** (required for live trading)\n   - This is the private key for their Polymarket wallet (the wallet that holds USDC)\n   - Store in environment as `WALLET_PRIVATE_KEY`\n   - The SDK uses this to sign orders client-side automatically — no manual signing needed\n\n4. **Ask about settings** (or confirm defaults)\n   - Max bucket sum: Combined price threshold (default 90¢)\n   - Max position: Amount per bucket (default $5.00)\n   - Bucket spread: How many neighbors to buy (default 1 = center ± 1)\n   - Exit threshold: When to sell (default 65¢)\n\n5. **Save settings to config.json or environment variables**\n\n6. **Set up cron** (disabled by default — user must enable scheduling)\n\n## Configuration\n\n| Setting | Env Variable | Config Key | Default | Description |\n|---------|-------------|------------|---------|-------------|\n| Max bucket sum | `SIMMER_ELON_MAX_BUCKET_SUM` | `max_bucket_sum` | 0.90 | Only buy if cluster prices sum < this |\n| Max position | `SIMMER_ELON_MAX_POSITION_USD` | `max_position_usd` | 5.00 | Maximum USD per bucket |\n| Bucket spread | `SIMMER_ELON_BUCKET_SPREAD` | `bucket_spread` | 1 | Neighbors on each side (1 = 3 buckets) |\n| Smart sizing % | `SIMMER_ELON_SIZING_PCT` | `sizing_pct` | 0.05 | % of balance per trade |\n| Max trades/run | `SIMMER_ELON_MAX_TRADES_PER_RUN` | `max_trades_per_run` | 6 | Maximum trades per scan cycle |\n| Exit threshold | `SIMMER_ELON_EXIT_THRESHOLD` | `exit_threshold` | 0.65 | Sell when bucket price above this |\n| Slippage max | `SIMMER_ELON_SLIPPAGE_BPS` | `slippage_max_bps` | 100 | Skip trade if slippage exceeds this (basis points, e.g. 100 = 1%) |\n| Min position | `SIMMER_ELON_MIN_POSITION` | `min_position_usd` | 2.00 | Floor for smart sizing (USD) |\n| Data source | `SIMMER_ELON_DATA_SOURCE` | `data_source` | xtracker | Data source (xtracker) |\n| Order type | `SIMMER_ELON_ORDER_TYPE` | `order_type` | GTC | Order type: GTC (good-til-cancelled) or FAK (fill-and-kill) |\n\nConfig priority: config.json > environment variables > defaults.\n\n## Quick Commands\n\n```bash\n# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n```\n\n**API Reference:**\n- Base URL: `https://api.simmer.markets`\n- Auth: `Authorization: Bearer $SIMMER_API_KEY`\n- Portfolio: `GET /api/sdk/portfolio`\n- Positions: `GET /api/sdk/positions`\n\n## Running the Skill\n\n```bash\n# Dry run (default — shows opportunities, no trades)\npython elon_tweets.py\n\n# Execute real trades\npython elon_tweets.py --live\n\n# With smart position sizing (uses portfolio balance)\npython elon_tweets.py --live --smart-sizing\n\n# Show XTracker stats only\npython elon_tweets.py --stats\n\n# Check positions only\npython elon_tweets.py --positions\n\n# View config\npython elon_tweets.py --config\n\n# Update config\npython elon_tweets.py --set max_position_usd=10.00\n\n# Disable safeguards (not recommended)\npython elon_tweets.py --no-safeguards\n\n# Quiet mode — only output on trades/errors (ideal for cron)\npython elon_tweets.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython elon_tweets.py --live --smart-sizing --quiet\n```\n\n## How It Works\n\nEach cycle the script:\n1. Fetches active XTracker trackings for Elon Musk tweet events\n2. Gets real-time stats: current count, projected pace, days remaining\n3. Searches Simmer for matching tweet count markets (auto-imports if missing)\n4. Finds the bucket matching XTracker's pace projection\n5. Evaluates adjacent buckets (center ± spread)\n6. **Entry**: If sum of cluster prices < max_bucket_sum → BUY each bucket\n7. **Exit**: Checks open positions, sells if any bucket price > exit_threshold\n8. **Safeguards**: Checks context for flip-flop warnings, slippage\n9. **Tagging**: All trades tagged with `sdk:elon-tweets` for tracking\n\n## Auto-Import\n\nIf tweet count markets aren't on Simmer yet, the skill automatically imports them:\n- Derives the Polymarket event URL from the XTracker tracking title\n- Uses the SDK import endpoint (supports multi-outcome events)\n- Imports all outcome buckets as a group\n- Counts as 1 daily import regardless of bucket count\n\n## Smart Sizing\n\nWith `--smart-sizing`, position size is calculated as:\n- 5% of available USDC balance (configurable via `sizing_pct`)\n- Capped at max position setting ($5.00 default)\n- Falls back to fixed size if portfolio unavailable\n\n## Safeguards\n\nBefore trading, the skill checks:\n- **Flip-flop warning**: Skips if you've been reversing too much\n- **Slippage**: Skips if estimated slippage > 15%\n- **Market status**: Skips closed or resolved markets\n- **Extreme prices**: Skips buckets priced > 98% or < 2%\n\nDisable with `--no-safeguards` (not recommended).\n\n## Source Tagging\n\nAll trades are tagged with `source: \"sdk:elon-tweets\"`. This means:\n- Portfolio shows breakdown by strategy\n- Other skills won't sell your tweet positions\n- You can track tweet trading P&L separately\n\n## Example Output\n\n```\n🐦 Simmer Elon Tweet Trader\n==================================================\n\n⚙️ Configuration:\n  Max bucket sum:  $0.90\n  Max position:    $5.00\n  Bucket spread:   1 (center ± 1 = 3 buckets)\n  Exit threshold:  65%\n  Data source:     xtracker\n\n📊 XTracker Stats:\n  Tracking: Elon Musk # tweets Feb 13 - Feb 20\n  Current count: 187 posts\n  Pace: 243 projected\n  Days remaining: 2.3\n\n🎯 Target cluster: 240-259 (center) + 220-239, 260-279\n  240-259: $0.35\n  220-239: $0.22\n  260-279: $0.18\n  Cluster sum: $0.75 (< $0.90 threshold) ✅\n\n  Executing trades...\n  ✅ Bought 14.3 shares of 240-259 @ $0.35\n  ✅ Bought 22.7 shares of 220-239 @ $0.22\n  ✅ Bought 27.8 shares of 260-279 @ $0.18\n\n📊 Summary:\n  Events scanned: 2\n  Clusters evaluated: 2\n  Trades executed: 3\n  Exits: 0\n```\n\n## Troubleshooting\n\n**\"No XTracker trackings found\"**\n- XTracker may not have active Elon tweet events\n- New events usually start on Wednesdays/Thursdays\n\n**\"Cluster sum $X.XX exceeds threshold\"**\n- Buckets are too expensive — edge is too thin\n- Wait for prices to drop or widen bucket_spread\n\n**\"No matching Simmer markets found\"**\n- Markets may not be imported yet — skill will auto-import on next run\n- Check that your API key has import capacity (10/day free, 50/day Pro)\n\n**\"Safeguard blocked: flip-flop warning\"**\n- You've been changing direction too much on this market\n- Wait before trading again\n\n**\"External wallet requires a pre-signed order\"**\n- `WALLET_PRIVATE_KEY` is not set in the environment\n- The SDK signs orders automatically when this env var is present — no manual signing code needed\n- Fix: `export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>`\n- Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n**\"Balance shows $0 but I have funds on Polygon\"**\n- Polymarket V2 (live 2026-04-28) uses **pUSD** (PolyUSD, 1:1 backed by USDC.e). If your wallet holds USDC.e, migrate at [simmer.markets/dashboard](https://simmer.markets/dashboard?ref=sdk-skill&utm_campaign=sdk-skill) with one click (~30s)\n- If you bridged native USDC (Circle), swap to USDC.e first, then migrate to pUSD\n- Full migration guide: [docs.simmer.markets/v2-migration](https://docs.simmer.markets/v2-migration)\n\n**\"API key invalid\"**\n- Get new key from simmer.markets/dashboard → SDK tab\n\nFile v1.3.6:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-elon-tweets\",\n  \"version\": \"1.3.6\",\n  \"publishedAt\": 1788657141532\n}\n\nFile v1.3.6:DISCLAIMER.md\n\n# Disclaimer\n\nThis skill is a **framework**, not a production trading system. Read this\nin full before connecting it to a wallet with real funds.\n\n## No financial advice\n\nNothing in this skill constitutes financial, investment, or trading\nadvice. The default strategy implemented here is a starting point, not a\ntested edge. Suitability for any account size or risk tolerance is your\nresponsibility to assess.\n\n## Default parameters are not validated\n\nDefault parameters are calibrated for testing the plumbing, not for live\nprofit. They have not been validated to produce positive returns under\ncurrent market conditions. Run paper mode for an extended period before\nscaling beyond default position sizes.\n\n## Automated trading carries irreversible risk\n\nWhen this skill runs with `--live`, it places real on-chain orders.\nOn-chain trades cannot be recalled. Strategy errors, signal lag, market\nregime shifts, and operator misconfiguration can produce losses\nexceeding any specific position size.\n\n## Risk monitoring may not apply to all market types\n\nStop-loss and take-profit monitors run on a fixed schedule. Markets that\nresolve faster than the monitor cycle cannot be exited automatically.\nPosition sizing is the only risk control on these markets — set it\nconservatively.\n\n## Use of this skill is at your own risk\n\nBy installing and running this skill you agree that the authors are not\nliable for any losses, direct or indirect, that arise from its use. This\napplies regardless of skill provenance — official Simmer skills,\ncommunity skills, and skills imported from external repositories all\ncarry this same disclaimer.\n\n## Where to learn more before going live\n\n- The skill's own `SKILL.md` documents the strategy and parameters\n- Your trading venue's documentation covers fee structure, order types,\n  and resolution rules\n- Simmer SDK documentation covers paper mode, dry-run flags, and\n  position monitoring\n\nFile v1.3.6:skill-card.md\n\n## Description:\n\nTrades Polymarket \"Elon Musk # tweets\" markets using XTracker post count data, buying adjacent range buckets when their combined cost is below the configured threshold.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[simmer](https://clawhub.ai/user/simmer)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to configure, dry-run, monitor, and optionally execute automated Polymarket tweet-count trading strategies based on XTracker pace data.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Live mode can place real-money trades and on-chain orders cannot be recalled.\n\nMitigation: Use dry-run mode first, confirm market scope and exit behavior, and enable --live only with conservative position limits.\n\nRisk: The skill may require Simmer API credentials and, for external-wallet trading, a wallet private key.\n\nMitigation: Prefer managed-wallet mode when available, avoid high-value private keys in the general environment, and use a dedicated low-balance wallet for live trading.\n\nRisk: The default strategy and parameters are not validated as profitable under current market conditions.\n\nMitigation: Run paper mode for an extended period and keep max position size, sizing percentage, and max trades per run conservative.\n\nRisk: Automated exits may not protect positions in markets that move or resolve faster than the monitoring cycle.\n\nMitigation: Monitor live positions manually and treat position sizing as the primary risk control for fast-resolving markets.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/simmer/skills/polymarket-elon-tweets)\n- [Simmer API base](https://api.simmer.markets)\n- [Simmer dashboard](https://simmer.markets/dashboard)\n- [Simmer V2 migration guide](https://docs.simmer.markets/v2-migration)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and configuration values]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Dry-run and status modes emit terminal summaries; live mode can submit orders when explicitly enabled.]\n\n## Skill Version(s):\n\n1.3.6 (source: server release metadata, skill frontmatter, and target metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.6:clawhub.json\n\n{\n  \"emoji\": \"\\ud83d\\udc26\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk>=0.11.1\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key \\u2014 get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"elon_tweets.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_ELON_MAX_POSITION_USD\",\n      \"type\": \"number\",\n      \"default\": 50,\n      \"range\": [\n        1,\n        200\n      ],\n      \"step\": 5,\n      \"label\": \"Max position size\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_BUCKET_SPREAD\",\n      \"type\": \"number\",\n      \"default\": 1,\n      \"range\": [\n        0,\n        5\n      ],\n      \"step\": 1,\n      \"label\": \"Bucket spread (neighbors each side)\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SIZING_PCT\",\n      \"type\": \"number\",\n      \"default\": 0.1,\n      \"range\": [\n        0.01,\n        1.0\n      ],\n      \"step\": 0.01,\n      \"label\": \"Position sizing percentage\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_MAX_TRADES_PER_RUN\",\n      \"type\": \"number\",\n      \"default\": 5,\n      \"range\": [\n        1,\n        20\n      ],\n      \"step\": 1,\n      \"label\": \"Max trades per run\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_EXIT_THRESHOLD\",\n      \"type\": \"number\",\n      \"default\": 0.85,\n      \"range\": [\n        0.5,\n        0.99\n      ],\n      \"step\": 0.01,\n      \"label\": \"Exit probability threshold\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SLIPPAGE_BPS\",\n      \"type\": \"number\",\n      \"default\": 100,\n      \"range\": [\n        10,\n        500\n      ],\n      \"step\": 10,\n      \"label\": \"Slippage tolerance (basis points)\"\n    }\n  ]\n}\n\nFile v1.3.6:config.json\n\n{\n  \"max_bucket_sum\": 0.90,\n  \"max_position_usd\": 5.00,\n  \"bucket_spread\": 1,\n  \"sizing_pct\": 0.05,\n  \"max_trades_per_run\": 6,\n  \"exit_threshold\": 0.65,\n  \"slippage_max_pct\": 0.05,\n  \"min_position_usd\": 2.00,\n  \"data_source\": \"xtracker\"\n}\n\nArchive v1.3.5: 9 files, 23049 bytes\n\nFiles: clawhub.json (1944b), config.json (239b), DISCLAIMER.md (1925b), elon_tweets.py (42039b), scripts/status.py (5110b), skill-card.md (2796b), SKILL.md (9228b), tests/test_slippage_bps.py (3094b), _meta.json (141b)\n\nFile v1.3.5:SKILL.md\n\n---\nname: polymarket-elon-tweets\ndescription: 'Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.3.5\"\n  displayName: Polymarket Elon Tweet Trader\n  difficulty: advanced\n  attribution: Strategy inspired by @noovd\n---\n# Polymarket Elon Tweet Trader\n\nTrade \"Elon Musk # tweets\" markets on Polymarket using XTracker post count data.\n\n> 🚨 **Framework, not a production trading system.** Read [DISCLAIMER.md](./DISCLAIMER.md) before connecting to a wallet with real funds.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade Elon Musk tweet count markets automatically\n- Set up @noovd-style bucket trading\n- Check XTracker pace and stats for current tweet events\n- Monitor and exit existing tweet market positions\n- Configure bucket spread or entry thresholds\n\n## How the Strategy Works\n\nPolymarket runs weekly \"How many tweets will Elon post?\" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:\n\n1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total\n2. **Find center bucket** — The bucket containing XTracker's projected pace\n3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)\n4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)\n5. **One bucket pays $1** — When the event resolves, one of your buckets pays $1, covering costs\n\n## Setup Flow\n\nWhen user asks to install or configure this skill:\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Ask for Simmer API key**\n   - They can get it from simmer.markets/dashboard → SDK tab\n   - Store in environment as `SIMMER_API_KEY`\n\n3. **Ask for wallet private key** (required for live trading)\n   - This is the private key for their Polymarket wallet (the wallet that holds USDC)\n   - Store in environment as `WALLET_PRIVATE_KEY`\n   - The SDK uses this to sign orders client-side automatically — no manual signing needed\n\n4. **Ask about settings** (or confirm defaults)\n   - Max bucket sum: Combined price threshold (default 90¢)\n   - Max position: Amount per bucket (default $5.00)\n   - Bucket spread: How many neighbors to buy (default 1 = center ± 1)\n   - Exit threshold: When to sell (default 65¢)\n\n5. **Save settings to config.json or environment variables**\n\n6. **Set up cron** (disabled by default — user must enable scheduling)\n\n## Configuration\n\n| Setting | Env Variable | Config Key | Default | Description |\n|---------|-------------|------------|---------|-------------|\n| Max bucket sum | `SIMMER_ELON_MAX_BUCKET_SUM` | `max_bucket_sum` | 0.90 | Only buy if cluster prices sum < this |\n| Max position | `SIMMER_ELON_MAX_POSITION_USD` | `max_position_usd` | 5.00 | Maximum USD per bucket |\n| Bucket spread | `SIMMER_ELON_BUCKET_SPREAD` | `bucket_spread` | 1 | Neighbors on each side (1 = 3 buckets) |\n| Smart sizing % | `SIMMER_ELON_SIZING_PCT` | `sizing_pct` | 0.05 | % of balance per trade |\n| Max trades/run | `SIMMER_ELON_MAX_TRADES_PER_RUN` | `max_trades_per_run` | 6 | Maximum trades per scan cycle |\n| Exit threshold | `SIMMER_ELON_EXIT_THRESHOLD` | `exit_threshold` | 0.65 | Sell when bucket price above this |\n| Slippage max | `SIMMER_ELON_SLIPPAGE_BPS` | `slippage_max_bps` | 100 | Skip trade if slippage exceeds this (basis points, e.g. 100 = 1%) |\n| Min position | `SIMMER_ELON_MIN_POSITION` | `min_position_usd` | 2.00 | Floor for smart sizing (USD) |\n| Data source | `SIMMER_ELON_DATA_SOURCE` | `data_source` | xtracker | Data source (xtracker) |\n| Order type | `SIMMER_ELON_ORDER_TYPE` | `order_type` | GTC | Order type: GTC (good-til-cancelled) or FAK (fill-and-kill) |\n\nConfig priority: config.json > environment variables > defaults.\n\n## Quick Commands\n\n```bash\n# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n```\n\n**API Reference:**\n- Base URL: `https://api.simmer.markets`\n- Auth: `Authorization: Bearer $SIMMER_API_KEY`\n- Portfolio: `GET /api/sdk/portfolio`\n- Positions: `GET /api/sdk/positions`\n\n## Running the Skill\n\n```bash\n# Dry run (default — shows opportunities, no trades)\npython elon_tweets.py\n\n# Execute real trades\npython elon_tweets.py --live\n\n# With smart position sizing (uses portfolio balance)\npython elon_tweets.py --live --smart-sizing\n\n# Show XTracker stats only\npython elon_tweets.py --stats\n\n# Check positions only\npython elon_tweets.py --positions\n\n# View config\npython elon_tweets.py --config\n\n# Update config\npython elon_tweets.py --set max_position_usd=10.00\n\n# Disable safeguards (not recommended)\npython elon_tweets.py --no-safeguards\n\n# Quiet mode — only output on trades/errors (ideal for cron)\npython elon_tweets.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython elon_tweets.py --live --smart-sizing --quiet\n```\n\n## How It Works\n\nEach cycle the script:\n1. Fetches active XTracker trackings for Elon Musk tweet events\n2. Gets real-time stats: current count, projected pace, days remaining\n3. Searches Simmer for matching tweet count markets (auto-imports if missing)\n4. Finds the bucket matching XTracker's pace projection\n5. Evaluates adjacent buckets (center ± spread)\n6. **Entry**: If sum of cluster prices < max_bucket_sum → BUY each bucket\n7. **Exit**: Checks open positions, sells if any bucket price > exit_threshold\n8. **Safeguards**: Checks context for flip-flop warnings, slippage\n9. **Tagging**: All trades tagged with `sdk:elon-tweets` for tracking\n\n## Auto-Import\n\nIf tweet count markets aren't on Simmer yet, the skill automatically imports them:\n- Derives the Polymarket event URL from the XTracker tracking title\n- Uses the SDK import endpoint (supports multi-outcome events)\n- Imports all outcome buckets as a group\n- Counts as 1 daily import regardless of bucket count\n\n## Smart Sizing\n\nWith `--smart-sizing`, position size is calculated as:\n- 5% of available USDC balance (configurable via `sizing_pct`)\n- Capped at max position setting ($5.00 default)\n- Falls back to fixed size if portfolio unavailable\n\n## Safeguards\n\nBefore trading, the skill checks:\n- **Flip-flop warning**: Skips if you've been reversing too much\n- **Slippage**: Skips if estimated slippage > 15%\n- **Market status**: Skips closed or resolved markets\n- **Extreme prices**: Skips buckets priced > 98% or < 2%\n\nDisable with `--no-safeguards` (not recommended).\n\n## Source Tagging\n\nAll trades are tagged with `source: \"sdk:elon-tweets\"`. This means:\n- Portfolio shows breakdown by strategy\n- Other skills won't sell your tweet positions\n- You can track tweet trading P&L separately\n\n## Example Output\n\n```\n🐦 Simmer Elon Tweet Trader\n==================================================\n\n⚙️ Configuration:\n  Max bucket sum:  $0.90\n  Max position:    $5.00\n  Bucket spread:   1 (center ± 1 = 3 buckets)\n  Exit threshold:  65%\n  Data source:     xtracker\n\n📊 XTracker Stats:\n  Tracking: Elon Musk # tweets Feb 13 - Feb 20\n  Current count: 187 posts\n  Pace: 243 projected\n  Days remaining: 2.3\n\n🎯 Target cluster: 240-259 (center) + 220-239, 260-279\n  240-259: $0.35\n  220-239: $0.22\n  260-279: $0.18\n  Cluster sum: $0.75 (< $0.90 threshold) ✅\n\n  Executing trades...\n  ✅ Bought 14.3 shares of 240-259 @ $0.35\n  ✅ Bought 22.7 shares of 220-239 @ $0.22\n  ✅ Bought 27.8 shares of 260-279 @ $0.18\n\n📊 Summary:\n  Events scanned: 2\n  Clusters evaluated: 2\n  Trades executed: 3\n  Exits: 0\n```\n\n## Troubleshooting\n\n**\"No XTracker trackings found\"**\n- XTracker may not have active Elon tweet events\n- New events usually start on Wednesdays/Thursdays\n\n**\"Cluster sum $X.XX exceeds threshold\"**\n- Buckets are too expensive — edge is too thin\n- Wait for prices to drop or widen bucket_spread\n\n**\"No matching Simmer markets found\"**\n- Markets may not be imported yet — skill will auto-import on next run\n- Check that your API key has import capacity (10/day free, 50/day Pro)\n\n**\"Safeguard blocked: flip-flop warning\"**\n- You've been changing direction too much on this market\n- Wait before trading again\n\n**\"External wallet requires a pre-signed order\"**\n- `WALLET_PRIVATE_KEY` is not set in the environment\n- The SDK signs orders automatically when this env var is present — no manual signing code needed\n- Fix: `export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>`\n- Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n**\"Balance shows $0 but I have funds on Polygon\"**\n- Polymarket V2 (live 2026-04-28) uses **pUSD** (PolyUSD, 1:1 backed by USDC.e). If your wallet holds USDC.e, migrate at [simmer.markets/dashboard](https://simmer.markets/dashboard) with one click (~30s)\n- If you bridged native USDC (Circle), swap to USDC.e first, then migrate to pUSD\n- Full migration guide: [docs.simmer.markets/v2-migration](https://docs.simmer.markets/v2-migration)\n\n**\"API key invalid\"**\n- Get new key from simmer.markets/dashboard → SDK tab\n\nFile v1.3.5:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-elon-tweets\",\n  \"version\": \"1.3.5\",\n  \"publishedAt\": 1779591753641\n}\n\nFile v1.3.5:DISCLAIMER.md\n\n# Disclaimer\n\nThis skill is a **framework**, not a production trading system. Read this\nin full before connecting it to a wallet with real funds.\n\n## No financial advice\n\nNothing in this skill constitutes financial, investment, or trading\nadvice. The default strategy implemented here is a starting point, not a\ntested edge. Suitability for any account size or risk tolerance is your\nresponsibility to assess.\n\n## Default parameters are not validated\n\nDefault parameters are calibrated for testing the plumbing, not for live\nprofit. They have not been validated to produce positive returns under\ncurrent market conditions. Run paper mode for an extended period before\nscaling beyond default position sizes.\n\n## Automated trading carries irreversible risk\n\nWhen this skill runs with `--live`, it places real on-chain orders.\nOn-chain trades cannot be recalled. Strategy errors, signal lag, market\nregime shifts, and operator misconfiguration can produce losses\nexceeding any specific position size.\n\n## Risk monitoring may not apply to all market types\n\nStop-loss and take-profit monitors run on a fixed schedule. Markets that\nresolve faster than the monitor cycle cannot be exited automatically.\nPosition sizing is the only risk control on these markets — set it\nconservatively.\n\n## Use of this skill is at your own risk\n\nBy installing and running this skill you agree that the authors are not\nliable for any losses, direct or indirect, that arise from its use. This\napplies regardless of skill provenance — official Simmer skills,\ncommunity skills, and skills imported from external repositories all\ncarry this same disclaimer.\n\n## Where to learn more before going live\n\n- The skill's own `SKILL.md` documents the strategy and parameters\n- Your trading venue's documentation covers fee structure, order types,\n  and resolution rules\n- Simmer SDK documentation covers paper mode, dry-run flags, and\n  position monitoring\n\nFile v1.3.5:skill-card.md\n\n## Description: <br>\nTrade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data by identifying adjacent range buckets whose combined cost is below the configured threshold. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[simmer](https://clawhub.ai/user/simmer) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal traders and agent operators use this skill to monitor Elon Musk tweet-count markets, review XTracker pace data, configure bucket-trading thresholds, and run dry-run or live Simmer/Polymarket trading workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can place real market trades when live mode is enabled. <br>\nMitigation: Start in dry-run mode, review trade proposals and configuration, keep position limits conservative, and enable live mode only after understanding the strategy and venue risks. <br>\nRisk: Self-custody live trading may require highly sensitive wallet access. <br>\nMitigation: Prefer managed-wallet or safer signing flows; if a private key is required, use a dedicated low-balance wallet rather than a production wallet. <br>\nRisk: Status and portfolio output can reveal sensitive financial account data. <br>\nMitigation: Treat status output, logs, screenshots, and shared terminal transcripts as sensitive. <br>\nRisk: Automated trading can lose money because market conditions, signal lag, slippage, and configuration errors may invalidate the strategy. <br>\nMitigation: Run paper or dry-run mode first, review slippage and safeguard settings, and size positions conservatively. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/simmer/polymarket-elon-tweets) <br>\n- [Simmer dashboard](https://simmer.markets/dashboard) <br>\n- [Simmer API base](https://api.simmer.markets) <br>\n- [Simmer Polymarket V2 migration guide](https://docs.simmer.markets/v2-migration) <br>\n- [Skill disclaimer](DISCLAIMER.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with command examples, terminal output, and JSON-backed configuration.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May produce dry-run trading summaries, status reports, configuration updates, and live-trading instructions.] <br>\n\n## Skill Version(s): <br>\n1.3.5 (source: server release metadata and skill frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.3.5:clawhub.json\n\n{\n  \"emoji\": \"\\ud83d\\udc26\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk>=0.11.1\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key \\u2014 get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"elon_tweets.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_ELON_MAX_POSITION_USD\",\n      \"type\": \"number\",\n      \"default\": 50,\n      \"range\": [\n        1,\n        200\n      ],\n      \"step\": 5,\n      \"label\": \"Max position size\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_BUCKET_SPREAD\",\n      \"type\": \"number\",\n      \"default\": 0.05,\n      \"range\": [\n        0.01,\n        0.2\n      ],\n      \"step\": 0.01,\n      \"label\": \"Bucket spread\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SIZING_PCT\",\n      \"type\": \"number\",\n      \"default\": 0.1,\n      \"range\": [\n        0.01,\n        1.0\n      ],\n      \"step\": 0.01,\n      \"label\": \"Position sizing percentage\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_MAX_TRADES_PER_RUN\",\n      \"type\": \"number\",\n      \"default\": 5,\n      \"range\": [\n        1,\n        20\n      ],\n      \"step\": 1,\n      \"label\": \"Max trades per run\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_EXIT_THRESHOLD\",\n      \"type\": \"number\",\n      \"default\": 0.85,\n      \"range\": [\n        0.5,\n        0.99\n      ],\n      \"step\": 0.01,\n      \"label\": \"Exit probability threshold\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SLIPPAGE_BPS\",\n      \"type\": \"number\",\n      \"default\": 100,\n      \"range\": [\n        10,\n        500\n      ],\n      \"step\": 10,\n      \"label\": \"Slippage tolerance (basis points)\"\n    }\n  ]\n}\n\nFile v1.3.5:config.json\n\n{\n  \"max_bucket_sum\": 0.90,\n  \"max_position_usd\": 5.00,\n  \"bucket_spread\": 1,\n  \"sizing_pct\": 0.05,\n  \"max_trades_per_run\": 6,\n  \"exit_threshold\": 0.65,\n  \"slippage_max_pct\": 0.05,\n  \"min_position_usd\": 2.00,\n  \"data_source\": \"xtracker\"\n}\n\nArchive v1.3.3: 6 files, 18987 bytes\n\nFiles: clawhub.json (1944b), config.json (239b), elon_tweets.py (41743b), scripts/status.py (5110b), SKILL.md (9036b), _meta.json (141b)\n\nFile v1.3.3:SKILL.md\n\n---\nname: polymarket-elon-tweets\ndescription: 'Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.3.3\"\n  displayName: Polymarket Elon Tweet Trader\n  difficulty: advanced\n  attribution: Strategy inspired by @noovd\n---\n# Polymarket Elon Tweet Trader\n\nTrade \"Elon Musk # tweets\" markets on Polymarket using XTracker post count data.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade Elon Musk tweet count markets automatically\n- Set up @noovd-style bucket trading\n- Check XTracker pace and stats for current tweet events\n- Monitor and exit existing tweet market positions\n- Configure bucket spread or entry thresholds\n\n## How the Strategy Works\n\nPolymarket runs weekly \"How many tweets will Elon post?\" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:\n\n1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total\n2. **Find center bucket** — The bucket containing XTracker's projected pace\n3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)\n4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)\n5. **One bucket pays $1** — When the event resolves, one of your buckets pays $1, covering costs\n\n## Setup Flow\n\nWhen user asks to install or configure this skill:\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Ask for Simmer API key**\n   - They can get it from simmer.markets/dashboard → SDK tab\n   - Store in environment as `SIMMER_API_KEY`\n\n3. **Ask for wallet private key** (required for live trading)\n   - This is the private key for their Polymarket wallet (the wallet that holds USDC)\n   - Store in environment as `WALLET_PRIVATE_KEY`\n   - The SDK uses this to sign orders client-side automatically — no manual signing needed\n\n4. **Ask about settings** (or confirm defaults)\n   - Max bucket sum: Combined price threshold (default 90¢)\n   - Max position: Amount per bucket (default $5.00)\n   - Bucket spread: How many neighbors to buy (default 1 = center ± 1)\n   - Exit threshold: When to sell (default 65¢)\n\n5. **Save settings to config.json or environment variables**\n\n6. **Set up cron** (disabled by default — user must enable scheduling)\n\n## Configuration\n\n| Setting | Env Variable | Config Key | Default | Description |\n|---------|-------------|------------|---------|-------------|\n| Max bucket sum | `SIMMER_ELON_MAX_BUCKET_SUM` | `max_bucket_sum` | 0.90 | Only buy if cluster prices sum < this |\n| Max position | `SIMMER_ELON_MAX_POSITION` | `max_position_usd` | 5.00 | Maximum USD per bucket |\n| Bucket spread | `SIMMER_ELON_BUCKET_SPREAD` | `bucket_spread` | 1 | Neighbors on each side (1 = 3 buckets) |\n| Smart sizing % | `SIMMER_ELON_SIZING_PCT` | `sizing_pct` | 0.05 | % of balance per trade |\n| Max trades/run | `SIMMER_ELON_MAX_TRADES` | `max_trades_per_run` | 6 | Maximum trades per scan cycle |\n| Exit threshold | `SIMMER_ELON_EXIT` | `exit_threshold` | 0.65 | Sell when bucket price above this |\n| Slippage max | `SIMMER_ELON_SLIPPAGE_MAX` | `slippage_max_pct` | 0.05 | Skip trade if slippage exceeds this |\n| Min position | `SIMMER_ELON_MIN_POSITION` | `min_position_usd` | 2.00 | Floor for smart sizing (USD) |\n| Data source | `SIMMER_ELON_DATA_SOURCE` | `data_source` | xtracker | Data source (xtracker) |\n| Order type | `SIMMER_ELON_ORDER_TYPE` | `order_type` | GTC | Order type: GTC (good-til-cancelled) or FAK (fill-and-kill) |\n\nConfig priority: config.json > environment variables > defaults.\n\n## Quick Commands\n\n```bash\n# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n```\n\n**API Reference:**\n- Base URL: `https://api.simmer.markets`\n- Auth: `Authorization: Bearer $SIMMER_API_KEY`\n- Portfolio: `GET /api/sdk/portfolio`\n- Positions: `GET /api/sdk/positions`\n\n## Running the Skill\n\n```bash\n# Dry run (default — shows opportunities, no trades)\npython elon_tweets.py\n\n# Execute real trades\npython elon_tweets.py --live\n\n# With smart position sizing (uses portfolio balance)\npython elon_tweets.py --live --smart-sizing\n\n# Show XTracker stats only\npython elon_tweets.py --stats\n\n# Check positions only\npython elon_tweets.py --positions\n\n# View config\npython elon_tweets.py --config\n\n# Update config\npython elon_tweets.py --set max_position_usd=10.00\n\n# Disable safeguards (not recommended)\npython elon_tweets.py --no-safeguards\n\n# Quiet mode — only output on trades/errors (ideal for cron)\npython elon_tweets.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython elon_tweets.py --live --smart-sizing --quiet\n```\n\n## How It Works\n\nEach cycle the script:\n1. Fetches active XTracker trackings for Elon Musk tweet events\n2. Gets real-time stats: current count, projected pace, days remaining\n3. Searches Simmer for matching tweet count markets (auto-imports if missing)\n4. Finds the bucket matching XTracker's pace projection\n5. Evaluates adjacent buckets (center ± spread)\n6. **Entry**: If sum of cluster prices < max_bucket_sum → BUY each bucket\n7. **Exit**: Checks open positions, sells if any bucket price > exit_threshold\n8. **Safeguards**: Checks context for flip-flop warnings, slippage\n9. **Tagging**: All trades tagged with `sdk:elon-tweets` for tracking\n\n## Auto-Import\n\nIf tweet count markets aren't on Simmer yet, the skill automatically imports them:\n- Derives the Polymarket event URL from the XTracker tracking title\n- Uses the SDK import endpoint (supports multi-outcome events)\n- Imports all outcome buckets as a group\n- Counts as 1 daily import regardless of bucket count\n\n## Smart Sizing\n\nWith `--smart-sizing`, position size is calculated as:\n- 5% of available USDC balance (configurable via `sizing_pct`)\n- Capped at max position setting ($5.00 default)\n- Falls back to fixed size if portfolio unavailable\n\n## Safeguards\n\nBefore trading, the skill checks:\n- **Flip-flop warning**: Skips if you've been reversing too much\n- **Slippage**: Skips if estimated slippage > 15%\n- **Market status**: Skips closed or resolved markets\n- **Extreme prices**: Skips buckets priced > 98% or < 2%\n\nDisable with `--no-safeguards` (not recommended).\n\n## Source Tagging\n\nAll trades are tagged with `source: \"sdk:elon-tweets\"`. This means:\n- Portfolio shows breakdown by strategy\n- Other skills won't sell your tweet positions\n- You can track tweet trading P&L separately\n\n## Example Output\n\n```\n🐦 Simmer Elon Tweet Trader\n==================================================\n\n⚙️ Configuration:\n  Max bucket sum:  $0.90\n  Max position:    $5.00\n  Bucket spread:   1 (center ± 1 = 3 buckets)\n  Exit threshold:  65%\n  Data source:     xtracker\n\n📊 XTracker Stats:\n  Tracking: Elon Musk # tweets Feb 13 - Feb 20\n  Current count: 187 posts\n  Pace: 243 projected\n  Days remaining: 2.3\n\n🎯 Target cluster: 240-259 (center) + 220-239, 260-279\n  240-259: $0.35\n  220-239: $0.22\n  260-279: $0.18\n  Cluster sum: $0.75 (< $0.90 threshold) ✅\n\n  Executing trades...\n  ✅ Bought 14.3 shares of 240-259 @ $0.35\n  ✅ Bought 22.7 shares of 220-239 @ $0.22\n  ✅ Bought 27.8 shares of 260-279 @ $0.18\n\n📊 Summary:\n  Events scanned: 2\n  Clusters evaluated: 2\n  Trades executed: 3\n  Exits: 0\n```\n\n## Troubleshooting\n\n**\"No XTracker trackings found\"**\n- XTracker may not have active Elon tweet events\n- New events usually start on Wednesdays/Thursdays\n\n**\"Cluster sum $X.XX exceeds threshold\"**\n- Buckets are too expensive — edge is too thin\n- Wait for prices to drop or widen bucket_spread\n\n**\"No matching Simmer markets found\"**\n- Markets may not be imported yet — skill will auto-import on next run\n- Check that your API key has import capacity (10/day free, 50/day Pro)\n\n**\"Safeguard blocked: flip-flop warning\"**\n- You've been changing direction too much on this market\n- Wait before trading again\n\n**\"External wallet requires a pre-signed order\"**\n- `WALLET_PRIVATE_KEY` is not set in the environment\n- The SDK signs orders automatically when this env var is present — no manual signing code needed\n- Fix: `export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>`\n- Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n**\"Balance shows $0 but I have funds on Polygon\"**\n- Polymarket V2 (live 2026-04-28) uses **pUSD** (PolyUSD, 1:1 backed by USDC.e). If your wallet holds USDC.e, migrate at [simmer.markets/dashboard](https://simmer.markets/dashboard) with one click (~30s)\n- If you bridged native USDC (Circle), swap to USDC.e first, then migrate to pUSD\n- Full migration guide: [docs.simmer.markets/v2-migration](https://docs.simmer.markets/v2-migration)\n\n**\"API key invalid\"**\n- Get new key from simmer.markets/dashboard → SDK tab\n\nFile v1.3.3:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-elon-tweets\",\n  \"version\": \"1.3.3\",\n  \"publishedAt\": 1779169094092\n}\n\nFile v1.3.3:clawhub.json\n\n{\n  \"emoji\": \"\\ud83d\\udc26\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk>=0.11.1\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key \\u2014 get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"elon_tweets.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_ELON_MAX_POSITION_USD\",\n      \"type\": \"number\",\n      \"default\": 50,\n      \"range\": [\n        1,\n        200\n      ],\n      \"step\": 5,\n      \"label\": \"Max position size\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_BUCKET_SPREAD\",\n      \"type\": \"number\",\n      \"default\": 0.05,\n      \"range\": [\n        0.01,\n        0.2\n      ],\n      \"step\": 0.01,\n      \"label\": \"Bucket spread\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SIZING_PCT\",\n      \"type\": \"number\",\n      \"default\": 0.1,\n      \"range\": [\n        0.01,\n        1.0\n      ],\n      \"step\": 0.01,\n      \"label\": \"Position sizing percentage\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_MAX_TRADES_PER_RUN\",\n      \"type\": \"number\",\n      \"default\": 5,\n      \"range\": [\n        1,\n        20\n      ],\n      \"step\": 1,\n      \"label\": \"Max trades per run\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_EXIT_THRESHOLD\",\n      \"type\": \"number\",\n      \"default\": 0.85,\n      \"range\": [\n        0.5,\n        0.99\n      ],\n      \"step\": 0.01,\n      \"label\": \"Exit probability threshold\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SLIPPAGE_BPS\",\n      \"type\": \"number\",\n      \"default\": 100,\n      \"range\": [\n        10,\n        500\n      ],\n      \"step\": 10,\n      \"label\": \"Slippage tolerance (basis points)\"\n    }\n  ]\n}\n\nFile v1.3.3:config.json\n\n{\n  \"max_bucket_sum\": 0.90,\n  \"max_position_usd\": 5.00,\n  \"bucket_spread\": 1,\n  \"sizing_pct\": 0.05,\n  \"max_trades_per_run\": 6,\n  \"exit_threshold\": 0.65,\n  \"slippage_max_pct\": 0.05,\n  \"min_position_usd\": 2.00,\n  \"data_source\": \"xtracker\"\n}\n\nArchive v1.3.2: 6 files, 18966 bytes\n\nFiles: clawhub.json (1944b), config.json (239b), elon_tweets.py (41621b), scripts/status.py (5110b), SKILL.md (9036b), _meta.json (141b)\n\nFile v1.3.2:SKILL.md\n\n---\nname: polymarket-elon-tweets\ndescription: 'Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.3.2\"\n  displayName: Polymarket Elon Tweet Trader\n  difficulty: advanced\n  attribution: Strategy inspired by @noovd\n---\n# Polymarket Elon Tweet Trader\n\nTrade \"Elon Musk # tweets\" markets on Polymarket using XTracker post count data.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade Elon Musk tweet count markets automatically\n- Set up @noovd-style bucket trading\n- Check XTracker pace and stats for current tweet events\n- Monitor and exit existing tweet market positions\n- Configure bucket spread or entry thresholds\n\n## How the Strategy Works\n\nPolymarket runs weekly \"How many tweets will Elon post?\" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:\n\n1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total\n2. **Find center bucket** — The bucket containing XTracker's projected pace\n3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)\n4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)\n5. **One bucket pays $1** — When the event resolves, one of your buckets pays $1, covering costs\n\n## Setup Flow\n\nWhen user asks to install or configure this skill:\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Ask for Simmer API key**\n   - They can get it from simmer.markets/dashboard → SDK tab\n   - Store in environment as `SIMMER_API_KEY`\n\n3. **Ask for wallet private key** (required for live trading)\n   - This is the private key for their Polymarket wallet (the wallet that holds USDC)\n   - Store in environment as `WALLET_PRIVATE_KEY`\n   - The SDK uses this to sign orders client-side automatically — no manual signing needed\n\n4. **Ask about settings** (or confirm defaults)\n   - Max bucket sum: Combined price threshold (default 90¢)\n   - Max position: Amount per bucket (default $5.00)\n   - Bucket spread: How many neighbors to buy (default 1 = center ± 1)\n   - Exit threshold: When to sell (default 65¢)\n\n5. **Save settings to config.json or environment variables**\n\n6. **Set up cron** (disabled by default — user must enable scheduling)\n\n## Configuration\n\n| Setting | Env Variable | Config Key | Default | Description |\n|---------|-------------|------------|---------|-------------|\n| Max bucket sum | `SIMMER_ELON_MAX_BUCKET_SUM` | `max_bucket_sum` | 0.90 | Only buy if cluster prices sum < this |\n| Max position | `SIMMER_ELON_MAX_POSITION` | `max_position_usd` | 5.00 | Maximum USD per bucket |\n| Bucket spread | `SIMMER_ELON_BUCKET_SPREAD` | `bucket_spread` | 1 | Neighbors on each side (1 = 3 buckets) |\n| Smart sizing % | `SIMMER_ELON_SIZING_PCT` | `sizing_pct` | 0.05 | % of balance per trade |\n| Max trades/run | `SIMMER_ELON_MAX_TRADES` | `max_trades_per_run` | 6 | Maximum trades per scan cycle |\n| Exit threshold | `SIMMER_ELON_EXIT` | `exit_threshold` | 0.65 | Sell when bucket price above this |\n| Slippage max | `SIMMER_ELON_SLIPPAGE_MAX` | `slippage_max_pct` | 0.05 | Skip trade if slippage exceeds this |\n| Min position | `SIMMER_ELON_MIN_POSITION` | `min_position_usd` | 2.00 | Floor for smart sizing (USD) |\n| Data source | `SIMMER_ELON_DATA_SOURCE` | `data_source` | xtracker | Data source (xtracker) |\n| Order type | `SIMMER_ELON_ORDER_TYPE` | `order_type` | GTC | Order type: GTC (good-til-cancelled) or FAK (fill-and-kill) |\n\nConfig priority: config.json > environment variables > defaults.\n\n## Quick Commands\n\n```bash\n# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n```\n\n**API Reference:**\n- Base URL: `https://api.simmer.markets`\n- Auth: `Authorization: Bearer $SIMMER_API_KEY`\n- Portfolio: `GET /api/sdk/portfolio`\n- Positions: `GET /api/sdk/positions`\n\n## Running the Skill\n\n```bash\n# Dry run (default — shows opportunities, no trades)\npython elon_tweets.py\n\n# Execute real trades\npython elon_tweets.py --live\n\n# With smart position sizing (uses portfolio balance)\npython elon_tweets.py --live --smart-sizing\n\n# Show XTracker stats only\npython elon_tweets.py --stats\n\n# Check positions only\npython elon_tweets.py --positions\n\n# View config\npython elon_tweets.py --config\n\n# Update config\npython elon_tweets.py --set max_position_usd=10.00\n\n# Disable safeguards (not recommended)\npython elon_tweets.py --no-safeguards\n\n# Quiet mode — only output on trades/errors (ideal for cron)\npython elon_tweets.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython elon_tweets.py --live --smart-sizing --quiet\n```\n\n## How It Works\n\nEach cycle the script:\n1. Fetches active XTracker trackings for Elon Musk tweet events\n2. Gets real-time stats: current count, projected pace, days remaining\n3. Searches Simmer for matching tweet count markets (auto-imports if missing)\n4. Finds the bucket matching XTracker's pace projection\n5. Evaluates adjacent buckets (center ± spread)\n6. **Entry**: If sum of cluster prices < max_bucket_sum → BUY each bucket\n7. **Exit**: Checks open positions, sells if any bucket price > exit_threshold\n8. **Safeguards**: Checks context for flip-flop warnings, slippage\n9. **Tagging**: All trades tagged with `sdk:elon-tweets` for tracking\n\n## Auto-Import\n\nIf tweet count markets aren't on Simmer yet, the skill automatically imports them:\n- Derives the Polymarket event URL from the XTracker tracking title\n- Uses the SDK import endpoint (supports multi-outcome events)\n- Imports all outcome buckets as a group\n- Counts as 1 daily import regardless of bucket count\n\n## Smart Sizing\n\nWith `--smart-sizing`, position size is calculated as:\n- 5% of available USDC balance (configurable via `sizing_pct`)\n- Capped at max position setting ($5.00 default)\n- Falls back to fixed size if portfolio unavailable\n\n## Safeguards\n\nBefore trading, the skill checks:\n- **Flip-flop warning**: Skips if you've been reversing too much\n- **Slippage**: Skips if estimated slippage > 15%\n- **Market status**: Skips closed or resolved markets\n- **Extreme prices**: Skips buckets priced > 98% or < 2%\n\nDisable with `--no-safeguards` (not recommended).\n\n## Source Tagging\n\nAll trades are tagged with `source: \"sdk:elon-tweets\"`. This means:\n- Portfolio shows breakdown by strategy\n- Other skills won't sell your tweet positions\n- You can track tweet trading P&L separately\n\n## Example Output\n\n```\n🐦 Simmer Elon Tweet Trader\n==================================================\n\n⚙️ Configuration:\n  Max bucket sum:  $0.90\n  Max position:    $5.00\n  Bucket spread:   1 (center ± 1 = 3 buckets)\n  Exit threshold:  65%\n  Data source:     xtracker\n\n📊 XTracker Stats:\n  Tracking: Elon Musk # tweets Feb 13 - Feb 20\n  Current count: 187 posts\n  Pace: 243 projected\n  Days remaining: 2.3\n\n🎯 Target cluster: 240-259 (center) + 220-239, 260-279\n  240-259: $0.35\n  220-239: $0.22\n  260-279: $0.18\n  Cluster sum: $0.75 (< $0.90 threshold) ✅\n\n  Executing trades...\n  ✅ Bought 14.3 shares of 240-259 @ $0.35\n  ✅ Bought 22.7 shares of 220-239 @ $0.22\n  ✅ Bought 27.8 shares of 260-279 @ $0.18\n\n📊 Summary:\n  Events scanned: 2\n  Clusters evaluated: 2\n  Trades executed: 3\n  Exits: 0\n```\n\n## Troubleshooting\n\n**\"No XTracker trackings found\"**\n- XTracker may not have active Elon tweet events\n- New events usually start on Wednesdays/Thursdays\n\n**\"Cluster sum $X.XX exceeds threshold\"**\n- Buckets are too expensive — edge is too thin\n- Wait for prices to drop or widen bucket_spread\n\n**\"No matching Simmer markets found\"**\n- Markets may not be imported yet — skill will auto-import on next run\n- Check that your API key has import capacity (10/day free, 50/day Pro)\n\n**\"Safeguard blocked: flip-flop warning\"**\n- You've been changing direction too much on this market\n- Wait before trading again\n\n**\"External wallet requires a pre-signed order\"**\n- `WALLET_PRIVATE_KEY` is not set in the environment\n- The SDK signs orders automatically when this env var is present — no manual signing code needed\n- Fix: `export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>`\n- Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n**\"Balance shows $0 but I have funds on Polygon\"**\n- Polymarket V2 (live 2026-04-28) uses **pUSD** (PolyUSD, 1:1 backed by USDC.e). If your wallet holds USDC.e, migrate at [simmer.markets/dashboard](https://simmer.markets/dashboard) with one click (~30s)\n- If you bridged native USDC (Circle), swap to USDC.e first, then migrate to pUSD\n- Full migration guide: [docs.simmer.markets/v2-migration](https://docs.simmer.markets/v2-migration)\n\n**\"API key invalid\"**\n- Get new key from simmer.markets/dashboard → SDK tab\n\nFile v1.3.2:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-elon-tweets\",\n  \"version\": \"1.3.2\",\n  \"publishedAt\": 1777025203467\n}\n\nFile v1.3.2:clawhub.json\n\n{\n  \"emoji\": \"\\ud83d\\udc26\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk>=0.11.1\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key \\u2014 get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"elon_tweets.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_ELON_MAX_POSITION_USD\",\n      \"type\": \"number\",\n      \"default\": 50,\n      \"range\": [\n        1,\n        200\n      ],\n      \"step\": 5,\n      \"label\": \"Max position size\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_BUCKET_SPREAD\",\n      \"type\": \"number\",\n      \"default\": 0.05,\n      \"range\": [\n        0.01,\n        0.2\n      ],\n      \"step\": 0.01,\n      \"label\": \"Bucket spread\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SIZING_PCT\",\n      \"type\": \"number\",\n      \"default\": 0.1,\n      \"range\": [\n        0.01,\n        1.0\n      ],\n      \"step\": 0.01,\n      \"label\": \"Position sizing percentage\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_MAX_TRADES_PER_RUN\",\n      \"type\": \"number\",\n      \"default\": 5,\n      \"range\": [\n        1,\n        20\n      ],\n      \"step\": 1,\n      \"label\": \"Max trades per run\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_EXIT_THRESHOLD\",\n      \"type\": \"number\",\n      \"default\": 0.85,\n      \"range\": [\n        0.5,\n        0.99\n      ],\n      \"step\": 0.01,\n      \"label\": \"Exit probability threshold\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SLIPPAGE_BPS\",\n      \"type\": \"number\",\n      \"default\": 100,\n      \"range\": [\n        10,\n        500\n      ],\n      \"step\": 10,\n      \"label\": \"Slippage tolerance (basis points)\"\n    }\n  ]\n}\n\nFile v1.3.2:config.json\n\n{\n  \"max_bucket_sum\": 0.90,\n  \"max_position_usd\": 5.00,\n  \"bucket_spread\": 1,\n  \"sizing_pct\": 0.05,\n  \"max_trades_per_run\": 6,\n  \"exit_threshold\": 0.65,\n  \"slippage_max_pct\": 0.05,\n  \"min_position_usd\": 2.00,\n  \"data_source\": \"xtracker\"\n}\n\nArchive v1.3.1: 6 files, 18550 bytes\n\nFiles: clawhub.json (1936b), config.json (239b), elon_tweets.py (40259b), scripts/status.py (5110b), SKILL.md (9036b), _meta.json (141b)\n\nFile v1.3.1:SKILL.md\n\n---\nname: polymarket-elon-tweets\ndescription: 'Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.3.1\"\n  displayName: Polymarket Elon Tweet Trader\n  difficulty: advanced\n  attribution: Strategy inspired by @noovd\n---\n# Polymarket Elon Tweet Trader\n\nTrade \"Elon Musk # tweets\" markets on Polymarket using XTracker post count data.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade Elon Musk tweet count markets automatically\n- Set up @noovd-style bucket trading\n- Check XTracker pace and stats for current tweet events\n- Monitor and exit existing tweet market positions\n- Configure bucket spread or entry thresholds\n\n## How the Strategy Works\n\nPolymarket runs weekly \"How many tweets will Elon post?\" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:\n\n1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total\n2. **Find center bucket** — The bucket containing XTracker's projected pace\n3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)\n4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)\n5. **One bucket pays $1** — When the event resolves, one of your buckets pays $1, covering costs\n\n## Setup Flow\n\nWhen user asks to install or configure this skill:\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Ask for Simmer API key**\n   - They can get it from simmer.markets/dashboard → SDK tab\n   - Store in environment as `SIMMER_API_KEY`\n\n3. **Ask for wallet private key** (required for live trading)\n   - This is the private key for their Polymarket wallet (the wallet that holds USDC)\n   - Store in environment as `WALLET_PRIVATE_KEY`\n   - The SDK uses this to sign orders client-side automatically — no manual signing needed\n\n4. **Ask about settings** (or confirm defaults)\n   - Max bucket sum: Combined price threshold (default 90¢)\n   - Max position: Amount per bucket (default $5.00)\n   - Bucket spread: How many neighbors to buy (default 1 = center ± 1)\n   - Exit threshold: When to sell (default 65¢)\n\n5. **Save settings to config.json or environment variables**\n\n6. **Set up cron** (disabled by default — user must enable scheduling)\n\n## Configuration\n\n| Setting | Env Variable | Config Key | Default | Description |\n|---------|-------------|------------|---------|-------------|\n| Max bucket sum | `SIMMER_ELON_MAX_BUCKET_SUM` | `max_bucket_sum` | 0.90 | Only buy if cluster prices sum < this |\n| Max position | `SIMMER_ELON_MAX_POSITION` | `max_position_usd` | 5.00 | Maximum USD per bucket |\n| Bucket spread | `SIMMER_ELON_BUCKET_SPREAD` | `bucket_spread` | 1 | Neighbors on each side (1 = 3 buckets) |\n| Smart sizing % | `SIMMER_ELON_SIZING_PCT` | `sizing_pct` | 0.05 | % of balance per trade |\n| Max trades/run | `SIMMER_ELON_MAX_TRADES` | `max_trades_per_run` | 6 | Maximum trades per scan cycle |\n| Exit threshold | `SIMMER_ELON_EXIT` | `exit_threshold` | 0.65 | Sell when bucket price above this |\n| Slippage max | `SIMMER_ELON_SLIPPAGE_MAX` | `slippage_max_pct` | 0.05 | Skip trade if slippage exceeds this |\n| Min position | `SIMMER_ELON_MIN_POSITION` | `min_position_usd` | 2.00 | Floor for smart sizing (USD) |\n| Data source | `SIMMER_ELON_DATA_SOURCE` | `data_source` | xtracker | Data source (xtracker) |\n| Order type | `SIMMER_ELON_ORDER_TYPE` | `order_type` | GTC | Order type: GTC (good-til-cancelled) or FAK (fill-and-kill) |\n\nConfig priority: config.json > environment variables > defaults.\n\n## Quick Commands\n\n```bash\n# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n```\n\n**API Reference:**\n- Base URL: `https://api.simmer.markets`\n- Auth: `Authorization: Bearer $SIMMER_API_KEY`\n- Portfolio: `GET /api/sdk/portfolio`\n- Positions: `GET /api/sdk/positions`\n\n## Running the Skill\n\n```bash\n# Dry run (default — shows opportunities, no trades)\npython elon_tweets.py\n\n# Execute real trades\npython elon_tweets.py --live\n\n# With smart position sizing (uses portfolio balance)\npython elon_tweets.py --live --smart-sizing\n\n# Show XTracker stats only\npython elon_tweets.py --stats\n\n# Check positions only\npython elon_tweets.py --positions\n\n# View config\npython elon_tweets.py --config\n\n# Update config\npython elon_tweets.py --set max_position_usd=10.00\n\n# Disable safeguards (not recommended)\npython elon_tweets.py --no-safeguards\n\n# Quiet mode — only output on trades/errors (ideal for cron)\npython elon_tweets.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython elon_tweets.py --live --smart-sizing --quiet\n```\n\n## How It Works\n\nEach cycle the script:\n1. Fetches active XTracker trackings for Elon Musk tweet events\n2. Gets real-time stats: current count, projected pace, days remaining\n3. Searches Simmer for matching tweet count markets (auto-imports if missing)\n4. Finds the bucket matching XTracker's pace projection\n5. Evaluates adjacent buckets (center ± spread)\n6. **Entry**: If sum of cluster prices < max_bucket_sum → BUY each bucket\n7. **Exit**: Checks open positions, sells if any bucket price > exit_threshold\n8. **Safeguards**: Checks context for flip-flop warnings, slippage\n9. **Tagging**: All trades tagged with `sdk:elon-tweets` for tracking\n\n## Auto-Import\n\nIf tweet count markets aren't on Simmer yet, the skill automatically imports them:\n- Derives the Polymarket event URL from the XTracker tracking title\n- Uses the SDK import endpoint (supports multi-outcome events)\n- Imports all outcome buckets as a group\n- Counts as 1 daily import regardless of bucket count\n\n## Smart Sizing\n\nWith `--smart-sizing`, position size is calculated as:\n- 5% of available USDC balance (configurable via `sizing_pct`)\n- Capped at max position setting ($5.00 default)\n- Falls back to fixed size if portfolio unavailable\n\n## Safeguards\n\nBefore trading, the skill checks:\n- **Flip-flop warning**: Skips if you've been reversing too much\n- **Slippage**: Skips if estimated slippage > 15%\n- **Market status**: Skips closed or resolved markets\n- **Extreme prices**: Skips buckets priced > 98% or < 2%\n\nDisable with `--no-safeguards` (not recommended).\n\n## Source Tagging\n\nAll trades are tagged with `source: \"sdk:elon-tweets\"`. This means:\n- Portfolio shows breakdown by strategy\n- Other skills won't sell your tweet positions\n- You can track tweet trading P&L separately\n\n## Example Output\n\n```\n🐦 Simmer Elon Tweet Trader\n==================================================\n\n⚙️ Configuration:\n  Max bucket sum:  $0.90\n  Max position:    $5.00\n  Bucket spread:   1 (center ± 1 = 3 buckets)\n  Exit threshold:  65%\n  Data source:     xtracker\n\n📊 XTracker Stats:\n  Tracking: Elon Musk # tweets Feb 13 - Feb 20\n  Current count: 187 posts\n  Pace: 243 projected\n  Days remaining: 2.3\n\n🎯 Target cluster: 240-259 (center) + 220-239, 260-279\n  240-259: $0.35\n  220-239: $0.22\n  260-279: $0.18\n  Cluster sum: $0.75 (< $0.90 threshold) ✅\n\n  Executing trades...\n  ✅ Bought 14.3 shares of 240-259 @ $0.35\n  ✅ Bought 22.7 shares of 220-239 @ $0.22\n  ✅ Bought 27.8 shares of 260-279 @ $0.18\n\n📊 Summary:\n  Events scanned: 2\n  Clusters evaluated: 2\n  Trades executed: 3\n  Exits: 0\n```\n\n## Troubleshooting\n\n**\"No XTracker trackings found\"**\n- XTracker may not have active Elon tweet events\n- New events usually start on Wednesdays/Thursdays\n\n**\"Cluster sum $X.XX exceeds threshold\"**\n- Buckets are too expensive — edge is too thin\n- Wait for prices to drop or widen bucket_spread\n\n**\"No matching Simmer markets found\"**\n- Markets may not be imported yet — skill will auto-import on next run\n- Check that your API key has import capacity (10/day free, 50/day Pro)\n\n**\"Safeguard blocked: flip-flop warning\"**\n- You've been changing direction too much on this market\n- Wait before trading again\n\n**\"External wallet requires a pre-signed order\"**\n- `WALLET_PRIVATE_KEY` is not set in the environment\n- The SDK signs orders automatically when this env var is present — no manual signing code needed\n- Fix: `export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>`\n- Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n**\"Balance shows $0 but I have funds on Polygon\"**\n- Polymarket V2 (live 2026-04-28) uses **pUSD** (PolyUSD, 1:1 backed by USDC.e). If your wallet holds USDC.e, migrate at [simmer.markets/dashboard](https://simmer.markets/dashboard) with one click (~30s)\n- If you bridged native USDC (Circle), swap to USDC.e first, then migrate to pUSD\n- Full migration guide: [docs.simmer.markets/v2-migration](https://docs.simmer.markets/v2-migration)\n\n**\"API key invalid\"**\n- Get new key from simmer.markets/dashboard → SDK tab\n\nFile v1.3.1:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-elon-tweets\",\n  \"version\": \"1.3.1\",\n  \"publishedAt\": 1776923794598\n}\n\nFile v1.3.1:clawhub.json\n\n{\n  \"emoji\": \"\\ud83d\\udc26\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key \\u2014 get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"elon_tweets.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_ELON_MAX_POSITION_USD\",\n      \"type\": \"number\",\n      \"default\": 50,\n      \"range\": [\n        1,\n        200\n      ],\n      \"step\": 5,\n      \"label\": \"Max position size\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_BUCKET_SPREAD\",\n      \"type\": \"number\",\n      \"default\": 0.05,\n      \"range\": [\n        0.01,\n        0.2\n      ],\n      \"step\": 0.01,\n      \"label\": \"Bucket spread\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SIZING_PCT\",\n      \"type\": \"number\",\n      \"default\": 0.1,\n      \"range\": [\n        0.01,\n        1.0\n      ],\n      \"step\": 0.01,\n      \"label\": \"Position sizing percentage\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_MAX_TRADES_PER_RUN\",\n      \"type\": \"number\",\n      \"default\": 5,\n      \"range\": [\n        1,\n        20\n      ],\n      \"step\": 1,\n      \"label\": \"Max trades per run\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_EXIT_THRESHOLD\",\n      \"type\": \"number\",\n      \"default\": 0.85,\n      \"range\": [\n        0.5,\n        0.99\n      ],\n      \"step\": 0.01,\n      \"label\": \"Exit probability threshold\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SLIPPAGE_BPS\",\n      \"type\": \"number\",\n      \"default\": 100,\n      \"range\": [\n        10,\n        500\n      ],\n      \"step\": 10,\n      \"label\": \"Slippage tolerance (basis points)\"\n    }\n  ]\n}\n\nFile v1.3.1:config.json\n\n{\n  \"max_bucket_sum\": 0.90,\n  \"max_position_usd\": 5.00,\n  \"bucket_spread\": 1,\n  \"sizing_pct\": 0.05,\n  \"max_trades_per_run\": 6,\n  \"exit_threshold\": 0.65,\n  \"slippage_max_pct\": 0.05,\n  \"min_position_usd\": 2.00,\n  \"data_source\": \"xtracker\"\n}\n\nArchive v1.2.2: 6 files, 18500 bytes\n\nFiles: clawhub.json (1936b), config.json (239b), elon_tweets.py (40259b), scripts/status.py (5110b), SKILL.md (8883b), _meta.json (141b)\n\nFile v1.2.2:SKILL.md\n\n---\nname: polymarket-elon-tweets\ndescription: 'Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.2.2\"\n  displayName: Polymarket Elon Tweet Trader\n  difficulty: advanced\n  attribution: Strategy inspired by @noovd\n---\n# Polymarket Elon Tweet Trader\n\nTrade \"Elon Musk # tweets\" markets on Polymarket using XTracker post count data.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade Elon Musk tweet count markets automatically\n- Set up @noovd-style bucket trading\n- Check XTracker pace and stats for current tweet events\n- Monitor and exit existing tweet market positions\n- Configure bucket spread or entry thresholds\n\n## How the Strategy Works\n\nPolymarket runs weekly \"How many tweets will Elon post?\" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:\n\n1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total\n2. **Find center bucket** — The bucket containing XTracker's projected pace\n3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)\n4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)\n5. **One bucket pays $1** — When the event resolves, one of your buckets pays $1, covering costs\n\n## Setup Flow\n\nWhen user asks to install or configure this skill:\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Ask for Simmer API key**\n   - They can get it from simmer.markets/dashboard → SDK tab\n   - Store in environment as `SIMMER_API_KEY`\n\n3. **Ask for wallet private key** (required for live trading)\n   - This is the private key for their Polymarket wallet (the wallet that holds USDC)\n   - Store in environment as `WALLET_PRIVATE_KEY`\n   - The SDK uses this to sign orders client-side automatically — no manual signing needed\n\n4. **Ask about settings** (or confirm defaults)\n   - Max bucket sum: Combined price threshold (default 90¢)\n   - Max position: Amount per bucket (default $5.00)\n   - Bucket spread: How many neighbors to buy (default 1 = center ± 1)\n   - Exit threshold: When to sell (default 65¢)\n\n5. **Save settings to config.json or environment variables**\n\n6. **Set up cron** (disabled by default — user must enable scheduling)\n\n## Configuration\n\n| Setting | Env Variable | Config Key | Default | Description |\n|---------|-------------|------------|---------|-------------|\n| Max bucket sum | `SIMMER_ELON_MAX_BUCKET_SUM` | `max_bucket_sum` | 0.90 | Only buy if cluster prices sum < this |\n| Max position | `SIMMER_ELON_MAX_POSITION` | `max_position_usd` | 5.00 | Maximum USD per bucket |\n| Bucket spread | `SIMMER_ELON_BUCKET_SPREAD` | `bucket_spread` | 1 | Neighbors on each side (1 = 3 buckets) |\n| Smart sizing % | `SIMMER_ELON_SIZING_PCT` | `sizing_pct` | 0.05 | % of balance per trade |\n| Max trades/run | `SIMMER_ELON_MAX_TRADES` | `max_trades_per_run` | 6 | Maximum trades per scan cycle |\n| Exit threshold | `SIMMER_ELON_EXIT` | `exit_threshold` | 0.65 | Sell when bucket price above this |\n| Slippage max | `SIMMER_ELON_SLIPPAGE_MAX` | `slippage_max_pct` | 0.05 | Skip trade if slippage exceeds this |\n| Min position | `SIMMER_ELON_MIN_POSITION` | `min_position_usd` | 2.00 | Floor for smart sizing (USD) |\n| Data source | `SIMMER_ELON_DATA_SOURCE` | `data_source` | xtracker | Data source (xtracker) |\n| Order type | `SIMMER_ELON_ORDER_TYPE` | `order_type` | GTC | Order type: GTC (good-til-cancelled) or FAK (fill-and-kill) |\n\nConfig priority: config.json > environment variables > defaults.\n\n## Quick Commands\n\n```bash\n# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n```\n\n**API Reference:**\n- Base URL: `https://api.simmer.markets`\n- Auth: `Authorization: Bearer $SIMMER_API_KEY`\n- Portfolio: `GET /api/sdk/portfolio`\n- Positions: `GET /api/sdk/positions`\n\n## Running the Skill\n\n```bash\n# Dry run (default — shows opportunities, no trades)\npython elon_tweets.py\n\n# Execute real trades\npython elon_tweets.py --live\n\n# With smart position sizing (uses portfolio balance)\npython elon_tweets.py --live --smart-sizing\n\n# Show XTracker stats only\npython elon_tweets.py --stats\n\n# Check positions only\npython elon_tweets.py --positions\n\n# View config\npython elon_tweets.py --config\n\n# Update config\npython elon_tweets.py --set max_position_usd=10.00\n\n# Disable safeguards (not recommended)\npython elon_tweets.py --no-safeguards\n\n# Quiet mode — only output on trades/errors (ideal for cron)\npython elon_tweets.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython elon_tweets.py --live --smart-sizing --quiet\n```\n\n## How It Works\n\nEach cycle the script:\n1. Fetches active XTracker trackings for Elon Musk tweet events\n2. Gets real-time stats: current count, projected pace, days remaining\n3. Searches Simmer for matching tweet count markets (auto-imports if missing)\n4. Finds the bucket matching XTracker's pace projection\n5. Evaluates adjacent buckets (center ± spread)\n6. **Entry**: If sum of cluster prices < max_bucket_sum → BUY each bucket\n7. **Exit**: Checks open positions, sells if any bucket price > exit_threshold\n8. **Safeguards**: Checks context for flip-flop warnings, slippage\n9. **Tagging**: All trades tagged with `sdk:elon-tweets` for tracking\n\n## Auto-Import\n\nIf tweet count markets aren't on Simmer yet, the skill automatically imports them:\n- Derives the Polymarket event URL from the XTracker tracking title\n- Uses the SDK import endpoint (supports multi-outcome events)\n- Imports all outcome buckets as a group\n- Counts as 1 daily import regardless of bucket count\n\n## Smart Sizing\n\nWith `--smart-sizing`, position size is calculated as:\n- 5% of available USDC balance (configurable via `sizing_pct`)\n- Capped at max position setting ($5.00 default)\n- Falls back to fixed size if portfolio unavailable\n\n## Safeguards\n\nBefore trading, the skill checks:\n- **Flip-flop warning**: Skips if you've been reversing too much\n- **Slippage**: Skips if estimated slippage > 15%\n- **Market status**: Skips closed or resolved markets\n- **Extreme prices**: Skips buckets priced > 98% or < 2%\n\nDisable with `--no-safeguards` (not recommended).\n\n## Source Tagging\n\nAll trades are tagged with `source: \"sdk:elon-tweets\"`. This means:\n- Portfolio shows breakdown by strategy\n- Other skills won't sell your tweet positions\n- You can track tweet trading P&L separately\n\n## Example Output\n\n```\n🐦 Simmer Elon Tweet Trader\n==================================================\n\n⚙️ Configuration:\n  Max bucket sum:  $0.90\n  Max position:    $5.00\n  Bucket spread:   1 (center ± 1 = 3 buckets)\n  Exit threshold:  65%\n  Data source:     xtracker\n\n📊 XTracker Stats:\n  Tracking: Elon Musk # tweets Feb 13 - Feb 20\n  Current count: 187 posts\n  Pace: 243 projected\n  Days remaining: 2.3\n\n🎯 Target cluster: 240-259 (center) + 220-239, 260-279\n  240-259: $0.35\n  220-239: $0.22\n  260-279: $0.18\n  Cluster sum: $0.75 (< $0.90 threshold) ✅\n\n  Executing trades...\n  ✅ Bought 14.3 shares of 240-259 @ $0.35\n  ✅ Bought 22.7 shares of 220-239 @ $0.22\n  ✅ Bought 27.8 shares of 260-279 @ $0.18\n\n📊 Summary:\n  Events scanned: 2\n  Clusters evaluated: 2\n  Trades executed: 3\n  Exits: 0\n```\n\n## Troubleshooting\n\n**\"No XTracker trackings found\"**\n- XTracker may not have active Elon tweet events\n- New events usually start on Wednesdays/Thursdays\n\n**\"Cluster sum $X.XX exceeds threshold\"**\n- Buckets are too expensive — edge is too thin\n- Wait for prices to drop or widen bucket_spread\n\n**\"No matching Simmer markets found\"**\n- Markets may not be imported yet — skill will auto-import on next run\n- Check that your API key has import capacity (10/day free, 50/day Pro)\n\n**\"Safeguard blocked: flip-flop warning\"**\n- You've been changing direction too much on this market\n- Wait before trading again\n\n**\"External wallet requires a pre-signed order\"**\n- `WALLET_PRIVATE_KEY` is not set in the environment\n- The SDK signs orders automatically when this env var is present — no manual signing code needed\n- Fix: `export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>`\n- Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n**\"Balance shows $0 but I have USDC on Polygon\"**\n- Polymarket uses **USDC.e** (bridged USDC, contract `0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174`) — not native USDC\n- If you bridged USDC to Polygon recently, you likely received native USDC\n- Swap native USDC to USDC.e, then retry\n\n**\"API key invalid\"**\n- Get new key from simmer.markets/dashboard → SDK tab\n\nFile v1.2.2:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-elon-tweets\",\n  \"version\": \"1.2.2\",\n  \"publishedAt\": 1776849320944\n}\n\nFile v1.2.2:clawhub.json\n\n{\n  \"emoji\": \"\\ud83d\\udc26\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key \\u2014 get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"elon_tweets.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_ELON_MAX_POSITION_USD\",\n      \"type\": \"number\",\n      \"default\": 50,\n      \"range\": [\n        1,\n        200\n      ],\n      \"step\": 5,\n      \"label\": \"Max position size\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_BUCKET_SPREAD\",\n      \"type\": \"number\",\n      \"default\": 0.05,\n      \"range\": [\n        0.01,\n        0.2\n      ],\n      \"step\": 0.01,\n      \"label\": \"Bucket spread\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SIZING_PCT\",\n      \"type\": \"number\",\n      \"default\": 0.1,\n      \"range\": [\n        0.01,\n        1.0\n      ],\n      \"step\": 0.01,\n      \"label\": \"Position sizing percentage\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_MAX_TRADES_PER_RUN\",\n      \"type\": \"number\",\n      \"default\": 5,\n      \"range\": [\n        1,\n        20\n      ],\n      \"step\": 1,\n      \"label\": \"Max trades per run\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_EXIT_THRESHOLD\",\n      \"type\": \"number\",\n      \"default\": 0.85,\n      \"range\": [\n        0.5,\n        0.99\n      ],\n      \"step\": 0.01,\n      \"label\": \"Exit probability threshold\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SLIPPAGE_BPS\",\n      \"type\": \"number\",\n      \"default\": 100,\n      \"range\": [\n        10,\n        500\n      ],\n      \"step\": 10,\n      \"label\": \"Slippage tolerance (basis points)\"\n    }\n  ]\n}\n\nFile v1.2.2:config.json\n\n{\n  \"max_bucket_sum\": 0.90,\n  \"max_position_usd\": 5.00,\n  \"bucket_spread\": 1,\n  \"sizing_pct\": 0.05,\n  \"max_trades_per_run\": 6,\n  \"exit_threshold\": 0.65,\n  \"slippage_max_pct\": 0.05,\n  \"min_position_usd\": 2.00,\n  \"data_source\": \"xtracker\"\n}\n\nArchive v1.2.1: 6 files, 18351 bytes\n\nFiles: clawhub.json (1562b), config.json (239b), elon_tweets.py (40259b), scripts/status.py (5110b), SKILL.md (8883b), _meta.json (141b)\n\nFile v1.2.1:SKILL.md\n\n---\nname: polymarket-elon-tweets\ndescription: 'Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.2.1\"\n  displayName: Polymarket Elon Tweet Trader\n  difficulty: advanced\n  attribution: Strategy inspired by @noovd\n---\n# Polymarket Elon Tweet Trader\n\nTrade \"Elon Musk # tweets\" markets on Polymarket using XTracker post count data.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade Elon Musk tweet count markets automatically\n- Set up @noovd-style bucket trading\n- Check XTracker pace and stats for current tweet events\n- Monitor and exit existing tweet market positions\n- Configure bucket spread or entry thresholds\n\n## How the Strategy Works\n\nPolymarket runs weekly \"How many tweets will Elon post?\" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:\n\n1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total\n2. **Find center bucket** — The bucket containing XTracker's projected pace\n3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)\n4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)\n5. **One bucket pays $1** — When the event resolves, one of your buckets pays $1, covering costs\n\n## Setup Flow\n\nWhen user asks to install or configure this skill:\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Ask for Simmer API key**\n   - They can get it from simmer.markets/dashboard → SDK tab\n   - Store in environment as `SIMMER_API_KEY`\n\n3. **Ask for wallet private key** (required for live trading)\n   - This is the private key for their Polymarket wallet (the wallet that holds USDC)\n   - Store in environment as `WALLET_PRIVATE_KEY`\n   - The SDK uses this to sign orders client-side automatically — no manual signing needed\n\n4. **Ask about settings** (or confirm defaults)\n   - Max bucket sum: Combined price threshold (default 90¢)\n   - Max position: Amount per bucket (default $5.00)\n   - Bucket spread: How many neighbors to buy (default 1 = center ± 1)\n   - Exit threshold: When to sell (default 65¢)\n\n5. **Save settings to config.json or environment variables**\n\n6. **Set up cron** (disabled by default — user must enable scheduling)\n\n## Configuration\n\n| Setting | Env Variable | Config Key | Default | Description |\n|---------|-------------|------------|---------|-------------|\n| Max bucket sum | `SIMMER_ELON_MAX_BUCKET_SUM` | `max_bucket_sum` | 0.90 | Only buy if cluster prices sum < this |\n| Max position | `SIMMER_ELON_MAX_POSITION` | `max_position_usd` | 5.00 | Maximum USD per bucket |\n| Bucket spread | `SIMMER_ELON_BUCKET_SPREAD` | `bucket_spread` | 1 | Neighbors on each side (1 = 3 buckets) |\n| Smart sizing % | `SIMMER_ELON_SIZING_PCT` | `sizing_pct` | 0.05 | % of balance per trade |\n| Max trades/run | `SIMMER_ELON_MAX_TRADES` | `max_trades_per_run` | 6 | Maximum trades per scan cycle |\n| Exit threshold | `SIMMER_ELON_EXIT` | `exit_threshold` | 0.65 | Sell when bucket price above this |\n| Slippage max | `SIMMER_ELON_SLIPPAGE_MAX` | `slippage_max_pct` | 0.05 | Skip trade if slippage exceeds this |\n| Min position | `SIMMER_ELON_MIN_POSITION` | `min_position_usd` | 2.00 | Floor for smart sizing (USD) |\n| Data source | `SIMMER_ELON_DATA_SOURCE` | `data_source` | xtracker | Data source (xtracker) |\n| Order type | `SIMMER_ELON_ORDER_TYPE` | `order_type` | GTC | Order type: GTC (good-til-cancelled) or FAK (fill-and-kill) |\n\nConfig priority: config.json > environment variables > defaults.\n\n## Quick Commands\n\n```bash\n# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n```\n\n**API Reference:**\n- Base URL: `https://api.simmer.markets`\n- Auth: `Authorization: Bearer $SIMMER_API_KEY`\n- Portfolio: `GET /api/sdk/portfolio`\n- Positions: `GET /api/sdk/positions`\n\n## Running the Skill\n\n```bash\n# Dry run (default — shows opportunities, no trades)\npython elon_tweets.py\n\n# Execute real trades\npython elon_tweets.py --live\n\n# With smart position sizing (uses portfolio balance)\npython elon_tweets.py --live --smart-sizing\n\n# Show XTracker stats only\npython elon_tweets.py --stats\n\n# Check positions only\npython elon_tweets.py --positions\n\n# View config\npython elon_tweets.py --config\n\n# Update config\npython elon_tweets.py --set max_position_usd=10.00\n\n# Disable safeguards (not recommended)\npython elon_tweets.py --no-safeguards\n\n# Quiet mode — only output on trades/errors (ideal for cron)\npython elon_tweets.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython elon_tweets.py --live --smart-sizing --quiet\n```\n\n## How It Works\n\nEach cycle the script:\n1. Fetches active XTracker trackings for Elon Musk tweet events\n2. Gets real-time stats: current count, projected pace, days remaining\n3. Searches Simmer for matching tweet count markets (auto-imports if missing)\n4. Finds the bucket matching XTracker's pace projection\n5. Evaluates adjacent buckets (center ± spread)\n6. **Entry**: If sum of cluster prices < max_bucket_sum → BUY each bucket\n7. **Exit**: Checks open positions, sells if any bucket price > exit_threshold\n8. **Safeguards**: Checks context for flip-flop warnings, slippage\n9. **Tagging**: All trades tagged with `sdk:elon-tweets` for tracking\n\n## Auto-Import\n\nIf tweet count markets aren't on Simmer yet, the skill automatically imports them:\n- Derives the Polymarket event URL from the XTracker tracking title\n- Uses the SDK import endpoint (supports multi-outcome events)\n- Imports all outcome buckets as a group\n- Counts as 1 daily import regardless of bucket count\n\n## Smart Sizing\n\nWith `--smart-sizing`, position size is calculated as:\n- 5% of available USDC balance (configurable via `sizing_pct`)\n- Capped at max position setting ($5.00 default)\n- Falls back to fixed size if portfolio unavailable\n\n## Safeguards\n\nBefore trading, the skill checks:\n- **Flip-flop warning**: Skips if you've been reversing too much\n- **Slippage**: Skips if estimated slippage > 15%\n- **Market status**: Skips closed or resolved markets\n- **Extreme prices**: Skips buckets priced > 98% or < 2%\n\nDisable with `--no-safeguards` (not recommended).\n\n## Source Tagging\n\nAll trades are tagged with `source: \"sdk:elon-tweets\"`. This means:\n- Portfolio shows breakdown by strategy\n- Other skills won't sell your tweet positions\n- You can track tweet trading P&L separately\n\n## Example Output\n\n```\n🐦 Simmer Elon Tweet Trader\n==================================================\n\n⚙️ Configuration:\n  Max bucket sum:  $0.90\n  Max position:    $5.00\n  Bucket spread:   1 (center ± 1 = 3 buckets)\n  Exit threshold:  65%\n  Data source:     xtracker\n\n📊 XTracker Stats:\n  Tracking: Elon Musk # tweets Feb 13 - Feb 20\n  Current count: 187 posts\n  Pace: 243 projected\n  Days remaining: 2.3\n\n🎯 Target cluster: 240-259 (center) + 220-239, 260-279\n  240-259: $0.35\n  220-239: $0.22\n  260-279: $0.18\n  Cluster sum: $0.75 (< $0.90 threshold) ✅\n\n  Executing trades...\n  ✅ Bought 14.3 shares of 240-259 @ $0.35\n  ✅ Bought 22.7 shares of 220-239 @ $0.22\n  ✅ Bought 27.8 shares of 260-279 @ $0.18\n\n📊 Summary:\n  Events scanned: 2\n  Clusters evaluated: 2\n  Trades executed: 3\n  Exits: 0\n```\n\n## Troubleshooting\n\n**\"No XTracker trackings found\"**\n- XTracker may not have active Elon tweet events\n- New events usually start on Wednesdays/Thursdays\n\n**\"Cluster sum $X.XX exceeds threshold\"**\n- Buckets are too expensive — edge is too thin\n- Wait for prices to drop or widen bucket_spread\n\n**\"No matching Simmer markets found\"**\n- Markets may not be imported yet — skill will auto-import on next run\n- Check that your API key has import capacity (10/day free, 50/day Pro)\n\n**\"Safeguard blocked: flip-flop warning\"**\n- You've been changing direction too much on this market\n- Wait before trading again\n\n**\"External wallet requires a pre-signed order\"**\n- `WALLET_PRIVATE_KEY` is not set in the environment\n- The SDK signs orders automatically when this env var is present — no manual signing code needed\n- Fix: `export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>`\n- Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n**\"Balance shows $0 but I have USDC on Polygon\"**\n- Polymarket uses **USDC.e** (bridged USDC, contract `0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174`) — not native USDC\n- If you bridged USDC to Polygon recently, you likely received native USDC\n- Swap native USDC to USDC.e, then retry\n\n**\"API key invalid\"**\n- Get new key from simmer.markets/dashboard → SDK tab\n\nFile v1.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-elon-tweets\",\n  \"version\": \"1.2.1\",\n  \"publishedAt\": 1776845937032\n}\n\nFile v1.2.1:clawhub.json\n\n{\n  \"emoji\": \"\\ud83d\\udc26\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\",\n      \"WALLET_PRIVATE_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk\"\n    ]\n  },\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"elon_tweets.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_ELON_MAX_POSITION_USD\",\n      \"type\": \"number\",\n      \"default\": 50,\n      \"range\": [\n        1,\n        200\n      ],\n      \"step\": 5,\n      \"label\": \"Max position size\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_BUCKET_SPREAD\",\n      \"type\": \"number\",\n      \"default\": 0.05,\n      \"range\": [\n        0.01,\n        0.2\n      ],\n      \"step\": 0.01,\n      \"label\": \"Bucket spread\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SIZING_PCT\",\n      \"type\": \"number\",\n      \"default\": 0.1,\n      \"range\": [\n        0.01,\n        1.0\n      ],\n      \"step\": 0.01,\n      \"label\": \"Position sizing percentage\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_MAX_TRADES_PER_RUN\",\n      \"type\": \"number\",\n      \"default\": 5,\n      \"range\": [\n        1,\n        20\n      ],\n      \"step\": 1,\n      \"label\": \"Max trades per run\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_EXIT_THRESHOLD\",\n      \"type\": \"number\",\n      \"default\": 0.85,\n      \"range\": [\n        0.5,\n        0.99\n      ],\n      \"step\": 0.01,\n      \"label\": \"Exit probability threshold\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SLIPPAGE_BPS\",\n      \"type\": \"number\",\n      \"default\": 100,\n      \"range\": [\n        10,\n        500\n      ],\n      \"step\": 10,\n      \"label\": \"Slippage tolerance (basis points)\"\n    }\n  ]\n}\n\nFile v1.2.1:config.json\n\n{\n  \"max_bucket_sum\": 0.90,\n  \"max_position_usd\": 5.00,\n  \"bucket_spread\": 1,\n  \"sizing_pct\": 0.05,\n  \"max_trades_per_run\": 6,\n  \"exit_threshold\": 0.65,\n  \"slippage_max_pct\": 0.05,\n  \"min_position_usd\": 2.00,\n  \"data_source\": \"xtracker\"\n}\n\nArchive v1.1.4: 6 files, 18338 bytes\n\nFiles: clawhub.json (1534b), config.json (239b), elon_tweets.py (40259b), scripts/status.py (5110b), SKILL.md (8883b), _meta.json (141b)\n\nFile v1.1.4:SKILL.md\n\n---\nname: polymarket-elon-tweets\ndescription: 'Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.2.0\"\n  displayName: Polymarket Elon Tweet Trader\n  difficulty: advanced\n  attribution: Strategy inspired by @noovd\n---\n# Polymarket Elon Tweet Trader\n\nTrade \"Elon Musk # tweets\" markets on Polymarket using XTracker post count data.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade Elon Musk tweet count markets automatically\n- Set up @noovd-style bucket trading\n- Check XTracker pace and stats for current tweet events\n- Monitor and exit existing tweet market positions\n- Configure bucket spread or entry thresholds\n\n## How the Strategy Works\n\nPolymarket runs weekly \"How many tweets will Elon post?\" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:\n\n1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total\n2. **Find center bucket** — The bucket containing XTracker's projected pace\n3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)\n4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)\n5. **One bucket pays $1** — When the event resolves, one of your buckets pays $1, covering costs\n\n## Setup Flow\n\nWhen user asks to install or configure this skill:\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Ask for Simmer API key**\n   - They can get it from simmer.markets/dashboard → SDK tab\n   - Store in environment as `SIMMER_API_KEY`\n\n3. **Ask for wallet private key** (required for live trading)\n   - This is the private key for their Polymarket wallet (the wallet that holds USDC)\n   - Store in environment as `WALLET_PRIVATE_KEY`\n   - The SDK uses this to sign orders client-side automatically — no manual signing needed\n\n4. **Ask about settings** (or confirm defaults)\n   - Max bucket sum: Combined price threshold (default 90¢)\n   - Max position: Amount per bucket (default $5.00)\n   - Bucket spread: How many neighbors to buy (default 1 = center ± 1)\n   - Exit threshold: When to sell (default 65¢)\n\n5. **Save settings to config.json or environment variables**\n\n6. **Set up cron** (disabled by default — user must enable scheduling)\n\n## Configuration\n\n| Setting | Env Variable | Config Key | Default | Description |\n|---------|-------------|------------|---------|-------------|\n| Max bucket sum | `SIMMER_ELON_MAX_BUCKET_SUM` | `max_bucket_sum` | 0.90 | Only buy if cluster prices sum < this |\n| Max position | `SIMMER_ELON_MAX_POSITION` | `max_position_usd` | 5.00 | Maximum USD per bucket |\n| Bucket spread | `SIMMER_ELON_BUCKET_SPREAD` | `bucket_spread` | 1 | Neighbors on each side (1 = 3 buckets) |\n| Smart sizing % | `SIMMER_ELON_SIZING_PCT` | `sizing_pct` | 0.05 | % of balance per trade |\n| Max trades/run | `SIMMER_ELON_MAX_TRADES` | `max_trades_per_run` | 6 | Maximum trades per scan cycle |\n| Exit threshold | `SIMMER_ELON_EXIT` | `exit_threshold` | 0.65 | Sell when bucket price above this |\n| Slippage max | `SIMMER_ELON_SLIPPAGE_MAX` | `slippage_max_pct` | 0.05 | Skip trade if slippage exceeds this |\n| Min position | `SIMMER_ELON_MIN_POSITION` | `min_position_usd` | 2.00 | Floor for smart sizing (USD) |\n| Data source | `SIMMER_ELON_DATA_SOURCE` | `data_source` | xtracker | Data source (xtracker) |\n| Order type | `SIMMER_ELON_ORDER_TYPE` | `order_type` | GTC | Order type: GTC (good-til-cancelled) or FAK (fill-and-kill) |\n\nConfig priority: config.json > environment variables > defaults.\n\n## Quick Commands\n\n```bash\n# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n```\n\n**API Reference:**\n- Base URL: `https://api.simmer.markets`\n- Auth: `Authorization: Bearer $SIMMER_API_KEY`\n- Portfolio: `GET /api/sdk/portfolio`\n- Positions: `GET /api/sdk/positions`\n\n## Running the Skill\n\n```bash\n# Dry run (default — shows opportunities, no trades)\npython elon_tweets.py\n\n# Execute real trades\npython elon_tweets.py --live\n\n# With smart position sizing (uses portfolio balance)\npython elon_tweets.py --live --smart-sizing\n\n# Show XTracker stats only\npython elon_tweets.py --stats\n\n# Check positions only\npython elon_tweets.py --positions\n\n# View config\npython elon_tweets.py --config\n\n# Update config\npython elon_tweets.py --set max_position_usd=10.00\n\n# Disable safeguards (not recommended)\npython elon_tweets.py --no-safeguards\n\n# Quiet mode — only output on trades/errors (ideal for cron)\npython elon_tweets.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython elon_tweets.py --live --smart-sizing --quiet\n```\n\n## How It Works\n\nEach cycle the script:\n1. Fetches active XTracker trackings for Elon Musk tweet events\n2. Gets real-time stats: current count, projected pace, days remaining\n3. Searches Simmer for matching tweet count markets (auto-imports if missing)\n4. Finds the bucket matching XTracker's pace projection\n5. Evaluates adjacent buckets (center ± spread)\n6. **Entry**: If sum of cluster prices < max_bucket_sum → BUY each bucket\n7. **Exit**: Checks open positions, sells if any bucket price > exit_threshold\n8. **Safeguards**: Checks context for flip-flop warnings, slippage\n9. **Tagging**: All trades tagged with `sdk:elon-tweets` for tracking\n\n## Auto-Import\n\nIf tweet count markets aren't on Simmer yet, the skill automatically imports them:\n- Derives the Polymarket event URL from the XTracker tracking title\n- Uses the SDK import endpoint (supports multi-outcome events)\n- Imports all outcome buckets as a group\n- Counts as 1 daily import regardless of bucket count\n\n## Smart Sizing\n\nWith `--smart-sizing`, position size is calculated as:\n- 5% of available USDC balance (configurable via `sizing_pct`)\n- Capped at max position setting ($5.00 default)\n- Falls back to fixed size if portfolio unavailable\n\n## Safeguards\n\nBefore trading, the skill checks:\n- **Flip-flop warning**: Skips if you've been reversing too much\n- **Slippage**: Skips if estimated slippage > 15%\n- **Market status**: Skips closed or resolved markets\n- **Extreme prices**: Skips buckets priced > 98% or < 2%\n\nDisable with `--no-safeguards` (not recommended).\n\n## Source Tagging\n\nAll trades are tagged with `source: \"sdk:elon-tweets\"`. This means:\n- Portfolio shows breakdown by strategy\n- Other skills won't sell your tweet positions\n- You can track tweet trading P&L separately\n\n## Example Output\n\n```\n🐦 Simmer Elon Tweet Trader\n==================================================\n\n⚙️ Configuration:\n  Max bucket sum:  $0.90\n  Max position:    $5.00\n  Bucket spread:   1 (center ± 1 = 3 buckets)\n  Exit threshold:  65%\n  Data source:     xtracker\n\n📊 XTracker Stats:\n  Tracking: Elon Musk # tweets Feb 13 - Feb 20\n  Current count: 187 posts\n  Pace: 243 projected\n  Days remaining: 2.3\n\n🎯 Target cluster: 240-259 (center) + 220-239, 260-279\n  240-259: $0.35\n  220-239: $0.22\n  260-279: $0.18\n  Cluster sum: $0.75 (< $0.90 threshold) ✅\n\n  Executing trades...\n  ✅ Bought 14.3 shares of 240-259 @ $0.35\n  ✅ Bought 22.7 shares of 220-239 @ $0.22\n  ✅ Bought 27.8 shares of 260-279 @ $0.18\n\n📊 Summary:\n  Events scanned: 2\n  Clusters evaluated: 2\n  Trades executed: 3\n  Exits: 0\n```\n\n## Troubleshooting\n\n**\"No XTracker trackings found\"**\n- XTracker may not have active Elon tweet events\n- New events usually start on Wednesdays/Thursdays\n\n**\"Cluster sum $X.XX exceeds threshold\"**\n- Buckets are too expensive — edge is too thin\n- Wait for prices to drop or widen bucket_spread\n\n**\"No matching Simmer markets found\"**\n- Markets may not be imported yet — skill will auto-import on next run\n- Check that your API key has import capacity (10/day free, 50/day Pro)\n\n**\"Safeguard blocked: flip-flop warning\"**\n- You've been changing direction too much on this market\n- Wait before trading again\n\n**\"External wallet requires a pre-signed order\"**\n- `WALLET_PRIVATE_KEY` is not set in the environment\n- The SDK signs orders automatically when this env var is present — no manual signing code needed\n- Fix: `export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>`\n- Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n**\"Balance shows $0 but I have USDC on Polygon\"**\n- Polymarket uses **USDC.e** (bridged USDC, contract `0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174`) — not native USDC\n- If you bridged USDC to Polygon recently, you likely received native USDC\n- Swap native USDC to USDC.e, then retry\n\n**\"API key invalid\"**\n- Get new key from simmer.markets/dashboard → SDK tab\n\nFile v1.1.4:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-elon-tweets\",\n  \"version\": \"1.1.4\",\n  \"publishedAt\": 1775184424576\n}\n\nFile v1.1.4:clawhub.json\n\n{\n  \"emoji\": \"\\ud83d\\udc26\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk\"\n    ]\n  },\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"elon_tweets.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_ELON_MAX_POSITION_USD\",\n      \"type\": \"number\",\n      \"default\": 50,\n      \"range\": [\n        1,\n        200\n      ],\n      \"step\": 5,\n      \"label\": \"Max position size\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_BUCKET_SPREAD\",\n      \"type\": \"number\",\n      \"default\": 0.05,\n      \"range\": [\n        0.01,\n        0.2\n      ],\n      \"step\": 0.01,\n      \"label\": \"Bucket spread\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SIZING_PCT\",\n      \"type\": \"number\",\n      \"default\": 0.1,\n      \"range\": [\n        0.01,\n        1.0\n      ],\n      \"step\": 0.01,\n      \"label\": \"Position sizing percentage\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_MAX_TRADES_PER_RUN\",\n      \"type\": \"number\",\n      \"default\": 5,\n      \"range\": [\n        1,\n        20\n      ],\n      \"step\": 1,\n      \"label\": \"Max trades per run\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_EXIT_THRESHOLD\",\n      \"type\": \"number\",\n      \"default\": 0.85,\n      \"range\": [\n        0.5,\n        0.99\n      ],\n      \"step\": 0.01,\n      \"label\": \"Exit probability threshold\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SLIPPAGE_BPS\",\n      \"type\": \"number\",\n      \"default\": 100,\n      \"range\": [\n        10,\n        500\n      ],\n      \"step\": 10,\n      \"label\": \"Slippage tolerance (basis points)\"\n    }\n  ]\n}\n\nFile v1.1.4:config.json\n\n{\n  \"max_bucket_sum\": 0.90,\n  \"max_position_usd\": 5.00,\n  \"bucket_spread\": 1,\n  \"sizing_pct\": 0.05,\n  \"max_trades_per_run\": 6,\n  \"exit_threshold\": 0.65,\n  \"slippage_max_pct\": 0.05,\n  \"min_position_usd\": 2.00,\n  \"data_source\": \"xtracker\"\n}\n\nArchive v1.1.3: 6 files, 18211 bytes\n\nFiles: clawhub.json (1534b), config.json (239b), elon_tweets.py (39917b), scripts/status.py (5110b), SKILL.md (8883b), _meta.json (141b)\n\nFile v1.1.3:SKILL.md\n\n---\nname: polymarket-elon-tweets\ndescription: 'Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.2.0\"\n  displayName: Polymarket Elon Tweet Trader\n  difficulty: advanced\n  attribution: Strategy inspired by @noovd\n---\n# Polymarket Elon Tweet Trader\n\nTrade \"Elon Musk # tweets\" markets on Polymarket using XTracker post count data.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade Elon Musk tweet count markets automatically\n- Set up @noovd-style bucket trading\n- Check XTracker pace and stats for current tweet events\n- Monitor and exit existing tweet market positions\n- Configure bucket spread or entry thresholds\n\n## How the Strategy Works\n\nPolymarket runs weekly \"How many tweets will Elon post?\" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:\n\n1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total\n2. **Find center bucket** — The bucket containing XTracker's projected pace\n3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)\n4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)\n5. **One bucket pays $1** — When the event resolves, one of your buckets pays $1, covering costs\n\n## Setup Flow\n\nWhen user asks to install or configure this skill:\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Ask for Simmer API key**\n   - They can get it from simmer.markets/dashboard → SDK tab\n   - Store in environment as `SIMMER_API_KEY`\n\n3. **Ask for wallet private key** (required for live trading)\n   - This is the private key for their Polymarket wallet (the wallet that holds USDC)\n   - Store in environment as `WALLET_PRIVATE_KEY`\n   - The SDK uses this to sign orders client-side automatically — no manual signing needed\n\n4. **Ask about settings** (or confirm defaults)\n   - Max bucket sum: Combined price threshold (default 90¢)\n   - Max position: Amount per bucket (default $5.00)\n   - Bucket spread: How many neighbors to buy (default 1 = center ± 1)\n   - Exit threshold: When to sell (default 65¢)\n\n5. **Save settings to config.json or environment variables**\n\n6. **Set up cron** (disabled by default — user must enable scheduling)\n\n## Configuration\n\n| Setting | Env Variable | Config Key | Default | Description |\n|---------|-------------|------------|---------|-------------|\n| Max bucket sum | `SIMMER_ELON_MAX_BUCKET_SUM` | `max_bucket_sum` | 0.90 | Only buy if cluster prices sum < this |\n| Max position | `SIMMER_ELON_MAX_POSITION` | `max_position_usd` | 5.00 | Maximum USD per bucket |\n| Bucket spread | `SIMMER_ELON_BUCKET_SPREAD` | `bucket_spread` | 1 | Neighbors on each side (1 = 3 buckets) |\n| Smart sizing % | `SIMMER_ELON_SIZING_PCT` | `sizing_pct` | 0.05 | % of balance per trade |\n| Max trades/run | `SIMMER_ELON_MAX_TRADES` | `max_trades_per_run` | 6 | Maximum trades per scan cycle |\n| Exit threshold | `SIMMER_ELON_EXIT` | `exit_threshold` | 0.65 | Sell when bucket price above this |\n| Slippage max | `SIMMER_ELON_SLIPPAGE_MAX` | `slippage_max_pct` | 0.05 | Skip trade if slippage exceeds this |\n| Min position | `SIMMER_ELON_MIN_POSITION` | `min_position_usd` | 2.00 | Floor for smart sizing (USD) |\n| Data source | `SIMMER_ELON_DATA_SOURCE` | `data_source` | xtracker | Data source (xtracker) |\n| Order type | `SIMMER_ELON_ORDER_TYPE` | `order_type` | GTC | Order type: GTC (good-til-cancelled) or FAK (fill-and-kill) |\n\nConfig priority: config.json > environment variables > defaults.\n\n## Quick Commands\n\n```bash\n# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n```\n\n**API Reference:**\n- Base URL: `https://api.simmer.markets`\n- Auth: `Authorization: Bearer $SIMMER_API_KEY`\n- Portfolio: `GET /api/sdk/portfolio`\n- Positions: `GET /api/sdk/positions`\n\n## Running the Skill\n\n```bash\n# Dry run (default — shows opportunities, no trades)\npython elon_tweets.py\n\n# Execute real trades\npython elon_tweets.py --live\n\n# With smart position sizing (uses portfolio balance)\npython elon_tweets.py --live --smart-sizing\n\n# Show XTracker stats only\npython elon_tweets.py --stats\n\n# Check positions only\npython elon_tweets.py --positions\n\n# View config\npython elon_tweets.py --config\n\n# Update config\npython elon_tweets.py --set max_position_usd=10.00\n\n# Disable safeguards (not recommended)\npython elon_tweets.py --no-safeguards\n\n# Quiet mode — only output on trades/errors (ideal for cron)\npython elon_tweets.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython elon_tweets.py --live --smart-sizing --quiet\n```\n\n## How It Works\n\nEach cycle the script:\n1. Fetches active XTracker trackings for Elon Musk tweet events\n2. Gets real-time stats: current count, projected pace, days remaining\n3. Searches Simmer for matching tweet count markets (auto-imports if missing)\n4. Finds the bucket matching XTracker's pace projection\n5. Evaluates adjacent buckets (center ± spread)\n6. **Entry**: If sum of cluster prices < max_bucket_sum → BUY each bucket\n7. **Exit**: Checks open positions, sells if any bucket price > exit_threshold\n8. **Safeguards**: Checks context for flip-flop warnings, slippage\n9. **Tagging**: All trades tagged with `sdk:elon-tweets` for tracking\n\n## Auto-Import\n\nIf tweet count markets aren't on Simmer yet, the skill automatically imports them:\n- Derives the Polymarket event URL from the XTracker tracking title\n- Uses the SDK import endpoint (supports multi-outcome events)\n- Imports all outcome buckets as a group\n- Counts as 1 daily import regardless of bucket count\n\n## Smart Sizing\n\nWith `--smart-sizing`, position size is calculated as:\n- 5% of available USDC balance (configurable via `sizing_pct`)\n- Capped at max position setting ($5.00 default)\n- Falls back to fixed size if portfolio unavailable\n\n## Safeguards\n\nBefore trading, the skill checks:\n- **Flip-flop warning**: Skips if you've been reversing too much\n- **Slippage**: Skips if estimated slippage > 15%\n- **Market status**: Skips closed or resolved markets\n- **Extreme prices**: Skips buckets priced > 98% or < 2%\n\nDisable with `--no-safeguards` (not recommended).\n\n## Source Tagging\n\nAll trades are tagged with `source: \"sdk:elon-tweets\"`. This means:\n- Portfolio shows breakdown by strategy\n- Other skills won't sell your tweet positions\n- You can track tweet trading P&L separately\n\n## Example Output\n\n```\n🐦 Simmer Elon Tweet Trader\n==================================================\n\n⚙️ Configuration:\n  Max bucket sum:  $0.90\n  Max position:    $5.00\n  Bucket spread:   1 (center ± 1 = 3 buckets)\n  Exit threshold:  65%\n  Data source:     xtracker\n\n📊 XTracker Stats:\n  Tracking: Elon Musk # tweets Feb 13 - Feb 20\n  Current count: 187 posts\n  Pace: 243 projected\n  Days remaining: 2.3\n\n🎯 Target cluster: 240-259 (center) + 220-239, 260-279\n  240-259: $0.35\n  220-239: $0.22\n  260-279: $0.18\n  Cluster sum: $0.75 (< $0.90 threshold) ✅\n\n  Executing trades...\n  ✅ Bought 14.3 shares of 240-259 @ $0.35\n  ✅ Bought 22.7 shares of 220-239 @ $0.22\n  ✅ Bought 27.8 shares of 260-279 @ $0.18\n\n📊 Summary:\n  Events scanned: 2\n  Clusters evaluated: 2\n  Trades executed: 3\n  Exits: 0\n```\n\n## Troubleshooting\n\n**\"No XTracker trackings found\"**\n- XTracker may not have active Elon tweet events\n- New events usually start on Wednesdays/Thursdays\n\n**\"Cluster sum $X.XX exceeds threshold\"**\n- Buckets are too expensive — edge is too thin\n- Wait for prices to drop or widen bucket_spread\n\n**\"No matching Simmer markets found\"**\n- Markets may not be imported yet — skill will auto-import on next run\n- Check that your API key has import capacity (10/day free, 50/day Pro)\n\n**\"Safeguard blocked: flip-flop warning\"**\n- You've been changing direction too much on this market\n- Wait before trading again\n\n**\"External wallet requires a pre-signed order\"**\n- `WALLET_PRIVATE_KEY` is not set in the environment\n- The SDK signs orders automatically when this env var is present — no manual signing code needed\n- Fix: `export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>`\n- Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n**\"Balance shows $0 but I have USDC on Polygon\"**\n- Polymarket uses **USDC.e** (bridged USDC, contract `0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174`) — not native USDC\n- If you bridged USDC to Polygon recently, you likely received native USDC\n- Swap native USDC to USDC.e, then retry\n\n**\"API key invalid\"**\n- Get new key from simmer.markets/dashboard → SDK tab\n\nFile v1.1.3:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-elon-tweets\",\n  \"version\": \"1.1.3\",\n  \"publishedAt\": 1774767840228\n}\n\nFile v1.1.3:clawhub.json\n\n{\n  \"emoji\": \"\\ud83d\\udc26\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk\"\n    ]\n  },\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"elon_tweets.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_ELON_MAX_POSITION_USD\",\n      \"type\": \"number\",\n      \"default\": 50,\n      \"range\": [\n        1,\n        200\n      ],\n      \"step\": 5,\n      \"label\": \"Max position size\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_BUCKET_SPREAD\",\n      \"type\": \"number\",\n      \"default\": 0.05,\n      \"range\": [\n        0.01,\n        0.2\n      ],\n      \"step\": 0.01,\n      \"label\": \"Bucket spread\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SIZING_PCT\",\n      \"type\": \"number\",\n      \"default\": 0.1,\n      \"range\": [\n        0.01,\n        1.0\n      ],\n      \"step\": 0.01,\n      \"label\": \"Position sizing percentage\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_MAX_TRADES_PER_RUN\",\n      \"type\": \"number\",\n      \"default\": 5,\n      \"range\": [\n        1,\n        20\n      ],\n      \"step\": 1,\n      \"label\": \"Max trades per run\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_EXIT_THRESHOLD\",\n      \"type\": \"number\",\n      \"default\": 0.85,\n      \"range\": [\n        0.5,\n        0.99\n      ],\n      \"step\": 0.01,\n      \"label\": \"Exit probability threshold\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SLIPPAGE_BPS\",\n      \"type\": \"number\",\n      \"default\": 100,\n      \"range\": [\n        10,\n        500\n      ],\n      \"step\": 10,\n      \"label\": \"Slippage tolerance (basis points)\"\n    }\n  ]\n}\n\nFile v1.1.3:config.json\n\n{\n  \"max_bucket_sum\": 0.90,\n  \"max_position_usd\": 5.00,\n  \"bucket_spread\": 1,\n  \"sizing_pct\": 0.05,\n  \"max_trades_per_run\": 6,\n  \"exit_threshold\": 0.65,\n  \"slippage_max_pct\": 0.05,\n  \"min_position_usd\": 2.00,\n  \"data_source\": \"xtracker\"\n}\n\nArchive v1.1.2: 6 files, 17752 bytes\n\nFiles: clawhub.json (1534b), config.json (239b), elon_tweets.py (38392b), scripts/status.py (5110b), SKILL.md (8758b), _meta.json (141b)\n\nFile v1.1.2:SKILL.md\n\n---\nname: polymarket-elon-tweets\ndescription: 'Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.1.0\"\n  displayName: Polymarket Elon Tweet Trader\n  difficulty: advanced\n  attribution: Strategy inspired by @noovd\n---\n# Polymarket Elon Tweet Trader\n\nTrade \"Elon Musk # tweets\" markets on Polymarket using XTracker post count data.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade Elon Musk tweet count markets automatically\n- Set up @noovd-style bucket trading\n- Check XTracker pace and stats for current tweet events\n- Monitor and exit existing tweet market positions\n- Configure bucket spread or entry thresholds\n\n## How the Strategy Works\n\nPolymarket runs weekly \"How many tweets will Elon post?\" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:\n\n1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total\n2. **Find center bucket** — The bucket containing XTracker's projected pace\n3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)\n4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)\n5. **One bucket pays $1** — When the event resolves, one of your buckets pays $1, covering costs\n\n## Setup Flow\n\nWhen user asks to install or configure this skill:\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Ask for Simmer API key**\n   - They can get it from simmer.markets/dashboard → SDK tab\n   - Store in environment as `SIMMER_API_KEY`\n\n3. **Ask for wallet private key** (required for live trading)\n   - This is the private key for their Polymarket wallet (the wallet that holds USDC)\n   - Store in environment as `WALLET_PRIVATE_KEY`\n   - The SDK uses this to sign orders client-side automatically — no manual signing needed\n\n4. **Ask about settings** (or confirm defaults)\n   - Max bucket sum: Combined price threshold (default 90¢)\n   - Max position: Amount per bucket (default $5.00)\n   - Bucket spread: How many neighbors to buy (default 1 = center ± 1)\n   - Exit threshold: When to sell (default 65¢)\n\n5. **Save settings to config.json or environment variables**\n\n6. **Set up cron** (disabled by default — user must enable scheduling)\n\n## Configuration\n\n| Setting | Env Variable | Config Key | Default | Description |\n|---------|-------------|------------|---------|-------------|\n| Max bucket sum | `SIMMER_ELON_MAX_BUCKET_SUM` | `max_bucket_sum` | 0.90 | Only buy if cluster prices sum < this |\n| Max position | `SIMMER_ELON_MAX_POSITION` | `max_position_usd` | 5.00 | Maximum USD per bucket |\n| Bucket spread | `SIMMER_ELON_BUCKET_SPREAD` | `bucket_spread` | 1 | Neighbors on each side (1 = 3 buckets) |\n| Smart sizing % | `SIMMER_ELON_SIZING_PCT` | `sizing_pct` | 0.05 | % of balance per trade |\n| Max trades/run | `SIMMER_ELON_MAX_TRADES` | `max_trades_per_run` | 6 | Maximum trades per scan cycle |\n| Exit threshold | `SIMMER_ELON_EXIT` | `exit_threshold` | 0.65 | Sell when bucket price above this |\n| Slippage max | `SIMMER_ELON_SLIPPAGE_MAX` | `slippage_max_pct` | 0.05 | Skip trade if slippage exceeds this |\n| Min position | `SIMMER_ELON_MIN_POSITION` | `min_position_usd` | 2.00 | Floor for smart sizing (USD) |\n| Data source | `SIMMER_ELON_DATA_SOURCE` | `data_source` | xtracker | Data source (xtracker) |\n\nConfig priority: config.json > environment variables > defaults.\n\n## Quick Commands\n\n```bash\n# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions\n```\n\n**API Reference:**\n- Base URL: `https://api.simmer.markets`\n- Auth: `Authorization: Bearer $SIMMER_API_KEY`\n- Portfolio: `GET /api/sdk/portfolio`\n- Positions: `GET /api/sdk/positions`\n\n## Running the Skill\n\n```bash\n# Dry run (default — shows opportunities, no trades)\npython elon_tweets.py\n\n# Execute real trades\npython elon_tweets.py --live\n\n# With smart position sizing (uses portfolio balance)\npython elon_tweets.py --live --smart-sizing\n\n# Show XTracker stats only\npython elon_tweets.py --stats\n\n# Check positions only\npython elon_tweets.py --positions\n\n# View config\npython elon_tweets.py --config\n\n# Update config\npython elon_tweets.py --set max_position_usd=10.00\n\n# Disable safeguards (not recommended)\npython elon_tweets.py --no-safeguards\n\n# Quiet mode — only output on trades/errors (ideal for cron)\npython elon_tweets.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython elon_tweets.py --live --smart-sizing --quiet\n```\n\n## How It Works\n\nEach cycle the script:\n1. Fetches active XTracker trackings for Elon Musk tweet events\n2. Gets real-time stats: current count, projected pace, days remaining\n3. Searches Simmer for matching tweet count markets (auto-imports if missing)\n4. Finds the bucket matching XTracker's pace projection\n5. Evaluates adjacent buckets (center ± spread)\n6. **Entry**: If sum of cluster prices < max_bucket_sum → BUY each bucket\n7. **Exit**: Checks open positions, sells if any bucket price > exit_threshold\n8. **Safeguards**: Checks context for flip-flop warnings, slippage\n9. **Tagging**: All trades tagged with `sdk:elon-tweets` for tracking\n\n## Auto-Import\n\nIf tweet count markets aren't on Simmer yet, the skill automatically imports them:\n- Derives the Polymarket event URL from the XTracker tracking title\n- Uses the SDK import endpoint (supports multi-outcome events)\n- Imports all outcome buckets as a group\n- Counts as 1 daily import regardless of bucket count\n\n## Smart Sizing\n\nWith `--smart-sizing`, position size is calculated as:\n- 5% of available USDC balance (configurable via `sizing_pct`)\n- Capped at max position setting ($5.00 default)\n- Falls back to fixed size if portfolio unavailable\n\n## Safeguards\n\nBefore trading, the skill checks:\n- **Flip-flop warning**: Skips if you've been reversing too much\n- **Slippage**: Skips if estimated slippage > 15%\n- **Market status**: Skips closed or resolved markets\n- **Extreme prices**: Skips buckets priced > 98% or < 2%\n\nDisable with `--no-safeguards` (not recommended).\n\n## Source Tagging\n\nAll trades are tagged with `source: \"sdk:elon-tweets\"`. This means:\n- Portfolio shows breakdown by strategy\n- Other skills won't sell your tweet positions\n- You can track tweet trading P&L separately\n\n## Example Output\n\n```\n🐦 Simmer Elon Tweet Trader\n==================================================\n\n⚙️ Configuration:\n  Max bucket sum:  $0.90\n  Max position:    $5.00\n  Bucket spread:   1 (center ± 1 = 3 buckets)\n  Exit threshold:  65%\n  Data source:     xtracker\n\n📊 XTracker Stats:\n  Tracking: Elon Musk # tweets Feb 13 - Feb 20\n  Current count: 187 posts\n  Pace: 243 projected\n  Days remaining: 2.3\n\n🎯 Target cluster: 240-259 (center) + 220-239, 260-279\n  240-259: $0.35\n  220-239: $0.22\n  260-279: $0.18\n  Cluster sum: $0.75 (< $0.90 threshold) ✅\n\n  Executing trades...\n  ✅ Bought 14.3 shares of 240-259 @ $0.35\n  ✅ Bought 22.7 shares of 220-239 @ $0.22\n  ✅ Bought 27.8 shares of 260-279 @ $0.18\n\n📊 Summary:\n  Events scanned: 2\n  Clusters evaluated: 2\n  Trades executed: 3\n  Exits: 0\n```\n\n## Troubleshooting\n\n**\"No XTracker trackings found\"**\n- XTracker may not have active Elon tweet events\n- New events usually start on Wednesdays/Thursdays\n\n**\"Cluster sum $X.XX exceeds threshold\"**\n- Buckets are too expensive — edge is too thin\n- Wait for prices to drop or widen bucket_spread\n\n**\"No matching Simmer markets found\"**\n- Markets may not be imported yet — skill will auto-import on next run\n- Check that your API key has import capacity (10/day free, 50/day Pro)\n\n**\"Safeguard blocked: flip-flop warning\"**\n- You've been changing direction too much on this market\n- Wait before trading again\n\n**\"External wallet requires a pre-signed order\"**\n- `WALLET_PRIVATE_KEY` is not set in the environment\n- The SDK signs orders automatically when this env var is present — no manual signing code needed\n- Fix: `export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>`\n- Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it\n\n**\"Balance shows $0 but I have USDC on Polygon\"**\n- Polymarket uses **USDC.e** (bridged USDC, contract `0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174`) — not native USDC\n- If you bridged USDC to Polygon recently, you likely received native USDC\n- Swap native USDC to USDC.e, then retry\n\n**\"API key invalid\"**\n- Get new key from simmer.markets/dashboard → SDK tab\n\nFile v1.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-elon-tweets\",\n  \"version\": \"1.1.2\",\n  \"publishedAt\": 1773740461087\n}\n\nFile v1.1.2:clawhub.json\n\n{\n  \"emoji\": \"\\ud83d\\udc26\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk\"\n    ]\n  },\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"elon_tweets.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_ELON_MAX_POSITION_USD\",\n      \"type\": \"number\",\n      \"default\": 50,\n      \"range\": [\n        1,\n        200\n      ],\n      \"step\": 5,\n      \"label\": \"Max position size\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_BUCKET_SPREAD\",\n      \"type\": \"number\",\n      \"default\": 0.05,\n      \"range\": [\n        0.01,\n        0.2\n      ],\n      \"step\": 0.01,\n      \"label\": \"Bucket spread\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SIZING_PCT\",\n      \"type\": \"number\",\n      \"default\": 0.1,\n      \"range\": [\n        0.01,\n        1.0\n      ],\n      \"step\": 0.01,\n      \"label\": \"Position sizing percentage\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_MAX_TRADES_PER_RUN\",\n      \"type\": \"number\",\n      \"default\": 5,\n      \"range\": [\n        1,\n        20\n      ],\n      \"step\": 1,\n      \"label\": \"Max trades per run\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_EXIT_THRESHOLD\",\n      \"type\": \"number\",\n      \"default\": 0.85,\n      \"range\": [\n        0.5,\n        0.99\n      ],\n      \"step\": 0.01,\n      \"label\": \"Exit probability threshold\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SLIPPAGE_BPS\",\n      \"type\": \"number\",\n      \"default\": 100,\n      \"range\": [\n        10,\n        500\n      ],\n      \"step\": 10,\n      \"label\": \"Slippage tolerance (basis points)\"\n    }\n  ]\n}\n\nFile v1.1.2:config.json\n\n{\n  \"max_bucket_sum\": 0.90,\n  \"max_position_usd\": 5.00,\n  \"bucket_spread\": 1,\n  \"sizing_pct\": 0.05,\n  \"max_trades_per_run\": 6,\n  \"exit_threshold\": 0.65,\n  \"slippage_max_pct\": 0.05,\n  \"min_position_usd\": 2.00,\n  \"data_source\": \"xtracker\"\n}","readmeExcerpt":"Skill: polymarket-elon-tweets Owner: simmer Summary: Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading. Tags: latest:1.3.6 Version history: v1.3.6 | 2026-09-06T01:12:21.532Z | auto polymarket-el","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"pip install simmer-sdk"},{"language":"bash","snippet":"# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions"},{"language":"bash","snippet":"# Dry run (default — shows opportunities, no trades)\npython elon_tweets.py\n\n# Execute real trades\npython elon_tweets.py --live\n\n# With smart position sizing (uses portfolio balance)\npython elon_tweets.py --live --smart-sizing\n\n# Show XTracker stats only\npython elon_tweets.py --stats\n\n# Check positions only\npython elon_tweets.py --positions\n\n# View config\npython elon_tweets.py --config\n\n# Update config\npython elon_tweets.py --set max_position_usd=10.00\n\n# Disable safeguards (not recommended)\npython elon_tweets.py --no-safeguards\n\n# Quiet mode — only output on trades/errors (ideal for cron)\npython elon_tweets.py --live --quiet\n\n# Combine: frequent scanning, minimal noise\npython elon_tweets.py --live --smart-sizing --quiet"},{"language":"text","snippet":"🐦 Simmer Elon Tweet Trader\n==================================================\n\n⚙️ Configuration:\n  Max bucket sum:  $0.90\n  Max position:    $5.00\n  Bucket spread:   1 (center ± 1 = 3 buckets)\n  Exit threshold:  65%\n  Data source:     xtracker\n\n📊 XTracker Stats:\n  Tracking: Elon Musk # tweets Feb 13 - Feb 20\n  Current count: 187 posts\n  Pace: 243 projected\n  Days remaining: 2.3\n\n🎯 Target cluster: 240-259 (center) + 220-239, 260-279\n  240-259: $0.35\n  220-239: $0.22\n  260-279: $0.18\n  Cluster sum: $0.75 (< $0.90 threshold) ✅\n\n  Executing trades...\n  ✅ Bought 14.3 shares of 240-259 @ $0.35\n  ✅ Bought 22.7 shares of 220-239 @ $0.22\n  ✅ Bought 27.8 shares of 260-279 @ $0.18\n\n📊 Summary:\n  Events scanned: 2\n  Clusters evaluated: 2\n  Trades executed: 3\n  Exits: 0"},{"language":"bash","snippet":"pip install simmer-sdk"},{"language":"bash","snippet":"# Check account balance and positions\npython scripts/status.py\n\n# Detailed position list\npython scripts/status.py --positions"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: polymarket-elon-tweets\ndescription: 'Trade Polymarket \"Elon Musk # tweets\" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'\nmetadata:\n  author: Simmer (@simmer_markets)\n  version: \"1.3.6\"\n  displayName: Polymarket Elon Tweet Trader\n  difficulty: advanced\n  attribution: Strategy inspired by @noovd\n---\n# Polymarket Elon Tweet Trader\n\nTrade \"Elon Musk # tweets\" markets on Polymarket using XTracker post count data.\n\n> 🚨 **Framework, not a production trading system.** Read [DISCLAIMER.md](./DISCLAIMER.md) before connecting to a wallet with real funds.\n\n## When to Use This Skill\n\nUse this skill when the user wants to:\n- Trade Elon Musk tweet count markets automatically\n- Set up @noovd-style bucket trading\n- Check XTracker pace and stats for current tweet events\n- Monitor and exit existing tweet market positions\n- Configure bucket spread or entry thresholds\n\n## How the Strategy Works\n\nPolymarket runs weekly \"How many tweets will Elon post?\" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:\n\n1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total\n2. **Find center bucket** — The bucket containing XTracker's projected pace\n3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)\n4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)\n5. **One bucket pays $1** — When the event resolves, one of your buckets pays $1, covering costs\n\n## Setup Flow\n\nWhen user asks to install or configure this skill:\n\n1. **Install the Simmer SDK**\n   ```bash\n   pip install simmer-sdk\n   ```\n\n2. **Ask for Simmer API key**\n   - They can get it from simmer.markets/dashboard → SDK tab\n   - Store in environment as `SIMMER_API_KEY`\n\n3. **Ask for wallet private key** (required for live trading)\n   - This is the private key for their Polymarket wallet (the wallet that holds USDC)\n   - Store in environment as `WALLET_PRIVATE_KEY`\n   - The SDK uses this to sign orders client-side automatically — no manual signing needed\n\n4. **Ask about settings** (or confirm defaults)\n   - Max bucket sum: Combined price threshold (default 90¢)\n   - Max position: Amount per bucket (default $5.00)\n   - Bucket spread: How many neighbors to buy (default 1 = center ± 1)\n   - Exit threshold: When to sell (default 65¢)\n\n5. **Save settings to config.json or environment variables**\n\n6. **Set up cron** (disabled by default — user must enable scheduling)\n\n## Configuration\n\n| Setting | Env Variable | Config Key | Default | Description |\n|---------|-------------|------------|---------|-------------|\n| Max bucket sum | `SIMMER_ELON_MAX_BUCKET_SUM` | `max_bucket_sum` | 0.90 | Only buy if cluster prices sum < this |\n| Max position | `SIMMER_ELON_MAX_POSITION_USD"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7axnp7bzqsf5fkx0z8px7han7zyq1x\",\n  \"slug\": \"polymarket-elon-tweets\",\n  \"version\": \"1.3.6\",\n  \"publishedAt\": 1788657141532\n}"},{"path":"DISCLAIMER.md","content":"# Disclaimer\n\nThis skill is a **framework**, not a production trading system. Read this\nin full before connecting it to a wallet with real funds.\n\n## No financial advice\n\nNothing in this skill constitutes financial, investment, or trading\nadvice. The default strategy implemented here is a starting point, not a\ntested edge. Suitability for any account size or risk tolerance is your\nresponsibility to assess.\n\n## Default parameters are not validated\n\nDefault parameters are calibrated for testing the plumbing, not for live\nprofit. They have not been validated to produce positive returns under\ncurrent market conditions. Run paper mode for an extended period before\nscaling beyond default position sizes.\n\n## Automated trading carries irreversible risk\n\nWhen this skill runs with `--live`, it places real on-chain orders.\nOn-chain trades cannot be recalled. Strategy errors, signal lag, market\nregime shifts, and operator misconfiguration can produce losses\nexceeding any specific position size.\n\n## Risk monitoring may not apply to all market types\n\nStop-loss and take-profit monitors run on a fixed schedule. Markets that\nresolve faster than the monitor cycle cannot be exited automatically.\nPosition sizing is the only risk control on these markets — set it\nconservatively.\n\n## Use of this skill is at your own risk\n\nBy installing and running this skill you agree that the authors are not\nliable for any losses, direct or indirect, that arise from its use. This\napplies regardless of skill provenance — official Simmer skills,\ncommunity skills, and skills imported from external repositories all\ncarry this same disclaimer.\n\n## Where to learn more before going live\n\n- The skill's own `SKILL.md` documents the strategy and parameters\n- Your trading venue's documentation covers fee structure, order types,\n  and resolution rules\n- Simmer SDK documentation covers paper mode, dry-run flags, and\n  position monitoring"},{"path":"skill-card.md","content":"## Description:\n\nTrades Polymarket \"Elon Musk # tweets\" markets using XTracker post count data, buying adjacent range buckets when their combined cost is below the configured threshold.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[simmer](https://clawhub.ai/user/simmer)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to configure, dry-run, monitor, and optionally execute automated Polymarket tweet-count trading strategies based on XTracker pace data.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Live mode can place real-money trades and on-chain orders cannot be recalled.\n\nMitigation: Use dry-run mode first, confirm market scope and exit behavior, and enable --live only with conservative position limits.\n\nRisk: The skill may require Simmer API credentials and, for external-wallet trading, a wallet private key.\n\nMitigation: Prefer managed-wallet mode when available, avoid high-value private keys in the general environment, and use a dedicated low-balance wallet for live trading.\n\nRisk: The default strategy and parameters are not validated as profitable under current market conditions.\n\nMitigation: Run paper mode for an extended period and keep max position size, sizing percentage, and max trades per run conservative.\n\nRisk: Automated exits may not protect positions in markets that move or resolve faster than the monitoring cycle.\n\nMitigation: Monitor live positions manually and treat position sizing as the primary risk control for fast-resolving markets.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/simmer/skills/polymarket-elon-tweets)\n- [Simmer API base](https://api.simmer.markets)\n- [Simmer dashboard](https://simmer.markets/dashboard)\n- [Simmer V2 migration guide](https://docs.simmer.markets/v2-migration)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and configuration values]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Dry-run and status modes emit terminal summaries; live mode can submit orders when explicitly enabled.]\n\n## Skill Version(s):\n\n1.3.6 (source: server release metadata, skill frontmatter, and target metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"clawhub.json","content":"{\n  \"emoji\": \"\\ud83d\\udc26\",\n  \"primaryEnv\": \"SIMMER_API_KEY\",\n  \"requires\": {\n    \"env\": [\n      \"SIMMER_API_KEY\"\n    ],\n    \"pip\": [\n      \"simmer-sdk>=0.11.1\"\n    ]\n  },\n  \"envVars\": [\n    {\n      \"name\": \"SIMMER_API_KEY\",\n      \"required\": true,\n      \"description\": \"Your Simmer SDK API key \\u2014 get from simmer.markets/dashboard\"\n    },\n    {\n      \"name\": \"WALLET_PRIVATE_KEY\",\n      \"required\": false,\n      \"description\": \"Only needed for external-wallet self-custody trading. Not required when using managed wallets.\"\n    }\n  ],\n  \"cron\": null,\n  \"autostart\": false,\n  \"automaton\": {\n    \"managed\": true,\n    \"entrypoint\": \"elon_tweets.py\"\n  },\n  \"tunables\": [\n    {\n      \"env\": \"SIMMER_ELON_MAX_POSITION_USD\",\n      \"type\": \"number\",\n      \"default\": 50,\n      \"range\": [\n        1,\n        200\n      ],\n      \"step\": 5,\n      \"label\": \"Max position size\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_BUCKET_SPREAD\",\n      \"type\": \"number\",\n      \"default\": 1,\n      \"range\": [\n        0,\n        5\n      ],\n      \"step\": 1,\n      \"label\": \"Bucket spread (neighbors each side)\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SIZING_PCT\",\n      \"type\": \"number\",\n      \"default\": 0.1,\n      \"range\": [\n        0.01,\n        1.0\n      ],\n      \"step\": 0.01,\n      \"label\": \"Position sizing percentage\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_MAX_TRADES_PER_RUN\",\n      \"type\": \"number\",\n      \"default\": 5,\n      \"range\": [\n        1,\n        20\n      ],\n      \"step\": 1,\n      \"label\": \"Max trades per run\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_EXIT_THRESHOLD\",\n      \"type\": \"number\",\n      \"default\": 0.85,\n      \"range\": [\n        0.5,\n        0.99\n      ],\n      \"step\": 0.01,\n      \"label\": \"Exit probability threshold\"\n    },\n    {\n      \"env\": \"SIMMER_ELON_SLIPPAGE_BPS\",\n      \"type\": \"number\",\n      \"default\": 100,\n      \"range\": [\n        10,\n        500\n      ],\n      \"step\": 10,\n      \"label\": \"Slippage tolerance (basis points)\"\n    }\n  ]\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1789,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T11:20:08.934Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T11:20:08.934Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T00:19:09.917Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}