/mm
Market making - two-sided quoting with inventory management
$ npx -y skills add alsk1992/CloddsBot --skill mm --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition โ
- You can call itInvoke it directly when you want it.
- Slash command
/mm
Context preview
The summary Claude sees to decide when to auto-load this skill.
Market making - two-sided quoting with inventory management
SKILL.md
mm.SKILL.mdname: mm
description: "Market making - two-sided quoting with inventory management"
emoji: "๐"
gates:
envs:
anyOf:
- POLY_API_KEY
- KALSHI_API_KEYMarket Making Skill
Automated two-sided quoting on prediction markets with inventory skew, volatility-adjusted spreads, and risk controls.
Supported Platforms
- Polymarket (post-only maker orders, zero taker fees)
- Kalshi
---
Chat Commands
Lifecycle
/mm start <platform> <marketId> <tokenId> [flags] Start market making
/mm stop <id> Stop and cancel all orders
/mm list List active market makers
Monitoring
/mm status Overview of all active MMs
/mm status <id> Detailed state for one MM
Configuration
/mm config <id> View current config as JSON
/mm config <id> --spread 3 Update config (takes effect next requote)
---
Start Flags
| Flag | Default | Description | |------|---------|-------------| | `--spread N` | 2 | Base half-spread in cents | | `--min-spread N` | 1 | Minimum spread floor (cents) | | `--max-spread N` | 10 | Maximum spread cap (cents) | | `--size N` | 50 | Order size per side (shares) | | `--max-inventory N` | 500 | Max inventory before aggressive skew | | `--skew N` | 0.5 | Inventory skew factor (0-1) | | `--vol-mult N` | 10 | Volatility multiplier for spread widening | | `--alpha N` | 0.3 | EMA alpha for fair value smoothing (0-1) | | `--fv-method M` | weighted_mid | Fair value method: mid_price, weighted_mid, vwap, ema | | `--interval N` | 5000 | Requote interval in ms | | `--threshold N` | 1 | Min price change (cents) to trigger requote | | `--max-pos N` | 1000 | Max position value in USD | | `--max-loss N` | 100 | Max loss before auto-halt (USD) | | `--max-orders N` | 1 | Orders per side (levels) | | `--level-spacing N` | (=spread) | Cents between price levels | | `--level-decay N` | 0.5 | Size decay per level (0-1, e.g. 0.5 = each level half of previous) | | `--neg-risk true` | false | Enable negative risk mode (Polymarket crypto) | | `--name "Name"` | auto | Display name for the outcome |
---
Examples
# Start with defaults
/mm start polymarket 0xabc123 98765
# Custom spread and sizing
/mm start polymarket 0xabc123 98765 --spread 3 --size 100 --max-inventory 1000
# Tight spread for liquid market
/mm start polymarket 0xabc123 98765 --spread 1 --min-spread 1 --max-spread 5 --interval 2000
# 3-level quoting: L1=50 shares, L2=25, L3=12 โ spaced 2c apart
/mm start polymarket 0xabc123 98765 --max-orders 3 --level-spacing 2 --level-decay 0.5 --size 50
# Check all running MMs
/mm status
# Widen spread on the fly
/mm config polymarket_98765678 --spread 4
# Shut down
/mm stop polymarket_98765678
---
How It Works
1. **Fair value** computed from orderbook (weighted mid, VWAP, or EMA) 2. **Spread** adjusted by recent volatility (wider in volatile markets) 3. **Skew** shifts quotes away from overweight side to manage inventory 4. **Quotes** placed as post-only maker orders (bid and ask) 5. **Requote** cycle: cancel all, recalculate, place new orders 6. **Auto-halt** if realized P&L exceeds max loss threshold
---
API Usage
import { createMMStrategy, type MMConfig } from '../trading/market-making';
const config: MMConfig = {
id: 'btc-yes',
platform: 'polymarket',
marketId: '0x...',
tokenId: '12345',
outcomeName: 'BTC > 100k',
baseSpreadCents: 2,
minSpreadCents: 1,
maxSpreadCents: 10,
orderSize: 50,
maxInventory: 500,
skewFactor: 0.5,
volatilityMultiplier: 10,
fairValueAlpha: 0.3,
fairValueMethod: 'weighted_mid',
requoteIntervalMs: 5000,
requoteThresholdCents: 1,
maxPositionValueUsd: 1000,
maxLossUsd: 100,
maxOrdersPerSide: 1,
};
const strategy = createMMStrategy(config, { execution, feeds });
botManager.registerStrategy(strategy);
await botManager.startBot(strategy.config.id);Read more
name: mm
description: "Market making - two-sided quoting with inventory management"
emoji: "๐"
gates:
envs:
anyOf:
- POLY_API_KEY
- KALSHI_API_KEYMarket Making Skill
Automated two-sided quoting on prediction markets with inventory skew, volatility-adjusted spreads, and risk controls.
Supported Platforms
- Polymarket (post-only maker orders, zero taker fees)
- Kalshi
---
Chat Commands
Lifecycle
/mm start <platform> <marketId> <tokenId> [flags] Start market making /mm stop <id> Stop and cancel all orders /mm list List active market makers
Monitoring
/mm status Overview of all active MMs /mm status <id> Detailed state for one MM
Configuration
/mm config <id> View current config as JSON /mm config <id> --spread 3 Update config (takes effect next requote)
---
Start Flags
| Flag | Default | Description | |------|---------|-------------| | `--spread N` | 2 | Base half-spread in cents | | `--min-spread N` | 1 | Minimum spread floor (cents) | | `--max-spread N` | 10 | Maximum spread cap (cents) | | `--size N` | 50 | Order size per side (shares) | | `--max-inventory N` | 500 | Max inventory before aggressive skew | | `--skew N` | 0.5 | Inventory skew factor (0-1) | | `--vol-mult N` | 10 | Volatility multiplier for spread widening | | `--alpha N` | 0.3 | EMA alpha for fair value smoothing (0-1) | | `--fv-method M` | weighted_mid | Fair value method: mid_price, weighted_mid, vwap, ema | | `--interval N` | 5000 | Requote interval in ms | | `--threshold N` | 1 | Min price change (cents) to trigger requote | | `--max-pos N` | 1000 | Max position value in USD | | `--max-loss N` | 100 | Max loss before auto-halt (USD) | | `--max-orders N` | 1 | Orders per side (levels) | | `--level-spacing N` | (=spread) | Cents between price levels | | `--level-decay N` | 0.5 | Size decay per level (0-1, e.g. 0.5 = each level half of previous) | | `--neg-risk true` | false | Enable negative risk mode (Polymarket crypto) | | `--name "Name"` | auto | Display name for the outcome |
---
Examples
# Start with defaults /mm start polymarket 0xabc123 98765 # Custom spread and sizing /mm start polymarket 0xabc123 98765 --spread 3 --size 100 --max-inventory 1000 # Tight spread for liquid market /mm start polymarket 0xabc123 98765 --spread 1 --min-spread 1 --max-spread 5 --interval 2000 # 3-level quoting: L1=50 shares, L2=25, L3=12 โ spaced 2c apart /mm start polymarket 0xabc123 98765 --max-orders 3 --level-spacing 2 --level-decay 0.5 --size 50 # Check all running MMs /mm status # Widen spread on the fly /mm config polymarket_98765678 --spread 4 # Shut down /mm stop polymarket_98765678
---
How It Works
1. **Fair value** computed from orderbook (weighted mid, VWAP, or EMA) 2. **Spread** adjusted by recent volatility (wider in volatile markets) 3. **Skew** shifts quotes away from overweight side to manage inventory 4. **Quotes** placed as post-only maker orders (bid and ask) 5. **Requote** cycle: cancel all, recalculate, place new orders 6. **Auto-halt** if realized P&L exceeds max loss threshold
---
API Usage
import { createMMStrategy, type MMConfig } from '../trading/market-making';
const config: MMConfig = {
id: 'btc-yes',
platform: 'polymarket',
marketId: '0x...',
tokenId: '12345',
outcomeName: 'BTC > 100k',
baseSpreadCents: 2,
minSpreadCents: 1,
maxSpreadCents: 10,
orderSize: 50,
maxInventory: 500,
skewFactor: 0.5,
volatilityMultiplier: 10,
fairValueAlpha: 0.3,
fairValueMethod: 'weighted_mid',
requoteIntervalMs: 5000,
requoteThresholdCents: 1,
maxPositionValueUsd: 1000,
maxLossUsd: 100,
maxOrdersPerSide: 1,
};
const strategy = createMMStrategy(config, { execution, feeds });
botManager.registerStrategy(strategy);
await botManager.startBot(strategy.config.id);Open Source AI trading agent that operates autonomously across 1000+ markets - Polymarket, Kalshi, Binance, Hyperliquid, Solana DEXs, 5 EVM chains. Scans for edge, executes instantly, manages risk while you sleep. Agent commerce protocol for machine-to-machine payments. Self-hosted. Built on Claude.
Repo: alsk1992/CloddsBot
Other skills on cloddsbot.
- /acp
Enable agent-to-agent commerce with on-chain escrow, cryptographic agreements, and service discovery.
Open skill - /agentbets
AgentBets - AI-native prediction markets on Solana
Open skill - /ai-strategy
AI Strategy - natural language to trades
Open skill - /alerts
Create and manage price alerts for prediction markets
Open skill - /analytics
Performance attribution, trade analytics, and strategy optimization
Open skill - /arbitrage
Automated cross-platform arbitrage detection and monitoring
Open skill

