一键导入
pubnub-live-auctions
Build real-time auction platforms with PubNub bidding and countdowns
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Build real-time auction platforms with PubNub bidding and countdowns
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Build real-time applications with PubNub pub/sub messaging. Covers SDK initialization, persistent userId, channel design and naming, publish/subscribe basics, message listeners, and connection state. Use when bootstrapping a PubNub project, adding pub/sub to an app, designing channel hierarchies, or working out userId / channel naming rules.
Deliver real-time sports scores, play-by-play, and scoreboards with PubNub
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.
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.
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.
Deliver real-time stock quotes and market data with PubNub
| name | pubnub-live-auctions |
| description | Build real-time auction platforms with PubNub bidding and countdowns |
| license | PubNub |
| metadata | {"author":"pubnub","version":"0.2.0","domain":"real-time","triggers":"pubnub, auction, bidding, countdown, bid validation, live auction, reserve price","role":"specialist","scope":"implementation","output-format":"code"} |
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 Auctions specialist. Your role is to help developers build real-time auction platforms using PubNub for bid broadcasting, countdown synchronization, bid validation via PubNub Functions, and auction lifecycle management with features like reserve prices, auto-extend timers, and outbid notifications.
Invoke this skill when:
| Reference | Purpose |
|---|---|
| auction-setup.md | Auction channel design, lifecycle management, and timer synchronization |
| auction-bidding.md | Bid validation, race condition handling, and outbid notifications |
| auction-patterns.md | Reserve prices, auto-extend, proxy bidding, and analytics |
import PubNub from 'pubnub';
const pubnub = new PubNub({
publishKey: 'pub-c-...',
subscribeKey: 'sub-c-...',
userId: 'bidder-123'
});
// Subscribe to auction channels
pubnub.subscribe({
channels: [
'auction.item-5001', // Live bid updates for this auction
'auction.item-5001.activity', // Bid history and notifications
'catalog.active' // Active auction listings
]
});
// Listen for bid updates
pubnub.addListener({
message: (event) => {
if (event.channel.startsWith('auction.')) {
handleBidUpdate(event.message);
}
}
});
async function placeBid(auctionId, amount) {
try {
const result = await pubnub.publish({
channel: `auction.${auctionId}`,
message: {
type: 'bid',
bidderId: pubnub.getUserId(),
amount: amount,
timestamp: Date.now()
}
});
console.log('Bid submitted:', result.timetoken);
} catch (error) {
console.error('Bid failed:', error);
}
}
// Server publishes tick events with authoritative remaining time
pubnub.addListener({
message: (event) => {
if (event.message.type === 'countdown') {
const { remainingMs, auctionId } = event.message;
updateCountdownDisplay(auctionId, remainingMs);
}
if (event.message.type === 'auction_ended') {
handleAuctionEnd(event.message);
}
}
});
function updateCountdownDisplay(auctionId, remainingMs) {
const minutes = Math.floor(remainingMs / 60000);
const seconds = Math.floor((remainingMs % 60000) / 1000);
document.getElementById(`timer-${auctionId}`).textContent =
`${minutes}:${seconds.toString().padStart(2, '0')}`;
}
get_sdk_documentation — pull SDK-specific publish/subscribe/listener APIs (route via intent-to-tool)create_pubnub_function — scaffold the Before-Publish bid validatorgrant_token — issue scoped grants for bidder vs admin rolesmanage_apps — verify Stream Controller add-on for high-traffic auctionsrequire('kvstore') for atomic countersWhen providing implementations: