Agent skill

Arbitrage

by alsk1992 in alsk1992/CloddsBot

Automated cross-platform arbitrage detection and monitoring. An agent skill from alsk1992/CloddsBot.

MITAuto-check passed

Install Arbitrage

skills CLI
$ npx skills add alsk1992/CloddsBot --skill arbitrage -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install alsk1992/CloddsBot arbitrage --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/alsk1992/CloddsBot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/bundled/arbitrage .claude/skills/arbitrage && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
arbitrage
GitHub stars
2.9k
Token cost
~1.7k tokens
SKILL.md length
118 words
Files
2
Skills in repo
116
Repo updated
First seen
Licence
MIT

At a glance

Automated cross-platform arbitrage detection and monitoring. An agent skill from alsk1992/CloddsBot.

  • Works in 3 steps: Cross-Platform Price Difference → Internal Arbitrage (Rebalancing) → Inverse Markets
  • SKILL.md covers Supported Platforms, Chat Commands, TypeScript API Reference and Arbitrage Types Detected, plus 2 more sections
  • Runs TypeScript scripts from its folder

What it does

Arbitrage is an agent skill from alsk1992/CloddsBot. Automated cross-platform arbitrage detection and monitoring

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `index.ts`).

The repository describes itself as: Open Source AI trading agent that operates autonomously across 1000+ markets - Polymarket, Kalshi, Binance, Hyperliquid, Solana DEXs, 5 EVM chains. Scans for edge, executes… The licence is MIT.

Example prompts

  • “/arbitrage”

Requirements

  • Node.js
  • A credential in POLY_API_KEY
  • A credential in KALSHI_API_KEY

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Cross-Platform Price Difference
  2. Internal Arbitrage (Rebalancing)
  3. Inverse Markets

What it can do on your machine

Read from SKILL.md and the folder at commit c930628. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (TypeScript), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Arbitrage loads about 1.7k tokens when it runs. Until then it costs about 17 tokens; SKILL.md has 118 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~17
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from alsk1992/CloddsBot at commit c930628, republished under its MIT licence (© alsk1992). 118 words, ~1,660 tokens.

Download SKILL.mdSave it as .claude/skills/arbitrage/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
arbitrage
description
Automated cross-platform arbitrage detection and monitoring
emoji
⚖️

Arbitrage Service - Complete API Reference

Automated detection and monitoring of arbitrage opportunities across prediction market platforms.

Supported Platforms

  • Polymarket
  • Kalshi
  • Manifold
  • Metaculus
  • PredictIt
  • Drift
  • Betfair
  • Smarkets

Chat Commands

Monitoring Control
/arb start                                  # Start arbitrage monitoring
/arb stop                                   # Stop monitoring
/arb status                                 # Check monitoring status
/arb config --interval 60                   # Set check interval (seconds)
Manual Scanning
/arb check                                  # Run one-time scan
/arb check "election"                       # Scan with keyword
/arb check --platforms poly,kalshi          # Specific platforms
Market Comparison
/arb compare <market-a> <market-b>          # Compare two specific markets
/arb compare poly:12345 kalshi:TRUMP        # By platform:id
View Opportunities
/arb opportunities                          # List current opportunities
/arb opportunities --min-spread 2           # Min 2% spread
/arb opportunities --format table           # Table format
/arb opportunities --format detailed        # Detailed view
Market Linking
/arb link <market-a> <market-b>             # Manually link markets
/arb unlink <market-a> <market-b>           # Remove link
/arb links                                  # View all links
/arb auto-match                             # Auto-detect matches
Statistics
/arb stats                                  # Arbitrage statistics
/arb stats --period 7d                      # Last 7 days
/arb history                                # Historical opportunities

TypeScript API Reference

Create Arbitrage Service
typescript
import { createArbitrageService } from 'clodds/arbitrage';

const arbService = createArbitrageService({
  platforms: ['polymarket', 'kalshi', 'manifold', 'betfair'],

  checkIntervalMs: 30000,    // Check every 30 seconds
  minSpread: 0.5,            // 0.5% minimum spread
  minLiquidity: 100,         // $100 minimum

  // Platform credentials
  polymarket: { apiKey, apiSecret, passphrase },
  kalshi: { apiKey },
});
Start/Stop Monitoring
typescript
// Start continuous monitoring
await arbService.start();

// Event handlers
arbService.on('arbitrage', (opp) => {
  console.log(`⚖️ Arbitrage found!`);
  console.log(`  ${opp.marketA.platform}: ${opp.marketA.price}`);
  console.log(`  ${opp.marketB.platform}: ${opp.marketB.price}`);
  console.log(`  Spread: ${opp.spread.toFixed(2)}%`);
});

arbService.on('arbitrageExpired', (opp) => {
  console.log(`Arbitrage expired: ${opp.id}`);
});

// Check status
const isRunning = arbService.isRunning();

// Stop monitoring
await arbService.stop();
One-Time Check
typescript
// Run a single scan
const opportunities = await arbService.checkArbitrage({
  query: 'trump',
  platforms: ['polymarket', 'kalshi'],
  minSpread: 1,
});

for (const opp of opportunities) {
  console.log(`${opp.question}`);
  console.log(`  Buy on ${opp.buyPlatform} @ ${opp.buyPrice}`);
  console.log(`  Sell on ${opp.sellPlatform} @ ${opp.sellPrice}`);
  console.log(`  Spread: ${opp.spread.toFixed(2)}%`);
}
Compare Specific Markets
typescript
// Compare two specific markets
const comparison = await arbService.compareMarkets(
  { platform: 'polymarket', id: 'market-123' },
  { platform: 'kalshi', id: 'TRUMP-WIN' }
);

if (comparison.hasArbitrage) {
  console.log(`Arbitrage exists!`);
  console.log(`  Buy ${comparison.buySide} on ${comparison.buyPlatform}`);
  console.log(`  Sell ${comparison.sellSide} on ${comparison.sellPlatform}`);
  console.log(`  Spread: ${comparison.spread.toFixed(2)}%`);
} else {
  console.log(`No arbitrage. Price difference: ${comparison.priceDiff.toFixed(2)}%`);
}
Market Linking
typescript
// Add a manual match
await arbService.addMatch(
  { platform: 'polymarket', id: 'market-123', question: 'Will Trump win?' },
  { platform: 'kalshi', id: 'TRUMP-WIN', question: 'Trump wins 2024' }
);

// Remove a match
await arbService.removeMatch('polymarket:market-123', 'kalshi:TRUMP-WIN');

// Auto-detect matches using question similarity
const autoMatches = await arbService.autoMatchMarkets({
  minSimilarity: 0.85,
});

console.log(`Found ${autoMatches.length} auto-matches`);
Get Opportunities
typescript
// Get current opportunities
const opportunities = await arbService.getOpportunities({
  minSpread: 1,
  sortBy: 'spread',  // 'spread' | 'liquidity' | 'confidence'
});

// Format for display
const formatted = await arbService.formatOpportunities(opportunities);
console.log(formatted);
Statistics
typescript
// Get arbitrage statistics
const stats = await arbService.getStats({
  period: '30d',
});

console.log(`Total opportunities: ${stats.totalOpportunities}`);
console.log(`Avg spread: ${stats.avgSpread.toFixed(2)}%`);
console.log(`Max spread seen: ${stats.maxSpread.toFixed(2)}%`);
console.log(`By platform pair:`);
for (const [pair, count] of Object.entries(stats.byPlatformPair)) {
  console.log(`  ${pair}: ${count}`);
}

Arbitrage Types Detected

1. Cross-Platform Price Difference
Market: "Trump wins 2024"
Polymarket YES: 52¢
Kalshi YES: 55¢

Strategy: Buy Polymarket YES, Sell Kalshi YES
Spread: 3¢ (5.8%)
2. Internal Arbitrage (Rebalancing)
Market: "Will X happen?"
YES: 45¢
NO: 52¢
Total: 97¢

Strategy: Buy both YES and NO
Guaranteed profit: 3¢ per $1
3. Inverse Markets
Market A: "Trump wins" = 55¢
Market B: "Trump loses" = 48¢
Total: 103¢ (should be 100¢)

Strategy: Sell both, pocket 3¢

Configuration

typescript
arbService.configure({
  // Scanning
  checkIntervalMs: 30000,
  batchSize: 50,

  // Filtering
  minSpread: 0.5,
  minLiquidity: 100,
  minConfidence: 0.7,

  // Matching
  autoMatchEnabled: true,
  minMatchSimilarity: 0.85,

  // Alerts
  alertOnNewArb: true,
  alertThreshold: 2,  // Alert on 2%+ spreads
});

Best Practices

  1. Verify matches manually - Auto-matching can have false positives
  2. Check liquidity - Ensure you can actually execute
  3. Account for fees - Platform fees reduce spreads
  4. Move fast - Arbitrage disappears quickly
  5. Use limit orders - Avoid slippage
  6. Track all outcomes - Build performance data

© alsk1992, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in src/skills/bundled/arbitrage of alsk1992/CloddsBot.

  • SKILL.md
  • index.ts

Open the folder on GitHubat commit c930628

Compare with similar skills

Arbitrage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Arbitrage compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Arbitrage this skillalsk1992/CloddsBot2.9k—~1.7kAutomated safety check: PassMIT
Autom AutomationComposioHQ/awesome-claude-skills77k3 repos~723Automated safety check: PassNone
Doppler Marketing Automation AutomationComposioHQ/awesome-claude-skills77k3 repos~809Automated safety check: PassNone
Detecting AWS Guardduty Findings Automationmukul975/Anthropic-Cybersecurity-Skills34k—~2.7kAutomated safety check: PassApache-2.0
Suggest Automationsn8n-io/n8n207k—~2kAutomated safety check: PassCustom licence
Aero Workflow AutomationComposioHQ/awesome-claude-skills77k3 repos~753Automated safety check: PassNone

Similar skills

  • Autom Automation

    ComposioHQ/awesome-claude-skills

    Automate Autom tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.

    77k GitHub starsUsed in 3 repos~723 tokens
    Productivity & AutomationAuto-check passed
  • Doppler Marketing Automation Automation

    ComposioHQ/awesome-claude-skills

    Automate Doppler Marketing Automation tasks via Rube MCP (Composio).

    77k GitHub starsUsed in 3 repos~809 tokens
    Productivity & AutomationAuto-check passed
  • Detecting AWS Guardduty Findings Automation

    mukul975/Anthropic-Cybersecurity-Skills

    Build automated AWS GuardDuty finding response pipelines using EventBridge and Lambda to trigger real-time incident response, automatically quarantine compromised resources, and route security…

    34k GitHub stars~2.7k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • Official

    Offer the three most common automations for a user as a single-choice card, from your own knowledge of their team and their apps, then build the one they choose once they confirm, or offer more.

    207k GitHub stars~2k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Aero Workflow Automation

    ComposioHQ/awesome-claude-skills

    Automate Aero Workflow tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.

    77k GitHub starsUsed in 3 repos~753 tokens
    Productivity & AutomationAuto-check passed
  • Anchor Browser Automation

    ComposioHQ/awesome-claude-skills

    Automate Anchor Browser tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.

    77k GitHub starsUsed in 3 repos~757 tokens
    Productivity & AutomationAuto-check passed

More from alsk1992/CloddsBot

All 116 skills in this repo
  • Qmd

    alsk1992/CloddsBot

    Local hybrid search for markdown notes and docs. An agent skill from alsk1992/CloddsBot.

    2.9k GitHub starsUsed in 3 repos~1.2k tokens
    Auto-check passed
  • Drift SDK

    alsk1992/CloddsBot

    Drift Protocol perpetual futures trading on Solana (direct SDK)

    2.9k GitHub starsUsed in 1 repo~625 tokens
    Auto-check passed
  • Edge

    alsk1992/CloddsBot

    Find mispriced markets by comparing to external models and data sources

    2.9k GitHub starsUsed in 1 repo~472 tokens
    Auto-check passed
  • Embeddings

    alsk1992/CloddsBot

    Vector embeddings configuration and semantic search. An agent skill from alsk1992/CloddsBot.

    2.9k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • News

    alsk1992/CloddsBot

    Monitor news and correlate with prediction market movements. An agent skill from alsk1992/CloddsBot.

    2.9k GitHub starsUsed in 1 repo~462 tokens
    Auto-check passed
  • Opportunity

    alsk1992/CloddsBot

    Find and execute cross-platform arbitrage opportunities across prediction markets

    2.9k GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed

Questions about Arbitrage

What does Arbitrage do?

Automated cross-platform arbitrage detection and monitoring. An agent skill from alsk1992/CloddsBot. Arbitrage is an agent skill from alsk1992/CloddsBot.

How do I install Arbitrage in Claude Code?

Run `npx skills add alsk1992/CloddsBot --skill arbitrage -a claude-code`. Or copy the skill folder (src/skills/bundled/arbitrage in alsk1992/CloddsBot) into .claude/skills/arbitrage in your project. Claude Code loads it when a task matches its description.

How do I install Arbitrage in Codex?

Run `npx skills add alsk1992/CloddsBot --skill arbitrage -a codex`. Or copy the skill folder (src/skills/bundled/arbitrage in alsk1992/CloddsBot) into .agents/skills/arbitrage in your project. Codex loads it when a task matches its description.

Can I use Arbitrage in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alsk1992/CloddsBot --skill arbitrage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/arbitrage, .gemini/skills/arbitrage, .github/skills/arbitrage and .opencode/skills/arbitrage in your project.

What does Arbitrage need to run?

Going by SKILL.md and its folder, Arbitrage needs TypeScript for the scripts in its folder. Our summary lists: Node.js; A credential in POLY_API_KEY; A credential in KALSHI_API_KEY.

Does Arbitrage access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Arbitrage safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Arbitrage use?

Arbitrage is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Arbitrage use?

About 1.7k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Arbitrage?

Skills that share tags, products or a category with Arbitrage: Autom Automation (ComposioHQ/awesome-claude-skills, 77k stars), Doppler Marketing Automation Automation (ComposioHQ/awesome-claude-skills, 77k stars), Detecting AWS Guardduty Findings Automation (mukul975/Anthropic-Cybersecurity-Skills, 34k stars) and Suggest Automations (n8n-io/n8n, 207k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Arbitrage?

alsk1992 (a GitHub user) maintains it in alsk1992/CloddsBot, which has 2,903 GitHub stars. The repository holds 116 skills in this directory. The repository was last updated on October 2, 2026.

Source: alsk1992/CloddsBot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.