Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Bet Slip Parser

v1.1.0

Parse bet slips from text, natural language, or screenshots into structured JSON. Extracts stake, odds, bet type, selection, and sportsbook. Supports singles...

0· 109·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for rsquaredsolutions2026/bet-slip-parser.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Bet Slip Parser" (rsquaredsolutions2026/bet-slip-parser) from ClawHub.
Skill page: https://clawhub.ai/rsquaredsolutions2026/bet-slip-parser
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: bash
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install bet-slip-parser

ClawHub CLI

Package manager switcher

npx clawhub@latest install bet-slip-parser
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name and description match the instructions: the skill only parses bet-slip text, natural language, and screenshots into structured JSON. It does not request unrelated credentials or system access, and supported sportsbooks/bet types are coherent with the stated purpose.
!
Instruction Scope
The SKILL.md contains many inline shell/python code snippets and instructs the agent to parse screenshots (requires OCR/vision). However the instructions do not declare or explain how OCR/text-extraction will be performed or what OCR tool/library to use. Also the doc repeatedly uses python3 inline, but python3 is not listed as a required binary. The SKILL.md appears truncated mid-sentence (timestamp rule), reducing clarity about final output behavior.
Install Mechanism
This is instruction-only (no install step), which minimizes disk-writing risk. However, because it expects to run shell snippets (echo | python3) and read images, a runtime environment must provide python3 and some OCR/vision capability; those dependencies are not declared. That omission is a practical coherence issue and a security surface (the agent may execute arbitrary shell/python commands if invoked).
Credentials
The skill declares no environment variables, no credentials, and no config paths — appropriate for a parser that only processes user-provided bet slips. There is no request for unrelated secrets or cloud credentials.
Persistence & Privilege
The skill is not always-enabled, does not request persistence, and allows model invocation (normal default). There is no evidence it attempts to modify other skills or system-wide settings.
What to consider before installing
This skill's purpose (extracting structured bet data) is reasonable and it doesn't ask for credentials, but there are mismatches you should resolve before trusting it: - The SKILL.md uses python3 inline and expects OCR/vision for screenshots, yet the declared required binaries only list "bash" and there is no mention of python3, tesseract, or any OCR library. Ask the author to explicitly declare required binaries (e.g., python3, tesseract/pytesseract or an image-to-text API) or update the skill metadata. - The skill runs shell and python snippets. Even though the shown snippets are benign conversions, executing arbitrary shell/python carries risk if the skill is changed later. Only enable/run this skill in an environment you control, or require code review before use. - The SKILL.md appears truncated (timestamp rule cut off). Request the complete instructions to ensure there are no hidden behaviors. - For screenshots, confirm how OCR is implemented and whether images are sent to any external service (privacy risk). If OCR uses a third‑party API, you should know which endpoint and whether credentials or user data will be transmitted. If you plan to install/run this skill: 1) ensure python3 and an OCR tool are installed and declared; 2) test with non-sensitive sample data; 3) prefer running in an isolated environment; and 4) ask the publisher for the full SKILL.md and explicit dependency list. If the author cannot supply those, treat the skill as untrusted.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🎫 Clawdis
Binsbash
agentbetsvk973fb1sn9bz09brz8vxdjtp0d83ghesbettingvk973fb1sn9bz09brz8vxdjtp0d83gheslatestvk973fb1sn9bz09brz8vxdjtp0d83ghesopenclawvk973fb1sn9bz09brz8vxdjtp0d83ghesprediction-marketsvk973fb1sn9bz09brz8vxdjtp0d83ghessports-bettingvk973fb1sn9bz09brz8vxdjtp0d83ghes
109downloads
0stars
2versions
Updated 1mo ago
v1.1.0
MIT-0

Bet Slip Parser

Extract structured betting data from any bet slip format — pasted text, natural language, or screenshots.

When to Use

Use this skill when the user:

  • Pastes a bet confirmation or bet slip text
  • Describes a bet they placed in natural language
  • Shares a screenshot of a bet slip from any sportsbook
  • Asks to "log this bet" or "parse this bet slip"
  • Wants to convert a bet description into structured data
  • Says "I just bet..." or "I placed a bet on..."

Supported Bet Types

Bet TypeKeywords
Moneylinemoneyline, ML, to win, h2h
Spreadspread, point spread, handicap, ATS, -3.5
Totaltotal, over, under, O/U
Parlayparlay, accumulator, multi, combo
Teaserteaser, adjusted spread
Same-Game ParlaySGP, same game, same-game
Propprop, player prop, over 24.5 pts
Futurefuture, outright, to win championship

Supported Sportsbooks

Identify the sportsbook from branding, URLs, or mentions:

SportsbookIdentifiers
DraftKingsdraftkings, dk, DK Sportsbook
FanDuelfanduel, fd, FD Sportsbook
BetMGMbetmgm, mgm, BetMGM Sportsbook
Caesarscaesars, czr, Caesars Sportsbook
Pinnaclepinnacle, pin
Bet365bet365, b365
BetRiversbetrivers, rivers
PointsBetpointsbet
Polymarketpolymarket, poly
Kalshikalshi

If the sportsbook cannot be identified, set source to "unknown".

Operations

1. Parse Text Bet Slip

When the user pastes sportsbook confirmation text, extract all fields and output JSON.

Extraction steps:

  1. Identify sportsbook from text branding or URL
  2. Identify bet type from keywords (see table above)
  3. Extract team/player/event selections
  4. Extract odds — convert to American if decimal or fractional
  5. Extract stake amount and currency
  6. Calculate potential payout if not shown
  7. Extract timestamp if available

Odds conversion formulas (use inline when needed):

# Decimal to American
echo "$DECIMAL_ODDS" | python3 -c "
import sys
d = float(sys.stdin.read().strip())
if d >= 2.0:
    print(f'+{round((d - 1) * 100)}')
else:
    print(f'{round(-100 / (d - 1))}')"

# Fractional (e.g. 3/2) to American
echo "3/2" | python3 -c "
import sys
n, d = map(int, sys.stdin.read().strip().split('/'))
dec = (n / d) + 1
if dec >= 2.0:
    print(f'+{round((dec - 1) * 100)}')
else:
    print(f'{round(-100 / (dec - 1))}')"

# American to implied probability
echo "-110" | python3 -c "
import sys
odds = int(sys.stdin.read().strip())
if odds < 0:
    prob = abs(odds) / (abs(odds) + 100)
else:
    prob = 100 / (odds + 100)
print(f'{prob:.4f}')"

# American to decimal
echo "-110" | python3 -c "
import sys
odds = int(sys.stdin.read().strip())
if odds < 0:
    dec = 1 + (100 / abs(odds))
else:
    dec = 1 + (odds / 100)
print(f'{dec:.3f}')"

2. Parse Natural Language Bet

When the user describes a bet casually, extract the same fields.

Examples of natural language inputs and how to parse them:

  • "I bet $100 on the Lakers ML at +150 on DraftKings" → source: draftkings, bet_type: moneyline, selection: Los Angeles Lakers, odds: +150, stake: 100
  • "Put $25 on over 48.5 in Chiefs-Ravens at -110" → bet_type: total, selection: Over 48.5, odds: -110, stake: 25
  • "Parlayed Lakers ML and Chiefs -3.5, $50 to win $320 on FanDuel" → bet_type: parlay, 2 legs, stake: 50, potential_payout: 320, source: fanduel

Always ask for missing critical fields:

  • If no stake mentioned, ask "How much did you bet?"
  • If no odds mentioned, ask "What were the odds?"
  • If no sportsbook mentioned, set source to "unknown"

3. Parse Screenshot Bet Slip

When the user shares an image of a bet slip:

  1. Identify sportsbook from app branding/colors (DraftKings=green/black, FanDuel=blue/white, BetMGM=gold/black, Caesars=dark blue)
  2. Read all visible text on the bet slip
  3. Extract: event name, bet type, selection, odds, stake, potential payout
  4. For parlays, extract each individual leg
  5. Output in the standard JSON schema

Note: Screenshot parsing requires the LLM to have vision capabilities. If vision is not available, ask the user to paste the bet slip as text instead.

4. Validate Parsed Output

After parsing, validate the extracted data:

# Validate American odds format (must be + or - followed by digits)
echo "$ODDS" | grep -qE '^[+-][0-9]+$' && echo "VALID" || echo "INVALID: odds must be +NNN or -NNN"

# Validate stake is positive number
echo "$STAKE" | grep -qE '^[0-9]+(\.[0-9]{1,2})?$' && echo "VALID" || echo "INVALID: stake must be positive number"

# Validate bet type
echo "$BET_TYPE" | grep -qE '^(moneyline|spread|total|parlay|teaser|sgp|prop|future)$' && echo "VALID" || echo "INVALID: unknown bet type"

# Cross-check: potential payout should match odds × stake
echo "$STAKE $ODDS" | python3 -c "
import sys
parts = sys.stdin.read().strip().split()
stake, odds = float(parts[0]), int(parts[1])
if odds > 0:
    payout = stake + (stake * odds / 100)
else:
    payout = stake + (stake * 100 / abs(odds))
print(f'Expected payout: {payout:.2f}')"

Output Rules

  1. Always output a valid JSON object matching the schema
  2. All odds must include American format (convert if needed)
  3. Include decimal and implied probability for each leg
  4. If a field cannot be extracted, set it to null — never guess
  5. For parlays, each leg must be a separate entry in the legs array
  6. Always include the raw_input field with the original text or "screenshot"
  7. Potential payout must be calculated if not explicitly stated
  8. Timestamp should be ISO 8601 format; use current time if not on the slip

Error Handling

  • If the input is ambiguous and multiple interpretations exist, present options and ask the user to clarify
  • If the image is too blurry or cropped, ask for a clearer screenshot or text input
  • If odds format is unrecognized, ask the user to specify (American, decimal, or fractional)
  • If the bet type cannot be determined, default to "moneyline" for single selection and "parlay" for multiple selections
  • Always show the parsed JSON and ask "Does this look right?" before passing to downstream skills

About

Built by AgentBets — full tutorial at agentbets.ai/guides/openclaw-bet-slip-parser-skill/.

Part of the OpenClaw Skills series for the Agent Betting Stack.

Comments

Loading comments...