关于 mobile-apps-create
用于为 iOS 和 Android 应用项目选择 Salesforce Mobile SDK 或 Agentforce SDK 技能的路由技能。它会厘清应用的 SDK 与平台需求,再将实现工作交给对应的子技能。
主要功能
- 01区分 Mobile SDK 与 Agentforce SDK 需求
- 02按 iOS 或 Android 平台路由
- 03厘清何时需要两类 SDK
- 04安排组合 SDK 工作流顺序
- 05加载对应的子技能
适用场景
- 01为连接 Salesforce 的应用选择 SDK
- 02规划嵌入 Agentforce Agent 的应用
- 03分别路由 iOS 和 Android 实现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill mobile-apps-create安装后在 Claude Code 中输入/mobile-apps-create确认已加载。
详细介绍
Salesforce Mobile
将用户引导至合适的 SDK 系列技能,以构建连接 Salesforce 的移动应用。不要在此处实现功能;子技能负责场景判定和分步说明。
路由前
从两个维度进行区分:SDK 系列(Mobile SDK 与 Agentforce SDK)和平台(iOS 与 Android)。两者并非互斥——一个应用可以同时使用这两个 SDK。
如果用户的意图可能对应任一 SDK,请先询问,再进行路由。猜错会浪费用户的时间,因为子技能针对特定平台和 SDK。
路由——选择哪个 SDK 系列?
| 用户的情况 | SDK |
|---|---|
| 对终端用户进行 Salesforce 身份验证、同步记录(MobileSync)、离线存储数据(SmartStore)、生物识别登录、推送通知、REST 集成 | Mobile SDK |
| 嵌入 Agentforce Agent——聊天 UI、Agent 对话、以对话功能为主要界面 | Agentforce SDK |
| 两者兼有(数据驱动型应用中嵌入 Agent) | 先使用 Mobile SDK,然后在其上叠加 Agentforce SDK |
两者似乎都适用时的判断标准
- Agent 是主要界面(以聊天为先的应用),还是数据驱动型应用中的一项功能?
- 主要界面 → Agentforce SDK
- 功能 → Mobile SDK;通过 Agentforce SDK 将 Agent 嵌入其中
- 终端用户是否需要通过身份验证访问 Salesforce 数据?
- 是 → 必须使用 Mobile SDK(也可以在其上添加 Agentforce SDK)。
- 否 → 仅使用 Agentforce SDK 可能就足够了(它使用访客身份验证)。
- 询问离线存储、同步、REST、推送或生物识别?→ Mobile SDK。
- 询问 Agent 对话、聊天 UI 或流式响应?→ Agentforce SDK。
如果仍不明确,请直接询问用户。
路由——选择哪个平台?
| 平台 | Mobile SDK 技能 | Agentforce SDK 技能 |
|---|---|---|
| iOS(Swift) | ios-mobile-sdk | integrate-agentforce-ios |
| Android(Kotlin) | android-mobile-sdk | integrate-agentforce-android |
如果用户需要两个平台,分别路由至对应的子技能——它们彼此独立。
组合工作流(Mobile SDK + Agentforce SDK)
如果应用需要同时使用两者:
- 先路由至对应平台的 Mobile SDK 技能,以搭建应用框架并进行身份验证。
- 然后必须加载对应平台的 Agentforce SDK 技能(
integrate-agentforce-ios或integrate-agentforce-android),以叠加 Agent 界面。不要手动编写 Agentforce 集成代码——无法凭空推断 SDK 的依赖项、产品和 API,手写代码也无法编译。 - 将每个子技能的说明视为其 SDK 的权威指南;不要合并它们的步骤。每个 SDK 都有各自的身份验证设置、依赖项安装顺序和初始化流程——交错执行会导致配置冲突和初始化顺序错误。
这是本技能负责的唯一多技能逻辑。其他所有内容都由子技能负责。
加载子技能
通过 harness 按名称调用子技能。如果本地没有该技能,请提示用户使用 npx skills add <repo> 安装。如果用户确认(或已预先授权安装),运行命令并加载子技能——不要让用户自行摸索如何继续工作流。如果用户拒绝,请停止并说明该子技能负责 SDK 的设置步骤,没有它就无法继续工作流。每个子技能都发布在公共仓库中:
| 技能 | 仓库 | 安装命令 |
|---|---|---|
ios-mobile-sdk | forcedotcom/SalesforceMobileSDK-Templates → skills/ios-mobile-sdk/ | npx --yes skills add forcedotcom/SalesforceMobileSDK-Templates --skill ios-mobile-sdk --yes |
android-mobile-sdk | forcedotcom/SalesforceMobileSDK-Templates → skills/android-mobile-sdk/ | npx --yes skills add forcedotcom/SalesforceMobileSDK-Templates --skill android-mobile-sdk --yes |
integrate-agentforce-ios | salesforce/AgentforceMobileSDK-iOS → skills/integrate-agentforce-ios/ | npx --yes skills add salesforce/AgentforceMobileSDK-iOS --skill integrate-agentforce-ios --yes |
integrate-agentforce-android | salesforce/AgentforceMobileSDK-Android → skills/integrate-agentforce-android/ | npx --yes skills add salesforce/AgentforceMobileSDK-Android --skill integrate-agentforce-android --yes |
安装后,加载子技能并让其接管。不要将子技能的内容内联——场景检测、前置条件和分步说明均由子技能负责。
评论
支持 Markdown