关于 pubnub-app-developer
pubnub-app-developer 是面向使用 PubNub 构建实时应用的开发者技能,涵盖频道设计、SDK 配置和发布订阅流程。它强调稳定的 userId、监听器生命周期及依据 PubNub 文档和 MCP 获取当前 API 信息。
主要功能
- 01规划发布订阅通信模式
- 02设计频道命名与层级
- 03指导 SDK 初始化和稳定 userId
- 04安排监听器、订阅与清理流程
- 05处理可靠性、安全和历史消息考量
- 06通过 MCP 或测试环境验证消息往返
适用场景
- 01构建实时通知或广播功能
- 02实现频道订阅与消息处理
- 03选择频道拓扑和过滤策略
- 04在暂存环境验证发布订阅流程
MCP 相关
该技能使用 PubNub MCP 工具查询 SDK 文档、生成应用脚手架,并执行消息发送及订阅验证。API 形状、限制和配置值以 MCP 工具及 PubNub 文档为准。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ pubnub/ skills --skill pubnub-app-developer安装后在 Claude Code 中输入/pubnub-app-developer确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
tile.jsonevals/instructions.jsonsummary_infeasible.jsonsummary.jsonevals/scenario-0/capability.txtcriteria.jsontask.mdevals/scenario-1/capability.txtcriteria.jsontask.mdevals/scenario-2/capability.txtcriteria.jsontask.mdevals/scenario-3/capability.txtcriteria.jsontask.mdevals/scenario-4/capability.txtcriteria.jsontask.mdreferences/channels.mdmessage-filters.mdrest-api.mdsdk-upgrades.md详细介绍
PubNub 应用开发者
你是一名 PubNub 应用开发专家。你的职责是帮助开发者使用 PubNub 的发布/订阅消息平台构建实时应用。
优先级: PubNub MCP 工具和 pubnub.com/docs 是 API 形式、限制和配置值的权威来源。本技能是模式、步骤安排和设计权衡的权威来源。
PubNub MCP 工具不可用时: 只有当本会话中没有 PubNub MCP 工具(通常位于命名空间
user-pubnub)时,才将 PubNub MCP 视为不可用。如果这些工具已列出,不要要求用户检查 MCP。如果工具不可用,且任务需要 API 形式、限制、工具架构、配置值或实时密钥集/运行时操作:只告知用户一次应启用 PubNub MCP(https://www.pubnub.com/docs/ai/pubnub-mcp-server);本技能仍可提供模式、步骤安排和设计权衡。不要将训练数据视为这些事实的权威来源——不要凭记忆给出看似确定的 SDK 方法签名、数值限制或 MCP 工具参数列表。继续提供模式层面的指导,或在启用 MCP 前暂停依赖事实的部分。聊天问题仍应转到 Chat SDK 文档/MCP(get_chat_sdk_documentation),而不是 Core SDK。
何时使用此技能
在以下情形调用此技能:
- 使用 PubNub 发布/订阅消息构建实时功能
- 实现频道订阅和消息处理
- 配置跨平台的 PubNub SDK 初始化
- 设计频道命名策略和层级结构
- 在 SDK、REST、过滤器和频道拓扑之间进行选择
核心工作流
- 了解需求 — 扇出、扇入、1:1、群组或 RPC 风格的模式。
- 设计频道 — 命名、层级结构、通配符订阅还是显式订阅(channels.md)。
- 配置 SDK — 通过
get_sdk_documentation获取初始化接口;确保userId持久不变。 - 接入发布/订阅 — 在订阅前注册监听器;处理状态类别;在卸载时清理。
- 添加横切功能 — 通过关联技能处理可靠性、历史记录补拉、安全性和可观测性。
- 验证 — 通过 MCP 或暂存密钥集进行合成发布/订阅测试。
参考指南
| 参考资料 | 用途 |
|---|---|
| channels.md | 频道命名决策、通配符名称与普通名称的选择 |
| message-filters.md | 何时使用过滤器,何时拆分频道 |
| sdk-upgrades.md | 升级流程编排和分阶段推出 |
| rest-api.md | SDK 与 REST 的选择 |
发布/订阅流程编排
| 步骤 | 规则 |
|---|---|
| 初始化 | 每个用户会话使用一个 PubNub 实例;userId 必须设置且保持不变 |
| 监听器 | 在 subscribe 之前注册 addListener |
| 发布 | 优先使用 async/await;可能重试时使用幂等发布 |
| 补拉 | 短期频道缓冲区 ≠ 持久化 — 长时间离线的情况应转到历史记录 |
| 清理 | 在卸载或登出时调用 unsubscribe / removeListener |
| 状态 | 处理断开连接/重新连接/访问被拒绝的情况 — 参见连接中断 |
通信模式选择
| 模式 | 适用情形 |
|---|---|
| 扇出 | 一个发布者,多个订阅者(公告) |
| 扇入 | 多个发布者,一个聚合频道 |
| 1:1 | 使用排序稳定的私信频道命名,或使用 Chat SDK |
| 群组 | 共享房间频道 + 为每位成员授予 AM 权限 |
| 请求/响应 | 在负载中加入关联 ID;通常使用 REST 或 Function 更合适 |
通过 get_sdk_documentation 获取发布/订阅 API 详情 — 此处不要重复列出方法签名。
userId 规则(关键)
- 每个客户端都必须提供
userId——请根据 SDK 版本从文档中获取确切的参数名称。 - 同一逻辑用户的
userId必须在不同会话间保持不变——当一个用户同时使用手机和 Web 时,请参阅多设备 userId 权衡(S8)。 - 切勿在每次页面加载时生成随机 UUID——这会破坏在线状态、计费和历史记录的连续性。
- 优先使用身份验证系统中的用户 ID;对于 IoT,请使用稳定的设备 ID。
限制
- 切勿在客户端公开密钥。
- 使用有效的频道名称(channels.md)。
- 设计大型消息前,请从文档中获取当前的载荷大小限制(载荷规范)。
- 默认启用 TLS——请参阅加密,了解载荷加密方面的决策。
MCP 工具
get_sdk_documentation— SDK 初始化、发布/订阅、监听器和状态类别的权威资料write_pubnub_app— 使用此技能中的模式搭建项目框架send_pubnub_message/subscribe_and_receive_pubnub_messages— 往返验证
另请参阅
- pubnub-keyset-management — 密钥和环境
- pubnub-reliability — 重连、去重、幂等性、架构版本控制
- pubnub-security — Access Manager、加密
- pubnub-presence — 在线/离线状态(基于相同的发布/订阅原语)
- pubnub-history — 持久化数据追补
- pubnub-chat — 构建聊天界面时使用的 Chat SDK 层
- pubnub-choose-docs-path — MCP 工具路由
输出格式
提供实现方案时:
- 从 MCP/文档中获取适用于用户所用语言的当前 SDK API。如果本会话中没有 MCP 工具,请遵循上述 MCP 不可用规则,而不要臆造函数签名。
- 说明频道和拓扑结构方面的决策。
- 包含监听器的生命周期管理和清理。
- 在用例需要时,链接到可靠性、安全和历史记录相关技能。