pubnub-live-betting-casino/SKILL.md
Build real-time betting and casino game platforms with PubNub
npx skillsauth add pubnub/skills pubnub-live-betting-casinoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Canonical owners (link-don't-copy): This vertical relies on cross-cutting skills. Always link to the canonical owner instead of duplicating. Foundations: SDK initialization (
new PubNub(,userId/UUID), pub/sub basics (pubnub.publish(,pubnub.subscribe(,addListener), channel naming, message filters, SDK upgrades, REST API. Environment: keysets, env separation, publish/subscribe/secret keys, key rotation hygiene, demo keys, custom origin. Security: Access Manager /grantToken, AES-256 / message encryption, IP allowlisting, DoS mitigation, compliance / SOC 2 / HIPAA. Real-time features: presence events /withPresence, presence setup / heartbeat, dropped connections, multi-device sync. History: Message Persistence andfetchMessages, offline catch-up, retention. App Context: users / user metadata, channels and memberships, metadata and filtering. Functions: Before/After Publish,request.ok()/request.abort(),require('kvstore')/xhr/vault, chaining (3-hop limit), DB triggers and runtime quirks, common patterns. Reliability: exponential backoff and jitter, idempotent publish / message id, dedup on merge, queue and retry, schema version. Scale: channel groups, wildcard subscribe, Stream Controller, performance tuning, 10K+ live events. Observability: logging correlation (channel + message_id + user_id + timetoken), test pyramid, payload sizing / cost, incident triage runbook, usage metrics / transaction count. Events & Actions: event types, action targets (webhook / SQS / Kafka / Lambda), filters / JSONPath. Illuminate: Business Objects, Metrics, Decisions (4-step workflow), Queries, service integration auth. Chat: Chat SDK setup, message actions / reactions, file sharing /sendFile, threading. Routing: intent-to-tool decision tree (get_sdk_documentation,write_pubnub_app, etc.).
You are a PubNub live betting and casino platform specialist. Your role is to help developers build real-time betting applications and casino game platforms using PubNub's infrastructure for odds broadcasting, wager management, game state synchronization, and regulatory compliance.
Invoke this skill when:
| Reference | Purpose | |-----------|---------| | betting-setup.md | Platform initialization, market channels, odds broadcasting, and security | | betting-wagers.md | Wager validation, bet settlement, cash-out, and balance management | | betting-patterns.md | Casino game sync, in-play patterns, responsible gambling, and compliance |
import PubNub from 'pubnub';
const pubnub = new PubNub({
publishKey: 'pub-c-...',
subscribeKey: 'sub-c-...',
userId: 'odds-engine-01',
cipherKey: 'betting-encryption-key'
});
// Publish odds update to a market channel
await pubnub.publish({
channel: 'event.football.12345.market.match-winner',
message: {
marketId: 'match-winner',
selections: [
{ id: 'home', name: 'Arsenal', odds: { decimal: 2.10, fractional: '11/10', american: '+110' }, status: 'active' },
{ id: 'draw', name: 'Draw', odds: { decimal: 3.40, fractional: '12/5', american: '+240' }, status: 'active' },
{ id: 'away', name: 'Chelsea', odds: { decimal: 3.00, fractional: '2/1', american: '+200' }, status: 'active' }
],
suspended: false,
timestamp: Date.now()
}
});
// Client submits a bet to the wager channel
await pubnub.publish({
channel: 'wagers.submit',
message: {
betId: crypto.randomUUID(),
userId: 'user-789',
eventId: '12345',
marketId: 'match-winner',
selectionId: 'home',
oddsAtPlacement: 2.10,
stake: 25.00,
currency: 'USD',
timestamp: Date.now()
}
});
// Subscribe to all markets for a football event
pubnub.subscribe({
channelGroups: ['event-football-12345-markets']
});
pubnub.addListener({
message: (event) => {
const { channel, message } = event;
if (message.suspended) {
disableMarketUI(message.marketId);
} else {
updateOddsDisplay(message.selections);
}
}
});
get_sdk_documentation — pull SDK-specific publish/subscribe APIs (route via intent-to-tool)create_pubnub_function — scaffold the Before-Publish wager validator and rate limitergrant_token — issue scoped grants per market / table / rolemanage_apps — verify Stream Controller and Message Persistence add-onsrequire('kvstore') for balance checks, chaining limits, and DB-trigger / runtime quirksWhen providing implementations:
tools
Builds real-time analytics and automation with PubNub Illuminate. Covers Business Objects (schema), Metrics (aggregations), Decisions (threshold-triggered actions with the 4-step PUT workflow), Queries (ad-hoc vs saved pipelines), and Dashboards. Use when tracking KPIs, building threshold alerts, automating mute/publish/App-Context-update actions, detecting spam or anomalies, or visualizing live activity.
testing
Scale PubNub applications for high-volume real-time events using channel groups, wildcard subscriptions, sharding, and large-event readiness. Covers Stream Controller add-on, hard caps, payload coalescing referenced into pubnub-observability, and the engagement model for 10K+ concurrent live events. Persistence/history is owned by pubnub-history.
tools
Deliver real-time sports scores, play-by-play, and scoreboards with PubNub
development
Create, configure, and deploy PubNub Functions 2.0 event handlers, triggers, and serverless endpoints. Covers Before/After Publish, On Request, On Interval; built-in modules (kvstore, xhr, vault, pubnub, crypto, jwt, ugc, jsonpath, advanced_math, codec/*); chaining (3 hops, 5 consecutive, Chaining vs Forking, kvstore state sharing); runtime quirks (3-call external cap, 10-call vault cap, cold start, request.path normalization, vault availability, sendFile message); DB-trigger patterns; and bundling/TypeScript workflow (esbuild externals, 64KB guard, __require shim stripping, default-export shape). Use when building real-time message transformations, edge data processing, REST endpoints backed by PubNub, webhook integrations, or shipping bundled/transpiled TypeScript Functions from inside the message pipeline.